<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Jon Smajda</title>
 <link href="http://jon.smajda.com/atom.xml" rel="self"/>
 <link href="http://jon.smajda.com"/>
 <link rel="license" type="/application/rdf+xml" href="http://creativecommons.org/licenses/by-nc-sa/3.0/rdf" />
 <updated>2012-05-13T13:34:30-05:00</updated>
 <id>http://jon.smajda.com</id>
 <author>
     <name>Jon Smajda</name>
     <email>jon@smajda.com</email>
 </author>

 
 <entry>
   
   <title>Updates</title>
   <link href="http://jon.smajda.com//2012/05/13/updates/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2012-05-13T13:15:23-05:00</updated>
   <id>http://jon.smajda.com//2012/05/13/updates</id>
   <content type="html">&lt;p&gt;I&amp;rsquo;ve had dry spells in the past on this blog, but this has been the longest. A lot has happened.&lt;/p&gt;

&lt;p&gt;In December, I completed, and successfully defended, my PhD in sociology! Finally! It&amp;rsquo;s been a huge relief to be done and have that part of my life behind me. While I applied for some academic jobs this past Fall, nothing has panned out and I&amp;rsquo;m mostly out of the academic world these days. Not entirely though: I&amp;rsquo;m still working with &lt;a href=&quot;http://thesocietypages.org&quot;&gt;The Society Pages&lt;/a&gt; and &lt;a href=&quot;http://contexts.org&quot;&gt;Contexts&lt;/a&gt;, keeping the servers running in the engine room for both sites and doing some podcasting and editorial work for TSP.&lt;/p&gt;

&lt;p&gt;As a grad student I got interested in studying the culture of open source software, and I&amp;rsquo;ve now officially gone native: working as a web developer full-time for &lt;a href=&quot;http://bold-is.com&quot;&gt;BOLD&lt;/a&gt;. Most of my time there is now spent working with Python and Django, which I greatly enjoy: both are elegant, powerful, and fun. We&amp;rsquo;ve been working on a particularly large Django project for the past year now that has been a great learning experience. If I ever get around to posting here again, there&amp;rsquo;ll likely be some Python and Django-related posts sharing what I&amp;rsquo;ve learned.&lt;/p&gt;

&lt;p&gt;After spending nearly a decade pursuing a PhD in sociology, it&amp;rsquo;s been a bit of a mental adjustment to get used to the idea that this is now my career, not sociology. On most days, however, I&amp;rsquo;m happy with how this has turned out. There&amp;rsquo;s an ideal vision of what life in academia is like that I know I would love, but the reality is often pretty far off from that. Plus, I&amp;rsquo;m pretty pessimistic about the direction higher education is heading in this country.&lt;/p&gt;

&lt;p&gt;More concretely though, I think there are several aspects of my personality that are just better suited to what I&amp;rsquo;m doing these days. For instance: I don&amp;rsquo;t have the right kind of &lt;em&gt;long-term patience&lt;/em&gt; for academia. For example, my advisor and I have &lt;a href=&quot;http://files.smajda.com/jon/papers/northend.pdf&quot;&gt;an article&lt;/a&gt; scheduled to be published this Fall. It was accepted by the journal last Fall. We finished writing the article last Spring. It&amp;rsquo;s based on research I did in 2004. So in academia, in other words, you&amp;rsquo;ve got to be in it for the long haul. Compare this to what I just said about about web development: in the time it&amp;rsquo;s taken this paper to go just from acceptance to publication&amp;mdash;nevermind the actual time spent doing the research and writing!&amp;mdash;I&amp;rsquo;ve learned an entire new programming language and web development framework. And I&amp;rsquo;m sure there will be others in the next few years. Software development is a fast-moving field. Sociology is not.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s see&amp;hellip;what else is new?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Last year, while I was scrambling to finish my dissertation and also get a new career started, I re-discovered running as the ultimate stress-reliever. A few months back, I started tracking &lt;a href=&quot;http://runkeeper.com/user/jonsmajda/&quot;&gt;my runs on Runkeeper&lt;/a&gt;. I keep going back and forth on whether I actually want to start entering races. The competitor in me thinks I should, but a big part of the appeal of running for me is &lt;em&gt;getting away&lt;/em&gt; from other stressors in my life so I&amp;rsquo;m hesitant to introduce any extra stress into running. For now, it&amp;rsquo;s just for fun.&lt;/li&gt;
&lt;li&gt;Chloe is now five years old. She starts Kindergarten in the Fall. She&amp;rsquo;s amazing.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;That&amp;rsquo;s about it for now. Hopefully it won&amp;rsquo;t be another 10 months before I post again!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>WordPress and Git</title>
   <link href="http://jon.smajda.com//2011/07/17/wordpress-and-git/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2011-07-17T15:35:54-05:00</updated>
   <id>http://jon.smajda.com//2011/07/17/wordpress-and-git</id>
   <content type="html">&lt;p&gt;&lt;em&gt;A few years back, I wrote a post on &lt;a href=&quot;http://jon.smajda.com/2008/05/06/managing-wordpress/&quot;&gt;managing WordPress&lt;/a&gt;. For the most part, it&amp;rsquo;s still valid but I&amp;rsquo;ve been using git to manage code for quite awhile now, so I thought I&amp;rsquo;d give a little update.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href=&quot;http://markjaquith.com/&quot;&gt;Mark Jaquith&lt;/a&gt;, there&amp;rsquo;s now a reliable, complete &lt;a href=&quot;https://github.com/markjaquith/WordPress&quot;&gt;git mirror of WordPress&lt;/a&gt;. I&amp;rsquo;ve been using git to manage my WordPress sites for awhile now, but the actual updating of WordPress has always been weird to force into the git loop. My practice has been to keep a stock WordPress git repository that is also a subversion repository (just add &lt;code&gt;*.svn&lt;/code&gt; to your &lt;code&gt;.gitignore&lt;/code&gt;). I &lt;code&gt;svn switch&lt;/code&gt; to a new tagged release, commit the result in git, and then this repository is set up as a remote on all my active WordPress sites, so I ssh into these sites and merge each with this stock WordPress branch.&lt;/p&gt;

&lt;p&gt;Now that there&amp;rsquo;s a good Wordpress mirror on github, the way to take advantage of this may seem obvious: just clone this mirror and then merge from it. However, that has a couple downsides. First, you get messy history: all of the commits you&amp;rsquo;ve made locally for your site get drowned in WordPress core commits. Second, unless you&amp;rsquo;re actively developing WordPress core, you only care about official releases (and possibly beta releases). In other words, you want to merge with tags only and you don&amp;rsquo;t want messy history. So here&amp;rsquo;s how to get that: instead of cloning Jaquith&amp;rsquo;s mirror, just add it as a remote and squash the commits.&lt;/p&gt;

&lt;h3&gt;Step-by-step:&lt;/h3&gt;

&lt;p&gt;If you&amp;rsquo;re starting from scratch, create an empty git repo with &lt;code&gt;git init&lt;/code&gt; and create an initial commit with something &amp;mdash; maybe a local-readme.txt file explaining what you&amp;rsquo;re doing. (&amp;ldquo;Squash commit into empty head not supported yet&amp;rdquo;.) Anway, add the remote:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git remote add wp git://github.com/markjaquith/WordPress.git
git fetch -t wp
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The first adds the github mirror as a remote named &amp;ldquo;wp&amp;rdquo;. The &lt;code&gt;fetch -t&lt;/code&gt; will make sure you get all the tags. (Run &lt;code&gt;git tags&lt;/code&gt; afterwards to see the list of available tags.)&lt;/p&gt;

&lt;p&gt;Next, merge with the latest tag (here, 3.2.1):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git merge --squash --no-commit -s recursive -X theirs tags/3.2.1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The &lt;code&gt;--squash&lt;/code&gt; means it takes the hundreds (thousands?) of ancestor commits for that tag and compresses it into a single commit. The &lt;code&gt;-s recursive -X theirs&lt;/code&gt; tells git that if there are conflicts, use the new version. (Remember, all you&amp;rsquo;re doing here is creating a simple local WordPress mirror to merge your actual WordPress sites with.)&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;--no-commit&lt;/code&gt; tells git to merge but stop just short of actually making the commit. So make sure everything looks good. For example, you can&amp;rsquo;t squash binary files so you may get conflicts about that. If this happens, just &lt;code&gt;git checkout&lt;/code&gt; the latest version explicitly. For example, going from 3.2 to 3.2.1 I had to do the following: &lt;code&gt;git checkout tags/3.2.1 -- wp-admin/images/wp-logo.png&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Finally, &lt;code&gt;git commit -m &quot;3.2.1&quot;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, as I said above, what I like to do is this: do &lt;em&gt;not&lt;/em&gt; use this as your starting point for an actual WordPress instance. Instead you add &lt;em&gt;this&lt;/em&gt; repo as a remote (just like we did above) to your site and then you can just do a &lt;code&gt;git pull wp&lt;/code&gt; (or whatever you call it) there. That way you only have to do the little dance above once for each release if you&amp;rsquo;re responsible for multiple WordPress instances.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Quick aside:&lt;/em&gt; Why don&amp;rsquo;t I just put &lt;em&gt;mine&lt;/em&gt; on github? I could. But here&amp;rsquo;s the problem: the reason Jaquith&amp;rsquo;s mirror is such a big deal is because he&amp;rsquo;s a WordPress core developer. Others have done this, but they&amp;rsquo;ve all had shortcomings: the ones I knew about didn&amp;rsquo;t include tags, or they were really slow to update, or they simply got abandoned. &lt;em&gt;I&amp;rsquo;m not blaming any of them.&lt;/em&gt; Sure, I could put a &amp;ldquo;simplified WordPress repo&amp;rdquo; on github, but I don&amp;rsquo;t want to commit to updating it instantly every WordPress update forever. And what works for me may not work for you. The process I described above is not difficult and shows how you can take the comprehensive mirror and merge with it to make your life easier in your own way that suites your needs.&lt;/p&gt;

&lt;h3&gt;Plugins&lt;/h3&gt;

&lt;p&gt;What about plugins? There&amp;rsquo;s no git mirror of the WordPress Plugins Directory that I know of, so I usually revert to my subversion hack described above: &lt;code&gt;svn co http://svn.wp-plugins.org/plugin-name/trunk/ .&lt;/code&gt; into a directory for the plugin and then commit the results into git. Alternatively, you can use WordPress' backend plugin updater, which can work just fine, but I inevitably end up having to modify certain plugins and that process simply overwrites the files and you lose your modifications, whereas at least &lt;code&gt;svn up&lt;/code&gt; will alert you to conflicts and let you merge your changes into the new version. (Makes me wonder how many out-of-date plugins would be updated if the WordPress Plugin Directory worked more like github &amp;mdash; where anyone could fork your plugin and fix it if you won&amp;rsquo;t&amp;hellip;)&lt;/p&gt;

