<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Craptasm!</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/" />
    <link rel="self" type="application/atom+xml" href="http://www.craptasm.org/atom.xml" />
    <id>tag:www.craptasm.org,2008-01-02://3</id>
    <updated>2008-03-15T03:21:08Z</updated>
    <subtitle>Wherein the pathetic  world of Technology is mocked.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>Web 3.0 Might Not Suck Ass, Says Web Inventor</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/2008/03/web-30-might-not-suck-ass-says-web-inventor.html" />
    <id>tag:www.craptasm.org,2008://3.26</id>

    <published>2008-03-13T03:18:33Z</published>
    <updated>2008-03-15T03:21:08Z</updated>

    <summary><![CDATA[Fusion-Powered, Too Tim Berners-Lee is written up today, spewing about the miracle-to-be, the Semantic Web. This from the visionary that brought us HTTP and HTML, the twin papier-m&acirc;ch&eacute; columns upon which the mighty WWW is built. Here&#8217;s what&#8217;s coming: Using...]]></summary>
    <author>
        <name></name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.craptasm.org/">
        <![CDATA[<p><strong>Fusion-Powered, Too</strong></p>

<p>Tim Berners-Lee is <a href="http://technology.timesonline.co.uk/tol/news/tech_and_web/article3532832.ece">written up</a> today, spewing about the miracle-to-be, the <a href="http://en.wikipedia.org/wiki/Semantic_web#An_unrealized_idea">Semantic Web</a>. </p>

<p>This from the <a href="http://en.wikiquote.org/wiki/This_is_Spinal_Tap#Derek_Smalls">visionary</a> that brought us HTTP and HTML, the twin papier-m&acirc;ch&eacute; columns upon which the mighty WWW is built. Here&#8217;s what&#8217;s coming:</p>

<blockquote>
  <p><em>Using the semantic web, you can build applications that are much more powerful than anything on the regular web,</em></p>
</blockquote>

<p>Sure you can buddy. Internet Explorer <em>eight</em> still supports <a href="]http://en.wikipedia.org/wiki/Quirks_Mode">quirks mode</a>, but you can get the whole freaking world to mark the <em>concepts</em> in their text so everything links together perfectly.</p>

<blockquote>
  <p><em>Imagine if two completely separate things — your bank statements and your calendar&mdash;spoke the same language and could share information with one another.</em></p>
</blockquote>

<p>Uh, would that be Same-Language 1.0, 2.0, 3.0, 3.2, 4.0, or Same-Language 4.01 Transitional? There I go again; quibbling. Lets talk about the magic!</p>

<blockquote>
  <p><em>You could drag one on top of the other and a whole bunch of dots would appear showing you when you spent your money.</em></p>
</blockquote>

<p>Handy! But wait, there&#8217;s more:</p>

<blockquote>
  <p><em>If you still weren&#8217;t sure of where you were when you made a particular transaction,</em></p>
</blockquote>

<p>Because you forgot where &#8220;Six Flgs Mgc Mtn&#8221; is.</p>

<blockquote>
  <p><em>you could then drag your photo album on top of the calendar,</em></p>
</blockquote>

<p>And the&hellip;</p>

<ul>
<li>Calendar would show you when you bought your digital camera? </li>
<li>Photo album would show you every picture you took on this day of the week?</li>
<li>Calendar and photo album would morph into hot lesbians and start making out?</li>
</ul>

<p>No?</p>

<blockquote>
  <p><em>and be reminded that you used your credit card at the same time you were taking pictures of your kids at a theme park.</em> <strong><em>So you would know not to claim it as a tax deduction.</em></strong></p>
</blockquote>

<p>You really can&#8217;t make this stuff up. Sir Tim, apparently, has rolled and smoked his own colossal, leafy, reputation. </p>

<p><strong>Reality Calling</strong></p>

<ol>
<li>The magic of the web is that any bonehead with a text editor and an IP address can make it go. </li>
<li>The web is built on incompatibility, because it&#8217;s built by the above-mentioned boneheads, who couldn&#8217;t stick to a standard if their lives depended on it.</li>
<li>The semantic web would have to be built on compatibility. </li>
<li>Semantic web, DOA.</li>
</ol>

<p>The good news, of course, is that Web 4.0 (&#8220;the Emetic Web&#8221;) is <em>juuuuust</em> around the corner.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>&quot;Airstrike?&quot;</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/2008/03/airstrike.html" />
    <id>tag:www.craptasm.org,2008://3.25</id>

    <published>2008-03-04T22:02:20Z</published>
    <updated>2008-03-04T23:55:30Z</updated>

    <summary><![CDATA[Here, take the radio. If I don&#8217;t get back by 2200 hours, you call in the airstrike. &mdash;Capt. Willard, Apocalypse Now Java is apparently losing tech-book market share. The implication is that geeks are losing interest in the language. I...]]></summary>
    <author>
        <name></name>
        
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.craptasm.org/">
        <![CDATA[<p><em>Here, take the radio. If I don&#8217;t get back by 2200 hours, you call in the airstrike.</em> &mdash;<a href="http://corky.net/scripts/apocalypseNow.html">Capt. Willard, Apocalypse Now</a></p>

<p>Java is apparently <a href="http://blogs.cnet.com/8301-13505_1-9884500-16.html?part=rss&amp;subj=news&amp;tag=2547-1_3-0-20">losing tech-book market share</a>. The implication is that geeks are losing interest in the language. I think it&#8217;s true. Java looked pretty good a few years ago, when the main competition was C and C++. Nowadays, not so much.</p>

<p>But it doesn&#8217;t end with the language. Some of the frameworks out there for doing important things in Java are just terrible. From the article:</p>

<blockquote>
  <p><em>Still, it&#8217;s undeniable that the Web and its dynamic programming languages is upstaging Java.</em></p>
</blockquote>

<p>Uh, yeah. Rather than <a href="http://www.regdeveloper.co.uk/2008/03/04/sun_python/">hiring Python guys</a> and <a href="http://openjdk.java.net/projects/mlvm/">making the VM language-agnostic</a>, Sun should call in simultaneous airstrikes on the developers of <a href="http://struts.apache.org/">Struts</a>. </p>

<p>Struts is the dominant &#8220;framework&#8221; for Java web app development, so when an unsuspecting project picks a web app framework, Struts is the default.</p>

<p>Struts is like, well, &hellip; you know the look a dog gets when you make funny noises at it? That &#8220;what the f**k&#8221; look? <a href="http://youtube.com/watch?v=K1GjyrQiSRs">That&#8217;s gonna be your face</a> when you use Struts for a couple of days. </p>

<p>&#8220;Why,&#8221; you&#8217;ll ask yourself, &#8220;are there so many moving parts?&#8221; &#8220;Howse come,&#8221; you may well wonder, &#8220;does my Struts config file look like a core dump?&#8221;</p>

<p>Well, bunky, I&#8217;m here to tell ya. It&#8217;s not because you got stupid all of a sudden. </p>

<p>Version 1 of Struts sucked so hard that the developers decided to bag it wholesale, and to re-badge <a href="http://www.opensymphony.com/webwork/">another web-app framework</a> as &#8220;Struts 2.&#8221; A slathering of Struts 1 compatibility lubricant is added to make the &#8220;transition&#8221; as painless as possible. </p>

<p>Like XML? Like typing? Well then, Welcome to Struts Country, coordinates 090264712.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Project Smells: The Nine Billion Names of Order Manager Pro Gold</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/2008/02/project-smells-the-nine-billion-names-of-order-manager-pro-g.html" />
    <id>tag:www.craptasm.org,2008://3.24</id>

    <published>2008-02-29T03:46:12Z</published>
    <updated>2008-02-29T05:23:00Z</updated>

    <summary><![CDATA[&#8220;Look,&#8221; whispered Chuck, and George lifted his eyes to heaven. (There is always a last time for everything.) Overhead, without any fuss, the stars were going out. &mdash;The Nine Billion Names of God, by Arthur C. Clarke OK, it&#8217;s not...]]></summary>
    <author>
        <name></name>
        
    </author>
    
    <category term="arthur_c_clarke" label="arthur_c_clarke" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="phb" label="phb" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="project_smells" label="project_smells" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.craptasm.org/">
        <![CDATA[<p><em>&#8220;Look,&#8221; whispered Chuck, and George lifted his eyes to heaven. (There is always a last time for everything.)
Overhead, without any fuss, the stars were going out.</em> &mdash;<a href="http://en.wikipedia.org/wiki/The_Nine_Billion_Names_of_God">The Nine Billion Names of God, by Arthur C. Clarke</a></p>

<p>OK, it&#8217;s not <em>that</em> bad, but I have noticed something weird on a project I joined a few weeks ago: </p>

<p>Nobody knows what it&#8217;s called. </p>

<p>In the short time I&#8217;ve been on the project, I&#8217;ve heard it called four different things. I&#8217;m not exactly sure what this means, but I have a feeling that it&#8217;s not something good. </p>

<p>In particular, <a href="http://en.wikipedia.org/wiki/Pointy_Haired_Boss">PHB</a> doesn&#8217;t call it what &#8220;everyone else&#8221; does. Of course, everyone else doesn&#8217;t know what to call it either. </p>

<p>For myself, I don&#8217;t call it anything. I don&#8217;t need to call it anything. I just need to know what feature I&#8217;m supposed to be working on, and what it&#8217;s supposed to do.</p>

<p>If you include whatever the users call it, there may be five names. I&#8217;m not sure, though, since I&#8217;ve never met one.</p>

<p>Sniff.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>RAID: Benefit or Hazard?</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/2008/01/raid-benefit-or-hazard.html" />
    <id>tag:www.craptasm.org,2008://3.22</id>

    <published>2008-01-20T22:30:42Z</published>
    <updated>2008-01-21T18:34:00Z</updated>

    <summary><![CDATA[Replicants are like any other machine. They&#8217;re either a benefit or a hazard. If they&#8217;re a benefit, it&#8217;s not my problem. &mdash;Deckard, Blade Runner A Software Update The Software Update window popped up on my Mac Pro today, with iTunes...]]></summary>
    <author>
        <name></name>
        
    </author>
    
    <category term="osxappleraid" label="osx apple raid" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.craptasm.org/">
        <![CDATA[<p><em>Replicants are like any other machine. They&#8217;re either a benefit or a hazard. If they&#8217;re a benefit, it&#8217;s not my problem.</em> &mdash;<a href="http://en.wikiquote.org/wiki/Blade_Runner#Deckard">Deckard, Blade Runner</a></p>

<p><strong>A Software Update</strong></p>

<p>The Software Update window popped up on my Mac Pro today, with iTunes and Quicktime updates. I installed and rebooted, then&hellip; nothing. It just sat there with the grey spinner going. When this happens (which is a lot), I tell myself:</p>

<blockquote>
  <p><em>Apple sucks. They make the hardware <strong>and</strong> the software and they can&#8217;t even reboot without a hang.</em></p>
</blockquote>

<p>Then I cycle power, and it boots. Except this time. </p>

<p><strong>Welcome to Hell</strong></p>

<p>This time, cycling power did nothing. Rebooting in safe mode (Shift key) did nothing. Rebooting in choose-startup-disk mode (Option key) did nothing. Repeating the above with a wired Apple keyboard did nothing. Repeating the above with all external devices disconnected did nothing. Oh shit.</p>

<p><strong>Getting a Clue</strong></p>

<p>After about 10 minutes of fooling around, I got lucky and stumbled onto this series of steps:</p>

<ol>
<li>Plug in a wired mouse.</li>
<li>Reboot in eject-cd mode (hold mouse button down).</li>
<li>Stick in the OS X install disk.</li>
<li>Reboot in choose-startup-disk mode (Option key).</li>
<li>It works. Notice that your boot choices include, as usual, (a) the RAID mirror, (b) the second slice of the RAID mirror, but not (c) the first slice of the RAID mirror. Grunt knowingly.</li>
<li>Select the RAID mirror, boot. Cheer.</li>
<li><span class="mt-enclosure mt-enclosure-image"><a href="http://www.craptasm.org/degraded-raid-mirror-in-disk-utility1.html" onclick="window.open('http://www.craptasm.org/degraded-raid-mirror-in-disk-utility1.html','popup','width=880,height=724,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://www.craptasm.org/assets_c/2008/01/degraded-raid-mirror-in-disk-utility-thumb-128x105.png" width="128" height="105" alt="degraded-raid-mirror-in-disk-utility.png" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></a></span>Open <code>Disk Utility.app</code>, and note that the RAID mirror is &#8220;Degraded,&#8221; and that &#8220;disk0s2&#8221; has &#8220;Failed.&#8221;</li>
<li>Select the (degraded) RAID mirror and do a &#8220;Verify Disk.&#8221; It passes. Whew.</li>
</ol>

<p>Well, now we&#8217;re getting somewhere. I&#8217;ve got a bad drive. I wonder if my Mac Pro&#8217;s history of dodgy reboot performance could be related. But I digress. </p>

<p><strong>SMART Isn&#8217;t</strong></p>

<p>I forgot to mention Step 9: Check <a href="http://www.versiontracker.com/dyn/moreinfo/macosx/23232">SMARTReporter</a>&#8217;s log file. You see, campers, modern hard drives support a &#8220;standard&#8221; called <a href="http://en.wikipedia.org/wiki/S.M.A.R.T.">SMART</a>, which <em>stands for</em> &#8220;Self-Monitoring, Analysis, and Reporting Technology,&#8221; but as we&#8217;ll soon see, <em>means</em> &#8220;Worse Than Worthless False Confidence Generator.&#8221;</p>

<p>Anyway, SMARTReporter&#8217;s menu bar display says everything is grrrrrreat. And its log file seconds the motion: </p>

<p><strong><code>2008-01-20 12:29:17.721 SMARTReporter[466:20b] Drive: 'Hitachi HDS725050KLA360 ( | KRVN27ZAK612ZF | disk0)' Status: SMARTOK (S.M.A.R.T. condition not exceeded, drive OK)</code></strong></p>

<p>Mind you, I&#8217;m not slamming SMARTReporter. I&#8217;m slamming the apparently-pathetic implementation of SMART on my Hitachi Deskstar HDS725050KLA360. A drive for which I paid too much money because, you see, it&#8217;s genuine Apple factory equipment. Which leads us to the happy part of this story, my call to AppleCare.</p>

<p><strong>AppleCare Saves the Day</strong></p>

<p>At this stage of the game, I&#8217;m feeling pretty good. I have a bad drive, but I&#8217;ve also got AppleCare, so my drives are covered (which is why I paid too much for Apple drives in the first place).</p>

<p>I call 800-275-2273, listen to hip music for 10 minutes, then get some exotic sounding guy. Despite the accent, I&#8217;m pretty sure he&#8217;s in California rather than Bangalore. </p>

<p>I spew my sad story. He counters with &#8220;have you tried reinstalling the operating system?&#8221; OK, at this point, I&#8217;m priming myself for some serious idiot-destroying. I&#8217;m gonna make him wish he&#8217;d never been born. Same for the five other guys I&#8217;m gonna have to talk to before they do the right thing.</p>

<p>But I&#8217;m cool. I repeat that this is a drive failure. That the array is &#8220;degraded,&#8221; and that the drive has &#8220;failed.&#8221; Immediately, he gets it, and three minutes later, a new drive is on its way from Apple to yours truly. </p>

<p>Wow. I am happy, again, that I bought an Apple. </p>

<p><strong>OS X Blew It</strong></p>

<p>I&#8217;m using OS X&#8217;s software implementation of RAID. It seems to work just fine. But if you&#8217;ve ever been burned by a RAID setup, you know that the rubber meets the road when something goes wrong. In this case, OS X&#8217;s software RAID totally blew it. </p>

<p>Imagine that you&#8217;re a software implementation of RAID. You notice that one of the slices of a RAID-1 array refuses to come online. How would you handle this error? If you answered &#8220;I&#8217;d hang the whole freaking operating system&#8221; you may have a future at Apple writing device drivers. If you answered &#8220;I&#8217;d boot anyway, and display an error dialog,&#8221; go to the head of the class.</p>

<p>Extra credit if you write a description of the problem to a log file. Which OS X didn&#8217;t. The logic here is that, if the computer won&#8217;t boot, there&#8217;s no way to read a log file anyway. Joke!</p>

<p><strong>A Benefit or a Hazard?</strong></p>

<p>By using a RAID mirror, I basically asked for this problem. A two-drive mirror is twice as likely to lose a drive as a single drive setup. On the bright side, the odds of losing two drives at once is the square of the odds of losing a single drive. And losing two drives at once is the only scenario that matters. </p>

<p>Unless you count the losing-your-last-drive-before-fedex-delivers-the-replacement scenario. That&#8217;s a bad one :-)</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Yahoo! Sucks!</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/2008/01/yahoo-sucks.html" />
    <id>tag:www.craptasm.org,2008://3.8</id>

    <published>2008-01-04T20:54:02Z</published>
    <updated>2008-01-05T00:49:24Z</updated>

    <summary>Every time I deal with Yahoo!, I understand, again, how Google became #1. I just submitted this blog at Yahoo! Site Explorer. After you click &#8220;Submit URL&#8221;, you see this depressing message: Thank you! Your URL has been added to...</summary>
    <author>
        <name></name>
        
    </author>
    
    <category term="sucks" label="sucks" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yahoo" label="yahoo" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.craptasm.org/">
        <![CDATA[<p>Every time I deal with Yahoo!, I understand, again, how Google became #1.</p>

<p>I just submitted this blog at <a href="https://siteexplorer.search.yahoo.com/submit">Yahoo! Site Explorer</a>. After you click &#8220;Submit URL&#8221;, you see this depressing message:</p>

<p><strong>Thank you! Your URL has been added to our list of URLs to crawl. Please expect a delay of several weeks before your URL is crawled.</strong></p>

<p>OK, thank you, Yahoo! State Commissariat on Series of Pipes of Internet. That&#8217;s exactly what you would expect from a used-to-be in web search. But it gets worse. Below the aforementioned declaration of mediocrity is this little gem:</p>

<p><strong><a href="http://rds.yahoo.com/search/submit/PI/*-http://searchmarketing.yahoo.com/srchsb/sse.php?mkt=us">Search Submit:</a> <br/> 
- Guaranteed inclusion in Yahoo! Search index. <br/>
- Frequent refresh-every 48 hours. <br/>
- Reporting to track and optimize performance. <br/>
- Ranking based on relevance.</strong></p>

<p>If you want Yahoo! to not-suck, it&#8217;ll cost you $49 per URL per year:</p>

<p><strong>Search Submit Basic enables you to submit up to 5 URLs per domain for inclusion in non-sponsored search results on Yahoo!, and other portals such as AltaVista and AllTheWeb.</strong></p>

<p>Lets see, &#8220;guaranteed inclusion&#8221; in the Yahoo! index for fifty bucks. I wonder what part of &#8220;non-sponsored&#8221; has Yahoo! baffled.</p>

<p>Of course, there&#8217;s more.</p>

<p>If you&#8217;d like to get boned extra-hard <em>and</em> further corrupt the integrity of Yahoo!&#8217;s search results, there&#8217;s <a href="http://searchmarketing.yahoo.com/srchsb/ssp.php">Search Submit Pro</a>:</p>

<p><strong>Search Submit Pro gives you the tools to fine-tune your search marketing strategy. Expand your presence in the algorithmic search results, gain more control over the way your Web content is presented, and gain insight into user behavior to drive more sales.</strong></p>

<p>I love the part about &#8220;expanding your presence in the algorithmic search results.&#8221; It sounds so much nicer than &#8220;our search results are for sale.&#8221;</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Apple Bug Reporter Bugs</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/2008/01/apple-bug-reporter-bugs.html" />
    <id>tag:www.craptasm.org,2008://3.6</id>

    <published>2008-01-03T19:35:06Z</published>
    <updated>2008-01-03T20:46:12Z</updated>

    <summary>Apple&#8217;s Bug Reporter pegs the irony meter nearly every time I use it. This time, I can&#8217;t log in. But wait, it gets better. This apparently happens so much that the login screen contains a link to another web app...</summary>
    <author>
        <name></name>
        
    </author>
    
    <category term="apple" label="apple" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="irony" label="irony" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.craptasm.org/">
        <![CDATA[<p>Apple&#8217;s <a href="https://bugreport.apple.com/">Bug Reporter</a> pegs the irony meter nearly every time I use it. </p>

<p>This time, I can&#8217;t log in.</p>

<p>But wait, it gets better. This apparently happens so much that the login screen contains a link to <em>another</em> web app that tattles on the Bug Reporter:</p>

<p><strong>*ADC Members: <a href="http://developer.apple.com/bugreporter/noconnect.html">Report Login Issue</a></strong></p>

<p>Fortunately, the tattler is more reliable than the Bug Reporter itself. That&#8217;s because it doesn&#8217;t use Web Objects, or because it&#8217;s not a piece of crap, or both.</p>

<p>Once you log into the Bug Reporter, and actually try to create a bug, you&#8217;re in for another treat. When you try to attach a file, this is the usual response:</p>

<p><strong>An error occurred while attempting to reach the enclosure database. You may submit this report, but attachments will be not saved. Please either upload your files at another time, or send them to devbugs@apple.com referencing the corresponding Bug ID number.</strong></p>

<p>You read right, folks. Uploading the attachment fails so often that the error message includes instructions for <em>mailing the attachment to a human being who will attach the file manually</em>. </p>

<p>There&#8217;s no villains here&#8230; it&#8217;s just&#8230; sad.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Rails and MySQL on Leopard Server</title>
    <link rel="alternate" type="text/html" href="http://www.craptasm.org/2008/01/rails-and-mysql-on-leopard-server.html" />
    <id>tag:www.craptasm.org,2008://3.5</id>

    <published>2008-01-03T02:10:56Z</published>
    <updated>2008-01-03T20:45:31Z</updated>

    <summary>Leopard Server ships with MySQL and Ruby on Rails. So far, so good. But when you fire up a Rails app that uses MySQL: $ ruby script/server and access something that hits the database, you get this: WARNING: You&apos;re using...</summary>
    <author>
        <name></name>
        
    </author>
    
    <category term="leopard" label="leopard" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mac" label="mac" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mysql" label="mysql" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="osx" label="osx" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rails" label="rails" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ruby" label="ruby" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.craptasm.org/">
        <![CDATA[<p>Leopard Server ships with MySQL and Ruby on Rails. So far, so good.<br>
But when you fire up a Rails app that uses MySQL:</p>

<pre><code>$ ruby script/server
</code></pre>

<p>and access something that hits the database, you get this:</p>

<pre><code>WARNING: You're using the Ruby-based MySQL 
library that ships with Rails. This library is not suited 
for production. Please install the C-based MySQL library
instead (gem install mysql).
</code></pre>

<p>The fun has just begun. Try to install the <code>mysql</code> gem (enter &#8220;3&#8221; and press return when prompted):</p>

<pre><code>$ sudo gem install mysql
Select which gem to install for your platform (universal-darwin9.0)
 1. mysql 2.7.3 (mswin32)
 2. mysql 2.7.1 (mswin32)
 3. mysql 2.7 (ruby)
 4. mysql 2.6 (ruby)
 5. Skip this gem
 6. Cancel installation
&gt; 3
</code></pre>

<p>Congratulations, the install has failed:</p>

<pre><code>Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.
</code></pre>

<p>Your next move is to Google for a solution for a couple of hours. Yes, other people are having this problem, and no, none of them are running Leopard Server, so their solutions won&#8217;t work. What next?</p>

<ol>
<li><p>Submit a bug to Apple making this series of irrefutable points:</p>

<ul>
<li>Leopard Server ships with Rails.</li>
<li>Leopard Server ships with MySQL.</li>
<li>Leopard Server is a production-ready operating system.</li>
<li>Rails, as shipped in Leopard Server, is not production-ready (see previous item).</li>
</ul></li>
<li><p>Receive a (timely, thank you Apple) response reminding you that the MySQL client libraries don&#8217;t ship with Leopard Server, so why don&#8217;t you install them, per <a href="http://docs.info.apple.com/article.html?artnum=306782">this article</a>?</p></li>
<li><p>Having installed the client libraries, spend another hour on Google until you figure out the magic:</p>

<pre><code>$ sudo gem install mysql -- \
  --with-mysql-include=/usr/include/mysql \
  --with-mysql-lib=/usr/lib/mysql
</code></pre>

<p>Enter &#8220;3&#8221; again, and you&#8217;ll see:</p>

<pre><code>Building native extensions.  This could take a while...
Successfully installed mysql-2.7
</code></pre></li>
</ol>

<p>Ah yes. The pain, she has go away.</p>
]]>
        

    </content>
</entry>

</feed>
