<?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>Seeping Matter &#187; Mac</title>
	<atom:link href="http://www.mvryan.org/tag/mac/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mvryan.org</link>
	<description>Tidbits about cars, auto racing, music, motocross, football, video games, investing, corporate America, politics...</description>
	<lastBuildDate>Sat, 04 Feb 2012 06:26:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tim Taylor Would Be So Proud</title>
		<link>http://www.mvryan.org/2011/01/tim-taylor-would-be-so-proud/</link>
		<comments>http://www.mvryan.org/2011/01/tim-taylor-would-be-so-proud/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 22:32:59 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.mvryan.org/?p=1030</guid>
		<description><![CDATA[Check out this little laptop stand I made out of one of our many post-Christmas cardboard boxen: It make look simple, but I assure you it is not. As Sheryl Crow so wisely said, &#8220;It&#8217;s hard to make a stand.&#8221;]]></description>
			<content:encoded><![CDATA[<p>Check out this little laptop stand I made out of one of our many post-Christmas cardboard boxen:</p>
<div class="wp-caption aligncenter" style="width: 510px"><a title="Sweet Laptop Stand by alien.czar, on picasaweb" href="http://lh6.ggpht.com/_sEliw-AG3RQ/TSjk1hU7RfI/AAAAAAAABS8/6Zu3q5X7by4/s912/WP_000000%20%282%29.jpg" onclick="pageTracker._trackPageview('/outgoing/lh6.ggpht.com/_sEliw-AG3RQ/TSjk1hU7RfI/AAAAAAAABS8/6Zu3q5X7by4/s912/WP_000000_20_282_29.jpg?referer=');"><img src="http://lh6.ggpht.com/_sEliw-AG3RQ/TSjk1hU7RfI/AAAAAAAABS8/6Zu3q5X7by4/s912/WP_000000%20%282%29.jpg" alt="Sweet Laptop Stand" width="500" /></a><p class="wp-caption-text">Sweet Laptop Stand</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a title="Laptop Stand - In Action by alien.czar, on picasaweb" href="http://lh5.ggpht.com/_sEliw-AG3RQ/TSjk1wCRp4I/AAAAAAAABTA/7_aXdVgeeEk/s912/WP_000001%20%282%29.jpg/" onclick="pageTracker._trackPageview('/outgoing/lh5.ggpht.com/_sEliw-AG3RQ/TSjk1wCRp4I/AAAAAAAABTA/7_aXdVgeeEk/s912/WP_000001_20_282_29.jpg/?referer=');"><img src="http://lh5.ggpht.com/_sEliw-AG3RQ/TSjk1wCRp4I/AAAAAAAABTA/7_aXdVgeeEk/s912/WP_000001%20%282%29.jpg" alt="Laptop Stand - In Action" width="500" /></a><p class="wp-caption-text">Laptop Stand - In Action</p></div>
<p>It make <em>look</em> simple, but I assure you it is not.  As Sheryl Crow so wisely said, &#8220;It&#8217;s hard to make a stand.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2011/01/tim-taylor-would-be-so-proud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birds, Bees, and MBPs</title>
		<link>http://www.mvryan.org/2010/06/birds-bees-and-mbps/</link>
		<comments>http://www.mvryan.org/2010/06/birds-bees-and-mbps/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 22:58:19 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=890</guid>
		<description><![CDATA[When a mommy and a daddy love each other very very much, like my wife and I, sometimes they have a life-changing event which starts with a very simple conversation, like, &#8220;Honey, do you think we should get a new MacBook Pro?&#8221; At least, that&#8217;s what happened in our family. One night, we were just [...]]]></description>
			<content:encoded><![CDATA[<p>When a mommy and a daddy love each other very very much, like my wife and I, sometimes they have a life-changing event which starts with a very simple conversation, like, &#8220;Honey, do you think we should get a new MacBook Pro?&#8221;</p>
<p>At least, that&#8217;s what happened in our family.</p>
<p>One night, we were just laying there together in bed.  All the kids were asleep.  I turned toward my wife and softly said, &#8220;What would you think if we got a new MacBook Pro?&#8221;</p>
<p>She got a bit of a twinkle in her eye as she turned and snuggled in toward me.  &#8221;Why do you want one?&#8221;</p>
<p>&#8220;Well, I&#8217;ve been thinking, pretty much it is time for me to get a decent laptop.  Even though I don&#8217;t want to spend the money, and even though we are trying to do the <a href="http://www.mvryan.org/2010/01/doing-the-dave-ramsey-dance/" onclick="pageTracker._trackPageview('/outgoing/www.mvryan.org/2010/01/doing-the-dave-ramsey-dance/?referer=');">Dave Ramsey Dance</a>, I think it is holding my career back.  I don&#8217;t think it is wise to continue without one.  I think it is an investment that we need to make in my career,&#8221; I said in the most romantic way possible.</p>
<p>She kind of bit her lower lip, then said, &#8220;Well, why are you thinking of a MacBook Pro?&#8221;</p>
<p>&#8220;Their laptops are simply the best hardware available,&#8221; I explained seductively.  &#8221;I would dual-boot it with Boot Camp so it ran Snow Leopard in one partition and Windows 7 Ultimate in the other partition.  Then I could create a domain-joined account in the Windows 7 partition with a separate virtual drive that holds all of the company data that I can protect with BitLocker.  That way I can use my laptop to work remotely and also have excellent Mac hardware.  I&#8217;m getting excited just thinking about it.&#8221;</p>
<p>&#8220;Oooooh, baby, I love it when you talk to me like that.  Let&#8217;s do it!&#8221; she said.  So with that, we turned off the lights and went to sleep.</p>
<p>Some time later, the long-awaited day came.  I was at work when my wife called.  &#8221;Honey, it is time,&#8221; she said.  &#8221;The MacBook Pro is here.&#8221;</p>
<p>I rushed home to this:</p>
<div class="wp-caption aligncenter" style="width: 510px"><a title="IMG_1818 by mvryan, on Flickr" href="http://www.flickr.com/photos/mvryan/4697247225/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/mvryan/4697247225/?referer=');"><img src="http://farm2.static.flickr.com/1295/4697247225_11559c00f4.jpg" alt="IMG_1818" width="500" height="333" /></a><p class="wp-caption-text">They are prettier after they are born.</p></div>
<p>I must admit it didn&#8217;t look like much.  But I know that true beauty lies within.  Within the box, I mean.</p>
<p>Sure enough, we didn&#8217;t have to wait long before the laptop started making its way out.</p>
<div class="wp-caption aligncenter" style="width: 510px"><a title="IMG_1819 by mvryan, on Flickr" href="http://www.flickr.com/photos/mvryan/4697248241/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/mvryan/4697248241/?referer=');"><img src="http://farm2.static.flickr.com/1305/4697248241_32514fe06c.jpg" alt="IMG_1819" width="500" height="333" /></a><p class="wp-caption-text">It&#39;s crowning!</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a title="IMG_1820 by mvryan, on Flickr" href="http://www.flickr.com/photos/mvryan/4697880942/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/mvryan/4697880942/?referer=');"><img src="http://farm5.static.flickr.com/4037/4697880942_dfe9115875.jpg" alt="IMG_1820" width="500" height="333" /></a><p class="wp-caption-text">When they first come out they have this weird whitish covering on them.</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a title="IMG_1821 by mvryan, on Flickr" href="http://www.flickr.com/photos/mvryan/4697881954/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/mvryan/4697881954/?referer=');"><img src="http://farm5.static.flickr.com/4005/4697881954_e511ae6be7.jpg" alt="IMG_1821" width="500" height="333" /></a><p class="wp-caption-text">Now THAT&#39;S a good looking laptop!  He (she) is so handsome (pretty)!</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><a title="IMG_1822 by mvryan, on Flickr" href="http://www.flickr.com/photos/mvryan/4697877820/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/mvryan/4697877820/?referer=');"><img src="http://farm5.static.flickr.com/4048/4697877820_e3940778b8_b.jpg" alt="IMG_1822" width="500" /></a><p class="wp-caption-text">It&#39;s a boy (I guess)!</p></div>
<p>We decided to name him Steve, <a href="http://www.mvryan.org/2008/07/mac-os-x-installation-tip/" onclick="pageTracker._trackPageview('/outgoing/www.mvryan.org/2008/07/mac-os-x-installation-tip/?referer=');">for obvious reasons</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2010/06/birds-bees-and-mbps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How I Blew Out My Knee Upgrading To Windows 7</title>
		<link>http://www.mvryan.org/2009/11/how-i-blew-out-my-knee-upgrading-to-windows-7/</link>
		<comments>http://www.mvryan.org/2009/11/how-i-blew-out-my-knee-upgrading-to-windows-7/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 06:32:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=721</guid>
		<description><![CDATA[I hobbled in to work today, because I injured my knee over the weekend. I work with this guy, let&#8217;s call him Newsom, who really doesn&#8217;t have a lot of patience for my sense of humor.  This is kind of fun for me.  So when I limped into my morning meeting, Newsom asked, &#8220;What&#8217;d you [...]]]></description>
			<content:encoded><![CDATA[<p>I hobbled in to work today, because I injured my knee over the weekend.</p>
<p>I work with this guy, let&#8217;s call him Newsom, who really doesn&#8217;t have a lot of patience for my sense of humor.  This is kind of fun for me.  So when I limped into my morning meeting, Newsom asked, &#8220;What&#8217;d you do?&#8221;</p>
<p>&#8220;I injured my knee this weekend,&#8221; I said.</p>
<p>&#8220;How?&#8221;</p>
<p>&#8220;I blew out my knee upgrading my computer to Windows 7.&#8221;</p>
<p>Of course this made Newsom mad because he thought I was trying to be funny.  But actually, I wasn&#8217;t lying.  Of course, I was trying to be funny; I&#8217;m always trying to be funny.  But I really did hurt my knee upgrading my home computer to Windows 7.</p>
<p>You surely remember me blogging before about <a href="http://" onclick="pageTracker._trackPageview('/outgoing/?referer=');">building my home PC</a>, so of course you remember how I built it with two 750 GB 7200 RPM drives.  I used one of these drives for the OS and programs and the other for data.  Well, about a month ago I got a corrupt registry file that I fixed, caused by a bad sector on the disk.</p>
<p>As you know, getting a bad disk sector is like having someone move into your neighborhood who puts up Halloween lights.  It starts out as just the one, but before long everyone is doing it, and now the whole neighborhood is ruined.</p>
<p>So, knowing that I was going to be upgrading to Windows 7 soon, I bought a new 320 GB 7200 RPM drive to replace my bad disk but set it aside until the upgrade day came.</p>
<p>Which was last Saturday.  So I pulled the PC out from under the desk, sat down on the ground, and proceeded to pull the old hard drive out and put the new one in, and then I started the install.</p>
<p>It started up fine, but after a bit it said that it couldn&#8217;t use my ASUS DVD drive because it didn&#8217;t have the correct driver for it.  Upgrading the firmware didn&#8217;t help, and ASUS didn&#8217;t offer any newer drivers.</p>
<p>Honestly, that thing never worked right anyway.  So we headed down to Best Buy to get a new one.</p>
<p>I walked quickly through Best Buy and found me a nice HP DVD writer drive.  As a bonus, it&#8217;s a SATA drive, not IDE, which is excellent since I had two open SATA slots.  And it said it worked with Vista, which gave me confidence it would also work well for Windows 7.  So I picked that one up.</p>
<p>I noticed walking around Best Buy that I was feeling a bit of a popping sensation in my knee every time I flexed it.</p>
<p>When I got home, I sat down on the floor again and opened the PC to install the new drive.  I started the install again and everything went fine.  But when I went to stand up, I felt a very intense, sharp, burning pain in my knee, and it has been like that ever since.</p>
<p>I&#8217;ve given this a lot of thought, and I now realize quite clearly:  This is ASUS&#8217;s fault.  Some might claim this is Microsoft&#8217;s fault.  I&#8217;ve thought about this, though, and I know quite clearly that it is not Microsoft&#8217;s fault.  This is primarily because I work there.  And of course, it isn&#8217;t my fault.  I mean, seriously!</p>
<p>Yeah, ASUS is to blame.</p>
<p>(By the way, the Windows 7 install went without a hitch after that.  And, coming from a fan of Linux and Mac desktops, I have to say that Windows 7 is really excellent.)</p>
<p>UPDATE:  Diagnosis is complex tear in right medial meniscus plus partially torn medial collateral ligament.  Surgery to come.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2009/11/how-i-blew-out-my-knee-upgrading-to-windows-7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Effective Desktop, For (Mostly) Free</title>
		<link>http://www.mvryan.org/2009/07/the-effective-desktop-for-mostly-free/</link>
		<comments>http://www.mvryan.org/2009/07/the-effective-desktop-for-mostly-free/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 18:35:28 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Custom PC]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mozy]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=570</guid>
		<description><![CDATA[Setting up a new computer is one of those things that should be enjoyable, but is mostly just tedium.  That&#8217;s because there really isn&#8217;t a single OS out there that does for me everything I want in a single distribution &#8211; at least not one I&#8217;ve found.  In truth Linux comes closest, but in the [...]]]></description>
			<content:encoded><![CDATA[<p>Setting up a new computer is one of those things that should be enjoyable, but is mostly just tedium.  That&#8217;s because there really isn&#8217;t a single OS out there that does for me everything I want in a single distribution &#8211; at least not one I&#8217;ve found.  In truth Linux comes closest, but in the case of Linux, there are still some things (like Motocross Madness 2, one of the best PC games ever) that you just don&#8217;t get there.</p>
<p>And don&#8217;t start giving me lectures on Mac.  Same problem applies there.  Even without games, I still have pretty much the same setup overhead for Mac as anything else.  Macs are great, don&#8217;t get me wrong, but I don&#8217;t write Mac software anymore, so I don&#8217;t have to be showing the Steve-love for a while now, until I start doing Mac development again.</p>
<p>Anyway, I&#8217;m willing to bet that at my new job my development machine will be a Windows machine &#8211; it&#8217;s just a hunch I have.  So here&#8217;s the rundown of setting the machine up for usefulness and effectiveness.</p>
<table border="0" cellspacing="0" cellpadding="4">
<tbody>
<tr>
<th colspan="2" align="center">Basics</th>
</tr>
<tr valign="top">
<td><a href="http://www.getfirefox.com" onclick="pageTracker._trackPageview('/outgoing/www.getfirefox.com?referer=');"><img title="firefox_logo" src="http://www.mozilla.org/images/product-firefox-50.png" alt="Firefox" height="48" /></a></td>
<td>First is <strong>Firefox.</strong> Firefox is a great web browser, fast and pretty reliable.  Once you&#8217;ve got Firefox installed, you&#8217;ll want to grab a handful of <a href="https://addons.mozilla.org/en-US/firefox/" onclick="pageTracker._trackPageview('/outgoing/addons.mozilla.org/en-US/firefox/?referer=');">Firefox plugins</a>.  When I set up next, I&#8217;ll be trying Google Gears, AdBlock, FireBug, Better GMail/GCal/GReader, Tab Mix Plus, FaviconizeTab, Fission, and GreaseMonkey of course.  I keep IE around because sometimes I need it, but I make Firefox my default browser.</td>
</tr>
<tr valign="top">
<td><a href="http://www.mozilla.com/thunderbird/" onclick="pageTracker._trackPageview('/outgoing/www.mozilla.com/thunderbird/?referer=');"><img title="thunderbird_logo" src="http://www.mozilla.org/images/product-thunderbird-50.png" alt="Thunderbird" height="48" /></a><a href="http://www.mozilla.org/projects/calendar/" onclick="pageTracker._trackPageview('/outgoing/www.mozilla.org/projects/calendar/?referer=');"><img title="sunbird_logo" src="http://www.mozilla.org/images/sunbird_logo-50.png" alt="Sunbird" height="48" /></a><a href="http://www.rssowl.org/" onclick="pageTracker._trackPageview('/outgoing/www.rssowl.org/?referer=');"><img title="rssowl_logo" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/RSSOwl.png/48px-RSSOwl.png" alt="RSSOwl" height="48" /></a></td>
<td>In addition to e-mail, I use calendaring and news readers (RSS/Atom) almost every day.  A lack of decent free options in the past got me used to using Google for all of this stuff.  But if I were to decide to use rich applications for these purposes instead, I&#8217;d give <strong>Thunderbird</strong>, <strong>Sunbird</strong>, and <strong>RSSOwl</strong> a try.</td>
</tr>
<tr valign="top">
<td><a href="http://www.openoffice.org" onclick="pageTracker._trackPageview('/outgoing/www.openoffice.org?referer=');"><img class="alignnone" title="OpenOffice.org" src="http://ui.openoffice.org/VisualDesign/gifs/Icons/OOo30_final_mimetype/Galaxy_OOo3_main_48.png" alt="" width="48" height="48" /></a></td>
<td>Next is <strong>OpenOffice.org.</strong> I know, most people use Microsoft Office.  I realize it is better.  I realize it is more powerful.  I realize it is more ubiquitous.  It is also expensive for my purposes.  Stick with Office if you like it.</td>
</tr>
<tr valign="top">
<td><a href="http://www.pidgin.im/" onclick="pageTracker._trackPageview('/outgoing/www.pidgin.im/?referer=');"><img class="alignnone" title="Pidgin" src="http://www.mozilla.org/images/pidgin.png" alt="" height="48" /></a></td>
<td>For instant messaging I use <strong>Pidgin.</strong> Since I&#8217;ve got friends using MSN/Hotmail, Google, and Yahoo! among others, Pidgin gives me a great way to be able to chat with all of them in a single IM client.  And it has some great plugins that I&#8217;m eager to try out.</td>
</tr>
<tr>
<th colspan="2" align="center">Multimedia</th>
</tr>
<tr valign="top">
<td><a href="http://www.getsongbird.com/" onclick="pageTracker._trackPageview('/outgoing/www.getsongbird.com/?referer=');"><img class="alignnone" title="Songbird" src="http://www.mozilla.org/images/songbird.png" alt="" height="48" /></a><a href="http://www.apple.com/itunes/download/" onclick="pageTracker._trackPageview('/outgoing/www.apple.com/itunes/download/?referer=');"><img class="alignnone" title="iTunes" src="http://images.apple.com/support/_images/icon_itunes.jpg" alt="" height="48" /></a></td>
<td>For listening to and organizing music, I&#8217;ve been hearing a lot about <strong>Songbird</strong> and I think I&#8217;ll give that a try.  I don&#8217;t buy music from <strong>iTunes</strong> and I don&#8217;t have an iPod (I know, lame).  If I did I&#8217;d go with iTunes.  Although, I do like iTunes Genius feature, so I might go with iTunes just for that.</td>
</tr>
<tr valign="top">
<td><a href="http://audacity.sourceforge.net/" onclick="pageTracker._trackPageview('/outgoing/audacity.sourceforge.net/?referer=');"><img class="alignnone" title="Audacity" src="http://www.mvryan.org/images/audacity.jpg" alt="" width="48" height="48" /></a></td>
<td>When it comes to audio editing, <strong>Audacity </strong>is where it&#8217;s at.  I&#8217;ve used Audacity to make ringtones from some of my music MP3s, to edit and mix recorded WAV files into MP3 files, and even for my son&#8217;s science project to examine the differences between sound waves.  A must-have.</td>
</tr>
<tr valign="top">
<td><a href="http://mediacoder.sourceforge.net/" onclick="pageTracker._trackPageview('/outgoing/mediacoder.sourceforge.net/?referer=');"><img class="alignnone" title="MediaCoder" src="http://fossfor.us/mirrored-content/625/6259831da81750dab1d787078c133ba6409e7400_crop128x128+0+0.png" alt="" height="48" /></a><a href="http://handbrake.fr/" onclick="pageTracker._trackPageview('/outgoing/handbrake.fr/?referer=');"><img class="alignnone" title="Handbrake" src="http://fossfor.us/mirrored-content/730/730fda97218a23a9e191e39e3eeef9fa3a407d8e_crop128x128+0+0.png" alt="" height="48" /></a><a href="http://www.imgburn.com/" onclick="pageTracker._trackPageview('/outgoing/www.imgburn.com/?referer=');"><img class="alignnone" title="ImgBurn" src="http://www.imgburn.com/images/logo_imgburn.png" alt="" width="48" height="48" /></a></td>
<td>In doing research for this blog post, I ran across these apps:  <strong>MediaCoder</strong> for translating and saving media files, <strong>Handbrake</strong> for ripping copies of your DVDs to formats for your handheld, and <strong>ImgBurn</strong> for creating DVDs.  So I haven&#8217;t actually used them yet, but I can hardly wait to try them out.  Managing video files and recordings is something I built my computer to do, but finding the software to get the job done has been tough.  Hopefully I&#8217;ll find the answer among these tools.</td>
</tr>
<tr valign="top">
<td><a href="http://www.doubletwist.com" onclick="pageTracker._trackPageview('/outgoing/www.doubletwist.com?referer=');"><img class="alignnone" title="DoubleTwist" src="http://www.doubletwist.com/Content/images/template/promo_twistit.gif" alt="" height="48" /></a></td>
<td><strong>DoubleTwist </strong>is a new application I&#8217;m eager to try for managing the transfer and synchronization of files from the PC to your handheld device.  I&#8217;ve got a really cool little Sony Ericsson phone that is supposed to work flawlessly with DoubleTwist; can&#8217;t wait to find out.</td>
</tr>
<tr valign="top">
<td><a href="http://www.gimp.org/downloads/" onclick="pageTracker._trackPageview('/outgoing/www.gimp.org/downloads/?referer=');"><img class="alignnone" title="Gimp" src="http://upload.wikimedia.org/wikipedia/commons/6/60/Gimp-tango.png" alt="" width="48" height="48" /></a><a href="http://www.getpaint.net/" onclick="pageTracker._trackPageview('/outgoing/www.getpaint.net/?referer=');"><img class="alignnone" title="Paint.NET" src="http://farm3.static.flickr.com/2060/2416054828_e2a3475f81.jpg?v=0" alt="" height="48" /></a></td>
<td>I&#8217;ve used <strong>The Gimp</strong> for my photo editing for years and, for me, it removes any need for me to buy Photoshop.  I&#8217;m sure Photoshop users would disagree.  But hey, I&#8217;m not a graphic artist.  I&#8217;m just a guy who needs to edit photos from time to time, even for my job, and can&#8217;t justify the expense of Photoshop.  Lately, friends have been telling me about <strong>Paint.NET</strong>, and what they are telling me is that they like it better than The Gimp.  That&#8217;s a high standard in my opinion.  I&#8217;ll have to check it out.</td>
</tr>
<tr valign="top">
<td><a href="http://store.steampowered.com/" onclick="pageTracker._trackPageview('/outgoing/store.steampowered.com/?referer=');"><img class="alignnone" title="Steam" src="http://www.snackordie.com/2007/11/10/steam_icon_48x48.gif" alt="" width="48" height="48" /></a></td>
<td>Ah &#8211; where would I be without <strong>Steam</strong>?  Steam&#8217;s client is free to download and serves as the launching pad for most of the games I play.  A lot of games I really like, such as Audiosurf and World of Goo, I first found out about via Steam.  Every time I launch it it seems there are more titles and more publishers available through Steam.</td>
</tr>
<tr>
<th colspan="2" align="center">Security</th>
</tr>
<tr valign="top">
<td><a href="http://www.truecrypt.org/" onclick="pageTracker._trackPageview('/outgoing/www.truecrypt.org/?referer=');"><img class="alignnone" title="TrueCrypt" src="http://1.bp.blogspot.com/_B0CuCDv4i18/R-OPwcZ2SRI/AAAAAAAAAO8/mgbV8FX8QyA/s400/truecrypt.png" alt="" width="48" height="48" /></a><a href="http://www.heidi.ie/node/6" onclick="pageTracker._trackPageview('/outgoing/www.heidi.ie/node/6?referer=');"><img class="alignnone" title="Eraser" src="http://www.heidi.ie/images/eraser_product.gif" alt="" height="48" /></a></td>
<td><strong>Truecrypt</strong> is a highly regarded application for encrypting data on your PC &#8211; one I&#8217;ve been meaning to try for a long time and plan to soon.  I know, I should do this.  <strong>Eraser</strong>, on the other hand, is one I&#8217;ve used for a long time.  It makes it really easy to truly erase files from your computer by performing multiple overwrite passes to keep your data from being restored after you&#8217;ve intentionally deleted it.</td>
</tr>
<tr valign="top">
<td><a href="http://www.mlin.net/index.shtml" onclick="pageTracker._trackPageview('/outgoing/www.mlin.net/index.shtml?referer=');"><img class="alignnone" title="Startup Monitor and Startup Control Panel" src="http://mallow.wakoopa.com/avatars/000/003/522/normal.png?1238518584" alt="" width="48" height="48" /></a></td>
<td>For managing the applications that launch automatically when your PC starts, it is hard to beat Mike Lin&#8217;s <strong>Startup Monitor</strong> and <strong>Startup Control Panel</strong> applications.  Startup Monitor runs discretely in the background, and just notifies you when some application has requested to be run at startup, allowing you to decide whether to accept this or not.  Startup Control Panel offers a simple view of the applications already scheduled to run at startup, and allows you to disable them.  Great for improving boot times and free resources, not to mention helpful in keeping your desktop secure from rogue apps running in the background doing who knows what.</td>
</tr>
<tr valign="top">
<td><a href="http://www.safer-networking.org/en/spybotsd/index.html" onclick="pageTracker._trackPageview('/outgoing/www.safer-networking.org/en/spybotsd/index.html?referer=');"><img class="alignnone" title="Spybot S&amp;D" src="http://www.safer-networking.org/images/icons/spybotsd32.gif" alt="" width="48" height="48" /></a></td>
<td><strong>Spybot Search &amp; Destroy</strong> is essential for keeping your PC clear of spyware and adware that want to do evil things behind your back.  It integrates with most common web browsers, including Firefox, to help lock them down to avoid evil cookies and other tracking software from sending information about you to others.</td>
</tr>
<tr valign="top">
<td><a href="http://www.clamav.net/" onclick="pageTracker._trackPageview('/outgoing/www.clamav.net/?referer=');"><img class="alignnone" title="ClamAV" src="http://0nova.com/html442/images/mail/clamav.png" alt="" height="48" /></a></td>
<td>If you are up for trying a free PC antivirus application, <strong>ClamAV </strong>is the answer for you.</p>
<p>Okay, I haven&#8217;t used it and probably won&#8217;t for a while because I&#8217;ve already got a license for a security suite.  But if you are in the market it is probably worth a try.  It certainly could not be worse than BitDefender (that steaming pile).</td>
</tr>
<tr>
<th colspan="2" align="center">Utilities</th>
</tr>
<tr valign="top">
<td><a href="http://www.daemon-tools.cc" onclick="pageTracker._trackPageview('/outgoing/www.daemon-tools.cc?referer=');"><img class="alignnone" title="Daemon Tools" src="http://img.informer.com/icons/png/48/440/440838.png" alt="" width="48" height="48" /></a><a href="http://www.alcohol-soft.com/" onclick="pageTracker._trackPageview('/outgoing/www.alcohol-soft.com/?referer=');"><img class="alignnone" title="Alcohol 120%" src="http://shop.alcohol-soft.com/en/images/sqr_120.gif" alt="" width="48" height="48" /></a></td>
<td><strong>Daemon Tools </strong>is a simple utility that can mount local disk images as filesystems.  Mac does this very easily, of course, with .dmg files, but you need a tool like Daemon Tools to do it on a PC.  Use <strong>Alcohol 120%</strong> to create mountable disk images from game CDs, for example, which will enable you in most cases to play PC games by mounting the disk image in Daemon Tools instead of inserting the CD.  Or use it to mount ripped DVD ISOs when you are converting them to a format you can use on your handheld.</td>
</tr>
<tr valign="top">
<td><a href="http://www.getdropbox.com/" onclick="pageTracker._trackPageview('/outgoing/www.getdropbox.com/?referer=');"><img class="alignnone" title="Dropbox" src="http://mallow.wakoopa.com/avatars/000/008/162/normal.png?1238581028" alt="" width="48" height="48" /></a></td>
<td>Many years ago, Novell had this really great product called iFolder that you used to synchronize files between multiple computers.  Like many Novell products, it was a really awesome product that nobody ever heard about because Novell can&#8217;t figure out how to market anything.  But Novell employees know about iFolder and most of them are like me &#8211; once I got used to using it I could hardly stand to not have it.</p>
<p>When I left Novell this was a big big problem for me.</p>
<p>Finally <strong>Dropbox </strong>came along to address my problem.  Dropbox allows you to do what iFolder did years ago &#8211; synchronize files between multiple computers.  Dropbox is not nearly as full featured as the latest iFolder 3, but at least this one you can use without being a Novell employee.</td>
</tr>
<tr valign="top">
<td><a href="http://www.mozy.com" onclick="pageTracker._trackPageview('/outgoing/www.mozy.com?referer=');"><img class="alignnone" title="Mozy" src="http://avatars2.twitturly.com/v1/0904102004_mozy_l.png" alt="" width="48" height="48" /></a></td>
<td>As I&#8217;ve said before, once I started working for <strong>Mozy</strong> I realized that online backup should be considered essential for anyone.  I really don&#8217;t know why a person wouldn&#8217;t use Mozy.  Even if you are backing your data up on a second drive, USB drive, thumb drive, etc. you should be using Mozy, to automatically provide a secure backup copy of your data in a separate location &#8211; for recovery from fire damage, for example.</p>
<p>Having worked at Mozy for the past 14 months, I can vouch for their solid technology which is, in my opinion, the best in the industry without question.  You need online backup, so why not use Mozy?  You can back up 2GB for free or as much as you want for $5/month.</td>
</tr>
<tr valign="top">
<td><a href="http://www.7-zip.org/" onclick="pageTracker._trackPageview('/outgoing/www.7-zip.org/?referer=');"><img class="alignnone" title="7Zip" src="http://www.7-zip.org/7ziplogo.png" alt="" height="48" /></a></td>
<td>For archiving and compressing infrequently-used data, I recommend <strong>7Zip. </strong>It will unpackage almost anything and will package in the most common formats, including Linux-compatible TAR/GZ formats.  It&#8217;ll also do encryption and self-extracting packages in some formats.  In other words, it&#8217;s pretty much everything you want in an archiving tool, for no cost.</td>
</tr>
<tr valign="top">
<td><a href="http://www.voidtools.com/" onclick="pageTracker._trackPageview('/outgoing/www.voidtools.com/?referer=');"><img class="alignnone" title="Everything" src="http://www.rarst.net/images/Everythingfastandpowerfulfilesearchutili_BCC3/everything_icon.png" alt="" width="48" height="48" /></a></td>
<td>I haven&#8217;t tried <strong>Everything</strong> yet but I plan to soon.  This is a highly rated desktop search engine along the lines of Spotlight for Mac.  Windows search I mostly use as last resort, but if this is anything like Spotlight I&#8217;ll use Everything all the time.</td>
</tr>
<tr valign="top">
<td><a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page" onclick="pageTracker._trackPageview('/outgoing/freemind.sourceforge.net/wiki/index.php/Main_Page?referer=');"><img class="alignnone" title="Freemind" src="http://fossfor.us/mirrored-content/47b/47b6053fc6e1d5e9fec060ee0c2e1f23edd45d6c_crop128x128+0+0.png" alt="" height="48" /></a></td>
<td><strong>Freemind </strong>is a note-taking application that I&#8217;m eager to try.  I&#8217;ve been needing one of these for some time, so I&#8217;m anxious to give it a shot.</td>
</tr>
<tr valign="top">
<td><a href="http://www.cygwin.com/" onclick="pageTracker._trackPageview('/outgoing/www.cygwin.com/?referer=');"><img class="alignnone" title="Cygwin" src="http://mallow.wakoopa.com/avatars/000/050/951/normal.png?1241662545" alt="" width="48" height="48" /></a></td>
<td>I consider <strong>Cygwin</strong> an essential PC utility.  Since I&#8217;m a lot more familiar with the Linux shell than the PC DOS-style shell, Cygwin provides me with a command prompt I&#8217;m comfortable with.  Cygwin comes with a large number of helpful tools, like the GNU C complier suite, ssh/scp, wget, and others.</td>
</tr>
<tr valign="top">
<td><a href="http://www.sqlite.org/" onclick="pageTracker._trackPageview('/outgoing/www.sqlite.org/?referer=');"><img class="alignnone" title="SQLite" src="http://mallow.wakoopa.com/avatars/000/006/003/normal.png?1238525334" alt="" width="48" height="48" /></a></td>
<td>I&#8217;d also consider <strong>SQLite</strong> an essential PC utility.  SQLite is a very simple file-based SQL engine that is very useful and freaking awesome.  I&#8217;d recommend a PC utility for using SQLite but there really isn&#8217;t a good one.  Probably your best option is SQLiteSpy.</td>
</tr>
<tr>
<th colspan="2" align="center">Application Development</th>
</tr>
<tr valign="top">
<td><a href="http://python.org/" onclick="pageTracker._trackPageview('/outgoing/python.org/?referer=');"><img class="alignnone" title="Python" src="http://tbn1.google.com/images?q=tbn:M10VLV48LN1VkM:https://svn.python.org/www/trunk/beta.python.org/resources/design/favicon/python-logo-master-v3-icon-48flat.png" alt="" width="48" height="48" /></a><a href="http://www.ruby-lang.org/en/" onclick="pageTracker._trackPageview('/outgoing/www.ruby-lang.org/en/?referer=');"><img class="alignnone" title="Ruby" src="http://www.oldapps.com/images/softimg/Ruby-logo.png" alt="" height="48" /></a><a href="http://java.sun.com/" onclick="pageTracker._trackPageview('/outgoing/java.sun.com/?referer=');"><img class="alignnone" title="Java" src="http://www.indiji.com/java.png" alt="" width="48" height="48" /></a></td>
<td>I&#8217;ve <a href="http://www.mvryan.org/2009/05/computer-science-books/" onclick="pageTracker._trackPageview('/outgoing/www.mvryan.org/2009/05/computer-science-books/?referer=');">said before</a> that if a person&#8217;s going to learn to write software, I think the two most important languages to learn are C and <strong>Python</strong>.  Since you already installed Cygwin you probably already have a C compiler on your machine, so now you need to get Python installed.</p>
<p>In addition to Python, <strong>Ruby</strong> seems pretty interesting and one you should definitely look at, in addition to Python (and not instead of Python, not yet anyway).</p>
<p>You should note that if you plan to do Python and/or Ruby development, you&#8217;ll probably want to get used to doing that natively on your machine, and not via Cygwin.  So don&#8217;t depend on the Cygwin Python and Ruby interpreters &#8211; use the native interpreters instead.</p>
<p>If you must, use <strong>Java</strong>.  Sometimes there&#8217;s stuff you just can&#8217;t do without it.</td>
</tr>
<tr valign="top">
<td><a href="http://www.eclipse.org" onclick="pageTracker._trackPageview('/outgoing/www.eclipse.org?referer=');"><img class="alignnone" title="Eclipse" src="http://eclipsegang.com/images/eclipse-classic.jpg" alt="" width="48" height="48" /></a><a href="http://eric-ide.python-projects.org/" onclick="pageTracker._trackPageview('/outgoing/eric-ide.python-projects.org/?referer=');"><img class="alignnone" title="Eric" src="http://ostatic.com/files/images/icon_eric-ide_image_1.png" alt="" height="48" /></a><a href="http://www.icsharpcode.net/OpenSource/SD/" onclick="pageTracker._trackPageview('/outgoing/www.icsharpcode.net/OpenSource/SD/?referer=');"><img class="alignnone" title="SharpDevelop" src="http://mallow.wakoopa.com/avatars/000/004/761/normal.png?1238521933" alt="" width="48" height="48" /></a></td>
<td>Ah, <strong>Eclipse</strong>:  the mother of all development environments.  Having worked closely with the Eclipse foundation and been part of starting an <a href="http://www.eclipse.org/linuxtools/" onclick="pageTracker._trackPageview('/outgoing/www.eclipse.org/linuxtools/?referer=');">Eclipse project</a> <a href="http://wiki.eclipse.org/Linux_Distributions_Project/Proposal" onclick="pageTracker._trackPageview('/outgoing/wiki.eclipse.org/Linux_Distributions_Project/Proposal?referer=');">myself</a>, I have a strong affinity for Eclipse.  For Java development, I&#8217;d consider it one of the best, if not the best, Java IDE available.  It&#8217;s also a great free alternative for a lot of other languages and application types.  Get not only the base Eclipse, but the plugins for C/C++, PHP, RCP/Plugin development, Data Tools, Test and Profiling Tools, and Web Tools.</p>
<p>And if you aren&#8217;t going to get the Eclipse Python plugin, you&#8217;ll want to install <strong>Eric</strong> instead.  Eric is a pretty good little Python IDE that works on both Linux and Windows.  You&#8217;ll need PyQt for Eric to work I think.</p>
<p>If you are really wanting to do development in C# and .NET instead, but don&#8217;t have the .NET platform, you could try <strong>SharpDevelop</strong>.  I haven&#8217;t tried it though, so I can&#8217;t say &#8211; and in my new job, I&#8217;ll be doing my C# development in Visual Studio, which is certainly better.</td>
</tr>
<tr valign="top">
<td><a href="http://www.wxwidgets.org/" onclick="pageTracker._trackPageview('/outgoing/www.wxwidgets.org/?referer=');"><img class="alignnone" title="wxWidgets" src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/WxWidgets.svg/525px-WxWidgets.svg.png" alt="" height="48" /></a></td>
<td>If you want to try out simple GUI programming, especially cross-platform GUI programming, try <strong>wxWidgets</strong>.  You can program directly to wxWidgets in C or C++, or in Python using <strong>wxPython</strong>.  If you think GUI programming with wxPython is your cup of tea, you might also want to try <strong>Boa Constructor</strong>, which is a good Python development environment with GUI building tools.</td>
</tr>
<tr valign="top">
<td><a href="http://www.wampserver.com/en/" onclick="pageTracker._trackPageview('/outgoing/www.wampserver.com/en/?referer=');"><img class="alignnone" title="WAMP" src="http://jeremysanchez.fr/images/logos/wamp.jpg" alt="" height="48" /></a><a href="http://rubygems.org/" onclick="pageTracker._trackPageview('/outgoing/rubygems.org/?referer=');"><img class="alignnone" title="RubyGems" src="http://www.rubyinside.com/wp-content/uploads/2009/04/rubygems1.png" alt=""  height="48" /></a><a href="http://www.kompozer.net/" onclick="pageTracker._trackPageview('/outgoing/www.kompozer.net/?referer=');"><img class="alignnone" title="Kompozer" src="http://www.mozilla.org/images/kompozer.png" alt="" height="48" /></a></td>
<td>For web development on a Windows PC, I love <strong>WAMP</strong>.  This simple bundle offers Apache, MySQL, and PHP all together in a single package that you can easily start and stop all as one.</p>
<p>(This is the part where the Mozy PHP bigots comment to tell me how rotten PHP is, and where they tell me how much better Perl is, and where I nod and pretend to agree in order to keep the peace.  So bring it on.)</p>
<p>WAMP is great for your typical free-style web application development, especially if you are building from an existing framework, which is quite likely to be built in PHP.  If you&#8217;re building from scratch, however, you would probably want to strongly consider Ruby on Rails, in which case you&#8217;ll want to install <strong>RubyGems</strong> to get Rails and other goodies.</p>
<p>Finally, I hear <strong>Kompozer</strong> is a pretty good HTML-style editor and page builder, and I might give that a shot sometime.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2009/07/the-effective-desktop-for-mostly-free/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Computer Science Books</title>
		<link>http://www.mvryan.org/2009/05/computer-science-books/</link>
		<comments>http://www.mvryan.org/2009/05/computer-science-books/#comments</comments>
		<pubDate>Wed, 13 May 2009 00:41:41 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[Learn To Program]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=480</guid>
		<description><![CDATA[My inbox is overflowing with emails from people asking, &#8220;Matt, how can I be more like you?&#8221; Honestly, that is only sort of true.  Some of the emails say, &#8220;Lose 30 pounds in 12 minutes!&#8221;  And some say, &#8220;I am the prince of Nigeria!&#8221;  And some say, &#8220;I am lonely and looking for a purely [...]]]></description>
			<content:encoded><![CDATA[<p>My inbox is overflowing with emails from people asking, &#8220;Matt, how can I be more like you?&#8221;</p>
<p>Honestly, that is only sort of true.  Some of the emails say, &#8220;Lose 30 pounds in 12 minutes!&#8221;  And some say, &#8220;I am the prince of Nigeria!&#8221;  And some say, &#8220;I am lonely and looking for a purely physical relationship!&#8221;</p>
<p>More honestly, that pretty much comprises the bulk of the email I receive.  Nobody has actually asked how to be more like me, strangely enough.  But that day is surely coming, and since I am a computer scientist, or at least since USU says so, I could start with a list of books that you can read if you want to become a true nerd and rule the world the way I do, which is to say, not.</p>
<p>(So, in fairness, I haven&#8217;t actually read all of these or owned them.  There are some that I haven&#8217;t read, but I read one like it; those are marked in blue.  There are some that I haven&#8217;t read but think I should; those are marked in gray.  There are some that where I read one like it, but I want to read that particular one &#8211; they are bluish-gray.  And I didn&#8217;t list the probably 40-50 CS books I own or have owned and read that are not shown here.  So cut me a break.)</p>
<h2>Math and English</h2>
<p>First off, in order to be a good software engineer and computer scientist, you have to be a good mathematician and a good writer.  Sorry.  You simply can&#8217;t be a competent software engineer without a solid mathematical background, and you can&#8217;t be an effective one if you can&#8217;t figure out how to express your ideas clearly in writing.</p>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td align="center" style="background:#add8fd;">
<a href="http://www.amazon.com/Elementary-Algebra-Harold-R-Jacobs/dp/0716710471/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242093466&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Elementary-Algebra-Harold-R-Jacobs/dp/0716710471/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242093466_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/elemalgebra.jpg" width="100"></a>
</td>
<td align="center" style="background:#add8fd;">
<a href="http://www.amazon.com/Calculus-Made-Easy-Silvanus-Thompson/dp/0312185480/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242093698&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Calculus-Made-Easy-Silvanus-Thompson/dp/0312185480/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242093698_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/calculusmadeeasy.jpg" width="100"></a>
</td>
<td align="center" style="background:#81a1bc;">
<a href="http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242093750&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242093750_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/concretemathematics.jpg" width="100"></a>
</td>
<td align="center" style="background:#add8fd;">
<a href="http://www.amazon.com/Writing-Computer-Science-Justin-Zobel/dp/1852338024/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1242093953&#038;sr=1-2" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Writing-Computer-Science-Justin-Zobel/dp/1852338024/ref=sr_1_2?ie=UTF8_038_s=books_038_qid=1242093953_038_sr=1-2&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/writingforcompsci.jpg" width="100"></a>
</td>
</tr>
</table>
</div>
<h2>Learning to Program</h2>
<p>Your next step is to learn basic programming concepts.  In my opinion, you should learn two languages at this point:  Python and C.  Python is a good beginning language, very easy to create real applications, easy to learn, and very versatile and useful in the real world.  C is the fundamental systems programming language.  Knowing Python and C will allow you to program just about anything and gives you a good fundamental background.</p>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1887902996/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242094819&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Python-Programming-Introduction-Computer-Science/dp/1887902996/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242094819_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/pythonprogramming.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Python-Nutshell-Second-OReilly/dp/0596100469/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242094832&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Python-Nutshell-Second-OReilly/dp/0596100469/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242094832_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/pythoninanutshell.jpg" width="100"></a></td>
<td align="center" style="background:#add8fd;"><a href="http://www.amazon.com/Programming-C-3rd-Developers-Library/dp/0672326663/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242094851&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Programming-C-3rd-Developers-Library/dp/0672326663/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242094851_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/programminginc.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=sr_1_3?ie=UTF8&#038;s=books&#038;qid=1242094851&#038;sr=1-3" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=sr_1_3?ie=UTF8_038_s=books_038_qid=1242094851_038_sr=1-3&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/cprogramminglanguage.jpg" width="100"></a></td>
</tr>
</table>
</div>
<h2>Computer Science Fundamentals</h2>
<p>Having learned how to write basic computer programs, now is time to get into the science of computer science.</p>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Art-Computer-Programming-Volumes-Boxed/dp/0201485419/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242095681&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Art-Computer-Programming-Volumes-Boxed/dp/0201485419/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242095681_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/knuth.jpg" width="100"></a></td>
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262032937/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242095885&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262032937/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242095885_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/introtoalgorithms.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Introduction-Computer-Theory-Daniel-Cohen/dp/0471137723/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242095921&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Introduction-Computer-Theory-Daniel-Cohen/dp/0471137723/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242095921_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/introtocomputertheory.jpg" width="100"></a></td>
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Algorithms-Parts-1-5-Bundle-Fundamentals/dp/0201756080/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242095936&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Algorithms-Parts-1-5-Bundle-Fundamentals/dp/0201756080/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242095936_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/algorithmsinc.jpg" width="100"></a></td>
</tr>
<tr valign="top">
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096093&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096093_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/compilers.jpg" width="100"></a></td>
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/Computer-Networks-4th-Andrew-Tanenbaum/dp/0130661023/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096114&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Computer-Networks-4th-Andrew-Tanenbaum/dp/0130661023/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096114_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/computernetworks.jpg" width="100"></a></td>
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/Beginning-Database-Design-Novice-Professional/dp/1590597699/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096131&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Beginning-Database-Design-Novice-Professional/dp/1590597699/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096131_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/begdbdesign.jpg" width="100"></a></td>
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/Schneiers-Cryptography-Classics-Library-Practical/dp/0470226269/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1242096150&#038;sr=1-2" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Schneiers-Cryptography-Classics-Library-Practical/dp/0470226269/ref=sr_1_2?ie=UTF8_038_s=books_038_qid=1242096150_038_sr=1-2&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/cryptographyclassics.jpg" width="100"></a></td>
</tr>
<tr valign="top">
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Synchronization-Algorithms-Concurrent-Programming-Taubenfeld/dp/0131972596/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096282&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Synchronization-Algorithms-Concurrent-Programming-Taubenfeld/dp/0131972596/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096282_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/syncalgandconcurrentprg.jpg" width="100"></a></td>
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/Art-Multiprocessor-Programming-Maurice-Herlihy/dp/0123705916/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1242096282&#038;sr=1-2" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Art-Multiprocessor-Programming-Maurice-Herlihy/dp/0123705916/ref=sr_1_2?ie=UTF8_038_s=books_038_qid=1242096282_038_sr=1-2&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/artofmultiprocprogramming.jpg" width="100"></a></td>
<td align="center" style="background:#add8fd;"><a href="http://www.amazon.com/Handbook-Mathematics-Computational-Science-Harris/dp/0387947469/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096305&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Handbook-Mathematics-Computational-Science-Harris/dp/0387947469/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096305_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/handbookofmathandcompsci.jpg" width="100"></a></td>
<td align="center"></td>
</tr>
</table>
</div>
<h2>Programming Technique and Methodology</h2>
<p>How to write software well.</p>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td align="center"><a href="http://www.amazon.com/Writing-Solid-Code-Microsofts-Programming/dp/1556155514/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096617&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Writing-Solid-Code-Microsofts-Programming/dp/1556155514/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096617_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/writingsolidcode.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096768&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096768_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/codecomplete.jpg" width="100"></a></td>
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Software-Security-Building-Addison-Wesley/dp/0321356705/ref=pd_sim_b_3" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Software-Security-Building-Addison-Wesley/dp/0321356705/ref=pd_sim_b_3?referer=');"><img src="http://www.mvryan.org/images/bookcovers/swsec.jpg" width="100"></a></td>
</tr>
<tr valign="top">
<td align="center"><a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096905&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096905_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/mythicalmanmonth.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096974&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096974_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/designpatterns.jpg" width="100"></a></td>
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242096988&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242096988_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/pragmaticprogrammer.jpg" width="100"></a></td>
</tr>
<tr valign="top">
<td align="center" style="background:#add8fd;"><a href="http://www.amazon.com/Fundamentals-Software-Engineering-Carlo-Ghezzi/dp/0133056996/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242097068&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Fundamentals-Software-Engineering-Carlo-Ghezzi/dp/0133056996/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242097068_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/fundamentalsofsweng.jpg" width="100"></a></td>
<td align="center" style="background:#add8fd;"><a href="http://www.amazon.com/Extreme-Software-Engineering-Hands-Approach/dp/0130473812/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242097089&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Extreme-Software-Engineering-Hands-Approach/dp/0130473812/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242097089_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/extremesweng.jpg" width="100"></a></td>
<td align="center" style="background:#add8fd;"><a href="http://www.amazon.com/Practices-Agile-Developer-Pragmatic-Programmers/dp/097451408X/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242097107&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Practices-Agile-Developer-Pragmatic-Programmers/dp/097451408X/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242097107_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/practicesofagiledev.jpg" width="100"></a></td>
</tr>
</table>
</div>
<h2>General Programming</h2>
<p>Two other languages you might want to know are C++ and Java.  C++ is much maligned, but widely used, especially for systems applications, games, and other high-performing software applications.  Java is an abomination in every sense of the word.  But it is also very popular and good to know.  If you are going to learn Java, you should also learn JNI, so you can get from Java back to C and get some real work done.</p>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td align="center"><a href="http://www.amazon.com/C-Programming-Language-Special-3rd/dp/0201700735/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242152926&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/C-Programming-Language-Special-3rd/dp/0201700735/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242152926_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/c++programminglanguage.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Effective-Specific-Addison-Wesley-Professional-Computing/dp/0321334876/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242152957&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Effective-Specific-Addison-Wesley-Professional-Computing/dp/0321334876/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242152957_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/effectivec++.jpg" width="100"></a></td>
<td align="center" style="background:#add8fd;"><a href="http://www.amazon.com/Introduction-Java-Programming-Comprehensive-Version/dp/0136012671/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242153004&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Introduction-Java-Programming-Comprehensive-Version/dp/0136012671/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242153004_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/introtojava.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Java-Nutshell-5th-David-Flanagan/dp/0596007736/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242153036&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Java-Nutshell-5th-David-Flanagan/dp/0596007736/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242153036_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/javainanutshell.jpg" width="90"></a></td>
<td align="center"><a href="http://www.amazon.com/Essential-Jni-Java-Native-Interface/dp/0136798950/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242153058&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Essential-Jni-Java-Native-Interface/dp/0136798950/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242153058_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/essentialjni.jpg" width="90"></a></td>
</tr>
</table>
</div>
<h2>Systems Programming</h2>
<p>If you are going to do systems programming, you&#8217;ve got to know the specifics of how to program to the environment in question.  It&#8217;s worth noting here that the UNIX books basically cover POSIX, which applies not only to UNIX but BSD, Linux, and Mac as well to varying reasonable degrees.  I&#8217;ve also included an internals book for the big three platforms (Windows, Linux, and Mac).  And if you are going to program for Mac, you will probably want to learn another language: Objective-C.</p>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="middle">
<th colspan="3">
<h3>UNIX/Linux</h3>
</th>
</tr>
<tr valign="top">
<td align="center"><a href="http://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0321525949/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242153632&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0321525949/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242153632_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/apue.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Unix-Network-Programming-Addison-Wesley-Professional/dp/0131411551/ref=sr_1_6?ie=UTF8&#038;s=books&#038;qid=1242153632&#038;sr=1-6" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Unix-Network-Programming-Addison-Wesley-Professional/dp/0131411551/ref=sr_1_6?ie=UTF8_038_s=books_038_qid=1242153632_038_sr=1-6&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/unp1.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/UNIX-Network-Programming-Interprocess-Communications/dp/0130810819/ref=sr_1_10?ie=UTF8&#038;s=books&#038;qid=1242153632&#038;sr=1-10" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/UNIX-Network-Programming-Interprocess-Communications/dp/0130810819/ref=sr_1_10?ie=UTF8_038_s=books_038_qid=1242153632_038_sr=1-10&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/unp2.jpg" width="100"></a></td>
</tr>
<tr valign="top">
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/UNIX-Systems-Programming-Communication-Concurrency/dp/0130424110/ref=sr_1_4?ie=UTF8&#038;s=books&#038;qid=1242153632&#038;sr=1-4" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/UNIX-Systems-Programming-Communication-Concurrency/dp/0130424110/ref=sr_1_4?ie=UTF8_038_s=books_038_qid=1242153632_038_sr=1-4&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/unixsysprog.jpg" width="100"></a></td>
<td align="center" style="background:#81a1bc;"><a href="http://www.amazon.com/Linux-Programming-Example-Fundamentals-Development/dp/0131429647/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242153850&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Linux-Programming-Example-Fundamentals-Development/dp/0131429647/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242153850_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/linuxprogrammingbyexample.jpg" width="100"></a></td>
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Linux-Kernel-Development-Novell-Press/dp/0672327201/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1242153862&#038;sr=1-2" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Linux-Kernel-Development-Novell-Press/dp/0672327201/ref=sr_1_2?ie=UTF8_038_s=books_038_qid=1242153862_038_sr=1-2&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/linuxkerneldev.jpg" width="100"></a></td>
</tr>
<tr valign="middle">
<th colspan="3">
<h3>Windows</h3>
</th>
</tr>
<td align="center"><a href="http://www.amazon.com/Windows-via-C-Pro-Developer/dp/0735624240/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242154365&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Windows-via-C-Pro-Developer/dp/0735624240/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242154365_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/windowsviac.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Advanced-Debugging-Addison-Wesley-Microsoft-Technology/dp/0321374460/ref=sr_1_2?ie=UTF8&#038;s=books&#038;qid=1242154365&#038;sr=1-2" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Advanced-Debugging-Addison-Wesley-Microsoft-Technology/dp/0321374460/ref=sr_1_2?ie=UTF8_038_s=books_038_qid=1242154365_038_sr=1-2&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/advancedwindowsdebugging.jpg" width="100"></a></td>
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Microsoft-Windows-Internals-4th-Server/dp/0735619174/ref=sr_1_3?ie=UTF8&#038;s=books&#038;qid=1242154365&#038;sr=1-3" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Microsoft-Windows-Internals-4th-Server/dp/0735619174/ref=sr_1_3?ie=UTF8_038_s=books_038_qid=1242154365_038_sr=1-3&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/windowsinternals.jpg" width="100"></a></td>
<tr valign="top">
</tr>
<tr valign="middle">
<th colspan="3">
<h3>Mac OS X</h3>
</th>
</tr>
<tr valign="top">
<td align="center"><a href="http://www.amazon.com/Programming-Objective-C-2-0-Developers-Library/dp/0321566157/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242154381&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Programming-Objective-C-2-0-Developers-Library/dp/0321566157/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242154381_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/proginobjc.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242154388&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242154388_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/cocoaprogramming.jpg" width="100"></a></td>
<td align="center" style="background:#dddddd;"><a href="http://www.amazon.com/Mac-OS-Internals-Systems-Approach/dp/0321278542/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242154399&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Mac-OS-Internals-Systems-Approach/dp/0321278542/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242154399_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/macosxinternals.jpg" width="100"></a></td>
</tr>
</table>
</div>
<h2>Other</h2>
<p>Every good software engineer should clearly understand open source; hence The Cathedral and the Bazaar.  You will find you are missing out on a number of inside jokes if you don&#8217;t read The Hitchhiker&#8217;s Guide to the Galaxy.  And everyone should read The Code Book, simply because it is so interesting.</p>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td align="center"><a href="http://www.amazon.com/Cathedral-Bazaar-Musings-Accidental-Revolutionary/dp/0596001088/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242154799&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Cathedral-Bazaar-Musings-Accidental-Revolutionary/dp/0596001088/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242154799_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/catb.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Ultimate-Hitchhikers-Guide-Galaxy/dp/0345453743/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242154808&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Ultimate-Hitchhikers-Guide-Galaxy/dp/0345453743/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242154808_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/hitchhikersguide.jpg" width="100"></a></td>
<td align="center"><a href="http://www.amazon.com/Code-Book-Science-Secrecy-Cryptography/dp/0385495323/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1242154815&#038;sr=1-1" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Code-Book-Science-Secrecy-Cryptography/dp/0385495323/ref=sr_1_1?ie=UTF8_038_s=books_038_qid=1242154815_038_sr=1-1&amp;referer=');"><img src="http://www.mvryan.org/images/bookcovers/thecodebook.jpg" width="100"></a></td>
</tr>
</table>
</div>
<h6>Image Credits: amazon.com and barnesandnoble.com</h6>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2009/05/computer-science-books/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New MacBook Pro &#8211; Mozy Loves Me</title>
		<link>http://www.mvryan.org/2008/11/new-macbook-pro-mozy-loves-me/</link>
		<comments>http://www.mvryan.org/2008/11/new-macbook-pro-mozy-loves-me/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 22:52:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mozy]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=143</guid>
		<description><![CDATA[Mozy loves me. She bought me a present. I anxiously opened it, and when I looked inside the first thing I saw was &#8220;Designed by Apple in California.&#8221; Yes, Mozy bought me a new MacBook Pro. Like I said, Mozy loves me. It is obvious that she wants my body, totally. So I&#8217;m setting up [...]]]></description>
			<content:encoded><![CDATA[<p>Mozy loves me.  She bought me a present.  I anxiously opened it, and when I looked inside the first thing I saw was &#8220;Designed by Apple in California.&#8221;</p>
<p><a href="http://3.bp.blogspot.com/_sEliw-AG3RQ/SRN3H6bqQYI/AAAAAAAAARY/AcjN1N2VZMc/s1600-h/DSC00157.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" onclick="pageTracker._trackPageview('/outgoing/3.bp.blogspot.com/_sEliw-AG3RQ/SRN3H6bqQYI/AAAAAAAAARY/AcjN1N2VZMc/s1600-h/DSC00157.JPG?referer=');"><img id="BLOGGER_PHOTO_ID_5265683367154303362" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_sEliw-AG3RQ/SRN3H6bqQYI/AAAAAAAAARY/AcjN1N2VZMc/s400/DSC00157.JPG" border="0" alt="" /></a><br />
Yes, Mozy bought me a new MacBook Pro.  Like I said, Mozy loves me.  It is obvious that she wants my body, totally.</p>
<p>So I&#8217;m setting up the new MacBook as I speak &#8211; er, type.  I&#8217;m borrowing another MacBook to do this blog posting, because I cannot bear the thought of sitting here waiting without being able to use either my new MacBook Pro or my Mac Pro workstation while the Migration Assistant is transferring files:</p>
<p><a href="http://3.bp.blogspot.com/_sEliw-AG3RQ/SRN4LuqLX-I/AAAAAAAAARg/x0usz6XXM9c/s1600-h/DSC00158.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" onclick="pageTracker._trackPageview('/outgoing/3.bp.blogspot.com/_sEliw-AG3RQ/SRN4LuqLX-I/AAAAAAAAARg/x0usz6XXM9c/s1600-h/DSC00158.JPG?referer=');"><img id="BLOGGER_PHOTO_ID_5265684532225073122" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_sEliw-AG3RQ/SRN4LuqLX-I/AAAAAAAAARg/x0usz6XXM9c/s400/DSC00158.JPG" border="0" alt="" /></a><br />
As you can see, I still have over an hour to wait.  Anyone who knows me knows I get bored so easily that there is no way I can wait that long.  So I&#8217;m borrowing this other laptop in the meantime.</p>
<p>By the way, did you know that the new MacBook Pro bodies are made with a single piece of aluminum?  It&#8217;s true.  These are naturally occurring chunks of aluminum mined straight out of the ground in the shape of a laptop.  They are very rare; it is no wonder Apple had to wait so long to produce laptops this way.  Anyway, each should be considered a treasure, because who knows how many naturally-occurring laptop-shaped pieces of aluminum there are in the world &#8211; certainly the supply is limited.</p>
<p>However, the truly best part about this gift is that I should be able to avoid <a href="http://halfbadboy.blogspot.com/2008/06/apple-n00b-wwdc-day-4.html" onclick="pageTracker._trackPageview('/outgoing/halfbadboy.blogspot.com/2008/06/apple-n00b-wwdc-day-4.html?referer=');">run-ins with the Black Ponytails</a> next year at WWDC, since in reality I just borrowed that other MacBook long enough to get those guys off my back and spare my own life.</p>
<p>Yes, it is obvious, Mozy is totally in love with me.  I&#8217;m holding out, though.  I&#8217;ve got hand in this relationship.  I&#8217;m holding out for an iPhone.  I&#8217;m not ready to commit to a steady relationship, but if she really and truly loves me, she&#8217;ll buy me an iPhone, and then it might be time to start &#8220;going steady,&#8221; if you know what I mean.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2008/11/new-macbook-pro-mozy-loves-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS X Installation Tip</title>
		<link>http://www.mvryan.org/2008/07/mac-os-x-installation-tip/</link>
		<comments>http://www.mvryan.org/2008/07/mac-os-x-installation-tip/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 19:52:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=91</guid>
		<description><![CDATA[At work I&#8217;ve been trying to install Mac OS X Tiger on a Mac Mini for testing purposes. I have to say I was really having a tough time getting it to work and had even begun wishing I was on a Linux machine again. At this point, I realized that probably there is a [...]]]></description>
			<content:encoded><![CDATA[<p>At work I&#8217;ve been trying to install Mac OS X Tiger on a Mac Mini for testing purposes.  I have to say I was really having a tough time getting it to work and had even begun wishing I was on a Linux machine again.</p>
<p>At this point, I realized that probably there is a built-in loyalty detection device in the Mac hardware that can tell whether you are truly sincere or not.  And since I had given <a href="http://halfbadboy.blogspot.com/2008/06/cult-of-mac-blood-brother-wwdc-day-5.html" onclick="pageTracker._trackPageview('/outgoing/halfbadboy.blogspot.com/2008/06/cult-of-mac-blood-brother-wwdc-day-5.html?referer=');">fake devotion to the Cult of the Mac before</a>, that is probably why it was not letting me install Tiger at all.</p>
<p>As a final straw, during installation I completely reformatted the hard drive and renamed that volume &#8220;ILoveSteve_Really&#8221;.  The installation worked.  I&#8217;m not making this up.</p>
<p>So, to all you Cult of the Mac people, whom, as far as you are concerned, I love, respect, and admire beyond comprehension, if you ever have any trouble getting OS X to install, try showering some evidence of devotion upon your installation volume, and perhaps you too will find success.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2008/07/mac-os-x-installation-tip/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cult of the Mac Blood Brother @ WWDC, Day 5</title>
		<link>http://www.mvryan.org/2008/06/cult-of-the-mac-blood-brother-wwdc-day-5/</link>
		<comments>http://www.mvryan.org/2008/06/cult-of-the-mac-blood-brother-wwdc-day-5/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 16:40:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=84</guid>
		<description><![CDATA[I really like these black Dockers. They match perfectly with my black belt and my black t-shirts I&#8217;ve received all during the conference. And I must say I think I look quite stunning with my black shoes and white socks. First thing this morning, after the wardrobe improvements, I walked down Market St. to the [...]]]></description>
			<content:encoded><![CDATA[<p>I really like these black Dockers.  They match perfectly with my black belt and my black t-shirts I&#8217;ve received all during the conference.  And I must say I think I look quite stunning with my black shoes and white socks.</p>
<p>First thing this morning, after the wardrobe improvements, I walked down Market St. to the Apple Store.  I bought a new Macbook Pro with several performance upgrades.  I placed it gently in the beautiful, sleek, new laptop carrying bag that I was provided when I registered for the conference.</p>
<p>I&#8217;m still not significantly overweight, nor do I have enough hair for a ponytail, yet.  But I&#8217;m working on it.  I didn&#8217;t even shower today.</p>
<p>I walked into Moscone West this morning.  It didn&#8217;t take me long to find the Black Ponytails.  I approached them resolutely.  They regarded me with some reservation as I opened my laptop bag, intentionally displaying the new laptop I had purchased that day, which I hoped to be able to pay for later, and extracted the document they had left with me the night before.</p>
<p>I handed it to the leader of the group.  He took it with suspicion, and immediately scanned his sight to the bottom of the page, where he saw my fingerprint, imprinted upon the document in my own blood.</p>
<p>He smiled.  &#8220;Welcome, brother.&#8221;  I smiled back, then turned and walked away.</p>
<p>A calming, satisfied smile settled across my face.  Paraphrasing <a href="http://en.wikipedia.org/wiki/Winston_Smith" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Winston_Smith?referer=');">Winston Smith</a>, I thought to myself, &#8220;I love Mac.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2008/06/cult-of-the-mac-blood-brother-wwdc-day-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Apple n00b @ WWDC, Day 4</title>
		<link>http://www.mvryan.org/2008/06/an-apple-n00b-wwdc-day-4/</link>
		<comments>http://www.mvryan.org/2008/06/an-apple-n00b-wwdc-day-4/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 09:26:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=83</guid>
		<description><![CDATA[Day 4 was a pretty interesting day. For starters, I took this picture. This guy&#8217;s name is Mike; he works for Apple&#8217;s developer relations program. His job is akin to what I did for many years at Novell. Except, Mike is successful at his job, whereas I could never get Novell to do the things [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bp3.blogger.com/_sEliw-AG3RQ/SFI-x7uwi_I/AAAAAAAAAIM/ZvbBwJAPdM8/s1600-h/DSC00096.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" onclick="pageTracker._trackPageview('/outgoing/bp3.blogger.com/_sEliw-AG3RQ/SFI-x7uwi_I/AAAAAAAAAIM/ZvbBwJAPdM8/s1600-h/DSC00096.JPG?referer=');"><img id="BLOGGER_PHOTO_ID_5211296746389408754" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_sEliw-AG3RQ/SFI-x7uwi_I/AAAAAAAAAIM/ZvbBwJAPdM8/s400/DSC00096.JPG" border="0" alt="" /></a><br />
Day 4 was a pretty interesting day.  For starters, I took this picture.  This guy&#8217;s name is Mike; he works for Apple&#8217;s developer relations program.  His job is akin to what I did for many years at Novell.  Except, Mike is successful at his job, whereas I could never get Novell to do the things that would have made Novell successful.  Or me.  Now you know one of the reasons I am not at Novell anymore.</p>
<p>Anyway, I took this picture not for that reason, but for another reason.  I can&#8217;t tell you how many times people have e-mailed me asking, &#8220;Matt, what would your brother look like if he gained 40 pounds?&#8221;  Well, stop asking and just take a look at this picture.  Now you know.</p>
<p>Sort of.  It is rather grainy, I admit.</p>
<p>Later that day I went by Dan&#8217;s hotel to see what his room was like.  Dan called the St. Regis Hotel and somehow managed to score a room rate of about 1/2 the normal $500-$600 per night rate.  I called the same hotel within about 10-15 minutes and could not get the same rate &#8211; in fact I was told it was not possible.</p>
<p>Apparently they have a different understanding of &#8220;not possible&#8221; than what I have.  Anyway, Dan had a corner room with an incredible view of downtown San Francisco:<br />
<a href="http://bp1.blogger.com/_sEliw-AG3RQ/SFJAKNRZ8VI/AAAAAAAAAIU/zo1HV2yq02Q/s1600-h/DSC00098.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" onclick="pageTracker._trackPageview('/outgoing/bp1.blogger.com/_sEliw-AG3RQ/SFJAKNRZ8VI/AAAAAAAAAIU/zo1HV2yq02Q/s1600-h/DSC00098.JPG?referer=');"><img id="BLOGGER_PHOTO_ID_5211298262926618962" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_sEliw-AG3RQ/SFJAKNRZ8VI/AAAAAAAAAIU/zo1HV2yq02Q/s400/DSC00098.JPG" border="0" alt="" /></a><br />
<a href="http://bp3.blogger.com/_sEliw-AG3RQ/SFJAahPBzfI/AAAAAAAAAIc/Uv7Touzst-g/s1600-h/DSC00100.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" onclick="pageTracker._trackPageview('/outgoing/bp3.blogger.com/_sEliw-AG3RQ/SFJAahPBzfI/AAAAAAAAAIc/Uv7Touzst-g/s1600-h/DSC00100.JPG?referer=');"><img id="BLOGGER_PHOTO_ID_5211298543163264498" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_sEliw-AG3RQ/SFJAahPBzfI/AAAAAAAAAIc/Uv7Touzst-g/s400/DSC00100.JPG" border="0" alt="" /></a>The second picture is just to the left of the first, showing a great view of the Moscone Center and Yerba Buena Gardens.  WWDC hosts a big bash in Yerba Buena Gardens on Thursday night, which was tonight, in the gardens.  It was a great frolicking time.  In fact, I was having such a great time that I lost track of where I was and forgot to take what you by now would assume would be my normal precautions.  Instead, I suddenly found myself alone in a dark and remote corner of the gardens, surrounded by none other than the Black Ponytails.</p>
<p>I once heard that the reason Metallica kicked Dave Mustaine out early in the band&#8217;s history was because when the other guys would get drunk, they would just get really silly, but when Dave would get drunk, he would get angry.  Well, suffice it to say that the Black Ponytails would also not get along with Metallica when they are drunk.  When you combine free alcohol, the Black Ponytails, an Apple n00b like me, and the darkest, remotest corner of Yerba Buena, you end up with a dozen substantial embodiments combining to form about 3000 pounds of black Mac fury.  Believe me, I was petrified.</p>
<p>&#8220;Well, if it isn&#8217;t the Linux baby,&#8221; one of them taunted as they surrounded me and backed me into the corner.</p>
<p>&#8220;Now, guys, I&#8217;m not meaning to cause any trouble here,&#8221; I said, before I was blasted upside the head with a copy of <a href="http://www.amazon.com/Cocoa-Programming-Mac-OS-2nd/dp/0321213149/ref=pd_bbs_7?ie=UTF8&amp;s=books&amp;qid=1213350656&amp;sr=8-7" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Cocoa-Programming-Mac-OS-2nd/dp/0321213149/ref=pd_bbs_7?ie=UTF8_amp_s=books_amp_qid=1213350656_amp_sr=8-7&amp;referer=');">Cocoa Programming for Mac OS X, 2nd Edition</a> that had been hurled at me.</p>
<p>&#8220;Shut up, Linux baby.  You don&#8217;t get to talk,&#8221; one of them hissed from the other side.</p>
<p>The leader continued.  &#8220;Look, you freak.  Nobody invited you here.  Nobody wants you here.  You think you can just show up here because you paid?!?  You don&#8217;t have true devotion!  You don&#8217;t truly love Apple!  You aren&#8217;t dedicated to making Steve Jobs ridiculously wealthy!  We can see it in your eyes.&#8221;</p>
<p>As he spoke, they all opened up their black backpacks and pulled out USB mice and stylish thin Mac keyboards.  Those with the mice held onto the end of the cable while the mouse itself dropped down, dangling from their hands.  Those with the keyboards grabbed one end with both hands and held it up in front of them, like a baseball bat.  They were closing in, closer and closer.  The air reeked of fear and 3000 pounds of body odor.  I tried to remain calm, but panic started to set in.  Didn&#8217;t anybody see me?  Didn&#8217;t Zach and Dan know I was gone?  Was there nobody to help me?</p>
<p>&#8220;You aren&#8217;t one of us.  You don&#8217;t belong here.  And now you are going to pay.&#8221;</p>
<p>With that the blows started coming, harder, harder, and faster.  Mouse and keyboard buttons were flying everywhere as the blows came in.  I crumpled to the ground.  My head was throbbing from the blows of the mice hitting my head, being used like medieval maces.  I raised my hands to try to deflect the flailing mice, but then I felt the hard, crushing blows as the keyboards hit my ribs and back, held sideways so that I was being struck by the edges and corners, thus inflicting maximum damage.  I felt bruises turn into welts, then blood blisters, and finally open, bleeding wounds.  I could hear the occasional sickening crack of ribs when a particularly well-aimed keyboard struck exactly right.  I curled up, drawing my legs up towards me, which elicited numerous jeering cries of &#8220;Linux baby!  Linux baby!&#8221;  Still, the hurling mice seemed to find their way inside my defenses.  Now partially broken apart, the remaining plastic fragments on the mouse bodies would cut, grab, and tear at my flesh, leaving small stabbing and cutting wounds all over my face, head, hands, and back.</p>
<p>After what seemed an eternity but was probably only five to ten minutes, they finally stopped and stood back a pace.  I lay immobile for some seconds, trying to determine if it was finally over.  But just as I&#8217;d determined they were done, just as I moved to start to get up, the leader snapped his fingers loudly, and on that signal two of them stepped in, pinned me down and forced my hands behind my back, tying them tightly together with mouse cables.  They stood me up and held me between them.</p>
<p>The leader bent down and pulled my laptop out of my case.  He looked it over with an air of superiority and disdain.  Then he finally looked at me.  &#8220;You see this laptop?&#8221;</p>
<p>&#8220;Yes,&#8221; I panted.  &#8220;Please.  Come on, just leave me alone.  I&#8217;ll leave.&#8221;</p>
<p>He laughed a short, scoffing laugh, and took a step toward me.  &#8220;This laptop is a&#8230;&#8221; &#8211; he cocked his arms back, ready to swing &#8211; &#8220;<strong>PIECE</strong>&#8221; &#8211; he struck me forcefully with the laptop across my head where I immediately felt warm blood gushing from the newly opened wound &#8211; &#8220;<strong>OF</strong>&#8221; &#8211; the backswing caught me full in the face as the taste of blood flooded my mouth &#8211; &#8220;<strong>CRAP!</strong>&#8221; &#8211; he brought the laptop up and shattered it over the top of my head.</p>
<p>My head was throbbing like nothing I had ever felt before.  I was so dizzy I could hardly stand or even retain consciousness.  I spat blood from my mouth just for it to fill up again.  It hurt to breathe against the wounds in my back and sides.  I could barely see past swollen eyes and cheekbones.  My hands ached where I knew bones were broken.  Blood ran freely down my face and pooled on the ground below.</p>
<p>The two Black Ponytails continued to hold me upright while the leader turned and went back to his backpack.  He pulled out what appeared to be a piece of parchment paper.  Between the throbbing in my head, the intense blackness of the darkest regions of Yerba Buena, and the lights flashing in my eyes from the blows to my head, I really could not tell what it was.</p>
<p>The leader came back.  With a smug grin on his face he strutted up to me.  He grabbed my hair and lifted my head up, shoving the paper in front of my face.  &#8220;You see this paper?&#8221; he said.  &#8220;You wanna read this paper.  You wanna do what it says, and sign it.  And you wanna find me tomorrow and bring it to me.  You wanna do it, Linux baby.  Or we&#8217;re gonna finish what we started here tonight.&#8221;</p>
<p>Keeping hold of my hair with his left hand, he dropped the paper on the ground in front of me.  Then, suddenly, he pulled back and punched me with the full force of his fist right in the nose.  I felt the bones break as I struggled to breathe, my nasal cavity filling up with blood.</p>
<p>The two that were holding me up finally let me go.  I collapsed to the ground as the Black Ponytails dispersed into the night.  Just before I lost consciousness, I was barely able to make out the words atop the paper on the ground in front of me.  They read:</p>
<div style="text-align: center;">THE CULT OF THE MAC<br />
To Be Signed In Blood</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2008/06/an-apple-n00b-wwdc-day-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Apple n00b @ WWDC, Day 3</title>
		<link>http://www.mvryan.org/2008/06/an-apple-n00b-wwdc-day-3/</link>
		<comments>http://www.mvryan.org/2008/06/an-apple-n00b-wwdc-day-3/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 05:02:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://blog.mvryan.org/?p=82</guid>
		<description><![CDATA[Day 3 at WWDC, well, I was admittedly a little bit afraid to even head back there today. It seems like I keep running into those Black Ponytails. Usually it is only just one of them at a time, but I was a bit concerned what might happen if I ran into all of them [...]]]></description>
			<content:encoded><![CDATA[<p>Day 3 at WWDC, well, I was admittedly a little bit afraid to even head back there today.  It seems like I keep running into those Black Ponytails.  Usually it is only just one of them at a time, but I was a bit concerned what might happen if I ran into all of them at once.</p>
<p>However, it seemed that the day would go pretty well.  I walked in to Moscone West and noticed that nearly all of the slobber had evaporated off of the bust of Steve.  I attended some great sessions and picked up some ultra-top-secret software provided to all attendees that I can&#8217;t discuss or even admit publicly that I have.  I even stopped at the Apple Store and bought myself an Apple T-shirt, wondering aloud at the fact that Apple could get people to buy their t-shirts at their own conference when at Novell we had to give them away to get anyone to take them (with the exception of the awesome &#8220;Got Linux?&#8221; t-shirts, those were really special).</p>
<p>It was the last session of the day and I&#8217;d done pretty good at keeping myself out of trouble.  My final session of day 3 had to do with scripting on the Mac.  When we got to Q&amp;A, I stood up to ask my question:</p>
<p>&#8220;Eric is a really great Python IDE available as open source on Linux.  Have you considered providing and supporting Eric on Mac in your developer tools?  That would really be awesome.&#8221;</p>
<p>About the time I muttered the word &#8220;Linux,&#8221; every head in the audience turned on a swivel to scowl menacingly in my direction.  Displaying obvious disdain and exercising the greatest of patience, the presenter took a deep breath and then replied measuredly:  &#8220;Xcode is already a great Python tool.  There is no need for Mac to attempt to copy anything that is being done by Linux.&#8221;</p>
<p>I apologized and turned to sit down, but not before I noticed the Black Ponytails sitting a number of rows ahead of me.</p>
<p>I tried to leave the session quickly but my exits seemed blocked at every turn, almost as though it were a coordinated effort.  Finally I exited and started my long walk up the corridor toward the common area.  Suddenly I found myself surrounded by Black Ponytails.</p>
<p>&#8220;Hey, check it out, it&#8217;s the Linux boy!&#8221;</p>
<p>&#8220;Yeah Linux boy!  Maybe we should make the Mac more like Linux!  Lol!&#8221;  (Yes, he really said &#8220;lol&#8221;.)</p>
<p>They all laughed as the started shoving me back and forth between them.  Mockingly, one said, &#8220;Ooh, check me out!  I compile my own kernel!&#8221;</p>
<p>&#8220;Looky what I can do!  I know how to use a command line!&#8221; sneered another.</p>
<p>Then with another shove they got serious.  &#8220;Look here, you Linux baby!  You infant!  Linux is nothing compared to FreeBSD!  Compared to Darwin, the core upon which heaven&#8217;s own OS is based &#8211; Mac OS X!&#8221;</p>
<p>&#8220;Hey, guys, I know!  I like FreeBSD!  I just come from a Linux background, that&#8217;s all!&#8221; I protested.</p>
<p>&#8220;Shut your hole, Linux baby.  Who invited you here anyway?&#8221;  With that, I felt a huge shove in the back and fell into the sizable girth of the guy in front of me.  &#8220;Who said you could touch me, Linux baby?&#8221; he threatened.</p>
<p>Just when I thought all hope was lost, I heard Dan and Zach call out to me, &#8220;Hey Matt!&#8221;  The Black Ponytails looked around casually, then dispersed as if by a signal.  I had escaped certain demise.</p>
<p>I spent the rest of the evening at the Apple Design Awards and the Stump the Experts night.  I thought perhaps if the Black Ponytails saw me there they would realize that I really wasn&#8217;t such a bad guy.  Unfortunately, I&#8217;m not sure they saw me; they were on the other side of the very large room, engaged in what seemed to be a very intense coding session.  But maybe they caught a glimpse; maybe they will still give me a chance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvryan.org/2008/06/an-apple-n00b-wwdc-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