&lt;h3&gt;Beta Testing&lt;/h3&gt;

&lt;p&gt;If you want to test beta releases locally before installing them, you can just create a &amp;ldquo;testing&amp;rdquo; branch of your WordPress repository (&lt;code&gt;git checkout -b testing&lt;/code&gt;) and then instead of merging with a release tag, just merge with whatever branch the development for the next version is happening on. Make sure if you&amp;rsquo;re going to switch back and forth to backup your database though!&lt;/p&gt;

&lt;h3&gt;Merging into an existing site&lt;/h3&gt;

&lt;p&gt;This may sound great for setting up new sites, but what about merging into an existing wordpress site? You&amp;rsquo;ll get conflicts because git won&amp;rsquo;t have a common ancestor commit to merge from. So fake one: create &lt;a href=&quot;http://stackoverflow.com/questions/1488753/how-to-merge-two-branches-without-a-common-ancestor/1491057#1491057&quot;&gt;a graft file&lt;/a&gt; file linking your most recent commit where you updated WordPress (if you&amp;rsquo;re using git for the first time, just use your first commit) and the SHA1 of the commit for the version you&amp;rsquo;re currently running in your base WordPress repo. After creating this file, you should see both branches reflected in your &lt;code&gt;git log&lt;/code&gt; and when you try to merge to the current commit in your remote branch, it should merge cleanly, as if you&amp;rsquo;d been merging with it all along.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Dvorak Follow-up</title>
   <link href="http://jon.smajda.com//2011/05/15/dvorak-follow-up/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2011-05-15T11:39:52-05:00</updated>
   <id>http://jon.smajda.com//2011/05/15/dvorak-follow-up</id>
   <content type="html">&lt;p&gt;About a year-and-a-half ago, I wrote about how I was &lt;a href=&quot;http://jon.smajda.com/2009/12/02/learning-dvorak/&quot;&gt;learning Dvorak&lt;/a&gt;. I was still very much in the learning phase at the time and I&amp;rsquo;ve been meaning to revisit the post for awhile now. Here&amp;rsquo;s a quick update:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I&amp;rsquo;m still typing Dvorak.&lt;/li&gt;
&lt;li&gt;My hands rarely hurt anymore. This was the main motivation for trying Dvorak, so I&amp;rsquo;d call it a success. The decreased motion required with Dvorak seems to have made a difference. One qualification: I&amp;rsquo;ve also learned to be more conscious about how hard I type, so that may be making a difference as well.&lt;/li&gt;
&lt;li&gt;I have no idea if I&amp;rsquo;m faster than with QWERTY. This wasn&amp;rsquo;t a factor in learning Dvorak for me and I haven&amp;rsquo;t done any speed tests.&lt;/li&gt;
&lt;li&gt;I wanted to be able to switch between QWERTY and Dvorak. This has not been so easy. I can type QWERTY, but I&amp;rsquo;m slow and have to think extra hard about it and/or look at the keyboard the whole time. This is doubly bad because about the only time I have to type QWERTY is when I&amp;rsquo;m at someone else&amp;rsquo;s computer, usually with them watching while I&amp;rsquo;m trying to talk at the same time. So, already not an ideal environment for good typing. I could probably make the effort to get better at QWERTY and practice switching layouts more often, but it&amp;rsquo;s just not been that big of a problem yet.&lt;/li&gt;
&lt;li&gt;If you type a lot of English and your hands hurt, I&amp;rsquo;d recommend trying Dvorak. Beyond that specific situation, I&amp;rsquo;m not sure how heavily I&amp;rsquo;d recommend it if you&amp;rsquo;re already a good QWERTY typist.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;That last point is worth expanding on. The people who seem interested when I tell them I use Dvorak are programmers. Programming alone, however, is a pretty poor reason to switch. First, you don&amp;rsquo;t actually type &lt;em&gt;that&lt;/em&gt; much when you&amp;rsquo;re programming. Second, all the special keys (brackets, braces, colon, semicolon, etc.) that you type a lot when you&amp;rsquo;re programming have moved, and not necessarily to more ergonomic locations. In fact, they&amp;rsquo;ve been moved to less ergonomic locations to make room for regular letters non-programmers use more frequently. You also have to relearn keyboard shortcuts, and keyboard shortcuts often have been chosen for ergonomic convenience. If you&amp;rsquo;re a vim user like myself, you have to relearn your vim muscle memory.&lt;/p&gt;

&lt;p&gt;However, Dvorak is more easy to recommend to people who just type a lot of English: writing papers, dissertations, emails, blogging, etc. This group of people, however, tend to just think I&amp;rsquo;m crazy when I tell them I use Dvorak. They&amp;rsquo;ve often never heard of it and assume it&amp;rsquo;s something hard-core programmers might do, when, in fact, it makes more sense for them than the programmers who are intrigued by the idea. Of course, there&amp;rsquo;s an overlap between &amp;ldquo;people who program&amp;rdquo; and &amp;ldquo;people who spend a lot of non-programming time typing on a computer&amp;rdquo;, but it&amp;rsquo;s interesting to me that there&amp;rsquo;s a disconnect between those interested in Dvorak and those who could most benefit from it.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Link: The Screenshot That May Finally Force Me To Buy An iPad</title>
   <link href="http://onethingwell.org/post/4779791834/prompt"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2011-04-20T21:25:13-05:00</updated>
   <id>http://jon.smajda.com//2011/04/20/the-screenshot-that-may-finally-force-me-to-buy-an-ipad</id>
   <content type="html">&lt;p&gt;&lt;a href=&quot;http://onethingwell.org/post/4779791834/prompt&quot;&gt;&lt;img src=&quot;/files/prompt-440x330.png&quot; alt=&quot;Prompt&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That&amp;rsquo;s Vim! On an iPad! Using &lt;a href=&quot;http://www.panic.com/blog/2011/04/introducing-prompt-ssh-for-ios/&quot;&gt;Prompt&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;d love to buy an iPad, but my 5-year-old MacBook is really starting to show its age and there&amp;rsquo;s no way I can justify both. The main reason I need a laptop though is for writing in Vim. If I could do that on an iPad&amp;hellip;&lt;/p&gt;

&lt;p&gt;One question and one comment:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;What are the ergonomics of using an iPad with the external keyboard? I&amp;rsquo;ve never actually seen someone do it, and it seems like it could be very awkward.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &amp;ldquo;Oh yeah&amp;hellip;&amp;rdquo; moment that brings me down a little bit after seeing this screenshot is that, of course, it&amp;rsquo;s an &lt;em&gt;SSH&lt;/em&gt; app. You&amp;rsquo;re still connecting to another computer over the internet, and therefore dependent on, say, coffee shop wifi to keep you connected while writing. Of course, with a mythical Android tablet, with it&amp;rsquo;s old school file system, one could have a fully native Android version of Vim working off local files. I hear there are several great writing apps for iOS that hook into Dropbox, but I suspect the Dropbox-enabled port of Vim is still a ways off.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</content>
 </entry>
 
 <entry>
   
   <title>Link: Amazon Announces Library Lending</title>
   <link href="http://phx.corporate-ir.net/phoenix.zhtml?c=176060&amp;p=irol-newsArticle&amp;ID=1552678&amp;highlight"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2011-04-20T20:04:42-05:00</updated>
   <id>http://jon.smajda.com//2011/04/20/amazon-announces-library-lending</id>
   <content type="html">&lt;blockquote&gt;&lt;p&gt;Amazon is working with OverDrive, the leading provider of digital content solutions for over 11,000 public and educational libraries in the United States, to bring a seamless library borrowing experience to Kindle customers.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I&amp;rsquo;ve had my Kindle about a year-and-a-half now and I get asked more about it now than when I first got it. &amp;ldquo;Can I check out ebooks from my library?&amp;rdquo; is one of the top questions people have. Our local library has OverDrive ebooks already, but has thus far had no Kindle support. There are a lot of avid readers out there that still go to libraries. This will sell some Kindles.&lt;/p&gt;

&lt;p&gt;To read OverDrive books on my Kindle I break the DRM and convert them to .mobi files. This involves using some python scripts that are easily found online. This is not, however, something I can recommend to, say, my parents or their friends that are frequent library patrons. It&amp;rsquo;s also not something I should probably be admitting on this here eponymous blog, as it is illegal.&lt;/p&gt;

