<?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/"
	>

<channel>
	<title>Ryan McKern &#187; technical</title>
	<atom:link href="http://ryanmckern.com/category/technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://ryanmckern.com</link>
	<description>Loudmouth web engineer from the Boston area; loud music, vitriol, good food.</description>
	<lastBuildDate>Sat, 14 Jan 2012 18:49:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mark Wunsch, on Installing Gems</title>
		<link>http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/</link>
		<comments>http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 21:58:00 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[gripes]]></category>
		<category><![CDATA[grumbling]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/</guid>
		<description><![CDATA[Posted in rubytechnicalhttp://mwunsch.tumblr.com/post/8645762505/installing-gemsI have 3 or 4 queued up posts about Ruby butthurt, and what Mark has to say is pretty in line with a lot of it.]]></description>
			<content:encoded><![CDATA[<p>I have 3 or 4 queued up posts about Ruby butthurt, and what Mark has to say is pretty in line with a lot of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2011/08/mark-wunsch-on-installing-gems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The iTunes 10 UI is an abomination</title>
		<link>http://ryanmckern.com/2010/09/the-itunes-10-ui-is-an-abomination/</link>
		<comments>http://ryanmckern.com/2010/09/the-itunes-10-ui-is-an-abomination/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 06:15:11 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[diatribes]]></category>
		<category><![CDATA[opinion and libel]]></category>
		<category><![CDATA[shit stirring]]></category>
		<category><![CDATA[chewbacca]]></category>
		<category><![CDATA[embarrassing]]></category>
		<category><![CDATA[endor]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[terrible]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=927</guid>
		<description><![CDATA[Posted in applediatribesopinion and libelshit stirringSo, iTunes 10 looks like Apple's college intern office bitch slapped the design together over the weekend while on a bender. What happened to those LEGIONS of UI designers they employ? Let's Talk About That Icon It's pretty fucking terrible. It's so bad that I don't even care that the software runs faster than before [...]]]></description>
			<content:encoded><![CDATA[<p>So, <a href="http://apple.com/itunes/" class="aga aga_15">iTunes 10</a> looks like Apple's college intern office bitch slapped the design together over the weekend while on a bender. What happened to those <a href="http://developer.apple.com/ue/" class="aga aga_16">LEGIONS of UI designers they employ</a>?</p>

<h3>Let's Talk About That Icon</h3>

<p><span id="more-927"></span></p>

<p>It's <strong>pretty fucking terrible</strong>. It's so bad that I don't even care that the software runs faster than before (and it does). The improved responsiveness? Taken a backseat to shame. <a href="http://www.apple.com/itunes/ping/" class="aga aga_17">Ping?</a> <strong>HOST UNREACHABLE</strong>. It's an embarrassment to use or to be seen using. Here are two pieces of shitty MS clipart that my wife found in Office 2007 in less than 45 seconds:</p>

<p><img src="http://ryanmckern.com/wp-content/uploads/2010/09/icons.jpeg" alt="These sad eighth notes are all brown notes." title="iTunes Icons Gangbang" class="aligncenter block size-full wp-image-949" /></p>

<p>If these two crazy kids tried to get shitty on <a href="http://www.amazon.com/Franklin-International-5063-Titebond-Original/dp/B0002YWZPW" class="aga aga_18">cheap woodworking glue</a> and <a href="http://www.insidemdsports.com/forums/showthread.php?t=25854&amp;page=6" class="aga aga_19">Mad Dog 20/20</a> one weekend and "made an oopsie", you'd get something that looks a lot like that icon.</p>

<p>Oh, and here's a serious question: why are the window controls vertical? <a href="http://en.wikipedia.org/wiki/Chewbacca_defense" class="aga aga_20">Chewbacca lives on Endor!</a> It does <strong><em>not make sense</em></strong>! Stylistically and conceptually the whole thing feels clumsy and a bit like an attempt to get "in your face."</p>

<p><img src="http://ryanmckern.com/wp-content/uploads/2010/09/Window_Controls.jpg" alt="iTunes 10 Window Controls" title="iTunes 10 Window Controls" width="35" height="64" class="alignright size-full wp-image-932" /></p>

<p>Almost every damned widget is <strong><em>A)</em></strong> yet again custom to iTunes, not the OS; <strong><em>B)</em></strong> different than it was before. They're almost all universally ugly. Things that should be buttons are just sort of decal looking sections of the screen and a lot of stuff has tremendously crappy bezels for no real reason.</p>

<p><img src="http://ryanmckern.com/wp-content/uploads/2010/09/Bezels.jpeg" alt="Uneccesary " title="iTunes Bezels" width="582" height="88" class="aligncenter block size-full wp-image-945" /></p>

<h3>Is There Anything They Did Right?</h3>

<p>The speaker management window is a tremendous improvement?</p>

<p><img src="http://ryanmckern.com/wp-content/uploads/2010/09/speakers.jpg" alt="This however is a welcome improvement" title="iTunes Speaker Controls" width="421" height="152" class="aligncenter size-full block wp-image-946" /></p>

<p>I think I like this hybrid cover art view they're pushing for column based browsing.</p>

<p><img src="http://ryanmckern.com/wp-content/uploads/2010/09/columns.jpeg" alt="" title="Hybrid Column Browsing" class="aligncenter size-full wp-image-965" /></p>

<hr />

<h3>You Like Third Party Library Servers?</h3>

<p>Too bad. iTunes 10 has munged with the DAAP protocol (which, admittedly, is Apple's protocol, so it's their right) and <a href="http://discussions.apple.com/thread.jspa?threadID=2564925&amp;tstart=15" class="aga aga_21">broken 3rd party DAAP servers</a>. So, your Drobo, your Synology DiskStation, your Netgear ReadyNAS, and those Western Digital disks that support streaming music? They're all basically going to need firmware updates when the someone figures out what to patch or change in <a href="http://www.fireflymediaserver.org/" class="aga aga_22">MT-DAAP (or Firefly, if you prefer)</a> to make it work again; you can make a pretty safe bet that Apple won't rev the protocol back to help fix this problem.</p>

<h3>Final Thoughts</h3>

<p>I have to believe that someone, somewhere is laboring away on music library management software that isn't encumbered by goofy widgets and ridiculous business decisions. It's probably not coming from the Linux camp (see: <a href="http://projects.gnome.org/rhythmbox/" class="aga aga_23">Rhythmbox</a>, <a href="http://banshee.fm/" class="aga aga_24">Banshee</a>, <a href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CB8QFjAA&amp;url=http%3A%2F%2Famarok.kde.org%2F&amp;ei=kEN_TJObK4GBlAfS0LnSDw&amp;usg=AFQjCNFk8tWf-dsfTT85tY4rvLEYlUlwpQ" class="aga aga_25">Amarok</a>, <a href="http://code.google.com/p/clementine-player/" class="aga aga_26">Clementine</a>, &amp; <a href="http://sourceforge.net/projects/guayadeque/" class="aga aga_27">Guayadeque</a> for an idea of where <strong>they're</strong> reinventing the wheel). <a href="http://www.getsongbird.com/" class="aga aga_28">Songbird</a> is wrapped in <a href="http://en.wikipedia.org/wiki/XUL" class="aga aga_29">XUL interface</a> hell (never mind technical backend "iffiness"). I think iTunes has been the dominant player in this space (at least in OS X) for so long that no one even bothers trying anymore.</p>

<p><em>Sigh…</em></p>

<p><img src="http://ryanmckern.com/wp-content/uploads/2010/09/sad-panda.gif" alt="" title="Sad Panda" width="400" height="300" class="aligncenter block size-full wp-image-961" /></p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2010/09/the-itunes-10-ui-is-an-abomination/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>NNTP readers on OS X are built from failure</title>
		<link>http://ryanmckern.com/2009/10/nntp-readers-on-os-x-are-built-from-failure/</link>
		<comments>http://ryanmckern.com/2009/10/nntp-readers-on-os-x-are-built-from-failure/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 05:59:27 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[applications]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[opinion and libel]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[Hogwasher]]></category>
		<category><![CDATA[MacSoup]]></category>
		<category><![CDATA[MaxNews]]></category>
		<category><![CDATA[MT-NewsWatcher]]></category>
		<category><![CDATA[Nemo]]></category>
		<category><![CDATA[newsgroups]]></category>
		<category><![CDATA[newsreader]]></category>
		<category><![CDATA[nntp]]></category>
		<category><![CDATA[OSXNews]]></category>
		<category><![CDATA[Pineapple News]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[Unison]]></category>
		<category><![CDATA[Xnntp]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=734</guid>
		<description><![CDATA[Posted in applicationsmacopinion and libelIn the office where I work we use/maintain a newsgroup server with a variety of internal newsgroups where everything from items for sale to complaints and hassles are posted. Late last year I went pretty much all-Mac, all the time, with a Remote Desktop window connected to a Windows machine in the office which I [...]]]></description>
			<content:encoded><![CDATA[<p>In the office where I work we use/maintain a newsgroup server with a variety of internal newsgroups where everything from items for sale to complaints and hassles are posted. Late last year I went pretty much all-Mac, all the time, with a Remote Desktop window connected to a Windows machine in the office which I used for Outlook (because we're an Exchange shop) and Thunderbird (to read the newsgroups). Wondering if I could cut ties a little further, I looked into NNTP readers for OS X.</p>

<p>A small bit of background first: I'm using Snow Leopard and I'm unwilling to deal with the vagaries of less-than-native clients. This means that I'm not using ported Unix apps. So no Gnews, newspost, Pan, Pine, Slrn, or Tin. <em>Those are right out.</em></p>

<p>This left me with a list cobbled together from MacUpdate:</p>

<ul>
<li><a href="http://www.panic.com/unison/" class="aga aga_63">Unison</a>, $24.95 from <a href="https://www.panic.com/" class="aga aga_64">Panic</a></li>
<li><a href="http://www.malcom-mac.com/get/mac/nemo" class="aga aga_65">Nemo</a>, $14.95 from <a href="http://www.malcom-mac.com/" class="aga aga_66">Malcom Mac</a></li>
<li><a href="http://home.snafu.de/stk/macsoup/" class="aga aga_67">MacSoup</a>, $20.00 from <a href="http://home.snafu.de/" class="aga aga_68">Stefan Haller</a></li>
<li><a href="http://www.platinumball.net/pineapple/news/macosx/" class="aga aga_69">Pineapple News</a>, free from <a href="http://www.platinumball.net/" class="aga aga_70">Allen Brunson</a></li>
<li><a href="http://www.edv-consulting-berlin.de/Xnntp/" class="aga aga_71">Xnntp</a>, free from <a href="http://www.edv-consulting-berlin.de/" class="aga aga_72">EDV Consulting</a></li>
<li><a href="http://www.asar.com/hogwasher.html" class="aga aga_73">Hogwasher</a>, $49.00 from <a href="http://www.asar.com/" class="aga aga_74">Asar</a></li>
<li><a href="http://osxnews.sourceforge.net/new2/" class="aga aga_75">OSXNews</a>, free from <a href="http://sourceforge.net/users/anurodhp" class="aga aga_76">Anurodh Pokharel</a></li>
<li><a href="http://www.smfr.org/mtnw/" class="aga aga_77">MT-NewsWatcher</a>, Donation requested, from <a href="http://www.smfr.org/" class="aga aga_78">Simon Fraser</a></li>
<li><a href="http://www.maxprog.com/site/software/internet-tools/maxnews_sheet_us.php" class="aga aga_79">MaxNews</a>, $20 from <a href="http://www.maxprog.com" class="aga aga_80">MaxProg</a></li>
</ul>

<p>I had intended this to be a marginally comprehensive review of my time using these clients, but I barely got into the account setup with most of them, if I installed them at all. Here's how it broke down…</p>

<p><span id="more-734"></span>
<a href="http://www.panic.com/unison/" class="aga aga_81">Unison</a> looks like crap; It hasn't been updated in since 2-26-08, and it has quirks under Leopard and Snow Leopard that I'm just not prepared to deal with. It feels dated, by which I mean it doesn't look good by modern Aqua standards; it also uses multiple windows to manage a lot of it's information. It feels like it's really based around the filesharing on Usenet, instead of being a general-purpose NNTP reader, which led me to uninstall it within five minutes. It's probably the worst looking <a href="http://panic.com/" class="aga aga_82">Panic</a> application (but one of the better looking ones in this list), which is unusual for a company who is often considered the vanguard of independent Mac development.</p>

<p><a href="http://www.malcom-mac.com/get/mac/nemo" class="aga aga_83">Nemo</a>? So much promise. <a href="http://groups.google.com/group/nemox?hl=en" class="aga aga_84">So god damned buggy</a>. Poorly translated. Unfortunately priced given the wide-ranging nature of the bugs. These are fixable (and the price would be reasonable otherwise), but the simple fact of the matter is that this client is an example of how not to use cocoa frameworks. Didn't even make it to "use" because once it littered the root of my hard drive with empty files, I trashed it.</p>

<blockquote>
  <h3>UPDATE</h3>
  
  <p>The <a href="http://www.malcom-mac.com/" class="aga aga_85">Malcom-Mac</a> site is down for "scheduled maintenance" and the developer of Nemo has <a href="http://groups.google.com/group/nemox/browse_thread/thread/818427082fffa9f1?hl=en" class="aga aga_86">stated his desire to squash these outstanding bugs and polish his software</a>. I'll revisit this in a few months time.</p>
</blockquote>

<p><a href="http://home.snafu.de/stk/macsoup/" class="aga aga_87">MacSoup</a>? No idea. It asked me to create a "settings file" to create a new database for news and mail. Obviously doesn't get what "native" client means. Looks like it's using old quickdraw calls to render the UI. Never set up accounts in it.</p>

<p><a href="http://www.platinumball.net/pineapple/news/macosx/" class="aga aga_88">Pineapple News</a> is free but the custom icons look <em>extremely</em> janky compared to the "standard" icons they're replacing. After setting up accounts it just hurt to use. It's visually grating on the eyes.</p>

<p><a href="http://www.edv-consulting-berlin.de/Xnntp/" class="aga aga_89">Xnntp</a> has an installer. <em>Aint no damned reason for that</em>. It's a bloody NNTP reader. It doesn't need to create system files. OS X uses the <a href="http://en.wikipedia.org/wiki/Application_Bundle" class="aga aga_90">application bundle format</a> for a reason.</p>

<p><a href="http://www.asar.com/hogwasher.html" class="aga aga_91">Hogwasher</a> looks like an old Hotwire<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> client that someone stripped the filesharing out of and glued NNTP support to. It costs a lot of money (and maybe it took a lot of time to develop) but it's just god damned unusable. Trashed within minutes.</p>

<p><a href="http://osxnews.sourceforge.net/new2/" class="aga aga_92">OSXnews</a> looks awful too. Probably works better than Nemo, but has a distinct level of spit and polish missing. Never even got to setting up my newsgroup account. The author stated in July of 2007 that he was working on version 3. I wrote this in October of 2009, just to</p>

<p>I cannot stress how terrible the experience with <a href="http://www.smfr.org/mtnw/" class="aga aga_93">MT-NewsWatcher</a> was. It is basically an old Classic Mac application that has been updated just enough to sort-of run under OS X. It took a while to do anything, and it might be the worst looking of all of these clients. Apparently, Classic Mac OS users love it because it still looks and works like a Classic Mac application. Just so we're clear, I fucking hated the Classic Mac OS.</p>

<p><a href="http://www.maxprog.com/site/software/internet-tools/maxnews_sheet_us.php" class="aga aga_94">MaxNews</a> was downloaded, but at this point I gave up and just installed the <a href="http://www.mozillamessaging.com/en-US/thunderbird/early_releases/" class="aga aga_95">Thunderbird 3 beta</a>. Is it a little overkill? Yes. Is it a little bloated? Yes. But it just works, and it works well.</p>

<p>So what happened? I think that a few options are plausible: these developers date to a different era, with different development mores and means. They may think that people still using NNTP  don't care about their clients looking or working like complete shit, or they may think that because NNTP and Usenet as a whole date to an era where people would just roll their own GUIs or slap some shit together in curses and call it a Usenet client, they can still get away with that sort of behavior and worse still, get away with charing money for it.</p>

<p>So, am I being a bit of a snobby dick and trashing developers hard work?<br />
Yes, I am.</p>

<p>But when the honorable mention you give to Thunderbird 3 (which is in beta right now, and more usable than anything else I listed) is the best thing you have to say about Mac OS X NNTP clients, the whole damned situation is in a sad sorry state of affairs. And if you're going to ask me to pay money for something, you'd better give me something worth paying money for. So this attempt to review these clients has ended in abortive failure, and concession to get by with the least worst option available.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Hotwire was a file-sharing service where a tracker would host files, and users would usually have to meet some insanely arbitrary condition to get access to download them. It enforced limits and ratios, and some trackers were commercial. Pretty sure it's extremely dead now. <a href="#fnref:1" rev="footnote">↩</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2009/10/nntp-readers-on-os-x-are-built-from-failure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nice marmot</title>
		<link>http://ryanmckern.com/2009/06/nice-marmot/</link>
		<comments>http://ryanmckern.com/2009/06/nice-marmot/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 21:57:23 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[friends]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[aim]]></category>
		<category><![CDATA[Matt Miller]]></category>
		<category><![CDATA[quickie]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=627</guid>
		<description><![CDATA[Posted in friendstechnicalWhile this would have been better posted to bash, I present a snippet from Triple-Em himself regarding an inadequacy in the standard I/O libraries available to him: 1:37:20 PM Matthew Miller: Think I'm going to write an RFC with the suggestion that we extend the standard 4 option I/O error handling directives -- Abort, Retry, [...]]]></description>
			<content:encoded><![CDATA[<p>While this would have been better posted to <a href="http://bash.org" class="aga aga_98">bash</a>, I present a snippet from <a href="http://megapixelated.com/" class="aga aga_99">Triple-Em</a> himself regarding an inadequacy in the standard I/O libraries available to him:</p>

<p><em>1:37:20 PM</em> <span style="color: red;">Matthew Miller:</span> Think I'm going to write an RFC with the suggestion that we extend the standard 4 option I/O error handling directives -- <em>Abort</em>, <em>Retry</em>, <em>Fail</em>, <em>Ignore</em> -- to include a fifth: <em>Fuck_It_Dude_Lets_Go_Bowling</em><br />
<em>1:37:31 PM</em> <span style="color: blue;">Ryan McKern:</span> i'll second it if you do<br />
<em>1:37:45 PM</em> <span style="color: red;">Matthew Miller:</span> excellent.  let's see what the experts group thinks.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2009/06/nice-marmot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Text editing for fun and profit</title>
		<link>http://ryanmckern.com/2009/06/text-editing-for-fun-and-profit/</link>
		<comments>http://ryanmckern.com/2009/06/text-editing-for-fun-and-profit/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 17:33:47 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[applications]]></category>
		<category><![CDATA[editors]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[espresso]]></category>
		<category><![CDATA[macrabbit]]></category>
		<category><![CDATA[macromates]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=564</guid>
		<description><![CDATA[Posted in applicationseditorsmacIn the attempt to streamline the process of maintaining the myriad scripts and config files that I use day to day as part of both my day job and my droll hobby. I've used TextMate for everything, which I've previously discussed (particularly using it in conjunction with CSSEdit, which we'll come back to). But this [...]]]></description>
			<content:encoded><![CDATA[<p>In the attempt to streamline the process of maintaining the myriad scripts and config files that I use day to day as part of both my day job and <a href="http://orangefort.com/" class="aga aga_125">my droll hobby</a>. I've used <a href="http://macromates.com/" class="aga aga_126">TextMate</a> for everything, which I've previously discussed (particularly <a href="http://ryanmckern.com/technical/applications/cssedit-textmate/" >using it in conjunction with CSSEdit</a>, which we'll come back to). But this has sort of spiraled out of control as I've spent more time working with PHP scripts (such as WordPress themes) and I've started to wonder about the newer generation of all-in-one editors.</p>

<p><span id="more-564"></span></p>

<p>First things first, I should probably talk about TextMate. <span class="pullquote float-left"><a href="http://wiki.macromates.com/FAQ/TextMate2" class="aga aga_127">Textmate 2</a> <em>feels</em> like vaporware</span>.</p>

<p>Is it? <a href="http://blog.macromates.com/2009/working-on-it/" class="aga aga_128">Probably not</a>. And in the interest of full disclosure, I wrote this post in TextMate using the not-utterly-terrible <a href="http://blog.macromates.com/2006/blogging-from-textmate/" class="aga aga_129">Blogging bundle</a>.</p>

<p>However, it's been a few years since there was anything especially novel about TextMate, and this doesn't help the fact that the editor is getting a little long in the tooth visually. This isn't really a problem, as a good editor can outlast almost anything else in the environment surrounding it. Many, many cranky people still use vi and emacs, which have both outlasted the <em>operating systems</em> they were built for.</p>

<p>I've just grown weary of having to finagle and finesse TextMate into usable shape. Admittedly, the <a href="http://jason-evers.com/code/code-like-i-do" class="aga aga_130">Green Moleskin</a> mod helps substantially (good bye project drawers!), and the use of updatable bundles has kept this editor viable in these rough and tumble times. I just can't help hating the fact that I have to keep <a href="http://cyberduck.ch/" class="aga aga_131">CyberDuck</a> open if I'm editing something remotely. Lack of SFTP/SSH support really is all I'm wistful about. Finicky bundle extensions (the Blogging bundle specifically is what I'm thinking of) are annoying but they are decidedly not deal breakers.</p>

<h3>The Challengers</h3>

<p>Since I <em>am</em> a geek, and therefore always looking for a better tool, I began testing <a href="http://panic.com/coda/" class="aga aga_132">Coda</a> (<strong>$99</strong>) and <a href="http://www.macrabbit.com/espresso/" class="aga aga_133">Espresso</a> (<strong>$79.95</strong> or <strong>$64.95</strong> if purchased with a CSSEdit License; It's unclear if special pricing is still available if you already own CSSEdit). Both offer a generous, fully functional, trial period. Both offer promises of kitchen-sink editing (defined as being able to handle all of my editing needs without leaving the app, including CSS editing, script editing, and remote filesystem editing over SFTP/SSH).</p>

<p><a href="http://panic.com/" class="aga aga_134">Panic</a> is one of <em>the</em> top old-school Macintosh software companies. Their webpage is slick and their applications are polished like some sort of granite space mirror. Coda is their relatively seasoned (released in April of 2007) web development application. <a href="http://macrabbit.com/" class="aga aga_135">MacRabbit</a> (also an extremely slick, in the lick-able sense, Macintosh software development company) then released Espresso during March of 2009 into the same kitchen-sink web development market that Coda was fighting for. If:</p>

<ul>
<li>you work with HTML and CSS</li>
<li>you work in a language like PHP or perl </li>
<li>you hate Dreamweaver</li>
</ul>

<p>then Panic and MacRabbit want your dollars.</p>

<h3>Espresso</h3>

<div id="attachment_604" class="wp-caption alignright" style="width: 210px"><a href="http://ryanmckern.com/wp-content/uploads/2009/06/Espressor-Ruby.jpg" ><img src="http://ryanmckern.com/wp-content/uploads/2009/06/Espressor-Ruby-200x200.jpg" alt="Espresso, editing a ruby script" title="Espresso - Ruby" width="200" height="200" class="size-thumbnail wp-image-604" /></a><p class="wp-caption-text">Espresso, editing a ruby script</p></div>

<p>I started with Espresso, as I am a regular <a href="http://www.macrabbit.com/cssedit" class="aga aga_136">CSSEdit</a> user. As mentioned earlier I have had nothing but good things to say about CSSEdit, especially since they rolled in the <a href="http://www.macrabbit.com/cssedit/features/preview/" class="aga aga_137">live preview/x-ray and local override features</a>. Espresso is extensible through the <a href="http://macrabbit.com/espresso/extend/" class="aga aga_138">use of small plugins called Sugars</a>. Unfortunately, this means that as of today it also has poor language support (the <a href="http://fileability.net/coffee/" class="aga aga_139">Coffee House aggregator</a> shows that Sugars are relatively immature and that there is no best-practice or general standards for them <strong><em>yet.</em></strong>). Of note is that there is no real support for Ruby yet, which is annoying as all hell since most of my back-end scripts are in Ruby. You'll see in the included screenshot that Ruby documents are just plain text documents, with no syntax highlighting. However, HTMl, PHP, and Python support and highlighting were all excellent.</p>

<p>Interestingly, Espresso has none of the CSSEdit guts worked into it from what I could find. It's very much a web programmers editor, not a web designer editor. While it wasn't uncomfortable to work with CSS in Espresso, I found myself switching over to CSSEdit more often than not. I imagine that in time MacRabbit will probably roll CSSEdit and Espresso into a single application. For now though, it's more context switching, with no gain in productivity to show for it.</p>

<p>Espresso shows promise (it is a beautifully designed application), and the concept of workspaces is novel. I appreciated the ability to work on something locally while automatically publishing it remotely, and Sugars have the potential to be as awesome as Bundles, if not more so. But much as every child has the potential to be president someday,  only time will determine if Espresso's Sugars are making me coffee for $6.00 an hour in a few years.</p>

<h3>Coda</h3>

<p>Panic's challenger for my hard-earned editor dollars is Coda. Coda does a few interesting things, like integrating the <a href="http://www.codingmonkeys.de/subethaengine/" class="aga aga_140">SubEthaEdit engine</a> for <a href="http://www.panic.com/coda/#editor-pane" class="aga aga_141">collaborative editing</a> and incorporating the <a href="http://www.panic.com/coda/#files-pane" class="aga aga_142">Transmit core</a> for remote file operations. As of late it also <a href="http://www.panic.com/coda/developer/community/plugins.php" class="aga aga_143">supports plugins</a>, though I've been unable to really find much in the way of usable plugins, since they're a relatively new feature.</p>

<p>The kitchen-sink approach that Panic took with Coda also extends to having a <a href="http://www.panic.com/coda/#more-pane" class="aga aga_144">built-in terminal</a>, which can connect to a local machine or a remote machine, for code debugging, remote operations, or whatever you'd normally keep a terminal open for while developing. Coda is a very, very complex application, and that's ultimately the problem I had with using it.</p>

<div id="attachment_613" class="wp-caption alignleft" style="width: 210px"><a href="http://ryanmckern.com/wp-content/uploads/2009/06/Coda-Ruby.jpg" ><img src="http://ryanmckern.com/wp-content/uploads/2009/06/Coda-Ruby-200x200.jpg" alt="Coda&#039;s weird autocomplete suggestions" title="Coda - Ruby" width="200" height="200" class="size-thumbnail wp-image-613" /></a><p class="wp-caption-text">Coda's weird autocomplete suggestions</p></div>

<p>Coda wants to be everything at once, and it's very good at most things that it does. The text editor never feels like it's holding me back, but one of the big quirks I found was that the constant language-unaware auto-complete suggestions are much, much more aggravating than helpful.</p>

<p>I also found little utility in the included HTML reference, but that's only because I know HTML and CSS very well (not that my blog layout implies this, but I do. Honest.), and for a developer who only uses HTML to present manipulated data, I can see it being a helpful reference. Panic has recently (as of version 1.5) added the ability to point Coda towards other websites as reference guides, and that's much more useful long-term.</p>

<h3>Conclusion</h3>

<p>At the end of the day the only real utility Coda and Espresso offer me is remote editing. They don't support any configuration file formats and their support for anything except "web languages" (ASP, PHP, perl, Python, ActionScript, HTML, CSS and kinda-sorta Ruby) is poor at best. TextMate has bundles for Apache, nginx, and SSH, as well as general support for any of a variety of key-value pair style config files. it also supports Bash and these are ultimately the make-or-break features for <em>me</em>.</p>

<p><strong>However</strong>, I recognize that Espresso and Coda aren't trying to be the programmers swiss army knife that applications like Vim or TextMate already are. They're editors geared towards web developers. Unfortunately, while that is a sizable 20% of my needs, the other 80% of my work is dealing with configuration files every single day I am on the clock.</p>

<p>For the time being, it looks like I'm sticking with TextMate.</p>

<h3>Follow-up questions</h3>

<p>You might ask now "Why not <a href="http://code.google.com/p/macvim/" class="aga aga_145">MacVim</a> or <a href="http://www.barebones.com/products/bbedit/" class="aga aga_146">BBEdit</a>? What's wrong with <a href="http://www.barebones.com/products/textWrangler/" class="aga aga_147">TextWrangler</a>?"
Well, BBEdit is an excellent editor that just took too long to have its visual appearance overhauled. It used to look exactly like a Classic Mac OS application running inside a Cocoa OS X frame. They've just released a new version that I'm told would be worth my time to test and no longer looks like a very powerful editor hidden inside a child's toy. I may revisit it soon and see if it's shaping up into something that doesn't make me want to punch my monitor in frustration. TextWrangler feels almost like borderline abandonware at this point and it's an extremely watered down programmers editor for the languages I'm working in and for the amount of work I have to do. MacVim is an excellent port of <a href="http://www.vim.org/" class="aga aga_148">Vim</a> to Mac OS X, but at the end of the day it <em>is</em> Vim, and <span class="pullquote float-right">Vim gives you AIDS</span>. Worse still, if you use <a href="http://aquamacs.org/" class="aga aga_149">Aquamacs</a> then your genitals will spontaneously combust.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2009/06/text-editing-for-fun-and-profit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Updating WordPress with libssh (and what I did when it was broken)</title>
		<link>http://ryanmckern.com/2009/06/updating-wordpress-with-libssh/</link>
		<comments>http://ryanmckern.com/2009/06/updating-wordpress-with-libssh/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 03:29:00 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[site meta]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=591</guid>
		<description><![CDATA[Posted in phpsite meta<a href="http://www.minilibra.com/" title="WordPress Expert">wordpress</a>This article was originally about automatic updates over SSH2 not working for me when I upgraded to <a href="http://www.minilibra.com/" title="WordPress Expert">WordPress</a> 2.8. <a href="http://www.minilibra.com/" title="WordPress Expert">WordPress</a> 2.9 is out now, and this problem turned out not to be their fault. After filing a bug report and working through it with the <a href="http://www.minilibra.com/" title="WordPress Expert">WordPress</a> team, a solution was eventually found (see the final [...]]]></description>
			<content:encoded><![CDATA[<p>This article was originally about automatic updates over SSH2 not working for me when I upgraded to WordPress 2.8. WordPress 2.9 is out now, and this problem turned out not to be their fault.</p>

<p>After filing a bug report and working through it with the WordPress team, a solution was eventually found (see the final update to this post). If you're not inclined to skip to the end then here is a spoiler: turn off open_basedir or make the declaration less restrictive.</p>

<p>If you're not experiencing this problem (and Google says you're landing here if you're looking for help setting up SFTP/SSH updating for WordPress), I don't think this write-up will be of much help. But feel free to stick around; I've got <a href="http://ryanmckern.com/culinary/" >snacks</a>!</p>

<h2><span id="more-591"></span></h2>

<p>After upgrading to <a href="http://codex.wordpress.org/Version_2.8/" class="aga aga_163">WordPress 2.8</a> I discovered that this update has broken automatic core and plugin updates for me. I use SSH2/SFTP as I don't <a href="http://orangefort.com/support/sftp.html" class="aga aga_164">trust, like, need, or support FTP</a>, and the SSH log only shows that the PECL module is opening a connection and then closing it, with WordPress returning only the following to to the browser window.</p>

<blockquote>
  <p>Unable to locate WordPress Content directory (wp-content).</p>
</blockquote>

<p>I dug through how WordPress handles upgrades, and tracked this all down to the /wp-admin/includes/class-wp-filesystem-ssh2.php file.</p>

<h4>UPDATE 6/13/2009 @4:40PM EST</h4>

<p>From what I found, the rewrite of the SSH/SFTP2 update function happened because the ssh2.sftp wrapper was introduced. This replaced the older version of the function which copied contents into temp files and pushed the data around. It was a drastic speed increase, but it doesn't bloody work on my system for one reason or another.</p>

<h4>UPDATE 6/13/2009 @7:16PM EST</h4>

<p>I've officially cried "uncle!" and turned to the most wretched hive of scum and villainy in blogging, the <a href="http://wordpress.org/support/topic/280931" class="aga aga_165">WordPress forums</a> (as well as their <a href="https://core.trac.wordpress.org/ticket/10195" class="aga aga_166">bug reporting and ticketing system</a>). I also <a href="http://core.trac.wordpress.org/ticket/8210" class="aga aga_167">identified the patch which</a> introduced the code which caused SSH2 support to go flying off the rails for me.</p>

<h4>UPDATE 6/18/2009 @4:17PM EST</h4>

<p>The WordPress team has marked this bug as belonging to milestone 2.9. There is a slim chance that maybe I'll see some relief in 2.8.1, but more than likely they're going to yet again refactor how SSH2 works for automatic upgrades. If this changes, I will update this post accordingly. For now, I believe I may have to simply let it be broken.</p>

<h4>UPDATE 12/19/2009 @10:30PM EST</h4>

<p>Months later, I worked out what the problem was. Ultimately a conflict caused by use of PHP's <a href="http://www.php.net/manual/en/ini.core.php#ini.open-basedir" class="aga aga_168">open_basedir</a> and <a href="http://www.php.net/manual/en/ini.sect.safe-mode.php" class="aga aga_169">safe_mode</a> kept the SSH2 module from accessing resources it needed. The way the ssh2.sftp wrapper works would bump into overly restrictive basedir declarations. If you are experiencing this problem and you check your <a href="http://httpd.apache.org/docs/2.2/mod/core.html#errorlog" class="aga aga_170">error logs</a> after turning them up to "<a href="http://httpd.apache.org/docs/2.2/mod/core.html#loglevel" class="aga aga_171">debug</a>", you'll probably find out what directory or file is causing this conflict. It's ultimately moot, since things like safe_mode are deprecated in PHP 5.3 and being outright removed in PHP 6.</p>

<p>Oddly enough, updating <a href="http://www.libssh2.org/" class="aga aga_172">libssh2</a> to something more up-to-date than the <a href="http://dag.wieers.com/rpm/packages/libssh2/" class="aga aga_173">outdated RPM</a> provided by <a href="http://dag.wieers.com/" class="aga aga_174">Dag</a> for RedHat Enterprise Linux/CentOS made a HUGE speed difference. Definitely something to look into if SSH updating is slow for you.</p>

<hr />

<p>Other than that, this round of upgrades has been mostly painless, and the hyped speed increases are not just hyperbole. WordPress 2.8 feels only slight under-baked beyond SSH2 hiccups. I confess that I haven't had a chance to play with the redesigned sidebar widget administration yet though, as I haven't even figured out how I want to implement support for sidebar widgets into this theme.</p>

<p><a href="http://www.blogging-secret.com/another-bug-for-wordpress-25-custom-field" class="aga aga_175">The bug that deletes some custom fields</a> if you update posts that have them is still there. No idea how to begin tracking <strong><em>that</em></strong> one down, but I can state authoritatively that it's theme and plugin independent. Why am I linking to some dudes blog, and not the official WordPress bug tracker? because I don't even know where WordPress keeps its bug tracker.</p>

<p>I also had to reset WordPress Blog stats because WordPress was tracking the wrong subdomain for all of my stats. The numbers tallied up with Google Analytics and the AWFFull log grinder, but the URLs were all effed up. I fixed the problem on the WordPress.com backend, and in the process lost months of aggregated history.</p>

<p>The upshot to this loss is that I hope to have a new round of search hit inspired commentary ready to go in a week or two.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2009/06/updating-wordpress-with-libssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Admin Notes: Raw Performance Numbers</title>
		<link>http://ryanmckern.com/2009/01/apache-admin-notes-raw-performance-numbers/</link>
		<comments>http://ryanmckern.com/2009/01/apache-admin-notes-raw-performance-numbers/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 21:55:07 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[site meta]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=336</guid>
		<description><![CDATA[Posted in apachelinuxsite metaIn late December I started looking at alternative web servers, having hit a point where I actually asked aloud (though to no one in particular) why I still use Apache for any http or php needs that may arise. I sat down, installed nginx (nginx 0.6.33) from the EPEL (Extra Packages for Enterprise Linux) repositories [...]]]></description>
			<content:encoded><![CDATA[<p>In late December <a href="http://ryanmckern.com/general/280/" >I started looking at alternative web servers</a>, having hit a point where I actually asked aloud (though to no one in particular) why I still use Apache for any http or php needs that may arise.</p>

<p>I sat down, installed <a href="http://nginx.net/" class="aga aga_182">nginx</a> (nginx 0.6.33) from the <a href="https://fedoraproject.org/wiki/EPEL" class="aga aga_183">EPEL (Extra Packages for Enterprise Linux)</a> repositories and <a href="http://www.lighttpd.net/" class="aga aga_184">lighttpd</a> (lighttpd 1.4.20) from the <a href="https://rpmrepo.org/RPMforge" class="aga aga_185">RPMforge</a> repositories (both third party repositories worth writing about in detail at a later date). Apache was already installed (httpd 2.2.3), so a virtualhost was configured to serve data from the same docroot using all three servers, and PHP through fastcgi was configured for lighttpd and nginx<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>.</p>

<p>I then set up a stock WordPress 2.7 blog, some large images, some thumbnails, and created what amount to approximately a 20k index page with nothing cached. Using ApacheBench to fetch 1000 requests, 100 requests at a time, I came up with some simple numbers showing how long it took to return the same page for each web server.</p>

<p>While I openly admit that the benchmarks produced here are arbitrary and superficial, they do give some rough insight (10,000ft overview level insight) as to how much faster nginx and fastcgi are over apache 2.2 and mod_php. lighttpd also performed admirably, and with less hassle involved in set up than nginx, but I suspect that may just be previous familiarity with the configuration.</p>

<p>A table of numbers (soon to be a graph, when I feel like making it) and some thoughts as to what they mean and why we (the web hosting community) still use Apache religiously follows after the jump.</p>

<p><span id="more-336"></span></p>

<table border="0" cellspacing="0" cellpadding="0">
    <tbody>
        <tr>
            <th width="40%">
                Metric
            </th>
            <th width="20%">
                Apache
            </th>
            <th width="20%">
                ligHTTPD
            </th>
            <th width="20%">
                nginx
            </th>
        </tr>
        <tr>
            <td>
                <h5>Time taken for tests</h5>
                lower is better
            </td>
            <td>
                45.584 seconds
            </td>
            <td>
                24.199 seconds
            </td>
            <td>
                17.395 seconds
            </td>
        </tr>
        <tr>
            <td>
                <h5>Total transferred</h5>    
                compression was enabled
            </td>
            <td>
                21691000 bytes
            </td>
            <td>
                22059912 bytes
            </td>
            <td>
                21894000 bytes
            </td>
        </tr>
        <tr>
            <td>
                <h5>HTML transferred</h5>
                compression was enabled
            </td>
            <td>
                21464000 bytes
            </td>
            <td>
                21833686 bytes
            </td>
            <td>
                21671000 bytes
            </td>
        </tr>
        <tr>
            <td>
                <h5>Mean Requests per second</h5>    
                higher is better
            </td>
            <td>
                21.94 [#/sec]
            </td>
            <td>
                41.32 [#/sec]
            </td>
            <td>
                57.49 [#/sec]
            </td>
        </tr>
        <tr>
            <td>
                <h5>Mean Time per request</h5>    
                lower is better
            </td>
            <td>
                4558.396 [ms]
            </td>
            <td>
                2419.853 [ms]
            </td>
            <td>
                1739.542 [ms]
            </td>
        </tr>
        <tr>
            <td>
                <h5>Mean Time per request</h5>
                lower is better
            </td>
            <td>
                45.584 [ms]
            </td>
            <td>
                24.199 [ms]
            </td>
            <td>
                17.395 [ms]
            </td>
        </tr>
        <tr>
            <td>
                <h5>Transfer rate</h5>
                higher is better
            </td>
            <td>
                464.69 [Kbytes/sec]
            </td>
            <td>
                890.26 [Kbytes/sec]
            </td>
            <td>
                1229.11 [Kbytes/sec]
            </td>
        </tr>
    </tbody>
</table>

<p>So what does all this mean? Well, the gist of it is that nginx is really, really god damned fast.
Embarrassingly fast. Note that I didn't say that Apache is slow. It's just not nearly as fast as nginx.
However, that being said, nginx is also not nearly as extensible as Apache is. The lack of support for things that are taken for granted nowadays (.htaccess files come to mind) can be a sticking point for use in a shared hosting environment. lighttpd doesn't support most of those "expected" bells and whistles either, and an argument could be made for such things being a waste of cycles…
But the bottom line is that such bells and whistles are <strong><em>expected</em></strong> to work in a shared hosting environment.</p>

<p>As for why the web hosting community at large drops Apache into place whenever we need an http server, I think it boils down to comfort and laziness. It's bundled with most linux distros by default, we know it because it's been around forever, and its behavior is predictable and familiar. It's become the Microsoft Office of http serving, for better or for worse, and it's not going anywhere any time soon. Even the 800lb gorilla behemoth that is Microsoft IIS has failed to dethrone Apache for sheer ubiquity. I think the performance or security conscious are always going to migrate towards something with better speed and less attack vectors, but the typical admin probably just won't care.</p>

<p>And me? For now I'm going to continue using Apache, while I work out if using nginx for any of the sites I host for people would be a problem. If I can get the rewrite rules taken care of, and work out simple site provisioning, I might well make the switch. nginx seems like a no-brainer on single site virtual servers, where resources are scarce, and Apache isn't getting any more svelte these days.</p>

<p>--</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Credit where credit is due. I couldn't have started to work out the nginx fastcgi configuration without help from <a href="http://blog.codefront.net/2007/06/11/nginx-php-and-a-php-fastcgi-daemon-init-script/" class="aga aga_186">this post</a> on <a href="http://blog.codefront.net/" class="aga aga_187">redemption in a blog</a>. <a href="#fnref:1" rev="footnote">↩</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2009/01/apache-admin-notes-raw-performance-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Regret</title>
		<link>http://ryanmckern.com/2009/01/software-regret/</link>
		<comments>http://ryanmckern.com/2009/01/software-regret/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 07:58:44 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[applications]]></category>
		<category><![CDATA[shit stirring]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=309</guid>
		<description><![CDATA[Posted in applicationsshit stirringAlex Payne of Twitter (the social network everyone but me uses) has posted a well structured list of software he's paid for but no longer users. I am in a similar boat thanks to sites like MacZot, where I have licenses for shit I will never, ever use again or for applications whose functionality was [...]]]></description>
			<content:encoded><![CDATA[<p>Alex Payne of <a href="http://twitter.com/" class="aga aga_210">Twitter</a> (the social network everyone but me uses) has posted a <a href="http://al3x.net/2008/12/24/paid-dont-use-anymore.html" class="aga aga_211">well structured list of software</a> he's paid for but no longer users. I am in a similar boat thanks to sites like <a href="http://maczot.com/" class="aga aga_212">MacZot</a>, where I have licenses for shit I will never, ever use again or for applications whose functionality was replaced by something better later on.</p>

<p><strong>Through <a href="http://maczot.com/" class="aga aga_213">MacZot</a></strong></p>

<ul>
<li><a href="http://www.splasm.com/audiobookbuilder/" class="aga aga_214">Audiobook Builder</a><br />
This came with some sort of bundle that I purchased, and apparently I kept no records of it.
I never used it, and I don't know that I'd ever want to, but I did technically pay for it.</li>
<li><a href="http://www.discoapp.com/" class="aga aga_215">Disco</a><br />
Somehow <a href="http://www.austinsarner.com/" class="aga aga_216">Austin <strong>motherfucking</strong> Sarner</a> horn-swaggled me again and took $10 of my money to 
contribute towards his inability to get a fucking hair cut. 
What was I thinking? Why did I buy this when <a href="http://burn-osx.sourceforge.net/" class="aga aga_217">Burn</a> does all of this shit for free using
the same publicly available OS X frameworks and with none of the lame bullshit UI?</li>
<li><a href="http://nitosoft.com/hawkeye.html" class="aga aga_218">Hawkeye</a>, <a href="http://roobasoft.com/rooSwitch/" class="aga aga_219">rooSwitch</a>, <a href="http://reinventedsoftware.com/together/" class="aga aga_220">KIT</a> (now called Together)<br />
Hawkeye suffers from one a pretty common problem in OS X, in that it wraps open source software in
a cocoa front-end and then charges you money for it. Since I don't give a fuck about DVD mastering, 
it was an unused license. rooSwitch swaps preferences. Neat trick, but useless for me.
However, in that same bundle I got Together (then called K.I.T., or Keep It Together), which
has actually been a pretty handy tool for sorting and managing the sheer volume of incidental fluff
I seem to invariably accumulate.</li>
<li><a href="http://www.koingosw.com/products/dataguardian.php" class="aga aga_221">Data Guardian</a><br />
This seemed handy at the time, worked and looked like shit when I paid for it, and now I cannot get the insanely
over-complicated license manager on the site to recognize that I ever paid for it. High regret over the
money I wasted on this Epic Fail application.</li>
<li><a href="http://ethreesoftware.com/directmail/index.php" class="aga aga_222">Direct Mail!</a><br />
Came in another bundle (maybe the one with Audiobook Builder?) and it's another application which does
something I just don't give a fuck about.</li>
</ul>

<p><span id="more-309"></span>
<strong>For Work</strong></p>

<ul>
<li><a href="http://www.mochasoft.dk/tn5250macx.htm" class="aga aga_223">Mocha MacX TN5250</a><br />
Purchased in my former life as an AS400 operator, I only regret that I never got my boss 
to comp back the $25 that I spent on this. It made absolutely every single night 
where I had to dial into work while on call so much easier. I haven't needed it for
almost 5 years, but I'd still use it again if I had to connect to another AS400.</li>
</ul>

<p><strong>For Myself</strong></p>

<ul>
<li><a href="http://acquisitionx.com/" class="aga aga_224">Acquisition</a><br />
God, who pays for file sharing? The developer (David Watanabe) is sort of an asshole,
my license was constantly corrupted/lost/missing whenever the software was upgraded,
and in retrospect, paying money to pirate shit is pretty fucking brazen. 
This was $25 I'd like back.</li>
<li><a href="http://www.macupdate.com/info.php/id/18114/catalog" class="aga aga_225">Catalog</a><br />
And here we come to the first application which <a href="http://www.austinsarner.com/" class="aga aga_226">Austin <strong>motherfucking</strong> Sarner</a> used
to bilk me out of my cash. I had a library of about 200 burned DVDs to archive, and this app was
the cheapest at the time. I paid for it, and like, 6 months later the last update was released and that
was that. Buggy, featureless, slow, and unstable, this application alone is grounds for me to
fight every single member of <a href="http://www.deliciousgeneration.com/" class="aga aga_227">The Delicious Generation</a> to the death.</li>
<li><a href="http://www.skti.org/skedit/" class="aga aga_228">SKEdit</a><br />
Sean Kelly made software so usable that Apple hired him. While this has been supplanted by
<a href="http://macromates.com/" class="aga aga_229">TextMate</a> and <a href="http://www.macrabbit.com/" class="aga aga_230">CSSEdit</a> in my work flow, I have no regrets over this. I used
it often and it had the best remote site editing available at the time.</li>
<li><a href="http://culturedcode.com/xyle/" class="aga aga_231">XyleScope</a><br />
This application is awesome, but a lot of the functionality I needed has since been replicated 
(and extended) in the equally awesome <a href="http://www.macrabbit.com/" class="aga aga_232">CSSEdit</a>, which I already had a license for.
I keep it around for the occasional use when CSSEdit falls down on the job (maybe twice a year?)
but overall it's just gathering the digital equivalent of dust (bitrot?).</li>
</ul>

<p>What's the take away? I guess if you walk away from this knowing that Austin Sarner is a sack of crap,
that MacZot pushes a lot of really mediocre shit with the occasional gem mixed in with the turd nuggets,
and that sometimes even good software gets replaced by better software, then you got the message.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2009/01/software-regret/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosting control panels</title>
		<link>http://ryanmckern.com/2008/06/hosting-control-panels/</link>
		<comments>http://ryanmckern.com/2008/06/hosting-control-panels/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 20:12:51 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[applications]]></category>
		<category><![CDATA[site meta]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[control panels]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[direct admin]]></category>
		<category><![CDATA[dovecot]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openpanel]]></category>
		<category><![CDATA[plesk]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[qmail]]></category>
		<category><![CDATA[vhcs]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/?p=54</guid>
		<description><![CDATA[Posted in applicationssite metaSeriously, I am learning to write code just so I can write a hosting control panel that doesn't make me violently angry when I try to use.]]></description>
			<content:encoded><![CDATA[<p>For about 6 years I've pondered the nature of web hosting control panels.
When I ran a web host, I played with <a href="http://www.cpanel.net/index.html" class="aga aga_233">CPanel</a>, <a href="http://www.parallels.com/plesk/" class="aga aga_234">Plesk</a>, and <a href="http://www.directadmin.com/" class="aga aga_235">DirectAdmin</a>. I've since dabbled in the open source waters of <a href="http://www.webmin.com/" class="aga aga_236">Webmin</a> and <a href="http://www.webmin.com/index6.html" class="aga aga_237">Usermin</a>, and of late I've even poked at <a href="http://www.vhcs.net/new/" class="aga aga_238">VHCS</a> and <a href="http://www.openpanel.com/" class="aga aga_239">OpenPanel</a>. I have, to date, not seen a single control panel that is precisely what I want (with DirectAdmin coming closest, and almost being a winner if not for its tiered reseller model aaaaannnd price tag). The real sticking points come down to the fact that I want:</p>

<ul>
<li><p>The control panel to write human-readable, reasonable configuration files: This is where Webmin falls down on the job. The config files are valid, but <em>god</em> are they awful to read.</p></li>
<li><p>No mention or hint of reseller anything: I just want administrative accounts running the show and hosted accounts with domains linked to them. Maybe some way for the hosted to monkey with the non-essentials of their own accounts. So on the grounds of overkill, pretty much every commercial panel fails my simple needs.</p></li>
<li><p>Email support for something that's not <strong>antiquated</strong>: some panels use <a href="http://www.qmail.org/" class="aga aga_240">qmail</a> (or some version therein, which hasn't had a proper update in years), some use <a href="http://www.sendmail.org/" class="aga aga_241">sendmail</a> (which is older than dirt and half as secure), and some use whatever the flavor of the month is (read: whatever ships on the supported OS distro). Me? I'm a <a href="http://www.postfix.org/" class="aga aga_242">postfix</a> guy. I'm not wedded to it per se, but it's updated, feature packed, works well and its configuration is only modestly arcane (qmail, by the way, fails due to having an arcane configuration file structure that doesn't plug into antivirus or spam very easily).</p>

<p>Regarding IMAP and POP support, I find that these panels often use their own "questionable" clients, or rely on <a href="http://www.courier-mta.org/" class="aga aga_243">courier</a>. There isn't really anything wrong with that, I just like <a href="http://www.dovecot.org/" class="aga aga_244">dovecot</a> more (to be fair, DirectAdmin supports dovecot last I checked).</p>

<p>I don't want to even get started with authorized SMTP support from these packages. <strong>God, the horror</strong>.</p></li>
<li><p>No byzantine dependencies: Don't tell me that I need some god awful fossilized encryption library or ldap to make this system work.</p>

<blockquote>
  <p>"Listen here, Mr. Control Panel, I don't use LDAP, and unless that is what 
  you're using as a backing store for your hosting information, neither should you."</p>
</blockquote></li>
</ul>

<p>To that end, I've begun playing with Ruby and <a href="http://yehudakatz.com/2008/05/12/by-thors-hammer/" class="aga aga_245">Thor</a> to whip up some simple add/delete scripts (with initial success!), and the biggest stumbling block I've encountered so far is just parsing out the accounts that exist.</p>

<p>The Apache configuration file format is… archaic in its own right, being neither XML nor attribute: value pairs. It's readable, but there is a reason that an entire perl package (HTTPD::Config, which may or may not exist anymore) was produced just to scrape httpd.conf files.</p>

<p>I fear that without stepping back a little and engineering a proper solution I'm just going to wind up reimplementing what I encountered when I did overnight support for Reality Check Networks (no link provided, because, well, you know. <em>Those dudes…</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2008/06/hosting-control-panels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fuck you, austin sarner</title>
		<link>http://ryanmckern.com/2008/02/fuck-you-austin-sarner/</link>
		<comments>http://ryanmckern.com/2008/02/fuck-you-austin-sarner/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 05:35:49 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[applications]]></category>
		<category><![CDATA[diatribes]]></category>
		<category><![CDATA[shit stirring]]></category>
		<category><![CDATA[austin sarner]]></category>
		<category><![CDATA[bilking]]></category>
		<category><![CDATA[catalog]]></category>
		<category><![CDATA[horseshit]]></category>
		<category><![CDATA[motherfucker]]></category>
		<category><![CDATA[phil ryu]]></category>
		<category><![CDATA[rage]]></category>
		<category><![CDATA[ripped off]]></category>
		<category><![CDATA[spite]]></category>
		<category><![CDATA[vitriol]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/diatribes/30/</guid>
		<description><![CDATA[Posted in applicationsdiatribesshit stirringMatt Ball has posted a sizable write-up which neatly sums up the rising tide of backlash against the so-called "Delicious Generation" of software developers currently bilking milking abandoning their installed base every 6-to-8 months. I had been working on something similar, though admittedly much, much less details when this dropped. My interest in this was [...]]]></description>
			<content:encoded><![CDATA[<p>Matt Ball has posted a <a href="http://mattballdesign.com/blog/2008/02/20/the-forgotten-delicious/" class="aga aga_258">sizable write-up</a> which neatly sums up the rising tide of backlash against the so-called "Delicious Generation" of software developers currently <del datetime="2008-02-24T04:49:57+00:00">bilking</del> <del datetime="2008-02-24T04:49:57+00:00">milking</del> abandoning their installed base every 6-to-8 months.</p>

<p>I had been working on something similar, though admittedly much, much less details when this dropped. My interest in this was strictly personal, as I've been bitten by <a href="http://www.austinsarner.com/" class="aga aga_259">Austin</a> <strong><a href="http://www.madebysofa.com/" class="aga aga_260">Motherfucking</a></strong> <a href="http://ilikeolives.com/" class="aga aga_261">Sarner</a> twice now: I am a recovering license holder for <a href="http://www.neometricsoftware.com/" class="aga aga_262">Catalog</a> and <a href="http://discoapp.com/" class="aga aga_263">Disco</a>.</p>

<p><span id="more-30"></span></p>

<p>Oh sure, when these apps were launching there was fanfare and banners and near-daily blog updates about the status of them… and the promises! Oh, the promises that were made to get my small amount of hard earned money. But where are the updates, bug fixes, or new versions of these simple apps? If they're abandoned, is there any notice that they're now orphans?</p>

<p>What really kills me about all of this is that there is a bounty of Mac developers who are producing amazingly well designed applications (that don't shit all over the <a href="http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/" class="aga aga_264">human interface guidelines</a>) at an astounding pace. Everything <a href="http://panic.com/" class="aga aga_265">Panic</a> puts out is quality, <a href="http://macromates.com/" class="aga aga_266">TextMate</a> rocks my face off, and <a href="http://macrabbit.com/cssedit/" class="aga aga_267">CSSEdit</a> is <strong>still</strong> the best style-sheet tool in OS X for the billionth year in a row.</p>

<p>--</p>

<p>Venting aside, I know that this generation specifically can produce talented, focused, creative software developers who are interested in writing good software, not in offering engineering services without actually being a trained engineer*.</p>

<p><a href="http://www.skti.org/skedit/" class="aga aga_268">SKEdit</a> is a wonderfully usable product, with regular updates, and a caring developer, and Sean Kelly is in the same age bracket as Austin and <a href="http://phillryu.com/" class="aga aga_269">Phil Ryu</a>; but no one ever lumps him in with them. Is it his lack of shameless self promotion (MacHeist, Disco, AppZapper, etc)?</p>

<p>Is it his ability to stick to a single project, and see it through to completion, or his talent for actually listening to what his customers want in the next version of SKEdit? Is he excluded for not spending his time on a flashy seizure inducing website or complicated marketing campaign? Maybe it's just because he's not a complete bag of douche like Phil Ryu is proving himself to be?</p>

<p>--</p>

<p>Oh, how I long to hear the rebuttals that the Douchebag Generation developers are going to wallpaper their blog-o-trons with. I suspect that when they are finally written, they too will have fancy shmancy custom designs, highlighting the subtle contrast between the babyshit green and pock-marked "too much Indian food" black in their endlessly spewing rivers of bullshit.</p>

<hr />

<p><em>*As of this evening, Austin Sarner's self-named site offers "human interface design and engineering".
As the friend of a number of real engineers (mechanical, electrical, computer, etc), I take umbrage on their behalf as "engineer" is a term that denotes serious andstrenuous training, study, and at least a modicum of testing before one earns the right to slap it willy-nilly on their resume.</em></p>

<p><em>Engineers build things that people depend on, not fluff people discard 4 months later.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2008/02/fuck-you-austin-sarner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSSEdit &amp; TextMate = L-O-V-E</title>
		<link>http://ryanmckern.com/2007/11/cssedit-textmate/</link>
		<comments>http://ryanmckern.com/2007/11/cssedit-textmate/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 05:59:16 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[applications]]></category>
		<category><![CDATA[coda]]></category>
		<category><![CDATA[cssedit]]></category>
		<category><![CDATA[panic]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[text editor]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://ryanmckern.com/applications/11/</guid>
		<description><![CDATA[Posted in applicationsI don't know if I've ever personally mentioned this and I know I'm years late to the party, but it bears repeating that CSSEdit and TextMate are two of the only applications I miss when I'm on a Linux machine. One could argue that there is always (re: eternally) going to be vi/vim or emacs, [...]]]></description>
			<content:encoded><![CDATA[<p>I don't know if I've ever personally mentioned this and I know I'm <strong>years</strong> late to the party, but it bears repeating that <a href="http://macrabbit.com" class="aga aga_277">CSSEdit</a> and <a href="http://macromates.com" class="aga aga_278">TextMate</a> are two of the only applications I miss when I'm on a Linux machine. One could argue that there is always (re: eternally) going to be vi/vim or emacs, but in my opinion there is no beating the combination of these two applications for web development or layout work.</p>

<p><span id="more-11"></span></p>

<p>CSSEdit has the most powerful and well thought-out interface I've ever seen for working with stylesheet properties, and its source-and-visual CSS editor is rightfully award-winning. If you've got to spend more than an hour a week in stylesheets, CSSEdit is the only reasonable tool for the job.</p>

<p>If you're more of a codemonkey, TextMate is the darling of both the Unix refugee camp that took shelter in OS X recently, as well as the <a href="http://www.ruby-lang.org/en/" class="aga aga_279">Ruby</a> and <a href="http://rubyonrails.com/" class="aga aga_280">Rails</a> development communities. It's sort of the best damned text-and-code editor ever produced for the MacOS, with the possible exception of the long-time heavyweight, <a href="http://www.barebones.com/" class="aga aga_281">BBEdit</a>. The <a href="http://wiki.macromates.com/Main/Bundles" class="aga aga_282">bundles</a> are well structured, and support almost any language or variant you can think of.</p>

<p>If you're in the market for power editors, you could do worse than giving these two a spin. Of course, if you're the "all in one" sort, there is always <a href="http://www.panic.com/coda/" class="aga aga_283">Coda</a>, by the boys at Panic. While it was slightly raw the last time I used it, if I hadn't already owned a license for TextMate and CSSEdit when it came out I'd have probably purchased it. It's improved considerably, and it is under steady development, but it is extremely web-centric (see the supported languages) and that might be a drawback for some people.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanmckern.com/2007/11/cssedit-textmate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 90/135 queries in 0.056 seconds using disk: basic
Object Caching 2884/2999 objects using disk: basic

Served from: ryanmckern.com @ 2012-02-08 20:48:59 -->
