<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>yergler.net &#187; geek</title>
	<atom:link href="http://yergler.net/blog/category/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://yergler.net</link>
	<description>Because eventually I&#039;ll be right. Theoretically.</description>
	<lastBuildDate>Wed, 23 May 2012 01:10:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Galaxy S (&#8220;T-Mobile Vibrant&#8221;) Tethering</title>
		<link>http://yergler.net/blog/2010/08/29/galaxy-s-t-mobile-vibrant-tethering/</link>
		<comments>http://yergler.net/blog/2010/08/29/galaxy-s-t-mobile-vibrant-tethering/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 22:56:18 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[galaxy s]]></category>
		<category><![CDATA[tether]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1756</guid>
		<description><![CDATA[Seeing Tim Bray&#8217;s post on how much he loves tethering his Nexus One reminded me that I wanted to document that this does, indeed, work on a rooted Galaxy S. The day after I wrote up my experience with hackingfixing my Galaxy S, I left for a four day trip to Washington, DC. The trip [...]]]></description>
			<content:encoded><![CDATA[<p>Seeing Tim Bray&#8217;s post on how much he loves <a href="http://www.tbray.org/ongoing/When/201x/2010/08/28/Tethering">tethering his Nexus One</a> reminded me that I wanted to document that this does, indeed, work on a rooted Galaxy S.  The day after I wrote up my experience with <strike>hacking</strike><a href="http://yergler.net/blog/2010/08/22/improving-a-samsung-galaxy-s">fixing my Galaxy S</a>, I left for a four day trip to Washington, DC.  The trip was great, but the best part was not paying for wifi at Washington Dulles while I waited for my return flight.  Because I had rooted my phone (ridiculously easy these days; go, do it, even if you don&#8217;t apply the other fixes), I was able to install <a href="http://code.google.com/p/android-wifi-tether/">android-wifi-tether</a> (2.0.5-pre8, to be specific).  For some reason the Galaxy S doesn&#8217;t work in infrastructure mode yet, but after setting up a connection profile with a static IP in the correct range (192.168.2.x, by default), setting the gateway (192.168.2.254, by default) and <a href="http://code.google.com/speed/public-dns/">Google&#8217;s DNS servers</a> (they&#8217;re easy to remember), I was able to get right online.</p>
<p>I love the <a href="http://techcrunch.com/2009/10/28/googles-new-mobile-app-cuts-gps-nav-companies-at-the-knees/">graph of the stock price</a> of navigation companies when Google announced they were doing turn by turn navigation for free.  I wonder if we&#8217;ll ever have the joy of seeing a similar graph for Boingo, et al.  Probably not &#8212; there will still be lots of people with devices that only have a wifi chipset &#8212; but a guy can dream.</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2010/08/29/galaxy-s-t-mobile-vibrant-tethering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving a Samsung Galaxy S</title>
		<link>http://yergler.net/blog/2010/08/22/improving-a-samsung-galaxy-s/</link>
		<comments>http://yergler.net/blog/2010/08/22/improving-a-samsung-galaxy-s/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 21:45:51 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[cyanogen]]></category>
		<category><![CDATA[galaxy s]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[vibrant]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1747</guid>
		<description><![CDATA[I stood in line almost two years ago for the G1. And earlier this year I finally got around to rooting it and experimenting with custom ROMs. The G1 served me well for a long time, but last month I decided it was time for an upgrade, and picked up the &#8220;Samsung Vibrant&#8221;, T-Mobile&#8217;s version [...]]]></description>
			<content:encoded><![CDATA[<p>I stood in line almost two years ago for the G1.  And earlier this year I finally got around to rooting it and experimenting with custom ROMs.  The G1 served me well for a long time, but last month I decided it was time for an upgrade, and picked up the &#8220;Samsung Vibrant&#8221;, T-Mobile&#8217;s version of the Galaxy S.</p>
<p>I love the display on the Vibrant, but Samsung&#8217;s custom skin &#8212; TouchWiz, or &#8220;iPhone for Android&#8221;, as I think of it &#8212; leaves a lot to be desired.  AWN.Launcher goes a long way, but the presence of an icon to watch the included version of <em>Avatar</em> &#8212; an icon you can&#8217;t remove &#8212; continued to gall me every time I opened the application list<sup>&dagger;</sup>.  The real problem, though, is the lag issue.  According to the specifications, there&#8217;s no reason this phone shouldn&#8217;t hum along without complaint.  But I was consistently seeing lags, pauses, and stutters when opening or switching applications.  Samsung&#8217;s <a href="https://twitter.com/GalaxySsupport">&#8220;online support&#8221;</a> wasn&#8217;t exactly helpful &#8212; <a href="https://twitter.com/GalaxySsupport/status/21602689488">&#8220;why don&#8217;t you wipe the phone clean?&#8221;</a>  Ridiculous.</p>
<p>Ridiculous, yes, but that <em>is</em> what I did yesterday afternoon.  Of course, I wiped it in preparation for rooting, applying a &#8220;lag fix&#8221;, and generally ripping pieces out.  While there&#8217;s not a Cyanogen ROM for the Galaxy S yet, the community has been industrious.  In the end I followed a couple of different guides on the path to fixing my phone:</p>
<ol>
<li>I rooted the phone using the<a href="http://wiki.cyanogenmod.com/index.php?title=Full_Update_Guide_-_Samsung_Galaxy_S_%28Vibrant%29#Rooting_the_Samsung_Vibrant"> instructions in the Cyanogen wiki</a></li>
<li>I followed most of the &#8220;How to make the Vibrant software not suck&#8221; <a href="http://forum.cyanogenmod.com/topic/4055-howto-make-the-vibrant-software-not-suck/">tutorial</a> (in a slightly different order &#8212; I rooted and installed Clockwork Mod Recovery first).  This included fixing GPS.  (Guess I won&#8217;t have to wait until <a href="https://twitter.com/GalaxySsupport/status/21597744014">September</a> to use Maps effectively.)</li>
<li>I applied <a href="http://forum.xda-developers.com/showthread.php?t=751864">this experimental lag fix</a> (more on that below).</li>
<li>I <a href="http://forum.xda-developers.com/showthread.php?t=712546">ripped out lots of the bundled crap</a>, including Telenav, Avatar, Layar, and the TouchWiz widgets<sup>&Dagger;</sup></li>
<li>I installed the Desk Clock, Calendar, and Music applications <a href="http://forum.xda-developers.com/showpost.php?p=7489494&#038;postcount=69">from the Nexus One</a>. As someone pointed out, the included Desk Clock doesn&#8217;t even have a <em>clock</em>.  And the bundled Calendar is just a little to, uh, vibrant for my taste.</li>
</ol>
<p>So far everything seems to be working fine.  The lag fix, in particular, makes the phone seem to live up to its promise.  According to <a href="http://forum.xda-developers.com/showpost.php?p=7620940&#038;postcount=2">the xda forums</a>, it would appear that the issue has to do with the filesystem Samsung is using for the internal storage, RFS.  In particular the fact that it doesn&#8217;t do write buffering.  The fix creates an EXT-2 formatted loopback device and moves much of the important bits onto it. With all the caveats about benchmarks, <a href="http://androidandme.com/2010/05/news/high-end-android-phones-benchmarked-with-quadrant/">Quadrant</a> showed nearly a 3 times improvement in performance, and it feels like it, too.</p>
<p>Thanks to <a href="https://twitter.com/GalaxySsupport">@GalaxySsupport</a> for suggesting I wipe the phone: it was indeed the first step to massive improvements.  And while I may no longer have a warranty, I now have a phone that works great.</p>
<hr noshade />
<p><sup>&dagger;</sup> The funny thing about that icon is that it&#8217;s apparently just a symlink to the included microSD card; replace the card with a larger one (like I did), and the icon just pops up a &#8220;file not found&#8221; message when you click it.</p>
<p><sup>&Dagger;</sup> Samsung should be particularly embarrassed by the TouchWiz Dual Clock widget.  Yes, you can show two clocks.  And yes, even though you tell it what time zone to display (and it knows the date), you have to manually adjust for Daylight Saving Time.  Do I have to wind it daily, too?</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2010/08/22/improving-a-samsung-galaxy-s/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Batteries Included (or, Maildir to mbox, again)</title>
		<link>http://yergler.net/blog/2010/06/06/batteries-included-or-maildir-to-mbox-again/</link>
		<comments>http://yergler.net/blog/2010/06/06/batteries-included-or-maildir-to-mbox-again/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 20:04:29 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[maildir]]></category>
		<category><![CDATA[mbox]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1707</guid>
		<description><![CDATA[UPDATE 7 June 2010: Added usage information to docstring. UPDATE 30 January 2012: Frédéric Grosshans has provided an updated version that supports nested maildirs; you can find it at github. YMMV. My script for converting maildir to mbox continues to be one of the most popular pages on yergler.net (according to Google Analytics). Of course, [...]]]></description>
			<content:encoded><![CDATA[<p class="update"><strong>UPDATE 7 June 2010:</strong> Added usage information to docstring.</p>
<p class="update"><strong>UPDATE 30 January 2012:</strong> Frédéric Grosshans has provided an updated version that supports nested maildirs; you can <a href="https://gist.github.com/1709069">find it at github</a>. YMMV.</p>
<p>My <a href="http://yergler.net/projects/one-off/maildir-to-mbox/">script for converting maildir to mbox</a> <a href="http://yergler.net/blog/2010/02/03/most-popular-erroneous-post/">continues</a> to be one of the most popular pages on yergler.net (according to Google Analytics).  Of course, even after I <a href="http://yergler.net/blog/2010/02/03/most-popular-erroneous-post/">updated</a> it slightly in February, it still had a couple of bugs, likely introduced when I converted the page from MoinMoin to WordPress.  This afternoon I finally decided to clear out the pending comments about those bugs, and update it.  </p>
<p>While looking at the Python documentation for the <a href="http://docs.python.org/library/mailbox.html"><code>mailbox</code></a> package included in the standard library, I realized it could probably be simplified even further by using the library&#8217;s native <a href="http://docs.python.org/library/mailbox.html#mbox"><code>mbox</code></a> support.  I&#8217;m also more comfortable using the standard library&#8217;s implementation of <code>mbox</code> rather than my hacked up raw file implementation (who knows, the standard library may do exactly what my script did: I&#8217;m not an <code>mbox</code> expert by any stretch of the imagination).</p>
<p>The new script is below.  I should note that it&#8217;s received very little testing, and I make no guarantees.  I also should note that there is nothing creative or original about this.  It just uses Python&#8217;s excellent standard library.  As they say, &#8220;batteries included&#8221;.</p>
<div class="wp_syntax">
<div class="wp_syntax_download">
<div class="wp_syntax_download_filename"><a name="file-maildir2mbox.py" href="#file-maildir2mbox.py" title="maildir2mbox.py">maildir2mbox.py</a></div>
<div class="wp_syntax_download_actions">
<a href="http://yergler.net/wordpress/wp-content/plugins/wp-syntax-download-extension/wp-syntax-download-extension.php/1707/maildir2mbox.py">raw</a> <a href="http://yergler.net/wordpress/wp-content/plugins/wp-syntax-download-extension/wp-syntax-download-extension.php/1707/download/maildir2mbox.py">download</a>
</div>
</div>
<table><tr>
<td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
</pre></td>
<td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
&nbsp;
<span style="color: #483d8b;">"""
maildir2mbox.py
Nathan R. Yergler, 6 June 2010
&nbsp;
This file does not contain sufficient creative expression to invoke
assertion of copyright.  No warranty is expressed or implied; use at
your own risk.
&nbsp;
---
&nbsp;
Uses Python's included mailbox library to convert mail archives from
maildir [http://en.wikipedia.org/wiki/Maildir] to 
mbox [http://en.wikipedia.org/wiki/Mbox] format.
&nbsp;
See http://docs.python.org/library/mailbox.html#mailbox.Mailbox for 
full documentation on this library.
&nbsp;
---
&nbsp;
To run, save as maildir2mbox.py and run:
&nbsp;
$ python maildir2mbox.py [maildir_path] [mbox_filename]
&nbsp;
[maildir_path] should be the the path to the actual maildir (containing new, cur, tmp);
&nbsp;
[mbox_filename] will be newly created.
"""</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">mailbox</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">email</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># open the existing maildir and the target mbox file</span>
maildir = <span style="color: #dc143c;">mailbox</span>.<span style="color: black;">Maildir</span><span style="color: black;">(</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span> <span style="color: black;">[</span>-<span style="color: #ff4500;">2</span><span style="color: black;">]</span>, <span style="color: #dc143c;">email</span>.<span style="color: black;">message_from_file</span><span style="color: black;">)</span>
mbox = <span style="color: #dc143c;">mailbox</span>.<span style="color: black;">mbox</span><span style="color: black;">(</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">[</span>-<span style="color: #ff4500;">1</span><span style="color: black;">]</span><span style="color: black;">)</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># lock the mbox</span>
mbox.<span style="color: black;">lock</span><span style="color: black;">(</span><span style="color: black;">)</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># iterate over messages in the maildir and add to the mbox</span>
<span style="color: #ff7700;font-weight:bold;">for</span> msg <span style="color: #ff7700;font-weight:bold;">in</span> maildir:
    mbox.<span style="color: black;">add</span><span style="color: black;">(</span>msg<span style="color: black;">)</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># close and unlock</span>
mbox.<span style="color: black;">close</span><span style="color: black;">(</span><span style="color: black;">)</span>
maildir.<span style="color: black;">close</span><span style="color: black;">(</span><span style="color: black;">)</span></pre></td>
</tr></table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2010/06/06/batteries-included-or-maildir-to-mbox-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WWDC WAG</title>
		<link>http://yergler.net/blog/2010/05/08/wwdc-wag/</link>
		<comments>http://yergler.net/blog/2010/05/08/wwdc-wag/#comments</comments>
		<pubDate>Sun, 09 May 2010 06:33:20 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[wag]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1675</guid>
		<description><![CDATA[People put a lot of time and effort into reading the Apple (and Steve J.) tea leaves: what will be announced, when, and will there be &#8220;one more thing&#8221;? I&#8217;ve put next to no time into this, but wanted to document my WAG &#8212; wild ass guess &#8212; for WWDC this year. I should note: [...]]]></description>
			<content:encoded><![CDATA[<p>People put a lot of time and effort into reading the Apple (and Steve J.) tea leaves: what will be announced, when, and will there be &#8220;one more thing&#8221;?  I&#8217;ve put next to no time into this, but wanted to document my WAG &#8212; wild ass guess &#8212; for WWDC this year.  I should note: I use a Macbook, but these days Mac OS X is basically a run-time for Firefox for me (my primary machine these days is a Thinkpad running Ubuntu). I use an <a href="http://en.wikipedia.org/wiki/IPod_Classic#iPod_With_Color_Display">iPod Color 60GB</a>, and haven&#8217;t seen the need to upgrade yet. I haven&#8217;t seen an iPad in person.  In short, I&#8217;m hardly qualified to make predictions about Apple corporate strategy.  But that doesn&#8217;t seem to stop anyone else.</p>
<p>I believe Apple will announce that you&#8217;ll be able to run <a href="http://en.wikipedia.org/wiki/IPhone_OS">iPhone OS</a> applications on Mac OS X.  Why?  Well, it just seems like it fits. </p>
<ul>
<li>Apple is obviously investing heavily in iPhone OS. One indication of its importance is that the <a href="http://en.wikipedia.org/wiki/Apple_Design_Awards">Apple Design Awards</a> are limited <a href="http://www.apple.com/pr/library/2010/04/28wwdc.html">to iPhone OS applications</a> this year.</li>
<li>As the iPad has launched, and developers have been crafting applications to watch video, read news, and listen to public radio, the question has been raised: why weren&#8217;t people creating applications that looked this good for laptops? I&#8217;m sure people using Macbooks would love to have some of those apps.  (I really don&#8217;t believe iPhone OS has any secret ingredient that suddenly enables ABC to create a video player.)</li>
<li>Apple&#8217;s restrictions to the iPhone SDK agreement, prohibiting the use of third party development tools, will allow Apple to <a href="http://daringfireball.net/linked/2010/04/14/keeping-the-platform-nimble">easily switch hardware platforms</a>, ala PPC to x86 &#8212; or support an additional architecture if needed.  You know, an additional architecture like x86.</li>
<li>Apple has experience with compatibility virtual machines (see: <a href="http://en.wikipedia.org/wiki/Rosetta_%28software%29">Rosetta</a>), as well as <a href="http://www.appleinsider.com/articles/08/06/20/apples_other_open_secret_the_llvm_complier.html">LLVM</a>.  You can imagine these experiences informing support for running iPhone OS applications in a sandbox on Mac OS X, or re-targeting the application at compilation time.</li>
<li>Finally, and perhaps most importantly, it inserts Apple into the middle of additional software purchases, enables them to leverage the App Store further, and exert additional control.</li>
</ul>
<p>So that&#8217;s my WAG for WWDC.  I think it&#8217;ll be sold to developers as a way to reach new users, and provide an end-to-end, mobile to desktop experience (I won&#8217;t be surprised if they launch improved, wireless sync between your iPad and Mac at the same time &#8212; syncing documents between iWork for iPad and your Mac <a href="http://www.macobserver.com/tmo/article/file_sharing_with_an_ipad_ugh/">sounds like hell</a>).  I think it&#8217;ll be sold to users on security and stability: iPhone OS applications would almost certainly have limited privileges on the desktop, and if you replace your laptop, logging into your iTunes account would sync your apps back to the machine.</p>
<p>If I&#8217;m right, users will undoubtedly begin to see [beautiful] software stream onto their desktops from a single, tightly controlled pool, and developers will devote hours crafting tools with the hope they&#8217;ll pass muster, and make it into that pool.  If I&#8217;m wrong, well, I&#8217;ve been wrong before.  And this is just a wild ass guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2010/05/08/wwdc-wag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remembering with org-mode and Ubiquity</title>
		<link>http://yergler.net/blog/2009/10/07/remembering-with-org-mode-and-ubiquity/</link>
		<comments>http://yergler.net/blog/2009/10/07/remembering-with-org-mode-and-ubiquity/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 19:52:04 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[orgmode]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1186</guid>
		<description><![CDATA[Yesterday evening I published my second set of Ubiquity commands which provide a Ubiquity interface between Firefox and Emacs &#8212; specifically org-mode &#8212; using org-protocol. Ubiquity is an experimental extension from Mozilla Labs that lets you interact with the browser by giving it short, plain text commands. For example, &#8220;share&#8221; to post a bookmark to [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday evening I published my <a href="http://yergler.net/projects/ubiquity-commands/org-mode/">second set of Ubiquity commands</a> which provide a Ubiquity interface between <a href="http://mozilla.com/firefox">Firefox</a> and <a href="http://en.wikipedia.org/wiki/Emacs">Emacs</a> &#8212; specifically <a href="http://orgmode.org/">org-mode</a> &#8212; using <a href="http://orgmode.org/worg/org-contrib/org-protocol.php">org-protocol</a>.  <a href="http://labs.mozilla.com/ubiquity/">Ubiquity</a> is an experimental extension from <a href="http://labs.mozilla.com/">Mozilla Labs</a> that lets you interact with the browser by giving it short, plain text commands.  For example, &#8220;share&#8221; to post a bookmark to Delicious, or &#8220;map&#8221; to open a map of the selected address.</p>
<p><a href="http://orgmode.org">Org-Mode</a> is an Emacs mode that can be used to keep track of notes, agendas and task lists.  I use it to maintain my task list for various projects and take notes when I&#8217;m in a meeting.  I really like that while it&#8217;s an outline editor at heart, it lets me write lots of text and go back later and figure out what&#8217;s actually actionable, as opposed to maintaining separate notes and task lists.  <a href="http://orgmode.org/worg/org-contrib/org-protocol.php">org-protocol</a> is included in recent releases and lets you launch an instance of <a href="http://www.emacswiki.org/emacs/EmacsClient">emacsclient</a> with some additional information (i.e., the URL and title of a web page, etc) and take some action on it.  One of the built in &#8220;protocols&#8221; is sending that information to <a href="http://www.emacswiki.org/cgi-bin/wiki/RememberMode">remember mode</a>, which org-mode <a href="http://orgmode.org/manual/Remember.html#Remember">augments</a>.</p>
<p>The main command is simply <code>remember</code>.  Invoking it will send the current URL and document title to org-mode&#8217;s Remember buffer.  You can optionally type a note or select text in the page to be captured along with the link.  </p>
<p>Once you&#8217;re in the buffer you can make any changes needed and then simply <code>C-c C-c</code> to save the note, or <code>C-1 C-c C-c</code> to interactively file the note someplace else.  I&#8217;m using this command to quickly store links with some notes to project files.  I hope this will be particularly useful when I run across something for a project I&#8217;m not actually able to spend time on at the moment.</p>
<p>Note that before using the commands you need to <a href="http://orgmode.org/worg/org-contrib/org-protocol.php#sec-3.1">configure Firefox</a> to understand <code>org-protocol://</code> links, and need to <a href="http://orgmode.org/worg/org-contrib/org-protocol.php#sec-6.1">configure a remember template</a>.  The template I use looks like:</p>
<blockquote><p><code>(?w "* %?\n\n  Source: %u, %c\n\n  %i" nil "Notes")</code></p></blockquote>
<p>This store the information in the <code>Notes</code> section of my <code>org-default-notes-file</code> and positions the cursor ready to type a heading.</p>
<p>To install, visit <a href="http://yergler.net/projects/ubiquity-commands/org-mode/">the command page</a> and click <em>&#8220;Subscribe&#8221;</em>in the upper right hand corner when prompted (this assumes you have <a href="http://labs.mozilla.com/ubiquity">Ubiquity</a> already installed).  You can find the Javascript source <a href="http://gitorious.com/nyergler-ubiquity-commands">on gitorious</a>; I&#8217;ll be adding my <a href="http://yergler.net/projects/ubiquity-rdfa-commands/">RDFa commands</a> to that repository as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2009/10/07/remembering-with-org-mode-and-ubiquity/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PyCon 2010 CFP: Five Days Left</title>
		<link>http://yergler.net/blog/2009/09/25/pycon-2010-cfp-five-days-left/</link>
		<comments>http://yergler.net/blog/2009/09/25/pycon-2010-cfp-five-days-left/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 22:07:50 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[conf]]></category>
		<category><![CDATA[cfp]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[pycon]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1113</guid>
		<description><![CDATA[The CFP for PyCon 2010 closes in five days. I&#8217;m on the program committee this year and it&#8217;s exciting to see good proposals come in. From the CFP: Want to showcase your skills as a Python Hacker? Want to have hundreds of people see your talk on the subject of your choice? Have some hot [...]]]></description>
			<content:encoded><![CDATA[<p>The CFP for <a href="http://us.pycon.org/2010/">PyCon 2010</a> closes in five days.  I&#8217;m on the program committee this year and it&#8217;s exciting to see good proposals come in.  From the CFP:</p>
<blockquote><p>Want to showcase your skills as a Python Hacker? Want to have<br />
hundreds of people see your talk on the subject of your choice? Have some<br />
hot button issue you think the community needs to address, or have some<br />
package, code or project you simply love talking about? Want to launch<br />
your master plan to take over the world with python?</p>
<p>PyCon is your platform for getting the word out and teaching something<br />
new to hundreds of people, face to face.</p>
<p>Previous PyCon conferences have had a broad range of presentations,<br />
from reports on academic and commercial projects, tutorials on a broad<br />
range of subjects and case studies. All conference speakers are volunteers<br />
and come from a myriad of backgrounds. Some are new speakers, some<br />
are old speakers. Everyone is welcome so bring your passion and your<br />
code! We&#8217;re looking to you to help us top the previous years of success<br />
PyCon has had.</p>
<p>PyCon 2010 is looking for proposals to fill the formal presentation tracks.<br />
The PyCon conference days will be February 19-22, 2010 in Atlanta,<br />
Georgia, preceded by the tutorial days (February 17-18), and followed<br />
by four days of development sprints (February 22-25).</p>
<p>Online proposal submission is open now! Proposals  will be accepted<br />
through October 1st, with acceptance notifications coming out on<br />
November 15th. For the detailed call for proposals, please see:</p>
<p><a href="http://us.pycon.org/2010/conference/proposals/">http://us.pycon.org/2010/conference/proposals/</a></p>
<p>For videos of talks from previous years &#8211; check out:</p>
<p><a href="http://pycon.blip.tv">http://pycon.blip.tv</a></p>
<p>We look forward to seeing you in Atlanta!
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2009/09/25/pycon-2010-cfp-five-days-left/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RDFa Bookmarklets for Ubiquity</title>
		<link>http://yergler.net/blog/2009/07/11/rdfa-bookmarklets-for-ubiquity/</link>
		<comments>http://yergler.net/blog/2009/07/11/rdfa-bookmarklets-for-ubiquity/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 17:58:28 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rdfa]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1054</guid>
		<description><![CDATA[I&#8217;ve been aware of Ubiquity since it launched and have meant to dig in and play with it for a while. I&#8217;m becoming increasingly reliant on my keyboard for fast interaction with the computer; I blame gnome-do. So using the keyboard to interact more quickly with my browser had a lot of appeal. Today I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been aware of <a href="http://labs.mozilla.com/projects/ubiquity/">Ubiquity</a> since it launched and have meant to dig in and play with it for a while.  I&#8217;m becoming increasingly reliant on my keyboard for fast interaction with the computer; I blame <a href="http://do.davebsd.com/">gnome-do</a>.  So using the keyboard to interact more quickly with my browser had a lot of appeal.</p>
<p>Today I finally installed <a href="http://labs.mozilla.com/2009/07/ubiquity-0-5/">Ubiquity 0.5</a> and looked at converting the <a href="http://www.w3.org/2006/07/SWD/RDFa/impl/js/">RDFa bookmarklets</a> to Ubiquity commands.  The bookmarklets are invaluable for debugging and exploring RDFa, but I don&#8217;t use them often enough to feel like I want them on my bookmark bar all the time.</p>
<p>Turns out that Ubiquity makes it really easy to convert a bookmarklet to a command.  I&#8217;ve converted the Get N3 and RDFa Highlight bookmarklets and <a href="http://yergler.net/projects/ubiquity-rdfa-commands">made them available</a>.  I&#8217;d like to convert the <a href="http://www.w3.org/2006/07/SWD/RDFa/impl/js/fragment-parser/">fragment parser</a> as well but I think that&#8217;ll be a little more involved.  </p>
<p>To use the commands, just <a href="https://labs.mozilla.com/2009/07/ubiquity-0-5/">install Ubiquity 0.5</a> (or later for you visitors from the future) and visit <a href="http://yergler.net/projects/ubiquity-rdfa-commands">the commands page</a>.  You&#8217;ll see a notification at the top of the browser window asking if you&#8217;d like to install the commands.</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2009/07/11/rdfa-bookmarklets-for-ubiquity/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Open Access and Linked Data</title>
		<link>http://yergler.net/blog/2009/04/20/open-access-and-linked-data/</link>
		<comments>http://yergler.net/blog/2009/04/20/open-access-and-linked-data/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 02:06:50 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[cc]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[linked data]]></category>
		<category><![CDATA[oa]]></category>
		<category><![CDATA[open access]]></category>
		<category><![CDATA[rdfa]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1029</guid>
		<description><![CDATA[I traveled to the midwest late last month and made a few stops, including PyCon and a brief visit with my parents. In between those two bookends I spoke at University of Michigan&#8217;s Open Access Week and had a few meetings with various parties. My topic was pretty broad &#8212; CC and Open Access &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>I traveled to the midwest late last month and made a few stops, including <a href="http://us.pycon.org/2009/about/">PyCon</a> and a brief visit with my parents.  In between those two bookends I spoke at University of Michigan&#8217;s <a href="http://www.copyright.umich.edu/openaccessweek2009.html">Open Access Week</a> and had a few meetings with various parties.  My topic was pretty broad &#8212; <a href="http://yergler.net/talks/2009/cc-and-open-access/">CC and Open Access</a> &#8212; but I was [personally] pleased with how the talk came together.  I&#8217;d like to re-create it for the purpose of creating a <a href="http://yergler.net/blog/2009/02/18/slides-for-all-audiences/">slidecast</a>; maybe sometime soon.</p>
<p>In putting together the content I realized that while I had this gut level, assumed knowledge about what <a href="http://en.wikipedia.org/wiki/Open_access_(publishing)">Open Access</a> is, I hadn&#8217;t ever read a definition or really delved into it.  When I read the <a href="http://www.soros.org/openaccess/read.shtml">Budapest Open Access Initiative</a>, one part stood out to me.</p>
<blockquote><p>
By &#8220;open access&#8221; to this literature, we mean its free availability on the public internet, permitting any users to read, download, copy, distribute, print, search, or link to the full texts of these articles, crawl them for indexing, pass them as data to software, or use them for any other lawful purpose, without financial, legal, or technical barriers other than those inseparable from gaining access to the internet itself.
</p></blockquote>
<p>Well of course it stood out to me, it&#8217;s a core descriptive sentence.  But in particular, &#8220;availability on the public internet, permitting any users to read, download, copy, distribute, print, search, or link to the full texts of these articles, crawl them for indexing, [or] pass them as data to software.&#8221;  Interestingly this sentence ties right into the other meetings I was having that week which all seemed to come back to <a href="http://en.wikipedia.org/wiki/Linked_Data">linked data</a> (in particular <a href="http://en.wikipedia.org/wiki/RDFa">RDFa</a>).  If you think about it, this sentence has implications that make OA materials perfect for linked data integration.  It implies:</p>
<ul>
<li>you have a stable, unique URL for the work</li>
<li>there isn&#8217;t a paywall or login requirement in front of the actual work</li>
<li>there isn&#8217;t any user agent discrimination &#8212; text in a Flash viewer need not apply (I&#8217;m looking at you, <a href="http://www.scribd.com/">Scribd</a>)</li>
<li>they&#8217;re in a format that&#8217;s useful as data; maybe [X]HTML?</li>
</ul>
<p>So we have a growing corpus of information that&#8217;s ripe for markup with structured data.  We&#8217;re doing a lot with embedded, structured [,linked] data right now at CC (things we need to do a better job talking about).  I find it reassuring that the principles other efforts value mesh so well with what we&#8217;re doing.</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2009/04/20/open-access-and-linked-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides For All Audiences</title>
		<link>http://yergler.net/blog/2009/02/18/slides-for-all-audiences/</link>
		<comments>http://yergler.net/blog/2009/02/18/slides-for-all-audiences/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 18:13:34 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[spoken word]]></category>

		<guid isPermaLink="false">http://yergler.net/?p=1020</guid>
		<description><![CDATA[Tufte tells us that filling our slides with reading material is bad form. I try to keep this in mind when putting together talks (with varying degrees of success), and am reminded of it when I attend a conference. Usually there&#8217;s at least one presenter who has really compelling material, but terrible slides. The thing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Edward_Tufte">Tufte</a> <a href="http://www.wired.com/wired/archive/11.09/ppt2.html">tells us</a> that filling our slides with reading material is bad form.  I try to keep this in mind when putting together talks (with varying degrees of success), and am reminded of it when I attend a conference.  Usually there&#8217;s at least one presenter who has really compelling material, but terrible slides.  The thing is, they&#8217;re probably great slides for certain audiences; namely, the audience not in the room.  If you&#8217;re reading them after the fact, text heavy slides can give you the full picture, where arguably <a href="http://presentationzen.blogs.com/presentationzen/2005/10/the_lessig_meth.html">Lessig-style slides</a> (on their own) can not.</p>
<p><a href="http://slideshare.net">Slideshare</a>, an online site for publishing your slides, has a feature that&#8217;s new to me: <em>&#8220;slidecasting&#8221;</em>.</p>
<div style="width:425px;text-align:left" id="__ss_82836"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jboutelle/slidecasting-101?type=presentation" title="Slidecasting 101">Slidecasting 101</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=slidecasting-1013073&#038;rel=0&#038;stripped_title=slidecasting-101" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=slidecasting-1013073&#038;rel=0&#038;stripped_title=slidecasting-101" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/jboutelle">Jonathan Boutelle</a>. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/propaganda">propaganda</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/slideshare">slideshare</a>)</div>
</div>
<p>Slidecasting involves taking an audio track and syncing it with your slides, giving you the best of both worlds.  Right now it requires uploading an separate MP3 file and manually syncing it with your slides.  Extra effort on the presenter&#8217;s part, but arguably worth it if you&#8217;re trying to reach the broadest possible audience with the greatest efficacy.</p>
<p>It&#8217;d be great if Slideshare supported some standard ["SMIL?" he asks with no real insight into the specification] that allowed you to upload the synchronization information without using their web-based tool.  You can imagine an application or plugin that records during a presentation, noting timestamps for slide changes, and generates a set of files immediately suitable for upload.</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2009/02/18/slides-for-all-audiences/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Upgrading WordPress</title>
		<link>http://yergler.net/blog/2008/08/21/upgrading-wordpress/</link>
		<comments>http://yergler.net/blog/2008/08/21/upgrading-wordpress/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 00:33:19 +0000</pubDate>
		<dc:creator>Nathan Yergler</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[wordpres]]></category>

		<guid isPermaLink="false">http://yergler.net/blog/?p=630</guid>
		<description><![CDATA[WordPress 2.6.1 is out. Reading feeds on my flight from IND to PHX this afternoon I ran across the WordPress Automatic Upgrade Plugin (shouldn&#8217;t that be the Automattic?). Nice, but I&#8217;d like to plug my approach to managing WordPress upgrades, which I think is even easier, assuming you&#8217;re OK with minimal command-line interaction. First, install [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org/development/2008/08/wordpress-261/">WordPress 2.6.1</a> is out.  Reading feeds on my flight from IND to PHX this afternoon I ran across the <a href="http://techie-buzz.com/wordpress-plugins/wordpress-automatic-upgrade-12-release.html">WordPress Automatic Upgrade Plugin</a> (shouldn&#8217;t that be the <em>Automattic</em>?).  Nice, but I&#8217;d like to plug my approach to managing WordPress upgrades, which I think is even easier, assuming you&#8217;re OK with minimal command-line interaction.</p>
<p>First, install WordPress from a Subversion checkout; do:<br />
<code><br />
$ svn co http://svn.automattic.com/wordpress/tags/2.6/<br />
</code><br />
instead of downloading the .zip or .tar.gz file.  Configure as directed.</p>
<p>Then, when a new version is available, log into your webhost and run:<br />
<code><br />
$ svn switch http://svn.automattic.com/wordpress/tags/2.6.1/<br />
</code><br />
from your install directory.</p>
<p>Done.</p>
<p>Note that you can also do something similar (but an order of magnitude more complex, at least for my brain) using <a href="http://en.wikipedia.org/wiki/Git_(software)">git</a> and <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html">git-svn</a> if you want to version your local settings as well.  Perhaps one day <a href="http://asheesh.org">Asheesh</a> or I will get that written up.</p>
]]></content:encoded>
			<wfw:commentRss>http://yergler.net/blog/2008/08/21/upgrading-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