&lt;p&gt;Which is the real problem with ebooks. Ebooks today are still where mp3s were a few years ago. Conventional wisdom among people who pontificate about these things on the internet is that eventually publishers will cave just like music labels did. Music labels were so scared of Apple&amp;rsquo;s dominance that they decided to allow Amazon to distribute DRM-free mp3s just to create a competitor to the iTunes store. Is Amazon enough of a threat to publishers that they&amp;rsquo;ll make the same decision? Or will Amazon have enough of the market at that point that it won&amp;rsquo;t matter? Apple sells music in order to sell iPods (and now iPhones and iPads), but Amazon is doing the reverse: selling Kindles in order to sell ebooks. The fact that there&amp;rsquo;s a Kindle app on every mobile platform now is evidence of this. Which begs the question: why strike a deal with library lenders like this? Just to get market share, I assume.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Link: Disable Automatic Gain Control in Skype</title>
   <link href="http://forum.skype.com/index.php?showtopic=76062"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2011-04-19T21:35:28-05:00</updated>
   <id>http://jon.smajda.com//2011/04/19/disable-automatic-gain-control-in-skype</id>
   <content type="html">&lt;p&gt;Open up &lt;code&gt;~/Library/Application Support/Skype/shared.xml&lt;/code&gt; in a text editor, find the &lt;code&gt;&amp;lt;VoiceEng&amp;gt;&lt;/code&gt; section, and add &lt;code&gt;&amp;lt;AGC&amp;gt;0&amp;lt;/AGC&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;EC&amp;gt;0&amp;lt;/EC&amp;gt;&lt;/code&gt;. Like so:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;VoiceENG&amp;gt;
  &amp;lt;AGC&amp;gt;0&amp;lt;/AGC&amp;gt;
  &amp;lt;EC&amp;gt;0&amp;lt;/EC&amp;gt;
  [One or more &amp;lt;MicVolume&amp;gt;'s. Leave them alone.]
&amp;lt;/VoiceEng&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The thread is from 2007, but it still works in Skype 5.&lt;/p&gt;

&lt;p&gt;This feature is single-handedly responsible for the many noisy podcast interviewers you hear. See, when your channel is quiet, Skype yanks up the gain on your mic, meaning that every little sniffle, sip of coffee, or fan running two rooms away gets picked up while your guest is talking. And then, when you re-enter the conversation, your first few words are way too loud and distorted until Skype re-adjusts the gain.&lt;/p&gt;

&lt;p&gt;But not anymore on my podcasts.&lt;/p&gt;

&lt;p&gt;To manually adjust your mic gain, open up the &amp;ldquo;Audio MIDI Setup&amp;rdquo; application (in &lt;code&gt;/Applications/Utilities&lt;/code&gt;) and select the Input tab for your mic.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Moving Home</title>
   <link href="http://jon.smajda.com//2011/04/13/moving-home/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2011-04-13T06:55:00-05:00</updated>
   <id>http://jon.smajda.com//2011/04/13/moving-home</id>
   <content type="html">&lt;p&gt;I&amp;rsquo;ve decided to bring this blog back to life. It has my name on it after all.&lt;/p&gt;

&lt;p&gt;When I switched this site to Jekyll awhile back, I never really took the time to set up a good workflow for posting, which is part of the reason I quit using it. After listening to a recent &lt;a href=&quot;http://5by5.tv/buildanalyze/18&quot;&gt;Build &amp;amp; Analyze&lt;/a&gt; discussing static site generators and Dropbox, I got inspired to try to rig something up here. Here&amp;rsquo;s what I&amp;rsquo;ve got:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My Jekyll files are stored in my Dropbox and synced with all the computers I use.&lt;/li&gt;
&lt;li&gt;I have an iMac that doubles as a home web server, so I created a VirtualHost on it to serve content from my Jekyll destination directory. It&amp;rsquo;s behind a weird port and an htaccess password, so it&amp;rsquo;s basically a private mirror of my blog.&lt;/li&gt;
&lt;li&gt;On this iMac, I set up a launchd file that sets up a &lt;code&gt;WatchPaths&lt;/code&gt; on my &lt;code&gt;_posts&lt;/code&gt; directory. Whenever I change anything in that directory, it runs Jekyll and rebuilds my site on that machine.&lt;/li&gt;
&lt;li&gt;I have a simple shell script that rsync&amp;rsquo;s the iMac version of the site to the real web server.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So I a) write a post in Vim on any computer, b) as soon as I &lt;code&gt;:w&lt;/code&gt; the file gets synced to my &amp;ldquo;development server&amp;rdquo; which I can then preview in a browser until I&amp;rsquo;m happy, and then c) I run &lt;code&gt;!jekyll_deploy.sh&lt;/code&gt; from within Vim when I&amp;rsquo;m happy with the results.&lt;/p&gt;

&lt;p&gt;The second step is the huge improvement. I don&amp;rsquo;t have to keep another Terminal window open running Jekyll on localhost. I don&amp;rsquo;t have to worry about having the full Ruby/Jekyll system set up on every computer I use. Because Dropbox is so fast, and because the preview site is being served using Apache rather than WEBrick, moving from writing to previewing is just as fast as if I&amp;rsquo;m running Jekyll on my local machine.&lt;/p&gt;

&lt;p&gt;A few more Vim-specific things: if you like to save drafts of posts as I do, then you&amp;rsquo;ll end up using the YAML &lt;code&gt;date:&lt;/code&gt; to set the post date. I modified jekyll.vim&amp;rsquo;s &lt;code&gt;created:&lt;/code&gt; to use &lt;code&gt;date:&lt;/code&gt; instead and then added this to my .vimrc:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;vim&quot;&gt;    map &lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;Leader&lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt;jd :%s&lt;span class=&quot;sr&quot;&gt;/^date: \(.*\)$/&lt;/span&gt;\&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;strftime&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;date: %m\/%d\/%y %H\:%M\:%S&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;/&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;CR&lt;span class=&quot;p&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;p&gt;With this, I can just type &lt;code&gt;\jd&lt;/code&gt; (I have &amp;ldquo;\&amp;rdquo; set as my Leader) and it refreshes the post date and time to the current date and time. (I thought about having it do this automatically on save, but I don&amp;rsquo;t necessarily want to update the post date (or URL) just for typos.) I also have jekyll.vim&amp;rsquo;s &lt;code&gt;JekyllPost&lt;/code&gt; and &lt;code&gt;JekyllList&lt;/code&gt; mapped to &lt;code&gt;\jn&lt;/code&gt; and &lt;code&gt;\jl&lt;/code&gt; respectively.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m also using &lt;a href=&quot;http://www.codeography.com/2010/02/20/making-vim-play-nice-with-jekylls-yaml-front-matter.html&quot;&gt;this trick&lt;/a&gt; to fix Vim&amp;rsquo;s highlighting of the YAML front matter.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Black Country Communion</title>
   <link href="http://jon.smajda.com//2011/04/12/black-country-communion/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2011-04-12T09:41:11-05:00</updated>
   <id>http://jon.smajda.com//2011/04/12/black-country-communion</id>
   <content type="html">&lt;p&gt;My brother turned me on to &lt;a href=&quot;http://www.bccommunion.com/&quot;&gt;Black Country Communion&lt;/a&gt; a few days ago and I&amp;rsquo;ve been listening to it nonstop since. They have an interesting sound: unique, but at the same time clearly evoking many other bands, both modern&amp;mdash;Audioslave and Kings X to my ears&amp;mdash;and also classic: Zeppelin and Deep Purple, for instance (no surprises there: Glenn Hughes sings and Jason Bonham plays drums).&lt;/p&gt;

&lt;p&gt;Joe Bonamassa is one of those guitarists I&amp;rsquo;ve read rave reviews about but have never really taken the time to check out. The little bits I have heard (on Pandora, I think) were more classic blues kind of stuff, which I like just fine but don&amp;rsquo;t really go out of my way to listen to. This is more heavy rock though, and I like it. He&amp;rsquo;s a versatile player, but the trait that stands out most to me is his Eric Johnson-style &lt;a href=&quot;http://www.youtube.com/watch?v=T8P8WwzDeCI&quot;&gt;violin sound&lt;/a&gt;. In interviews Eric Johnson has always said he views this sound as a rip-off of Clapton&amp;rsquo;s live sound with Cream. I never got that because Eric Johnson doesn&amp;rsquo;t really play like Clapton (even when he&amp;rsquo;s playing more bluesy stuff, in my opinion). Bonamassa, however, can play like both EJ (&amp;ldquo;One Last Soul&amp;rdquo;, &amp;ldquo;Song of Yesterday&amp;rdquo;) and EC (&amp;ldquo;Sista Jane&amp;rdquo;), and now I get it. It&amp;rsquo;s a hard sound to pull off because it&amp;rsquo;s dark and bassy, but with a strong mid-range bite. Your guitar can end up sounding like an angry duck or a muddy mess. But, I digress. Let&amp;rsquo;s put it this way: it&amp;rsquo;s great fun to imagine Eric Johnson sitting in with a real rock band instead of rehashing the same New Agey solo crap year after year.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>What I've Been Up To</title>
   <link href="http://jon.smajda.com//2010/05/23/what-ive-been-up-to/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2010-05-23T16:02:39-05:00</updated>
   <id>http://jon.smajda.com//2010/05/23/what-ive-been-up-to</id>
   <content type="html">&lt;p&gt;Let&amp;rsquo;s see, it&amp;rsquo;s almost June and this is just my second blog post of 2010. Can that possibly be right?  No. It&amp;rsquo;s not right. It&amp;rsquo;s just I&amp;rsquo;ve mostly been blogging &lt;a href=&quot;http://smajda.tumblr.com&quot;&gt;on Tumblr&lt;/a&gt; instead of here.&lt;/p&gt;

&lt;p&gt;About a year ago I was bored with WordPress and wanted to try something different. I ended up experimenting with two blogging platforms at the same time: &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; (this blog) and Tumblr. The two are almost complete opposites of one another:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Jekyll is a static site generator where your entire blog lives on your local machine and the interface is designed with programmers in mind.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tumblr is a hosted web service designed to be the easiest way for anyone to blog.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;After the novelty of Jekyll wore off, I found it was just more fun to post on Tumblr, despite (and perhaps because of) its limitations. And with the &lt;a href=&quot;http://mwunsch.tumblr.com/post/441371943/tumblr-rb&quot;&gt;Tumlbr gem&lt;/a&gt; and my &lt;a href=&quot;http://github.com/smajda/tumblr4r_backup&quot;&gt;Tumblr backup script&lt;/a&gt;, I can pretty have the &lt;a href=&quot;http://smajda.tumblr.com/post/445718998/just-testing-out-tumblr-rb-gem&quot;&gt;exact same writing environment&lt;/a&gt; as Jekyll (i.e. a text editor and local markdown files) when I want it for longer posts.&lt;/p&gt;

&lt;p&gt;So I&amp;rsquo;m not quite sure what to do with this particular blog. I&amp;rsquo;ve considered transferring the posts here and the &amp;ldquo;jon.smajda.com&amp;rdquo; domain to Tumblr entirely, but I think I&amp;rsquo;ve decided against that for now. This site will probably continue as just my all-purpose homepage (and pre-2010 blog archive) and I&amp;rsquo;ll just continue to blog on Tumblr.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s see, while I&amp;rsquo;m at it, what else has been going on?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;After initially being shy about actually appearing on the &lt;a href=&quot;http://contexts.org/podcast/&quot;&gt;Contexts Podcast&lt;/a&gt;, I&amp;rsquo;m now a cohost and appear in one role or another on about half of the episodes or so. Turns out I like hearing myself talk after all, and the podcast is more fun than I expected it would be.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So much fun is the Contexts Podcast, in fact, that we&amp;rsquo;ve actually started a second podcast, &lt;a href=&quot;http://contexts.org/improv/&quot;&gt;Sociology Improv&lt;/a&gt;, that is more of an informal, discussion, dare I say &amp;ldquo;talk radio&amp;rdquo; kind of thing. The direction is kind of open-ended and we&amp;rsquo;re just letting it develop as we go, but it&amp;rsquo;s also a lot of fun. Plus: all of the music on this podcast is original music created by yours truly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I presented at the &lt;a href=&quot;http://politicsofopensource.jitp.net/&quot;&gt;Politics of Open Source&lt;/a&gt; conference in Amherst, MA a few weeks ago. That was fun because it was the first time I&amp;rsquo;ve actually presented stuff from my dissertation. It was also cool because of the conference format: one room, one presenter at a time. I&amp;rsquo;ll also be presenting (on Monday, August 16 at 8:30am) at the ASAs in Atlanta. I&amp;rsquo;ll be in just one of hundreds of rooms there though.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;We finally sold our damn house in Minneapolis. This is a gigantic weight off our shoulders. &amp;hellip;Let&amp;rsquo;s just leave it at that, ok?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</content>
 </entry>
 
 <entry>
   
   <title>Post-Journal Academic Publishing</title>
   <link href="http://jon.smajda.com//2010/01/07/post-journal-academic-publishing/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2010-01-07T14:57:39-06:00</updated>
   <id>http://jon.smajda.com//2010/01/07/post-journal-academic-publishing</id>
   <content type="html">&lt;p&gt;Everyone knows the publishing industry is made up of dinosaurs, but academic publishing is the Brontosaurus. Academic journals are slow, expensive, inaccessible and non-transparent. And there&amp;rsquo;s absolutely no reason they need to exist anymore.&lt;/p&gt;

