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

<channel>
	<title>You Sexy Thing &#187; Blogging</title>
	<atom:link href="http://krismarkel.com/yousexything/category/blogging/feed/" rel="self" type="application/rss+xml" />
	<link>http://krismarkel.com/yousexything</link>
	<description>Hot Cocoa Programming</description>
	<pubDate>Fri, 21 Nov 2008 01:25:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>New blog title</title>
		<link>http://krismarkel.com/yousexything/2007/06/new-blog-title/</link>
		<comments>http://krismarkel.com/yousexything/2007/06/new-blog-title/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 21:52:56 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/06/new-blog-title/</guid>
		<description><![CDATA[In an effort to better identify what this blog is about and attempt a bit of search engine optimization, I&#8217;m changing the title of this blog from &#8220;You Sexy Thing&#8221; to &#8220;You Sexy Thing - Hot Cocoa Programming&#8221;.
Hopefully this will help both people searching for [sexy things to say to a man] and those interested [...]]]></description>
			<content:encoded><![CDATA[<p>In an effort to better identify what this blog is about and attempt a bit of search engine optimization, I&#8217;m changing the title of this blog from &#8220;You Sexy Thing&#8221; to &#8220;You Sexy Thing - Hot Cocoa Programming&#8221;.</p>
<p>Hopefully this will help both people searching for [sexy things to say to a man] and those interested in [choosing an Objective-C book]. (Both are real searches that have led people to this site.)</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/06/new-blog-title/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gaah! Safari madness</title>
		<link>http://krismarkel.com/yousexything/2007/06/gaah-safari-madness/</link>
		<comments>http://krismarkel.com/yousexything/2007/06/gaah-safari-madness/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 21:16:35 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/06/gaah-safari-madness/</guid>
		<description><![CDATA[New rule: No more creating or editing blog posts in Safari 3!
I just lost a bunch of formatting in the last few posts, specifically, p tags around paragraphs were not preserved among other problems. I think I have it all fixed now.
I&#8217;ll be submitting a bug to Apple this evening.
]]></description>
			<content:encoded><![CDATA[<p><strong>New rule</strong>: <em>No more creating or editing blog posts in Safari 3</em>!</p>
<p>I just lost a bunch of formatting in the last few posts, specifically, <span style="font-style: italic" class="Apple-style-span">p</span> tags around paragraphs were not preserved among other problems. I think I have it all fixed now.</p>
<p>I&#8217;ll be submitting a bug to Apple this evening.</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/06/gaah-safari-madness/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How I spent my Memorial Day Weekend, part three</title>
		<link>http://krismarkel.com/yousexything/2007/06/how-i-spent-my-memorial-day-weekend-part-three/</link>
		<comments>http://krismarkel.com/yousexything/2007/06/how-i-spent-my-memorial-day-weekend-part-three/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 06:36:26 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/06/how-i-spent-my-memorial-day-weekend-part-three/</guid>
		<description><![CDATA[Memorial Day seems like a month ago, but it’s only been a couple of weeks. Thankfully, this will be my last post on the topic, and I can get back to blogging about writing code and reading books.Just for a refresher, in part 1 I migrated our old blog to this new site. In part [...]]]></description>
			<content:encoded><![CDATA[<p>Memorial Day seems like a month ago, but it’s only been a couple of weeks. Thankfully, this will be my last post on the topic, and I can get back to blogging about writing code and reading books.Just for a refresher, in <a href="http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-one/" title="Part 1 of this series">part 1</a> I migrated our old blog to this new site. In <a href="http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-two/" title="Part 2 of this series">part 2</a> I used some Perl to fix some problems caused by the migration and spent a lot of time learning absolutely nothing about SMNP.We&#8217;re now up to Sunday afternoon.There are a few reasons I created this on my own domain hosted on my own site:</p>
<ul id="null">
<li>First, I wanted access to the server logs so I could see all requests coming into the site, not just the ones captured by <a href="http://www.google.com/analytics/" title="Google Analytics home page">Google Analytics</a> and <a href="http://www.feedburner.com/fb/a/home" title="FeedBurner home page">Feedburner</a> (or especially <a href="http://www.typepad.com/" title="TypePad home page">TypePad</a>, whose site usage stats are a joke).</li>
<li>Second, I wanted a place where I could create and host my own <a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29" title="Wikipedia article on web mashups">web mashups</a>, and host any <a href="http://en.wikipedia.org/wiki/Widget_engine" title="Wikipedia article on widgets">widgets</a>, <a href="http://en.wikipedia.org/wiki/Microsoft_Gadgets" title="Wikipedia article on gadgets">gadgets</a>, and other software that I create.</li>
<li>Finally, I wanted a place where I could get first hand experience with Google (and <a href="https://siteexplorer.search.yahoo.com/" title="Yahoo Site Explorer">other</a>) <a href="http://www.google.com/webmasters/" title="Google Webmaster Central">Webmaster Tools</a>, specifically <a href="http://www.sitemaps.org/" title="Sitemaps home page">Sitemaps</a> (and maybe robots.txt at a later point).</li>
</ul>
<p>It&#8217;s kind of funny that my job involves developing for a major retail website, but I&#8217;m not provided an opportunity to learn about web crawlers or site optimization unless I do it on my own time.</p>
<p>I decided to get started with Sitemaps. A Google search for [WordPress Sitemap] quickly sent me to <a href="http://www.arnebrachhold.de/" title="Arne Brachhod's home page">Arne Brachhold</a>&#8217;s <a href="http://www.arnebrachhold.de/2005/06/05/google-sitemaps-generator-v2-final" title="Google Sitemap generator for WordPress">WordPress plugin</a>. I went with the latest beta. Installation was pretty easy, and it worked like a charm. (I sent Arne a small donation as a few days later.)</p>
<p>Though the plugin supports including additional, non-WordPress generated files in the Sitemap (and even supports putting the file somewhere other than the blog directory), I wanted something a little more flexible.</p>
<blockquote><p><strong>Lesson of the weekend 8</strong>: The Sitemap protocol <a href="http://www.sitemaps.org/protocol.php#index" title="Sitemap index file specification">defines a index file</a> that can point to other Sitemap files on your website.</p></blockquote>
<p>I created an index file in the root directory, and added a pointer to the blog&#8217;s Sitemap file. I also created a small Sitemap file for the <a href="http://krismarkel.com/" title="Kris Markel's home page">homepage</a> and included a pointer to it as well.</p>
<p>This was the easy part. The last step was to create a Sitemap for the <a href="http://krismarkel.com/eclaircie/" title="Kris and Jo's old blog">archived blog</a>. There are <a href="http://code.google.com/sm_thirdparty.html" title="Sitemap creation tools">numerous tools</a> for creating Sitemaps, but I wanted to use the <a href="https://www.google.com/webmasters/tools/docs/en/sitemap-generator.html" title="Google Sitemap Generator">program developed by the mother ship</a>. Unfortunately, this required running <a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29" title="Wikipedia article on the Python programming language">Python</a>, which is something I had never done.</p>
<blockquote><p><strong>Lesson of the weekend 9</strong>: Thanks to the power of <a href="http://krismarkel.com/yousexything/2007/06/nix/" title="What I mean when I say Unix">Unix</a> and config files, running Python scripts, at least those created by Google, is a piece of cake.</p></blockquote>
<p>This turned out to be no big deal. I ssh&#8217;d into my site, typed python and hit enter. A Python prompt appeared along with a message saying I was running 2.3.5. I quit out of Python (using <em>Ctrl-D</em>, after an amazingly useful error message told me that &#8216;<em>exit</em>&#8216; wouldn&#8217;t work),  edited my configuration file, uploaded the files, and ran the script according to Google&#8217;s instructions. It took a few tries to get the script to execute successfully. I didn&#8217;t realize that my root folder under ssh was different than my root folder under ftp. Also, using the shortcut for my home directory (~/) didn&#8217;t work as I had expected.</p>
<p>With the Sitemap file created, I added another pointer in the index file and patted myself on the back. I didn&#8217;t bother creating a <a href="http://en.wikipedia.org/wiki/Cron" title="Wikipedia article on cron">cron</a> job to periodically recreate the file since I don&#8217;t expect the archived blog to ever change.</p>
<p>I submitted the Sitemaps to <a href="https://www.google.com/webmasters/tools/siteoverview" title="Google Sitemap validator">Google Webmaster Tools</a> and <a href="https://siteexplorer.search.yahoo.com/mysites" title="Yahoo Site Explorer">Yahoo&#8217;s Site Explorer</a>, but they take a few hours to update. I&#8217;ll save you the suspense and let you know they both validated the Sitemaps without incident.</p>
<p>Brief intermission: To say that I &#8220;patted myself on the back&#8221; is a bit of a misrepresentation. Here&#8217;s a better description. You know that scene in <a href="http://www.imdb.com/title/tt0162222/" title="IMDB page for Cast Away">Cast Away</a> where Tom Hank&#8217;s character finally lights the fire and triumphantly yells, &#8220;I have made fire!&#8221; (I think he&#8217;s even thumping his chest.) It was like that, but I was yelling, &#8220;I have run Python!&#8221;</p>
<p>Whew! I still have a ways to go here, believe you me.</p>
<p>There were still a number of changes I wanted to make to the blog archive. Basically there was a bunch of functionality that would no longer work because this was now a collection of HTML pages, and not a working blog. I needed to remove the subscription links, disable comments, fix the search, and some other cleanup tasks.</p>
<blockquote><p><strong>Lesson of the weekend 10</strong>: If you&#8217;re going to archive your blog using <a href="http://www.hexcat.com/deepvacuum/" title="Deep Vacuum home page">Deep Vacuum</a>, get rid of the features that won&#8217;t work first.</p></blockquote>
<p>I could have used a Perl script similar to the one I used to update Google Analytics ids, but I wasn&#8217;t sure how to handle multi-line changes. (See <a href="http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-two/" title="Where I use Perl to fix some files">part 2</a> for details.) Instead, I decided to just put a warning on the home page, and deal with the real fix later.</p>
<p>To edit the HTML, I decided to download <a href="http://www.panic.com/coda/" title="Coda home page">Coda</a>. I had read a lot about it on various blogs and decided to give it a try. I made my changes on a my local version of the site, and then copy and pasted them into the server version. It worked like a charm, but the warning only appears on the archived blog&#8217;s <a href="http://krismarkel.com/eclaircie/" title="Kris and Jo's old blog">home page</a>. Like I said, I&#8217;ll fix the rest later.</p>
<p>Okay, I know I said I finish up this series in this post, but I can&#8217;t. It&#8217;s already long enough that editing is a pain even with WordPress&#8217;s edit box open really huge. I have to tell you the rest at a later time. I will say that the coolest part is yet to come, but you&#8217;ll have to wait to find what it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/06/how-i-spent-my-memorial-day-weekend-part-three/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aaron Hillegass has influence</title>
		<link>http://krismarkel.com/yousexything/2007/06/aaron-hillegass-has-influence/</link>
		<comments>http://krismarkel.com/yousexything/2007/06/aaron-hillegass-has-influence/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 19:55:55 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/06/aaron-hillegass-has-influence/</guid>
		<description><![CDATA[Aaron Hillegass, whose book I&#8217;m using to learn Cocoa, has made MacTech&#8217;s list of the top 25 most influential people in the Macintosh community. He&#8217;s at the top of the list, but only because it&#8217;s sorted alphabetically by first name. (There&#8217;s no ranking among the top 25, though there is an honorable mention section at [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bignerdranch.com/instructors/hillegass.shtml" title="Aaron Hillegass bio">Aaron Hillegass</a>, whose <a href="http://bignerdranch.com/products/cocoa1.shtml" title="Cocoa programming book">book</a> I&#8217;m using to <a href="http://krismarkel.com/yousexything/2007/05/choosing-a-book/" title="How I chose the book I'm using">learn Cocoa</a>, has made <a href="http://www.mactech.com/" title="MacTech's home page">MacTech</a>&#8217;s list of the <a href="http://www.mactech.com/articles/mactech/Vol.23/23.06/2007MacTech25/" title="The 25 most influential folks in the Mac community">top 25 most influential people in the Macintosh community</a>. He&#8217;s at the top of the list, but only because it&#8217;s sorted alphabetically by first name. (There&#8217;s no ranking among the top 25, though there is an honorable mention section at the end.) This makes me feel even better about my choice.<br />
<a href="http://www.kernelthread.com/" title="Amit Singh's home page">Amit Singh</a> is also on the list, who&#8217;s <a href="http://osxbook.com/" title="Mac OS X Internals home page">book</a> I briefly mention <a href="http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-one/" title="Where I talk about Amit Signh's OS X book">here</a>. I <em>swear</em> I&#8217;ll post more about the book later, but after making it through the second chapter, I&#8217;m liking it much more. I love these sorts of dense technical books, and I&#8217;m learning a lot from this one.</p>
<p>I don&#8217;t know many of the other names on the list except for <a href="http://daringfireball.net/" title="Daring Fireball home page">John Gruber</a> and <a href="http://arstechnica.com/staff/fatbits.ars/" title="John Siracusa's blog">John Siracusa</a>, both of whom I have huge respect for and probably read every word they post to the Internets.</p>
<p><em>P.S.</em> I&#8217;ll have my third and final Memorial Day Weekend story up this weekend. I&#8217;ve been out of town and haven&#8217;t had time to finish it. It&#8217;s much longer than the previous entries.</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/06/aaron-hillegass-has-influence/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How I spent my Memorial Day weekend, part two</title>
		<link>http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-two/</link>
		<comments>http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-two/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 06:21:00 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[OS X]]></category>

		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-two/</guid>
		<description><![CDATA[As I&#8217;m sure you recall from my earlier post, I had managed to upload an archive of our old blog to the new site.
Even though the site was now successfully working, there were a few problems. The first was that the Google Analytics script contained the id of the old site. Since that site is [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;m sure you recall from my <a href="http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-one/" title="What I did the day before">earlier post</a>, I had managed to upload an archive of our <a href="http://eclaircie.typepad.com/" title="Kris and Jo go to Paris">old blog</a> to the <a href="http://krismarkel.com/eclaircie/" title="The archive version of Kris and Jo go to Paris">new site</a>.</p>
<p>Even though the site was now successfully working, there were a few problems. The first was that the <a href="http://www.google.com/analytics/" title="Totally free analytics for your site">Google Analytics</a> script contained the id of the old site. Since that site is going to be retired, and I wanted to track usage of the archives, I needed to update the id in every page it appeared in. Fortunately, I already had the answer, or so I thought.</p>
<p>One of my jobs while I worked at Microsoft was creating the first every <a href="http://http://msdn2.microsoft.com/en-us/library/aa741502.aspx" title="showModalDialog documentation">HTML-based dialogs</a> to appear in an application. (I wrote the find dialog <a href="http://blogs.msdn.com/dmassy/" title="Dave Massy's blog">Dave Massy</a> talks about in the second paragraph of <a href="http://msdn2.microsoft.com/en-us/library/bb263995.aspx" title="HTML dialogs article by Dave Massy">this article</a>.) Back in the day, the Internet was slow and hard drives were small, so we had to minimize the size of Internet Explorer. I was tasked with writing a <a href="http://en.wikipedia.org/wiki/Sed" title="Wikipedia article on sed">sed</a> script to strip comments and whitespace from the dialog files. Of course, I knew nothing of sed, and all I was given was <a href="http://en.wikipedia.org/wiki/MKS_Toolkit" title="Wikipedia article on MKS Toolkit">MKS Toolkit</a> manual. It wasn&#8217;t until years later that I even realized I was writing <a href="http://en.wikipedia.org/wiki/Regular_expression" title="Wikipedia article on regular expressions">regular expressions</a>. I just had a list of strange symbols and what they were supposed to mean. (Quick aside: I&#8217;m now the resident regular expression expert at work. My secret: <a href="http://regex.info/" title="Mastering Regular Expressions website">Jeffrey Friedl</a>. I love that book.)</p>
<p>So I knew of sed and what it can do. I figured I should be able to use the magic of the Unix <a href="http://en.wikipedia.org/wiki/Pipe_%28Unix%29" title="Wikipedia article on the Unix pipe command">pipe command</a> to update all the files in the archive directory. Well, and hour or so of Google searches turned up nothing. (I even resorted to trying to read the sed man page.) I&#8217;m not sure where I read it, but I eventually learned:</p>
<blockquote><p><strong>Lesson of the weekend 6</strong>: sed cannot work &#8220;in place&#8221;. It must create a new file as output.</p></blockquote>
<blockquote><p><strong>Lesson of the post-weekend writeup 1</strong>: <a href="http://en.wikipedia.org/wiki/Sed#History" title="The History section describes the addition of in-place editing">Lesson 6 is wrong</a>. I don&#8217;t know how I was misled.</p></blockquote>
<p>So I had to move to a Perl-based solution. I know very little about Unix commands; I know <em>nothing</em> about <a href="http://en.wikipedia.org/wiki/Perl" title="Wikipedia article on Perl">Perl</a>. Fortunately, this time Google delivered <a href="http://builder.com.com/5100-6372-1044668.html" title="Perl scripts for search and replace across multiple directories">the answer</a> quickly. I made a simple modification to one of the sample scripts, tested it on my local copy of the archived site via Terminal, then SSH&#8217;d to DreamHost and ran it on the server. It worked perfectly the first time.</p>
<p>Heady from my success, I decided to try something completely different for a while. I recently picked up an <a href="http://http://www.apple.com/airportextreme/" title="Airport Extreme product page">Airport Extreme</a>. Why I needed it and the setup process will have to wait for another blog post. (I really had a very good reason for picking it up, and it&#8217;s generally worked out well.) I noticed in the advanced settings, that there&#8217;s an option to receive <a href="http://en.wikipedia.org/wiki/Snmp" title="Wikipedia article on SNMP">SNMP</a> messages from the router. I thought that maybe there was an easy way to graphically track router usage and statistics. We&#8217;ll I&#8217;m certain there is, but I couldn&#8217;t find anything I could decipher. I ended up giving up.</p>
<blockquote><p><strong>Lesson of the weekend 7</strong>: SNMP is crazy hard to understand.</p></blockquote>
<p>Okay, that takes us through Sunday morning, and Sunday afternoon is when things really get interesting. We&#8217;ll cover that (and there&#8217;s still a <em>lot</em> to cover) in the next post.</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-two/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How I spent my Memorial Day weekend, part one</title>
		<link>http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-one/</link>
		<comments>http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-one/#comments</comments>
		<pubDate>Wed, 30 May 2007 20:27:23 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[OS X]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-one/</guid>
		<description><![CDATA[Let me apologize in advance for an extremely long post. It&#8217;s been a while since my last post and I have some catching up to do.
Also, I&#8217;ll apologize because this post has pretty much nothing to do with Cocoa. However, it has everything to do with the fact that MACS ARE TOTALLY AWESOME.
Seriously, this weekend [...]]]></description>
			<content:encoded><![CDATA[<p>Let me apologize in advance for an extremely long post. It&#8217;s been a while since my last post and I have some catching up to do.</p>
<p>Also, I&#8217;ll apologize because this post has pretty much nothing to do with Cocoa. However, it has everything to do with the fact that MACS ARE TOTALLY AWESOME.</p>
<p>Seriously, this weekend it was like the scales lifted from my eyes (yet again) and I glimpsed the true greatness that is OS X.</p>
<p>And finally, I&#8217;ll apologize for turning into a raving Mac fanboy. Being a fanboy is not something I&#8217;m ashamed of. What I want to avoid is becoming a Mac apologist. We&#8217;ll see what happens.</p>
<p>The weekend started, as most weekends do, on a Friday night. Jo (my wife) and Erin (our friend) were enjoying a steak and salmon dinner at <a href="http://www.schwartzbros.com/daniels.cfm" title="Daniel's Broiler locations">Daniel&#8217;s on Eastlake</a>. I  had received a gift certificate as an <a href="http://www.answers.com/topic/attaboy" title="Definition of attaboy">attaboy</a> at work so we were splurging. During dinner I asked, &#8220;How thick do you think a 1600 page book is?&#8221; I was wondering because I had ordered <a href="http://macosxbook.com/" title="Mac OS X Internals homepage">Mac OS X Internals</a> by Amit Singh. I had heard him interviewed on a <a href="http://krismarkel.com/yousexything/2007/05/learning-curve/" title="Blog post about Amit Singh interview">podcast</a> and was intrigued enough to purchase the book. I knew it was waiting for me when I got home.</p>
<p>At home, Jo and Erin rolled their eyes and settled down to watch a movie as I cracked open the tome. (As you can guess, I was on the receiving end of some rolled eyes and &#8220;what a nerd!&#8221; comments.) Jo pointed out that a book can be 1600 pages for a couple reasons: Either it contains a lot of information, or it is very poorly edited. Based on the first chapter, which is historical rather than technical, I have to side with the latter. Also, this book could really, really use some design work. I&#8217;ll save the details for a further post.</p>
<p>I&#8217;m hoping it gets better as it gets into technical topics. If you&#8217;d like, you can read a greatly expanded version (140 pages instead of 40) of chapter one <a href="http://macosxbook.com/book/bonus/chapter1/" title="Chapter 1 of Mac OS X Internals">here</a>. Maybe the longer version is better, but my problem with the book so far is not its brevity. (Which is probably the same criticism that can be leveled at this post.) I do plan on going back and reading the longer version at some point.</p>
<p>Saturday was when the fun really began. Over the previous week, I had been trying to move our <a href="http://eclaircie.typepad.com/" title="Kris and Jo go to Paris">old blog</a> to my <a href="http://krismarkel.com/eclaircie/" title="Kris and Jo go to Paris archive">new site</a>, and convert it from <a href="http://www.typepad.com/" title="TypePad blog hosting.">TypePad</a> to <a href="http://wordpress.org/" title="Fantastic blogging software">WordPress</a>. TypePad is costing me money because you have to pay for the privilege of letting more than one person post to the blog, the site is slow, and the online editor is clunky and cluttered. Since creating this blog in WordPress, I&#8217;ve been blown away by the speed (thanks <a href="http://www.dreamhost.com/r.cgi" title="Great website hosting">DreamHost</a>!), features, ease of use, and awesome online editor.</p>
<p>However, even though the export and import went fine, the new site was still using images from the old site. Plus I had decided that I wanted to preserve the look and feel. Jo had spent a lot of time getting the blog to look cool, and I wanted that to be part of the archive. This turned out to be a giant pain. I tried to find a theme that was close to the old site and modify it, but it&#8217;s been years since I&#8217;ve had to massage HTML and stylesheets. (This is one of the benefits of moving into management.) After fighting with it for several hours, even with the help of <a href="https://addons.mozilla.org/en-US/firefox/addon/1843" title="Awesome website debugging tool for Firefox">FireBug</a>, I decided a new approach was in order.</p>
<blockquote><p><strong>Lesson of the weekend 1</strong>: If you want to archive your blog, are moving to a new blogging platform, want to keep the look and feel, and aren&#8217;t going to continue adding posts, just create an HTML copy; don&#8217;t bother trying to perform a full migration.</p></blockquote>
<p>Since I knew we weren&#8217;t going to be creating any new posts, I figured a copy of the site would be enough. I don&#8217;t really know how I knew this, but there is a nifty Unix tool called <a href="http://www.gnu.org/software/wget/" title="wget home page">wget</a> that can be used to make local copies of websites. I figured that OS X, given its Unix roots, would have a copy, but apparently it doesn&#8217;t. I didn&#8217;t trust myself to compile it from scratch (I&#8217;m still a ways away from that level of competency), and I didn&#8217;t trust <a href="http://kevinhenrikson.com/2006/06/18/macos-x-1046-wget/" title="Kevin's build of wget">a build from a random blog</a> (Sorry <a href="http://kevinhenrikson.com/" title="Kevin Henrikson's blog">Kevin</a>!) I did find an application called <a href="http://www.hexcat.com/deepvacuum/" title="DeepVacuum home page">DeepVacuum</a>, which is a Mac GUI on top of an modified wget. I downloaded it and gave it a try. (Don&#8217;t ask why I trusted the software from <a href="http://www.hexcat.com/index.html" title="HexCat home page">HexCat</a> and not Kevin. I don&#8217;t have a good reason. When I give it some thought, it&#8217;s more likely that if someone was trying to get me to install malicious software, they would set up a professional looking website, and not use some random blog.)</p>
<p>DeepVacuum worked like a charm, so I now had a local copy of Kris and Jo go to Paris. I Pointed Firefox at the home page via the file system and everything seemed to work fine.</p>
<p>Here&#8217;s where the awesomeness starts to set in. If you check out my <a href="http://krismarkel.com/yousexything/about/" title="About me">about page</a>, you&#8217;ll see that I have little to no Unix experience. We&#8217;ll, there&#8217;s no motivator like necessity. Unlike the &#8220;one click&#8221; install for WordPress, DreamHost doesn&#8217;t offer a one click upload of 100 megs of html and images. The web-based FTP client provided by DreamHost that I&#8217;d been using until now had transfer limits, so it would take forever. I have plenty of experience with command line FTP clients. Windows has shipped with one for a while, and they&#8217;re all pretty much the same. But in an effort to save disk space and bandwidth, I needed to compress the files first.</p>
<p>Here&#8217;s the dilemma. Once the file was on the DreamHost server, I&#8217;d need to decompress it. Since they&#8217;re running Debian Linux, it&#8217;s not like I could use WinZip to do it. I knew what I needed to do: I had to learn <a href="http://www.gzip.org/" title="gzip home page">gzip</a>.</p>
<p><a href="http://krismarkel.com/yousexything/wp-content/uploads/2007/05/terminalinspector.png" title="Terminal Inspector Window"><img src="http://krismarkel.com/yousexything/wp-content/uploads/2007/05/terminalinspector.png" alt="Terminal Inspector Window" /></a></p>
<p>I open up Terminal and type <em>man gzip</em>. I then read a few paragraphs and decide to try another route. The first problem is that my terminal window is way too small. Preferences doesn&#8217;t have any window-related options, and I completely miss the the &#8220;Window Settings&#8230;&#8221; item in the Terminal menu. Google searches return nothing because the Internet apparently assumes a certain level of competence, so I go hunting around the menus again. This time I find the &#8220;Window Settings&#8230;&#8221; item, but get intimidated because the drop down says &#8220;Shell&#8221;, and I don&#8217;t want to change anything about my shell settings. Finally the light bulb goes off, albeit dimly. The drop down is to select which options you&#8217;re changing. This seems like a serious usability problem. The dropdown is being used as a substitute for a tabbed dialog. Because in <em>most</em> OS X dialogs, settings are applied immediately, I figured changing the dropdown would change some setting, and I wasn&#8217;t sure exactly what it would change. What does the shell have to do with &#8220;Window Settings&#8230;&#8221; anyway?</p>
<p>So I went to the Window and Color tabs and increased the windows size and made some other adjustments.</p>
<blockquote><p> <strong>Lesson </strong><strong>of the weekend </strong><strong>2</strong>: A drop down control is a very poor substitute for tabs.</p>
<p><strong>Lesson of the weekend 2.5</strong>: To change the size of your Terminal window permanently, go into &#8220;Window Settings&#8230;&#8221; (under the Terminal menu) and select &#8220;Window&#8221; from the dropdown. Once done, choose &#8220;Color&#8221; from the dropdown and change the window transparency. You&#8217;ll want to do this because &#8230;</p></blockquote>
<blockquote><p> <strong>Lesson </strong><strong>of the weekend </strong><strong>3</strong>: Translucent terminal windows are totally awesome! Seriously. Take a look at <a href="http://images.apple.com/macosx/features/unix/images/indexunixfeature20050412.jpg" title="Screenshot of a transparent Terminal window">this screenshot</a>.</p></blockquote>
<p>Okay, even with the bigger window, the man page sucks. I hadn&#8217;t really learned this lesson yet, but I&#8217;ll post it for you now.</p>
<blockquote><p> <strong>Lesson </strong><strong>of the weekend </strong><strong>4</strong>: Unix man pages suck.</p></blockquote>
<p>Why can&#8217;t the man pages include simple usage examples? Who cares about the bugs? And why does a program like gzip require 11 paragraphs of description at the beginning?  I think the Microsoft Word manual is shorter. After this weekend, I don&#8217;t even try to read the man pages anymore. I&#8217;ll first try &#8211;help, then -h, then a Google search for [<em>Unix command</em> tutorial]. It took me going through a few more commands to really learn this lesson.</p>
<p>Here&#8217;s an incredibly useful piece of information that should probably be the first thing in the gzip man page.</p>
<blockquote><p> <strong>Lesson </strong><strong>of the weekend </strong><strong>5</strong>: gzip can only compress a single file.</p></blockquote>
<p>How do I know this? From a Google search on [gzip tutorial]. I no longer remember the exact page, but I now knew that what I needed to create was a <a href="http://www.answers.com/tarball" title="Definition of tarball"><em>tarball</em></a>. Reread everything I just said about gzip, but replace gzip with <a href="http://en.wikipedia.org/wiki/Tarball" title="Wikipedia article on the tar file format"><em>tar</em></a>. I finally found <a href="http://http://www.math.utah.edu/docs/info/tar_2.html" title="tar tutorial with examples">this page</a>, created my tarball, and used OS X&#8217;s command-line FTP client to upload it to my DreamHost account.</p>
<p>I used <a href="http://en.wikipedia.org/wiki/SSH" title="Wikipedia article on secure shell">SSH</a> to connect to DreamHost, and used gunzip and tar to upback my tarball. (I&#8217;m already familiar with SSH because we sometimes have to use it, via <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" title="PuTTY home page">PuTTY</a>, at work.) One note, I could only get SSH to work if I connected using &#8217;ssh username@hostname&#8217; within terminal. Supplying the username via a parameter, or leaving it off completely didn&#8217;t work. Have I mentioned how much the SSH man page sucks?</p>
<p>Though it only took a few minutes to read, this took several hours to actually accomplish, plus I was really tired so I went to bed.</p>
<p>However, I was super jazzed and couldn&#8217;t really sleep. The great thing about learning gzip, tar, and SSH is that these tools exist on practically every computer in existence, so long as it&#8217;s not running Windows (and doesn&#8217;t have <a href="http://http://www.cygwin.com/" title="Cygwin home page">Cygwin</a> or something similar). I could do this on DreamHost&#8217;s Debian Linux machines, the Solaris machines at work, or any Unix box. This exercise was a giant leap in my quest to move beyond Windows.</p>
<p>I got my brain to relax by working on a <a href="http://en.wikipedia.org/wiki/Rubick%27s_Cube" title="Wikipediia article on Rubik's Cube">Rubik&#8217;s Cube</a>. (I can solve everything but the last two corners! Arrgh!)</p>
<p>Since this is a natural stopping point, and this post is already too long, I&#8217;ll continue the rest of this story later. Let&#8217;s just say that what happened on Sunday was even cooler.</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/05/how-i-spent-my-memorial-day-weekend-part-one/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Everything old is new again</title>
		<link>http://krismarkel.com/yousexything/2007/05/everything-old-is-new-again/</link>
		<comments>http://krismarkel.com/yousexything/2007/05/everything-old-is-new-again/#comments</comments>
		<pubDate>Mon, 21 May 2007 07:22:07 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/05/everything-old-is-new-again/</guid>
		<description><![CDATA[I just realized this isn&#8217;t the first time my wife and I made the hot chocolate to Hot Chocolate connection.
]]></description>
			<content:encoded><![CDATA[<p>I just realized this isn&#8217;t the first time my wife and I made the <a href="http://eclaircie.typepad.com/paris/2006/02/you_sexy_thing.html" title="Hot chocolate in Paris blog post">hot chocolate to Hot Chocolate</a> connection.</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/05/everything-old-is-new-again/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First Post</title>
		<link>http://krismarkel.com/yousexything/2007/05/first-post/</link>
		<comments>http://krismarkel.com/yousexything/2007/05/first-post/#comments</comments>
		<pubDate>Mon, 21 May 2007 04:27:26 +0000</pubDate>
		<dc:creator>Kris Markel</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<guid isPermaLink="false">http://krismarkel.com/yousexything/2007/05/first-post/</guid>
		<description><![CDATA[Welcome to my new blog. I&#8217;m hoping to use this to pose questions and keep notes as I learn Cocoa programming. So far, so good.
]]></description>
			<content:encoded><![CDATA[<p>Welcome to my new blog. I&#8217;m hoping to use this to pose questions and keep notes as I learn Cocoa programming. So far, so good.</p>
]]></content:encoded>
			<wfw:commentRss>http://krismarkel.com/yousexything/2007/05/first-post/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.684 seconds -->