&lt;h3&gt;Ditching the Dead Trees&lt;/h3&gt;

&lt;p&gt;Most clearly, there&amp;rsquo;s no technical reason for &lt;em&gt;printed&lt;/em&gt; academic journals. And while traditional journals are increasingly realizing this and going online, they are still published by traditional academic presses who need to somehow pay for themselves, so they charge exorbitant prices to individuals and libraries, and keep their journals in closed formats such as DRM-protected PDF files.&lt;/p&gt;

&lt;p&gt;This might be justified if publishers were necessary to produce a journal, but they&amp;rsquo;re not. Editors of academic journals basically work for free and a journal is lucky if they can afford to hire a part-time managing editor. Neither authors or reviewers are paid either. In other words, the content is produced, reviewed, edited and handed over, at very little cost, to publishers (and often the academic associations who sponsor the journal) who turn around and sell the journals back, at very high prices, to the very people producing the content in the first place.&lt;/p&gt;

&lt;p&gt;So what&amp;rsquo;s the alternative? An obvious first step would be to ditch the publishers and go online only. The web is a vastly superior distribution platform for most academic work. You can search a web page, for example. Copy and paste quotations. Easily convert HTML to any other format you prefer for reading&amp;mdash;whether that&amp;rsquo;s reading on your Kindle or printing out a hard copy on dead trees. (And while I&amp;rsquo;m at it, let&amp;rsquo;s ditch the PDF in favor of the much more lightweight and flexible HTML. Online-only journals are often still obsessed with looking like print journals, for some reason.)&lt;/p&gt;

&lt;p&gt;And, of course, by going online you save the cost involved in printing and distributing paper copies. And with that the need for academic publishers.&lt;/p&gt;

&lt;p&gt;There are many journals that are free and online already. This isn&amp;rsquo;t a new idea: see &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_access_journal&quot;&gt;open access journals&lt;/a&gt;. The problem is that the most prestigious journals are not among them. Association sponsored journals are still in print because the associations need them to be in order to fund themselves. And the really big name journals are actually profitable and pay for most of the other journals, which lose money. As long as the most prestigious journals are print journals, free online journals won&amp;rsquo;t truly take off.&lt;/p&gt;

&lt;p&gt;But it&amp;rsquo;s not so much the &amp;ldquo;print&amp;rdquo; part that&amp;rsquo;s the problem. If any of the big name journals went online-only tomorrow&amp;mdash;and they&amp;rsquo;re looking into it&amp;mdash;they would still be distributed through publishers who will want to lock down the distribution channels so they can continue to make money. Publishing online for traditional publishers is actually expensive because they need to recover the revenue they&amp;rsquo;re accustomed to getting from print editions, so they have to invest in all sorts of ugly, draconian DRM schemes and restrictive licensing practices.&lt;/p&gt;

&lt;p&gt;So even if every new journal out there was online only, and a good proportion of the less profitable journals converted to online open access journals, you&amp;rsquo;d still have an elite core of journals keeping the journal ecosystem expensive and inaccessible. There are too many players&amp;mdash;publishers and associations&amp;mdash;whose well-being depend on these journals to exist.&lt;/p&gt;

&lt;h3&gt;Getting rid of journals&lt;/h3&gt;

&lt;p&gt;In the absence of a print product, why do we need journals at all? There are a bunch of reasons you need entities &lt;em&gt;like&lt;/em&gt; journals, with editors and reviewers. But is there any reason&amp;mdash;aside from the occasional themed &amp;ldquo;special issues&amp;rdquo;&amp;mdash;where the output of the peer review and editorial process needs to be monthly or bimonthly collections of articles organized like a book, with volume, issue and page numbers and a table of contents, all squeezed into discrete &amp;ldquo;issues&amp;rdquo;?&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s an alternative system that I think would work much better:&lt;/p&gt;

&lt;p&gt;Imagine an online publishing system&amp;mdash;not unlike a blog&amp;mdash;where when you&amp;rsquo;re ready to share your work, you simply publish it to a website. (Ideally this would even be built into the word processor/text editor you write in: imagine a single &amp;ldquo;publish&amp;rdquo; button.) Your document shows up on a website, configured specifically for easy reading: a simple layout perfect for reading on a variety of devices or for printing.&lt;/p&gt;

&lt;p&gt;Every academic would publish their work to a website just like this: individuals or institutions could host their own instances of the software.&lt;/p&gt;

&lt;p&gt;There would be some sort of common identity management (OpenID maybe) built in to the system. If you only want a few people (individuals or institutions) to have access to early drafts, there&amp;rsquo;s an easy way to specify that.&lt;/p&gt;

&lt;p&gt;This system would have a versioning system built-in: each published version would be labeled and scrolling back through previous versions would be easy.&lt;/p&gt;

&lt;p&gt;Some sort of commenting/discussion system would be built-in as well. Obviously.&lt;/p&gt;

&lt;p&gt;In other words, it would do pretty much what WordPress or Drupal can now do out of the box, only have some specific tweaks and optimizations for academic work. (In fact, such a system could be implemented through a WordPress plugin and/or theme!)&lt;/p&gt;

&lt;p&gt;Now imagine the following: you no longer submit manuscripts to journals. At least not like you do now. &amp;ldquo;Journals&amp;rdquo; are replaced with a system of organizations of some sort that manage the peer review process and lend their seal of approval to work they find of high quality. You grant them access to your article, and the &amp;ldquo;journal&amp;rdquo; coordinates finding expert reviewers for your work and gives you feedback right there on your website: including reviewer comments and including final judgments like &amp;ldquo;reject&amp;rdquo;, &amp;ldquo;revise and resubmit&amp;rdquo; or, of course, &amp;ldquo;accepted&amp;rdquo;.  An accepted article would be a seal of approval, vouching for the quality of your work, not a promise to publish in some collection.&lt;/p&gt;

&lt;p&gt;Some interesting potential consequences of a system like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Instead of keeping all of their work secret to respect the demands of publishers, academics could do all of their writing in public. Individual academics would be self-publishers and would own their own copyright on everything they do. &amp;ldquo;Journals&amp;rdquo; would no longer publish anything. (I&amp;rsquo;ll keep calling them journals though as I haven&amp;rsquo;t thought of a better name yet.) Journals would only do the one thing they do well: manage the peer review system and put their authority and reputations behind the work that they feel is the best in the field.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Without the constraints of printing paper issues of a limited size, there&amp;rsquo;d be the risk of certain journals accepting everything. Which is fine: this would diminish the reputation of these journals and the more selective journals who only certify the best articles would improve their reputations over time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Since you&amp;rsquo;re no longer really submitting to a specific journal, would it be possible to have multiple journals &amp;ldquo;accept&amp;rdquo; the same article? Possibly. And that seems weird but has some cool possibilities as well: a lot of times really important, influential articles show up in smaller journals and are only read within a small subfield, though they may deserve a bigger audience. The ability of the more selective, generalist journals to add their seal of approval to articles that others have already accepted could be a good thing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Would the peer review process be public as well? For example, would the fact that some journal rejected your article, and the comments from reviewers, be public (if still anonymous) as well? This could go either way, but I think this would be a good thing as well.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What about the fact that you can change stuff so easily online? Would people keep going back and correcting errors after publication? This is why a good versioning system is key: a journal would review and accept a particular revision of an article and that information would be included with their decision. (If you&amp;rsquo;re worried about the ability of authors to manipulate this, source code management software like &lt;a href=&quot;http://git-scm.com/&quot;&gt;git&lt;/a&gt; actually uses a SHA1 hash of the contents of the files to name the revision. This acts as an integrity check on the data in any given revision. Something like this could be used to ensure that any given revision of a document always refers to the same document.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Now maybe, as I discussed in the first half of this post, just moving the traditional journals online would be good enough. But there&amp;rsquo;s a lot I like about this bolder idea. It could have the best of the web as a publishing platform&amp;mdash;flexibility, accessibility and affordability&amp;mdash;but maintain the quality control of the traditional journal system. There are probably some obvious shortcomings I haven&amp;rsquo;t thought of or have underestimated (Without the constraints of actually publishing something, would we just end up with a mess of thousands of journals allowing no one to find anything?), but it&amp;rsquo;s still a worthwhile thought experiment. Academics have such little control over our publishing system now. It seems to run on pure inertia, and, in my opinion, doesn&amp;rsquo;t seem to work in favor of the interests of most academics.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>N.apbcbi...Learning Dvorak</title>
   <link href="http://jon.smajda.com//2009/12/02/learning-dvorak/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2009-12-02T00:00:00-06:00</updated>
   <id>http://jon.smajda.com//2009/12/02/learning-dvorak</id>
   <content type="html">&lt;p&gt;My freshman year in high school, I think I was quite possibly the only student in my entire &amp;ldquo;Keyboarding&amp;rdquo; class who enjoyed the class.&lt;/p&gt;

&lt;p&gt;Going in, I could not touch type. In fact, we didn&amp;rsquo;t have a computer at home. My generation was right on the edge of when this was still mostly normal. A few years later everyone had computers at home, and just a few years before, very few people did. So maybe I just thought it was fun to actually play on a computer, but I did enjoy the touch typing lessons. There was something simple and satisfying about having one class each day that was completely calm and quiet, where all I had to do was to try improve on my performance from the day before.&lt;/p&gt;

&lt;p&gt;Plus, I got pretty good pretty quick. I&amp;rsquo;ve always suspected it may have something to do with the fact that I&amp;rsquo;d been playing guitar my whole life: my hands were pretty coordinated already. In our school we had a &amp;ldquo;Keyboarding&amp;rdquo; class one semester and &amp;ldquo;Computer Applications&amp;rdquo; the next, where they basically taught us the blue screen version of Microsoft Word. By the time I was in Computer Applications, I was fast enough I actually had a touch typing race with my instructor one day. (I was faster, but she made less mistakes.)&lt;/p&gt;

&lt;p&gt;Nowadays, much of what I do&amp;mdash;for work or for play&amp;mdash;seems to involve lots of typing. And my body is paying for it. Maybe I&amp;rsquo;m dwelling on this more than usual since I turned 30 a few weeks ago, but lately everything I do seems to make some part of me hurt. My back has been bothering me lately, so I&amp;rsquo;ve started &lt;a href=&quot;http://hivelogic.com/articles/sitting-standing-balance-ball/&quot;&gt;sitting on an exercise ball&lt;/a&gt; at my desk. (I&amp;rsquo;ve been doing this for a few weeks now and love it. I can sit for hours and work without all of the uncomfortable fidgeting I always end up doing in chairs.) In the past few years, I&amp;rsquo;ve become way more finicky about how I sleep as well. I slept on an awful, old, saggy bed all through college with zero troubles, but now in the past few years, I&amp;rsquo;ve become super picky about my bed and pillow.&lt;/p&gt;

&lt;p&gt;And, of course, my hands bother me when I type a lot.&lt;/p&gt;

&lt;p&gt;Aching hands have actually been an issue for a few years now. It&amp;rsquo;s actually better than it used to be, thanks to my abandoning Word for a text editor: vi. I had to learn vi a few years back for work, but this requirement actually came at an opportune time: I was in the middle of a heavy writing period and my hands were killing me. I learned this was mostly because of the heavy mousing and acrobatic keyboard shortcuts my word processor was making me go through. Vi, on the other hand, lets you do &lt;em&gt;everything&lt;/em&gt; from the keyboard, and (with the exception of frequent trips to the escape key) lets you keep your hands on the home row keys pretty much all the time. But vi&amp;rsquo;s no miracle worker: the hands still hurt, particularly after several days in a row of heavy typing.&lt;/p&gt;

&lt;p&gt;So now that you know all about me, my aging body and the strange pleasure I get in learning new keyboarding techniques&amp;mdash;from touch typing in high school to vi a few years ago&amp;mdash;you can probably see why I&amp;rsquo;m susceptible to the Dvorak hype.&lt;/p&gt;

&lt;p&gt;For those of you who aren&amp;rsquo;t familiar with the story of the standard QWERTY keyboard layout and the Dvorak layout as an alternative, go read the &lt;a href=&quot;http://DVzine.org/zine/index.html&quot;&gt;Dvorak Zine real quick&lt;/a&gt;. It&amp;rsquo;s short and fun. But the even shorter summary is that the Dvorak layout is an alternative keyboard layout that&amp;rsquo;s designed to be way more logical and efficient than the QWERTY layout. Here it is:&lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;aligncenter&quot; href=&quot;http://jon.smajda.com/files/dvorak-1024W.gif&quot;&gt;&lt;img src=&quot;http://jon.smajda.com/files/dvorak-455.gif&quot; width=&quot;455px&quot; height=&quot;176px&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(&lt;a href=&quot;http://DVzine.org/stuff/downloads.html&quot;&gt;Original here&lt;/a&gt;, then cropped. If you click that, you&amp;rsquo;ll get a big version that I&amp;rsquo;ve had set as my desktop background for the past few weeks as a quick reference.)&lt;/p&gt;

&lt;p&gt;A few weeks ago, WordPress developer Donncha O Caoimh &lt;a href=&quot;http://ocaoimh.ie/89495386/slowly-learning-dvorak/&quot;&gt;wrote&lt;/a&gt; that Matt Mullenweg, &lt;a href=&quot;http://ma.tt/2003/08/on-the-dvorak-keyboard-layout/&quot;&gt;a Dvorak user&lt;/a&gt;, had convinced him to give Dvorak a try. I followed some links, did some reading, and decided to give it a shot. If nothing else, it sounded exactly like the sort of crazy experiment I seem to enjoy inflicting on myself. And hey, vi worked out.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s what I decided to do: I&amp;rsquo;d try &lt;a href=&quot;http://learn.dvorak.nl/&quot;&gt;some lessons&lt;/a&gt; during breaks and during otherwise unproductive activities (while watching TV, for example). I didn&amp;rsquo;t have the time to switch completely overnight: my productivity would just slow to a crawl. The only way to make this work for me, for better or worse, is to learn to switch back and forth. So I knew I didn&amp;rsquo;t want to resort to using a special keyboard or switching around my keycaps. My wife and I share our computers and that would just be mean, for one thing. But more than that, the whole point is to become a more efficient touch typist. Plus ideally my QWERTY skills won&amp;rsquo;t deteriorate entirely: it&amp;rsquo;d be a real pain to be an awful QWERTY typist in this QWERTY world. So once I knew the layout and could touch type&amp;mdash;albeit slowly and with lots of errors&amp;mdash;I started to force myself to use Dvorak for short stretches of time when I knew typing speed would not be that big of a deal (reading and replying to emails, playing around on the web, etc.). I also found that when I&amp;rsquo;m really &lt;em&gt;writing&lt;/em&gt;&amp;mdash;as opposed to typing emails or stuff like that&amp;mdash;my thinking speed, not typing speed, is the bottleneck, so Dvorak actually wasn&amp;rsquo;t that much of a hindrance.&lt;/p&gt;

&lt;p&gt;This is pretty much the phase I&amp;rsquo;m still in now. It didn&amp;rsquo;t take that long to get to this stage, but going from here to matching my QWERTY proficiency is still a pretty daunting task. Rather than waiting to write this up though, I thought it&amp;rsquo;d be fun to write this now, when I honestly don&amp;rsquo;t know if I&amp;rsquo;ll stick with it or not. I&amp;rsquo;m far enough in to see the real advantages, but still limping along enough to see the trade-offs.&lt;/p&gt;

&lt;p&gt;Whether you think it&amp;rsquo;s worth it to completely relearn how to type or not, it only takes a few short lessons to realize that, all other things equal, it&amp;rsquo;s a much more logical layout. Not that this would take much: there&amp;rsquo;s pretty much no logic to the QWERTY keyboard. We all have to learn it though, so for some reason it doesn&amp;rsquo;t seem so bad. In the Dvorak layout, the most commonly used keys are in the home row. Vowels are on the left (AOEU are where ASDF are, with I in G&amp;rsquo;s place) and your right hand rests on HTNS, the most frequently used consonants. I suppose there&amp;rsquo;s some satisfaction in knowing you&amp;rsquo;re using a more elegant and efficient layout than everyone else, but that&amp;rsquo;s hardly a reason to switch. It&amp;rsquo;s the comfort and the reduced strain on your hands that is so appealing to me.&lt;/p&gt;

&lt;p&gt;But it&amp;rsquo;s not clear to me yet that it&amp;rsquo;s necessarily a complete improvement over QWERTY on the hand strain issue. For one thing, all your keyboard shortcuts change too. When you use some keyboard shortcuts so much, they become gestures. You don&amp;rsquo;t even associate Command-W with &amp;ldquo;W&amp;rdquo;, it&amp;rsquo;s just the gesture you make when you want to close a window. If you&amp;rsquo;re a vi user, then this is particularly challenging as the whole interface is built around keyboard gestures. And many gestures&amp;mdash;such as Command-X, C and V for cut, copy and pasting, or &amp;ldquo;hjkl&amp;rdquo; for cursor movement in vi&amp;mdash;were chosen not for their mnemonic value, but for their positioning on a QWERTY keyboard. An additional source of skepticism I have is that the most strenuous keyboard motions are unchanged in Dvorak: Delete/Backspace, Shift, Return, the Control/Command/Option combos, etc. Combine this with the &amp;ldquo;XCV&amp;rdquo; problem and it seems like Dvorak may actually make some of this worse. Yes, Dvorak was designed to be fast and efficient when typing English sentences, but many of the other ways we use our keyboards have been designed to be fast and efficient on our otherwise inefficient QWERTY keyboards.&lt;/p&gt;

&lt;p&gt;(Macs offer a &amp;ldquo;Dvorak-QWERTY&amp;rdquo; layout which, when I first heard about it, seemed perfect: the keyboard reverts to QWERTY whenever you press Command. Unfortunately, it stays in Dvorak when you press Control, which makes this useless in my opinion. If you can only get QWERTY for some of your keyboard shortcuts and not others, that doesn&amp;rsquo;t help: it just makes things more confusing.)&lt;/p&gt;

&lt;p&gt;Also, while my hands may be hurting less after a long session in Dvorak, I&amp;rsquo;m also typing much slower, and because my keypresses are more tentative, much &lt;em&gt;softer&lt;/em&gt;. I type too hard. And these low-travel keyboards all the Macs have these days really punish hard typers. It&amp;rsquo;s possible I could save myself much of my hand pain by just learning to type more softly. Also, once I get up to speed with Dvorak, I could end up typing harder again.&lt;/p&gt;

&lt;p&gt;Other funny things about making the transition from QWERTY:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;QWERTY puts all of the funny keys off to the right of the keyboard, while Dvorak spreads then out more. It&amp;rsquo;s really hard to learn to use your left hand for punctuation and for brackets. Likewise, the key that is &amp;ldquo;[{&amp;rdquo; in QWERTY is &amp;ldquo;/&amp;rdquo; and &amp;ldquo;?&amp;rdquo; in Dvorak. Next door, &amp;ldquo;=+&amp;rdquo; replaces &amp;ldquo;]}&amp;rdquo; too. You use these in normal writing way more often and I find I&amp;rsquo;m really bad at hitting these key. (Although, you do use this keys a lot in programming and I&amp;rsquo;ve always struggled with touch typing those keys while programming, too.)&lt;/li&gt;
&lt;li&gt;The hardest keys for me to keep straight are the ones close to their QWERTY equivalents: y and b constantly trip me up.&lt;/li&gt;
&lt;li&gt;I find that moving back and forth between QWERTY and Dvorak is relatively easy (usually a few awkward sentences or two), but here&amp;rsquo;s what&amp;rsquo;s really funny about it: I can still type QWERTY really fast, but if I slow down, I&amp;rsquo;ll switch back to Dvorak. (The same is true in reverse, but that&amp;rsquo;s not surprising.) It&amp;rsquo;s like I&amp;rsquo;ve gotten used to two typing modes: slow, methodical Dvorak, where I really have to focus on which keys I&amp;rsquo;m pressing, and then QWERTY autopilot mode.&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;ll probably just have to quit QWERTY cold turkey at some point if I really want to master Dvorak, though I really don&amp;rsquo;t want to lose my QWERTY proficiency either. I&amp;rsquo;ve heard people compare the two to learning a second language (you can still speak your first language) or a second musical instrument. A few weeks into my QWERTY experiment, I&amp;rsquo;ve got another analogy that, as a guitar player, seems to fit a bit better to me: it&amp;rsquo;s like learning an alternate tuning. The notes are still the same, but all of your fingerings have to change.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So, as is clear from my various complaints and skepticism, I&amp;rsquo;m not totally sure how much longer I&amp;rsquo;ll stick with this. However, I do find&amp;mdash;surprise, surprise&amp;mdash;that as I get better, I like it more. Despite the negative stuff I&amp;rsquo;ve written here, in those short bursts of emerging Dvorak proficiency I&amp;rsquo;ll get every so often (usually until I start thinking about it and make a mistake), it does give typing a different rhythm and feel that is quite nice. You really do spend more of your time with your hands in a comfortable &amp;ldquo;home row&amp;rdquo; position and less time with your hands flailing about.&lt;/p&gt;

&lt;p&gt;So will I stick with this strange keyboard layout? Or will I give into years of habit and the temptation of properly labelled keys and go running back to the familiarity of QWERTY? Time will tell.&lt;/p&gt;

&lt;p&gt;Finally, you may be wondering, did I write this post in Dvorak? Most of it. The first few paragraphs were written in QWERTY, but once I started writing about Dvorak, it seemed only fair I struggle through the whole thing in Dvorak.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Open Source Design</title>
   <link href="http://jon.smajda.com//2009/10/19/open-source-design/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2009-10-19T00:00:00-05:00</updated>
   <id>http://jon.smajda.com//2009/10/19/open-source-design</id>
   <content type="html">&lt;p&gt;I really want to love Linux as a desktop OS. I went through a phase where I had nearly convinced myself to switch, but the UI stuff kept stopping me from taking the plunge.&lt;/p&gt;

&lt;p&gt;I should clarify: the &lt;em&gt;GUI&lt;/em&gt; kept getting in the way. I&amp;rsquo;m quite fond of the command line, and think there&amp;rsquo;s an elegance and beauty to a great command line/console interface. And Linux excels here. But let&amp;rsquo;s put it this way: while I can appreciate things like &lt;a href=&quot;http://www.nongnu.org/ratpoison/&quot;&gt;ratpoison&lt;/a&gt;, I&amp;rsquo;m not about to spend all day working like that. And sadly, when you move into GUI software, the Linux experience still falls down for me, despite big improvements over the last few years.&lt;/p&gt;

&lt;p&gt;It may seem superficial, but little things like how fonts look and consistency between applications matter a lot when you work on a computer all day. As design people like to say: design is how it works, not how it looks. It&amp;rsquo;s not just that GNOME looks like a cartoon interface, or that KDE looks like an ugly version of Windows, it&amp;rsquo;s that they actually feel and behave like that, too. (I know, I know: lots of people are perfectly happy with GNOME and KDE. Lots of people are happy with Windows, too. And typewriters and chalkboards, for that matter.)&lt;/p&gt;

&lt;p&gt;This is not a new criticism of open source software. &lt;a href=&quot;http://daringfireball.net/2004/04/spray_on_usability&quot;&gt;Gruber expresses&lt;/a&gt; a  common explanation for open source usability woes:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The distributed, collaborative nature of open source software
works for developer-level software, but works against
user-level software. Imagine a motion picture produced like a
large open source project. Different scenes written and
directed by different people, spread across the world. Editing
decisions forged by group consensus on mailing lists. The
result would be unfocused, incoherent, and unenjoyable.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Software UI design, the argument goes, requires &lt;a href=&quot;http://www.youtube.com/watch?v=xk3UcgbbmxQ&quot;&gt;an auteur&lt;/a&gt;, a chief architect with a clear, elegant, demanding vision of how things should work. Steve Jobs is obviously the most popular example these days. Everything that comes out of Apple &lt;em&gt;is&lt;/em&gt; Steve. Good and bad. But generally good. At least for most people.&lt;/p&gt;

&lt;p&gt;Matthew Paul Thomas, who has written two widely cited essays (&lt;a href=&quot;http://web.archive.org/web/20030201183139/http://mpt.phrasewise.com/discuss/msgReader$173&quot;&gt;one&lt;/a&gt;, &lt;a href=&quot;http://mpt.net.nz/archive/2008/08/01/free-software-usability&quot;&gt;one&lt;/a&gt;) on the poor usability of Free Software, also highlights this problem:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;In the absence of dedicated designers, many contributors to a
project try to contribute to human interface design, regardless of
how much they know about the subject. And multiple designers
leads to inconsistency, both in vision and in detail. The
quality of an interface design is inversely proportional to the
number of designers.&lt;/p&gt;

&lt;p&gt;Solution: Projects could have a lead human interface designer, who
fields everyone else’s suggestions, and works with the
programmers in deciding what is implementable. And more
detailed design specifications and guidelines could help
prevent programmer-specific foibles.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;In other words, decision making over design needs to be more centralized and consistent. Thomas is now working on software usability for Canonical, where Mark Shuttleworth has made improving usability a top priority with the &lt;a href=&quot;https://wiki.ubuntu.com/Ayatana&quot;&gt;Ayatana&lt;/a&gt; project:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The focus of the project is to improve the perception and presentation of information in the desktop, hence the name of the project; the Buddhist term for a &amp;ldquo;sense base&amp;rdquo; or &amp;ldquo;sense sphere.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;(Notice the missing quote mark at the end of that sentence. Can&amp;rsquo;t make this stuff up.)&lt;/p&gt;

&lt;p&gt;Punctuation problems aside, this is great to see. Shuttleworth has explicitly said he wants to meet or surpass OS X&amp;rsquo;s usability, specifically.&lt;/p&gt;

&lt;p&gt;Given it&amp;rsquo;s an open source design project, it&amp;rsquo;s interesting to see how they&amp;rsquo;re dealing with this &amp;ldquo;auteur&amp;rdquo; problem. The other day, &lt;a href=&quot;https://lists.launchpad.net/ayatana/msg00718.html&quot;&gt;Shuttleworth announced&lt;/a&gt; he was starting an invitation-only mailing list for those involved in the Ayatana project. The list will still be publicly archived, so anyone can read but only team members can contribute. He adds:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I&amp;rsquo;m aware this proposal could result in outrage over barriers to
participation. But I think it will be more effective if we try to build a
core team that knows each other well and can establish norms and
relationships.&lt;/p&gt;

&lt;p&gt;Besides, I don&amp;rsquo;t think effective design would come from purely freeform
participation. At the moment, I have final signoff of specifications coming
from the design team into Ubuntu. In due course, that responsibility will be
assumed by someone in the Canonical design team.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This seems like a relatively modest thing for a design team to want. Of course, it&amp;rsquo;s controversial.&lt;/p&gt;

&lt;p&gt;Actually, having read through the responses on the mailing list, many, if not most, of the responses are positive. But the critical comments are interesting because they really point to the differences in philosophy about how to make design decisions and organize design work. &lt;a href=&quot;https://lists.launchpad.net/ayatana/msg00743.html&quot;&gt;For example&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I think a more closed list will make it more likely that only one vision appears in the code.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Isn&amp;rsquo;t that the point?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://lists.launchpad.net/ayatana/msg00746.html&quot;&gt;Another suggestion&lt;/a&gt; is to create an &amp;ldquo;Ubuntu Design Board&amp;rdquo; that will certify particular people with &amp;ldquo;Ubuntu Designer&amp;rdquo; status, qualifying them to participate.&lt;/p&gt;

&lt;p&gt;Except design qualifications alone aren&amp;rsquo;t the problem: even highly competent designers can have wildly different ideas of what&amp;rsquo;s right. And as a user, I&amp;rsquo;d rather have to learn a single set of principles that work everywhere&amp;mdash;even if they&amp;rsquo;re not the principles I might have come up with on my own&amp;mdash;than have a few applications that work exactly the way I like but have every other application work completely differently.&lt;/p&gt;

&lt;p&gt;As neither an expert software developer nor an expert interface designer, I don&amp;rsquo;t really have much else to offer here other than pointing out an interesting debate. One of the reasons I&amp;rsquo;d love to switch to Linux is that I love the idea of using only open source software. And, of course, the output of the Ayatana project &lt;em&gt;will&lt;/em&gt; be open source software. But will they have to disavow a traditional &amp;ldquo;open source development model&amp;rdquo; to build that software?&lt;/p&gt;

&lt;p&gt;Although, isn&amp;rsquo;t the idea of an &amp;ldquo;open source model&amp;rdquo; kind of a myth anyway? Most of the classic open source success stories that build developer-level tools are still managed, ultimately, by a handful of people. And when they make decisions about the future of the project, because someone has to, they get called dictators too.&lt;/p&gt;

&lt;p&gt;The problem with open source usability may be less about an inability to break with some mythical &amp;ldquo;open source model&amp;rdquo; and more about the fact that no one has yet stepped forward to exercise the kind of control necessary to make open source interfaces work well. Maybe the &amp;ldquo;open source way&amp;rdquo; is just an excuse that gets in the way because everyone has opinions about GUIs compared to, say, opinions about how the kernel should work. So, good luck, Mark Shuttleworth.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Switched to Jekyll</title>
   <link href="http://jon.smajda.com//2009/10/07/switched-to-jekyll/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2009-10-07T00:00:00-05:00</updated>
   <id>http://jon.smajda.com//2009/10/07/switched-to-jekyll</id>
   <content type="html">&lt;p&gt;A few weeks back, when the latest &lt;a href=&quot;http://lorelle.wordpress.com/2009/09/04/old-wordpress-versions-under-attack/&quot;&gt;WordPress Attack&lt;/a&gt; was underway, I &lt;a href=&quot;http://twitter.com/smajda/status/3798328263&quot;&gt;posted to twitter&lt;/a&gt;, &amp;ldquo;This WordPress attack has me itching to switch to Jekyll. Nice, simple flat files.&amp;rdquo; I was halfway joking at the time.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jekyllrb.com&quot;&gt;Jekyll&lt;/a&gt; is a &amp;ldquo;blog-aware, static site generator&amp;rdquo;. It&amp;rsquo;s kind of an old-fashioned idea as far as blogging is concerned. In fact, the very first blogging platform I ever used was called iBlog. It was an OS X application that generated an HTML site on your local Mac and then synced with .mac (now called MobileMe). One of the biggest perceived positives when I switched to WordPress was that it cut out this syncing process: pages were generated dynamically on the web server. This was so cool!&lt;/p&gt;

&lt;p&gt;It still is cool, actually. I like WordPress. My paycheck comes from managing a WordPress site. But for my personal blog, I&amp;rsquo;ve been growing tired of WordPress. Here&amp;rsquo;s why.&lt;/p&gt;

&lt;h3&gt;Two kinds of blogging&lt;/h3&gt;

&lt;p&gt;For the past few years, I&amp;rsquo;ve been trying to make my blog the archive of &lt;em&gt;everything&lt;/em&gt; I do online. I joined Twitter, so I started importing my tweets as blog posts. I use Delicious and Google Reader, so I&amp;rsquo;ve imported my Shared items from each into my blog as well. The basic idea, really, is that I wanted to do what Tumblr was doing on my blog: make it really easy to post all kinds of content, and display them in a content-appropriate format. It was fun building my own theme and learning how WordPress worked as I went.&lt;/p&gt;

&lt;p&gt;There are really two kinds of blogging I&amp;rsquo;ve been doing: &lt;em&gt;writing&lt;/em&gt; and &lt;em&gt;sharing stuff&lt;/em&gt; (links, quotes, videos, etc.).&lt;/p&gt;

&lt;p&gt;For writing, WordPress has always sucked. So has every other web-based blogging platform though. Writing in a &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; just sucks. People put up with it for all the other niceties a dynamic, browser-based interface gets you: comments, access anywhere, plugins, etc. But it sucks. As a workaround, I usually just wrote in a text editor and then pasted the text into WordPress when I was ready. I toyed with blogging clients like MarsEdit but never really enjoyed using them.&lt;/p&gt;

&lt;p&gt;This has been made worse by the fact that I&amp;rsquo;ve been trying to write more lately. I&amp;rsquo;ve found that when I write more for my blog, I have a much easier time writing for other things. Like the dissertation I desperately need to write. So I decided I needed to write more. Even if it was about &lt;a href=&quot;http://jon.smajda.com/2009/08/29/let-it-bleed/&quot;&gt;obscure guitar hacks&lt;/a&gt;, or &lt;a href=&quot;http://jon.smajda.com/2009/09/03/the-salmon-letter/&quot;&gt;silly dreams&lt;/a&gt;. I just needed to write more.&lt;/p&gt;

&lt;p&gt;For the &lt;em&gt;sharing stuff&lt;/em&gt; type of post, well, WordPress works just fine, I guess. But because I&amp;rsquo;d always appreciated Tumblr from the outside, I decided to &lt;a href=&quot;http://smajda.tumblr.com&quot;&gt;give it a try&lt;/a&gt;, and I really like it. The bookmarklet is smart &amp;amp; works well.  The iPhone app is really nice. And I don&amp;rsquo;t have to use weird custom fields and categories to indicate that a post is a video, or a link, etc.&lt;/p&gt;

&lt;p&gt;Plus I actually read through some old posts on my blog. Oh my. On the one hand, it&amp;rsquo;s nice to have access to this old stuff myself. It&amp;rsquo;s nice to be able to go back and see progress: I&amp;rsquo;m a much better writer now. I&amp;rsquo;m a much clearer thinker now, too. I think. But on the other hand, is this something I &lt;em&gt;really&lt;/em&gt; want the entire world to be able to witness as well? Does this &lt;em&gt;really&lt;/em&gt; need to be out there?&lt;/p&gt;

&lt;p&gt;It is fascinating to subject yourself to this kind of review. For many posts I wrote in 2003 and 2004, I remembered the title and thought, &amp;ldquo;Oh, I liked this post.&amp;rdquo; Three paragraphs in: it was like it was written by someone else. Someone else who is stupid and inarticulate. Around 2006-2007, the author of these posts starts to look more like the self I know today. But I have to wonder: in a few more years, will these posts be as bad?&lt;/p&gt;

&lt;p&gt;I don&amp;rsquo;t want to go on about this too much, but I do have a theory for why my writing has improved in recent years: I&amp;rsquo;ve gotten into audiobooks. Until the last few years, I almost never read something that wasn&amp;rsquo;t for school. And sociologists aren&amp;rsquo;t exactly known for being good writers. Now, I&amp;rsquo;m a total audiobook junky, and I&amp;rsquo;m pretty much always working through one (and often two at the same time). Now I don&amp;rsquo;t listen to classical literature or anything that will impress my old English instructors. But it&amp;rsquo;s still better writing than I can muster, and I really think &lt;em&gt;listening&lt;/em&gt; to good writing has helped me become a better writer myself.&lt;/p&gt;

&lt;p&gt;So, getting back on track, over the last few months, three things came together for me:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I decided I needed to write more. I didn&amp;rsquo;t like writing in WordPress.&lt;/li&gt;
&lt;li&gt;I decided I wanted a blog for writing and to just use Tumblr for micro-blogging.&lt;/li&gt;
&lt;li&gt;I decided I needed to clean out my blog&amp;rsquo;s archives.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;I also realized one other thing: I just wasn&amp;rsquo;t excited about updating my WordPress theme. Again. If I was going to redo my site again, I wanted to learn something new. Sometime last summer, in a fit of &lt;a href=&quot;http://www.lifeclever.com/how-to-procrastinate-more-productively/&quot;&gt;productive procrastination&lt;/a&gt; on a lazy Saturday afternoon, I started learning the basics of Ruby. I really liked it, but just had no reason to use it: everything I worked on then was in PHP. So I spent a few hours with it and then moved on. When I looked into Ruby-based blogging software a few months back, I found Jekyll.&lt;/p&gt;

&lt;h3&gt;jekyll&lt;/h3&gt;

&lt;p&gt;I&amp;rsquo;m writing this post in my text editor of choice (vim), marked up in &lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot;&gt;markdown&lt;/a&gt; and stored in a git repository I keep in my &lt;a href=&quot;http://getdropbox.com&quot;&gt;Dropbox&lt;/a&gt;. When I&amp;rsquo;m ready to publish, I&amp;rsquo;ll just run &lt;code&gt;git commit&lt;/code&gt; and via a post-commit hook, the new post will be uploaded to my web server.&lt;/p&gt;

&lt;p&gt;There are several wonderful things about this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;My entire blog is available on all my computers. I can write and edit posts using just plain files and a text editor. If I&amp;rsquo;m on a computer that is not my own, I can just ssh into my computer at home and write in vim within a terminal window.&lt;/li&gt;
&lt;li&gt;When writing (or editing my templates), I can run jekyll on my local machine and view my blog by pointing a browser to &lt;code&gt;localhost:4000&lt;/code&gt;. This works no matter where I am, how flaky my network connection is (or how slow my web host is at the moment).&lt;/li&gt;
&lt;li&gt;To search my blog, I can just grep through my &lt;code&gt;_posts&lt;/code&gt; directory. How cool is that?&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;If you aren&amp;rsquo;t following this so far, Jekyll probably isn&amp;rsquo;t for you. Go use Tumblr. Or posterous. Or wordpress.com. Seriously, the world is not short on good blogging software.&lt;/p&gt;

&lt;p&gt;Jekyll is &amp;ldquo;&lt;a href=&quot;http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html&quot;&gt;blogging like a hacker&lt;/a&gt;&amp;rdquo;. This doesn&amp;rsquo;t mean it&amp;rsquo;s necessarily hard to use though.  The &lt;a href=&quot;http://wiki.github.com/mojombo/jekyll/template-data&quot;&gt;templating&lt;/a&gt; is lightweight, but powerful &amp;amp; flexible enough to do most of what you need with a blog. It&amp;rsquo;s definitely easier than writing a WordPress theme! Writing in Markdown is much easier than writing in HTML or, IMO, than fighting with a stupid WYSIWYG editor (I&amp;rsquo;ve never had luck getting any of the WordPress Markdown plugins to work).&lt;/p&gt;

&lt;p&gt;Also, the culture and community around Jekyll is great. Github supports Jekyll sites, so there are &lt;a href=&quot;http://wiki.github.com/mojombo/jekyll/sites&quot;&gt;many Jekyll sites&lt;/a&gt; hosted on github, with full source for all to see. Putting together this site was as simple as browsing through those sites, finding things I like and then borrowing profusely. &lt;del&gt;I intend to put this blog on github as well soon, but I need to clean some stuff up first.&lt;/del&gt; The source for this site is &lt;a href=&quot;http://github.com/smajda/jon.smajda.com&quot;&gt;here on github&lt;/a&gt;. (I just put the configuration and templating files up, skipping the &lt;code&gt;_posts&lt;/code&gt;, &lt;code&gt;_drafts&lt;/code&gt; and &lt;code&gt;files&lt;/code&gt; directories. You can actually host your Jekyll blog on github, which I may or may not do someday. I still use my web host for other things, though I do like the idea. In the meantime, I don&amp;rsquo;t want to push everything I do to github.)&lt;/p&gt;

&lt;p&gt;There are downsides. No comments, for example. I could use something like &lt;a href=&quot;http://disqus.com/&quot;&gt;Disqus&lt;/a&gt;, but I don&amp;rsquo;t really mind not having comments. (It&amp;rsquo;s not like I had a ton before anyway.) If you want to respond, just write a blog post yourself &amp;amp; link back. Or email me if you want to reply to me directly. We&amp;rsquo;re really not hurting for avenues of communication these days.&lt;/p&gt;

&lt;h3&gt;moving from wp&lt;/h3&gt;

&lt;p&gt;So returning to my tweet at the beginning of this post, I decided to actually try Jekyll on my MacBook, just to see if I&amp;rsquo;d like it. (The security issue really wasn&amp;rsquo;t a factor: it just inspired the tweet, which inspired another look at Jekyll.) Within 20 minutes, I had a basic test site running on my MacBook. Next I tried the Wordpress importer and, well, then I had all my posts imported.  Well, I &lt;em&gt;might as well&lt;/em&gt; switch at that point, right?&lt;/p&gt;

&lt;p&gt;(Though, to be complete in case would-be switchers find this post: 1) The MySQL and Sequel gems required for the converter wouldn&amp;rsquo;t play well together for me on my Mac, but worked just fine in an Ubuntu VM. 2) The WordPress converter doesn&amp;rsquo;t import categories and tags.)&lt;/p&gt;

&lt;p&gt;Really, that&amp;rsquo;s pretty much how it happened. An unintentional side effect of importing all my posts into Jekyll is that I now had nice plain text files of all my posts, which made reading through them and removing the ones I didn&amp;rsquo;t want to keep &lt;em&gt;much&lt;/em&gt; easier than it actually would have been in WordPress. Plus, I now still have them all in a separate directory, in a completely readable format instead of in a SQL file. After I&amp;rsquo;d done that, then all of the sudden my Jekyll blog was more up-to-date than my WordPress blog, so I&amp;rsquo;d sort of already switched without realizing it.&lt;/p&gt;

&lt;p&gt;Cleaning out the old posts took awhile, and then, of course, I spent a lot of time tweaking the site in my spare time over the last week or two. But I&amp;rsquo;m happy with this so far. When I feel up to tweaking the site a bit, there&amp;rsquo;s a lot of stuff to learn. Stuff that doesn&amp;rsquo;t start with &lt;code&gt;wp-&lt;/code&gt;, and that&amp;rsquo;s exciting. But when I feel like just writing without distractions, this should work well then too.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>Sexism, Software and Organizations</title>
   <link href="http://jon.smajda.com//2009/09/12/sexism-software-and-organizations/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2009-09-12T00:00:00-05:00</updated>
   <id>http://jon.smajda.com//2009/09/12/sexism-software-and-organizations</id>
   <content type="html">&lt;p&gt;The lack of women in open source software has been getting some attention lately, and &lt;a href=&quot;http://itmanagement.earthweb.com/osrc/article.php/3838186&quot;&gt;the numbers&lt;/a&gt; are pretty shocking:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;According to Angela Byron&amp;rsquo;s keynote at the Open Web Vancouver conference earlier this year, women compose 28% of those involved in proprietary software, slightly more than half what you would expect from a random distribution.&lt;/p&gt;

&lt;p&gt;Asked to guess what percentage of FOSS developers are women, mostly people guess a number between 30-45%. A few, either more observant or anticipating a trick question after hearing the proprietary figure, guess 12-16%. The exact figure, though, is even lower: 1.5%&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;So, just to be clear, there are two issues here: Why are there less women than men in programming generally? And why is the proportion of women so much lower in open source software than in proprietary software? The second question is what I&amp;rsquo;m writing about here.&lt;/p&gt;

&lt;p&gt;Byron&amp;rsquo;s &lt;a href=&quot;http://webchick.net/presentations/women-in-open-source-owv-09&quot;&gt;keynote&lt;/a&gt; (&lt;a href=&quot;http://openwebvancouver.ca/sites/default/files/byron-women_in_open_source.pdf&quot;&gt;PDF&lt;/a&gt;) lists four reasons why open source may be specifically hostile to women:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Anonymity can create a safe haven for abuse&lt;/li&gt;
    &lt;li&gt;Open source can be combative&lt;/li&gt;
    &lt;li&gt;Common perception: you must be Einstein to contribute to open source&lt;/li&gt;
    &lt;li&gt;OMG! A GURL!!!&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I&amp;rsquo;ll suggest a fifth. At last year&amp;rsquo;s ASAs, &lt;a href=&quot;http://asociologist.wordpress.com/&quot;&gt;Dan Hirschman&lt;/a&gt; and I were talking about how the informality of OSS could be part of the problem. (I say &lt;em&gt;we&lt;/em&gt; discussed it, but I remember all of the good ideas coming from Dan.)&lt;/p&gt;

&lt;p&gt;Much of the commentary on this topic seems to revolve around the personalities of open source developers or the culture of particular communities. But a big, obvious difference between community-run open source projects and proprietary software produced by for-profit corporations is that they&amp;rsquo;re controlled by very different types of organizations.&lt;/p&gt;

&lt;p&gt;Large businesses and organizations put formal hiring and promotional policies in place. Yes, they have formal policies with respect to racial and gender diversity, but it&amp;rsquo;s more than just those specific policies. When informal criteria weigh more heavily in hiring and promotion, in-group biases have more of an impact (think &amp;ldquo;Jack&amp;rsquo;s one of the guys,&amp;rdquo; vs. &amp;ldquo;Jill just doesn&amp;rsquo;t fit in here&amp;rdquo;). Even if the people involved deny explicit bias (&amp;ldquo;It&amp;rsquo;s not &lt;em&gt;because she&amp;rsquo;s a women&lt;/em&gt; she doesn&amp;rsquo;t fit in!&amp;rdquo;), people tend to prefer people like them. This is particularly true in jobs with a more informal work environment. Think  of businessmen hammering out deals on the golf course, or schmoozing clients with box seats at the big football game. Or two geeks chatting on IRC at 3 a.m. Or &lt;a href=&quot;http://geekfeminism.wikia.com/wiki/CouchDB_talk&quot;&gt;filling a conference presentation with crude images&lt;/a&gt; in an attempt to be &amp;ldquo;edgy&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;Byron suggests some ways to make OSS more conducive to female participation, and &lt;a href=&quot;http://www.freesoftwaremagazine.com/columns/ten_easy_ways_attract_women_your_free_software_project&quot;&gt;others have made suggestions, too&lt;/a&gt;. Here&amp;rsquo;s another thought though: as open source software increasingly becomes big business, with large corporations like Google, Oracle and IBM supporting much of open source software development, the pathways to get involved with open source projects will become more structured and formalized, and this will diversify OSS. In other words, &amp;ldquo;Oracle is looking for a full-time MySQL developer&amp;rdquo; vs. &amp;ldquo;Just email this patch to that nerdy white guy who looks exactly like all your friends.&amp;rdquo;&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;ve always been interested in&amp;mdash;and sympathetic towards&amp;mdash;attempts to create less hierarchical, bureaucratic and informal organizations. This is part of the reason I&amp;rsquo;m a big fan of open source software. It&amp;rsquo;s also one of the reasons I&amp;rsquo;m fascinated and frustrated by the weak spots in these kinds of organizations and communities. The idea that a takeover by big bland corporations could actually diversify OSS would probably rub most open source folks the wrong way as well. They pride themselves on being free, open and all that good happy stuff. But sometimes, paradoxically, these inclusive values can actually foster social arrangements that facilitate exclusion.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   
   <title>WordPress Feed Modifications</title>
   <link href="http://jon.smajda.com//2009/09/04/wordpress-feed-modifications/"/>
   
   <link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
   <updated>2009-09-04T00:00:00-05:00</updated>
   <id>http://jon.smajda.com//2009/09/04/wordpress-feed-modifications</id>
   <content type="html">&lt;p&gt;Awhile back I &lt;a href=&quot;http://jon.smajda.com/blog/2008/08/22/prepend-labels-to-rss-items-by-category/&quot;&gt;modified the titles in my RSS feeds&lt;/a&gt; to display &quot;link:&quot; or &quot;tweet:&quot; to my linklog/twitter posts on this blog. A bit later I decided to add Creative Commons license info in my feed as well. I know there are several existing plugins that do that, but I already had a plugin of my own that did some feed modification so I was familiar with the relevant WP hooks, so I went ahead and added this to my existing feed plugin myself.&lt;/p&gt;




&lt;p&gt;Today I wanted to add yet another feed modification: add a link back to the original article to the end of the post content on each of my posts. A common reason to want this is to prevent (or at least inconvenience) scrapers. I wish I were that popular. My problem's much simpler: I wanted to put my blog posts into Facebook, as sadly Facebook is apparently a bigger draw for most of my friends than my blog is. (I know, I don't get it either.) For awhile I was using the Wordbook plugin, but it screwed up one too many times on me, so I opted to just let Facebook's Notes import my RSS feed, &lt;a href=&quot;http://wordpress.tv/2009/07/22/import-your-wordpress-blog-into-facebook/&quot;&gt;which is super easy&lt;/a&gt;. However, Facebook Notes don't link back to the original source at all. Just looking at my Facebook Notes, there's no way to know it originally came from my blog. I obviously don't care whether my friends read my posts on my blog or in Facebook, but I'd still like them to know about it. Plus, unlike Facebook, I actually control my blog. In five or ten years, I'll still control my blog. So whatever I write, no matter how silly &amp;amp; meaningless to anyone else, the master copy belongs on my blog. So I wanted to add a simple link to the end of the posts that would show up in the Notes.&lt;/p&gt;




&lt;p&gt;Again, I know for a fact there are several plugins that do just this (likely with &lt;a href=&quot;http://abernook.com/prod/Office-Space-Box-of-Flair.asp&quot;&gt;way more flair&lt;/a&gt;), but just adding a plain ol' link is simple enough to do, so I took the DIY route again.&lt;/p&gt;




&lt;p&gt;So for anyone interested in either of these modifications that prefers a do-it-yourself approach to plugins, I thought I'd post both of these very simple modifications. If you're just learning how to write WordPress plugins, these actually make pretty good examples as well precisely because they're so simple. So just &lt;a href=&quot;http://codex.wordpress.org/Writing_a_Plugin&quot;&gt;create your plugin file&lt;/a&gt; and then add one or both snippets of code below. (Or just go to wordpress.org and download the existing plugins that are probably better supported by their authors and have way more options...)&lt;/p&gt;




&lt;h3&gt;Append a link to your RSS content&lt;/h3&gt;




&lt;p&gt;This will add a link at the end of your post that says &quot;(Originally published at http://yourblog.com)&quot; and links to the permalink for the post. &lt;a href=&quot;http://gist.github.com/181121&quot;&gt;Here's the code&lt;/a&gt;:&lt;/p&gt;




&lt;script src=&quot;http://gist.github.com/181121.js&quot;&gt;&lt;/script&gt;




&lt;p&gt;Notice the comment about the bug where &lt;code&gt;the_content_rss&lt;/code&gt; isn't applied to the content in RSS 2.0 &amp;amp; Atom feeds. This is slated to be fixed in 2.9, so if that happens you could just keep the &lt;code&gt;add_filter('the_content_rss', 'append_to_feed')&lt;/code&gt; and delete everything else in &lt;code&gt;run_append_filter()&lt;/code&gt;.&lt;/p&gt;




&lt;h3&gt;Add a Creative Commons license to your feed&lt;/h3&gt;




&lt;p&gt;I chose the &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;by-nc-sa license&lt;/a&gt;, but you can use whatever you want by adjusting the &lt;code&gt;$feed_license&lt;/code&gt; array. You'll definitely want to change &lt;code&gt;$feed_license['years']&lt;/code&gt; as well (unless you happened to have started your blog in 2003 like me). The code is long, but simple and repetitive. All the formats have their own little twists, which is a huge pain in the ass. Anyway, &lt;a href=&quot;http://gist.github.com/181137&quot;&gt;here's the code&lt;/a&gt;:&lt;/p&gt;




&lt;script src=&quot;http://gist.github.com/181137.js&quot;&gt;&lt;/script&gt;

</content>
 </entry>
 
 
</feed>

