<?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>blog.sudosu.net &#187; Macintosh</title>
	<atom:link href="http://blog.sudosu.net/category/computers/macintosh/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sudosu.net</link>
	<description>Got root?</description>
	<lastBuildDate>Mon, 21 Dec 2009 18:27:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>File &#8220;Created Date&#8221; Under OS X &#8212; Harder Than You Think</title>
		<link>http://blog.sudosu.net/2009/file-created-date-under-os-x/</link>
		<comments>http://blog.sudosu.net/2009/file-created-date-under-os-x/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 21:28:57 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=290</guid>
		<description><![CDATA[A client had an OS X server with tens of thousands of files in a directory tree, and wanted to move some of them based on their creation date. I put together a Python script that worked perfectly on my test system, but failed in production. (I put in a &#8220;&#8211;dryrun&#8221; option, so no harm [...]]]></description>
			<content:encoded><![CDATA[<p>A client had an OS X server with tens of thousands of files in a directory tree, and wanted to move some of them based on their creation date. I put together a Python script that worked perfectly on my test system, but failed in production. (I put in a &#8220;&#8211;dryrun&#8221; option, so no harm was done.)</p>
<p>The modification date the script reported was correct, but the creation date the script reported was different from the creation date that doing &#8220;Get Info&#8221; in the OS X Finder reported. Hmm. Not good. I did some investigating.</p>
<p>Let&#8217;s look at a test file. The Finder reports the following creation and modification dates:<br />
<code>Created: Monday, April 10, 2006 17:04<br />
Modified: Thursday, April 13, 2006 15:54</code></p>
<p>Python reports a different creation date and the same modification date:<br />
<code><br />
&gt;&gt;&gt; import os.path<br />
&gt;&gt;&gt; import time<br />
&gt;&gt;&gt; stamp = os.path.getctime('datetest.txt')<br />
&gt;&gt;&gt; time.ctime(stamp)<br />
'Fri Apr 10 15:51:10 2009'<br />
&gt;&gt;&gt; stamp = os.path.getmtime('datetest.txt')<br />
&gt;&gt;&gt; time.ctime(stamp)<br />
'Thu Apr 13 15:54:43 2006'<br />
</code><br />
Hmmm. What does &#8220;ls&#8221; in the Terminal report? The standard &#8220;ls -l&#8221; reports creation date. Adding &#8220;-T&#8221; makes it report the full date in all cases. And &#8220;-c&#8221; counter-intuitively means &#8220;display modification date.&#8221;<br />
<code><br />
$ ls -lT datetest.txt<br />
-rwxr-xr-x@ 1 schof  schof  2448091 Apr 13 15:54:43 2006 datetest.txt<br />
$ ls -lcT datetest.txt<br />
-rwxr-xr-x@ 1 schof  schof  2448091 Apr 10 15:51:10 2009 datetest.txt<br />
</code><br />
The plot thickens. The modification date matches the Finder and Python, but both Python and ls are reporting an incorrect (according to the Finder) creation date.</p>
<p>Quite a bit of Googling showed me the &#8220;<a href="http://developer.apple.com/documentation/Darwin/Reference/Manpages/man1/mdls.1.html">mdls</a>&#8221; tool &#8212; or &#8220;metadata ls.&#8221; Very useful. This shows the complete set of metadata for a file. Including the OS X creation date. Actually, two creation dates, one for the file, and one for the file content. (I&#8217;m not sure what circumstances would make those creation dates differ. The <a href="http://developer.apple.com/macosx/spotlight.html">documentation I&#8217;ve been able to find</a> has been unclear and <a href="http://developer.apple.com/documentation/Carbon/Reference/MetadataAttributesRef/Reference/CommonAttrs.html">contradictory</a>.)</p>
<p><code><br />
$ mdls datetest.txt<br />
kMDItemContentCreationDate     = 2006-04-10 17:04:34 -0700<br />
kMDItemContentModificationDate = 2006-04-13 15:54:43 -0700<br />
...<br />
kMDItemFSContentChangeDate     = 2006-04-13 15:54:43 -0700<br />
kMDItemFSCreationDate          = 2006-04-10 17:04:34 -0700<br />
...<br />
kMDItemLastUsedDate            = 2009-04-11 11:48:03 -0700<br />
kMDItemUsedDates               = (<br />
2009-04-11 00:00:00 -0700<br />
)<br />
</code></p>
<p>Now that we&#8217;ve got all that information, what does it tell us? The Unix/Linux standard for &#8220;creation date&#8221; is to show you the date on which a particular file was created. If you copy file &#8220;a&#8221; to file &#8220;b,&#8221; those are two different files, and the &#8220;creation date&#8221; for file &#8220;b&#8221; will be the date you made the copy.</p>
<p>OS X metadata travels with the file, so if you copy file &#8220;a&#8221; to file &#8220;b&#8221; using ditto on the command-line or using the Finder, the Unix creation date will be the date the copy was done, but the OS X creation date of file &#8220;b&#8221; will be the same as file &#8220;a.&#8221;</p>
<p>There&#8217;s good arguments for handling &#8220;creation date&#8221; the Unix way, and there are good arguments for doing &#8220;creation date&#8221; the OS X way, but mixing them as OS X does is kind of frustrating.</p>
<p>I&#8217;ve written a quick-and-dirty Python example script that reports the Unix creation date and the OS X creation date for any particular file. Since it&#8217;s released under the open-source MIT license, feel free to use it in your own programs. You can download it here: <a href="http://www.sudosu.net/getcreationdate.safe">http://www.sudosu.net/getcreationdate.safe</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2009/file-created-date-under-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Correction to Ubuntu Geek&#8217;s &#8220;How To Check Your External IP Address From The Command Line&#8221;</title>
		<link>http://blog.sudosu.net/2007/correction-to-ubuntu-geeks-how-to-check-your-external-ip-address-from-the-command-line/</link>
		<comments>http://blog.sudosu.net/2007/correction-to-ubuntu-geeks-how-to-check-your-external-ip-address-from-the-command-line/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 02:20:26 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Shell Scripting]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2007/correction-to-ubuntu-geeks-how-to-check-your-external-ip-address-from-the-command-line/</guid>
		<description><![CDATA[I follow the Ubuntu Geek blog, and have found some very useful tips there. However, there&#8217;s a problem with their latest tip, &#8220;Howto Check you (sic) external IP Address from the command line.&#8221;
Some background: There&#8217;s a very useful website located at whatismyip.com, which reports the IP you used to connect to the site. If you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>I follow the <a href="http://www.ubuntugeek.com/" target="_blank">Ubuntu Geek</a> blog, and have found some very useful tips there. However, there&#8217;s a problem with their latest tip, &#8220;<a href="http://www.ubuntugeek.com/howto-check-you-external-ip-address-from-the-command-line.html" target="_blank">Howto Check you (sic) external IP Address from the command line</a>.&#8221;</p>
<p>Some background: There&#8217;s a very useful website located at <a href="http://whatismyip.com" target="_blank">whatismyip.com</a>, which reports the IP you used to connect to the site. If you&#8217;re on a computer behind a router which does NAT (<a href="http://en.wikipedia.org/wiki/Network_address_translation" target="_blank">Network Address Translation</a>), you can&#8217;t find out what your external IP is by issuing commands on the computer. Your computer&#8217;s address is (for instance) 192.168.1.5, but when traffic reaches the router, the router translates (with NAT) your address to an external IP address, such as 34.23.64.9 (an IP address I just made up).</p>
<p>WhatIsMyIP.com (and other sites like it) sprang up to  fill that void, and give you a simple way of finding out what external IP address you&#8217;re using.</p>
<p>Ubuntu Geek&#8217;s script fetches the whatismyip.com page with wget, parses it to find the IP address, and prints the IP address.</p>
<p>I tried it on my OS X box, and it didn&#8217;t work, because wget isn&#8217;t installed on OS X &#8212; but curl, a similar tool, is.</p>
<p>So I started modifying the script to use curl &#8212; and discovered an interesting comment in the source code to whatismyip.com&#8217;s page:</p>
<blockquote><p> &lt;!&#8211;Please set your code to scrape your IP from www.whatismyip.com/automation/n09230945.asp Please set your code to hit this page at a REASONABLE pace.  For more info, please see our &#8220;What&#8217;s New&#8221; page.&#8211;&gt;</p></blockquote>
<p>Hitting that link gets you just your IP address, which has two benefits over Ubuntu Geek&#8217;s implementation &#8212; it means you have no parsing to do, and it gives a SIGNIFICANTLY lower load to WhatIsMyIP&#8217;s servers. (It&#8217;s rude to slam someone else&#8217;s servers with an automated script &#8212; even though a script that simply fetches a web page once doesn&#8217;t slam a server, 10,000 people running that script would.)</p>
<p>Here&#8217;s my take on Ubuntu Geek&#8217;s BASH script:</p>
<blockquote><p>#!/bin/bash</p>
<p>echo -n &#8220;Your external IP Address is: &#8221;<br />
curl http://www.whatismyip.com/automation/n09230945.asp<br />
echo &#8220;.&#8221;</p></blockquote>
<p>For comparison&#8217;s here&#8217;s Ubuntu Geek&#8217;s original script:</p>
<blockquote><p>#!/bin/bash</p>
<p>echo Your external IP Address is:<br />
wget http://Www.whatismyip.com -O &#8211; -o /dev/null | \<br />
grep &#8216;&lt;TITLE&gt;&#8217; | sed -r &#8217;s/&lt;TITLE&gt;WhatIsMyIP\.com \- //g&#8217; | \<br />
sed -r &#8217;s/&lt;\/TITLE&gt;//g&#8217;<br />
exit 0</p></blockquote>
<p>Moral of the story? Always look for a simpler way of doing things.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2007/correction-to-ubuntu-geeks-how-to-check-your-external-ip-address-from-the-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Essential OS X Applications</title>
		<link>http://blog.sudosu.net/2007/essential-os-x-applications/</link>
		<comments>http://blog.sudosu.net/2007/essential-os-x-applications/#comments</comments>
		<pubDate>Fri, 05 Oct 2007 01:09:30 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2007/essential-os-x-applications/</guid>
		<description><![CDATA[I&#8217;ll now be working from home two days a week, and took a work iMac home with me. (Doing coding on my 12&#8243; iBook would be too painful to contemplate.)
So last night, and this morning, I did a complete, from-scratch build out on this iMac. I&#8217;ve been building up a list of the software I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll now be working from home two days a week, and took a work iMac home with me. (Doing coding on my 12&#8243; iBook would be too painful to contemplate.)</p>
<p>So last night, and this morning, I did a complete, from-scratch build out on this iMac. I&#8217;ve been building up a list of the software I need to get a base level of functionality on a new OS X box. They are ordered largely in the order in which I installed them &#8212; which is why QuickSilver is first; it&#8217;s far too painful to work on a box without QS installed. I&#8217;ll post more about WHY these apps are so important to me if anyone is interested.</p>
<ul>
<li><a href="http://quicksilver.blacktree.com/" target="_blank">QuickSilver</a></li>
<li><a href="http://toolbar.google.com/gmail-helper/notifier_mac.html" target="_blank">Google Notifier</a></li>
<li><a href="http://www.mozilla.com/firefox/" target="_blank">Firefox</a></li>
<li>Firefox Extensions:
<ul>
<li><a href="http://roachfiend.com/archives/2005/02/07/bugmenot/" target="_blank">BugMeNot</a></li>
<li><a href="https://addons.mozilla.org/firefox/1553/" target="_blank">BookMark Duplicate Detector</a></li>
<li><a href="https://addons.mozilla.org/firefox/2410/" target="_blank">Foxmarks Bookmark Synchronizer</a></li>
<li><a href="http://optimize-it.blogspot.com/" target="_blank">TMobile (USA) Minutes Used</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/748" target="_blank">Greasemonkey</a></li>
<li><a href="http://userscripts.org/scripts/show/1404" target="_blank">GMailSecure</a></li>
</ul>
</li>
<li><a href="http://www.barebones.com/products/yojimbo/" target="_blank">Yojimbo</a></li>
<li><a href="http://www.macromates.com" target="_blank">TextMate</a></li>
<li><a href="http://iconfactory.com/software/twitterrific" target="_blank">Twitterific</a></li>
<li><a href="http://www.omnigroup.com/applications/omnioutliner/" target="_blank">OmniOutliner Pro</a></li>
<li><a href="http://www.omnigroup.com/applications/omnigraffle/" target="_blank">OmniGraffle Pro</a></li>
<li><a href="http://www.omnigroup.com/applications/omnifocus/" target="_blank">OmniFocus</a></li>
<li><a href="http://www.equinux.com/us/products/vpntracker/index.html" target="_blank">VPNTracker</a></li>
<li><a href="http://www.microsoft.com/mac/products/office2004/office2004.aspx?pid=office2004" target="_blank">Microsoft Office 2004</a>
<ul>
<li> Microsoft Remote Desktop Connection Client</li>
<li> Excel</li>
<li> Word</li>
<li> Powerpoint</li>
<li> Not Media Player or Entourage</li>
</ul>
</li>
<li><a href="http://www.adiumx.com/" target="_blank">Adium</a></li>
<li><a href="http://growl.info/" target="_blank">Growl</a></li>
<li><a href="http://www.sshkeychain.org/" target="_blank">SSHKeychain</a></li>
<li><a href="http://nowsoftware.com" target="_blank">Now Up To Date &amp; Contact</a></li>
<li><a href="http://www.2point5fish.com/" target="_blank">MouseLocator</a></li>
<li><a href="http://www.microsoft.com/hardware/mouseandkeyboard/DownloadResult.aspx?prod=m_ime40&amp;os=mac_mk&amp;lang=en&amp;driverVersion=IntelliPoint%206.22%20For%20Mac" target="_blank">Microsoft Intellipoint Mouse Driver</a> for the Microsoft Intellimouse Explorer 4.0 (My favorite mouse.)</li>
<li><a href="http://www.macupdate.com/info.php/id/13297" target="_blank">wClock</a></li>
<li><a href="http://applejack.sourceforge.net/" target="_blank">AppleJack</a></li>
<li><a href="http://www.smileonmymac.com/textexpander/" target="_blank">TextExpander</a></li>
<li><a href="http://mikepiontek.com/software/mac/delivery-status.html" target="_blank">Delivery Status Widget</a></li>
<li><a href="http://www.bronsonbeta.com/" target="_blank">DashboardStarter</a>  <strike><a href="http://www.alwintroost.nl/content/widgets/dashboardkickstart.xml" target="_blank">Dashboard Kickstart</a></strike></li>
<li><a href="http://www.metabang.com/widgets/stop-it/index.html" target="_blank">StopIt</a> (Dashboard Timer App)</li>
<li><a href="http://homepage.mac.com/holtmann/eidac/software/shuffelsaver/shufflesaver.html" target="_blank">Shuffle Saver</a></li>
<li><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">Flash Player</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2007/essential-os-x-applications/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Dive Into Idiocy</title>
		<link>http://blog.sudosu.net/2007/dive-into-idiocy/</link>
		<comments>http://blog.sudosu.net/2007/dive-into-idiocy/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 21:52:13 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2007/dive-into-idiocy/</guid>
		<description><![CDATA[Mark Pilgrim nails the whole iPhone unlocking/bricking brouhaha:
I don’t understand this continuing obsession with buying things that you need to break before they do what you want.  It’s not just the iPhone; people did the exact same thing with the AppleTV too&#8230; I thought the big draw for Apple hardware was that “It Just [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://diveintomark.org/archives/2007/10/04/if-wishes-were-iphones" title="Mark Pilgrim's iPhone Unlocking Article" target="_blank">Mark Pilgrim nails</a> the whole iPhone unlocking/bricking brouhaha:</p>
<blockquote><p>I don’t understand this continuing obsession with buying things that you need to break before they do what you want.  It’s not just the iPhone; people did the exact same thing with the AppleTV too&#8230; I thought the big draw for Apple hardware was that “It Just Works.” By breaking it, you must know you’re giving up the “Just Works” factor, so what’s left? Rounded corners?</p>
<p>My current theory is that it’s some twisted form of wish fulfillment. “I wish this company understood the value of openness, but they don’t, so I’m going to keep buying their closed, crippled shit until they get it.” Yeah, let me know how that works out for you.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2007/dive-into-idiocy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Workflow: TextMate, Subversion, and Python</title>
		<link>http://blog.sudosu.net/2007/my-workflow-textmate-subversion-and-python/</link>
		<comments>http://blog.sudosu.net/2007/my-workflow-textmate-subversion-and-python/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 01:33:49 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2007/my-workflow-textmate-subversion-and-python/</guid>
		<description><![CDATA[I&#8217;m focusing in on some very important parts of my workflow. Version control is Subversion. I&#8217;m most of the way through the book on it.
Text editing is TextMate. I was trying to use vim, because it&#8217;s one editor I can use both on my OS X desktop and SSH&#8217;d across the network to linux boxes. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m focusing in on some very important parts of my workflow. Version control is Subversion. I&#8217;m most of the way through the book on it.</p>
<p>Text editing is TextMate. I was trying to use vim, because it&#8217;s one editor I can use both on my OS X desktop and SSH&#8217;d across the network to linux boxes. I will continue to use vim remotely &#8212; though I may look at emacs as well. But for local editing, it&#8217;s TextMate for sure. Its functionality when dealing with large source code files and trees with many different files is impressive &#8212; I can see myself working significantly more efficiently with TextMate.</p>
<p>I&#8217;m used to working on the command-line with Subversion, but TextMate integrates with it, so I can commit changes by hotkey, etc.</p>
<p>And Python is rapidly becoming my system administration language of choice. All of this seems to fit together really well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2007/my-workflow-textmate-subversion-and-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Install Subversion in OS X</title>
		<link>http://blog.sudosu.net/2007/how-to-install-subversion-in-os-x/</link>
		<comments>http://blog.sudosu.net/2007/how-to-install-subversion-in-os-x/#comments</comments>
		<pubDate>Mon, 05 Mar 2007 00:28:41 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2007/how-to-install-subversion-in-os-x/</guid>
		<description><![CDATA[The folks behind Subversion don&#8217;t produce an OS X binary, so they link to a third party who produced one. Unfortunately, the current regular version is 1.4.3, and the latest OS X binary is 1.3.
I found a different binary at Martin Ott&#8217;s site. I have no idea why his site isn&#8217;t linked from Subversion&#8217;s, but [...]]]></description>
			<content:encoded><![CDATA[<p>The folks behind <a href="http://subversion.tigris.org" target="_blank">Subversion</a> don&#8217;t produce an OS X binary, so they link to <a href="http://metissian.com/projects/macosx/subversion/" target="_blank">a third party who produced one</a>. Unfortunately, the current regular version is 1.4.3, and the latest OS X binary is 1.3.</p>
<p>I found a different binary at <a href="http://www.codingmonkeys.de/mbo/articles/tag/subversion" target="_blank">Martin Ott&#8217;s site</a>. I have no idea why his site isn&#8217;t linked from Subversion&#8217;s, but his binary is 1.4.3, the latest.</p>
<p>Simply run the installer in his package, and it will do ALMOST all that&#8217;s needed. However, you still won&#8217;t be able to run svn from the command-line, because the package installs it in /usr/local/bin, and that path isn&#8217;t in Apple&#8217;s default.</p>
<p>For those new to the terminal, the path variable is a list of directories where OS X should look for applications. This applies only to the command line. For instance, if you type &#8220;ls&#8221; on the command line, it will look for the &#8220;ls&#8221; program in each directory listed in the path. Since it finds it in /bin, it will run ls. The path is why running &#8220;ls&#8221; is the same as running &#8220;/bin/ls&#8221;.</p>
<p>To find out what your path is currently, enter the following command: &#8220;echo $PATH&#8221;</p>
<p>(Capitalization does matter.)</p>
<p>To add /usr/bin/local to your path, copy and paste the following line into your terminal:</p>
<p>echo &#8220;export PATH=$PATH:/usr/local/bin&#8221; &gt;&gt; ~/.profile</p>
<p>This will not affect the shell you&#8217;re running now, so type &#8220;exit&#8221; to leave the shell. Then hit CMD-N to get a new terminal, and type &#8220;svn&#8221;</p>
<p>You should get a message telling you to type &#8220;svn help&#8221; for more information. Success, svn is installed and configured properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2007/how-to-install-subversion-in-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Becoming A Code Ninja</title>
		<link>http://blog.sudosu.net/2006/becoming-a-code-ninja/</link>
		<comments>http://blog.sudosu.net/2006/becoming-a-code-ninja/#comments</comments>
		<pubDate>Wed, 07 Jun 2006 16:34:18 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Hiking]]></category>
		<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Santa Monica Mountains]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2006/becoming-a-code-ninja/</guid>
		<description><![CDATA[It&#8217;s time to become a code ninja.
I&#8217;ve been looking at the long list of technologies I need to master for work. (And quickly!) I&#8217;ve also been looking at the even longer list of technologies I&#8217;m interested in and would like to study in depth.
Clearly, I can&#8217;t do it all. Not immediately, at least. (And certainly [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time to become a code ninja.</p>
<p>I&#8217;ve been looking at the long list of technologies I need to master for work. (And quickly!) I&#8217;ve also been looking at the even longer list of technologies I&#8217;m interested in and would like to study in depth.</p>
<p>Clearly, I can&#8217;t do it all. Not immediately, at least. (And certainly not at the same time.) I need to be selective about what subjects I choose to tackle. But I also need to maximize my chances of being able to tackle these subjects.</p>
<p>As far as I can tell, that boils down to two main areas where I need work:</p>
<p>1) Time Management<br />
2) Life Management</p>
<p>This was all brought about, by the way, by an excellent article I read by <a href="http://www.unixwiz.net/about/" target="_blank">Steve Friedl</a> about the process he went through <a href="http://www.unixwiz.net/techtips/sql-injection.html" target="_blank">penetration-testing a web app using SQL injection</a>. Great article, but reading Steve&#8217;s site really brought home some areas where I need to update my skills.</p>
<p><strong>Time Management</strong></p>
<p>In poker, there&#8217;s the concept of &#8220;plugging leaks in your game.&#8221; Poker is a game of percentages, of making the best decisions possible given incomplete information, stress, and a variety of complicating factors. You can play well (even be a winning player) but have certain situations where you habitually don&#8217;t make the optimum choice. Maybe you don&#8217;t recognize the value of a certain pair of cards. Or you are easily bluffed when you&#8217;re short on chips. In any case, it&#8217;s a leak that, if plugged, can increase your overall win rate, sometimes significantly.</p>
<p>I feel I&#8217;m generally very productive, but I need to plug my leaks. I use <a href="http://www.newsgator.com/NGOLProduct.aspx?ProdID=NetNewsWire" target="_blank">NetNewsWire</a> to keep up on a variety of tech news sites &#8212; and I&#8217;ll have to keep doing that, because knowing what&#8217;s coming (or what&#8217;s here right now) is vital to my current job performance and to my career in general. But I also have a number of non-tech-related feeds in NNW. Things like Slate.com. Warren Ellis. Others. I keep them segregated in an &#8220;Entertainment&#8221; folder, and don&#8217;t read them during work hours. But I want to maximize the return on effort I get while sitting at my computer &#8212; so I can use my non-computer time for things like hiking with K., my girlfriend. So all the non-workish feeds go. That&#8217;s a start.</p>
<p>I&#8217;ll have to work on disciplining my appetite for tech feeds, as well. Cutting out the less-vital ones, and making a list of the longer articles to read later, instead of reading an article on SQL Injection when I could be doing work with more of an immediate payoff.</p>
<p>In general, I&#8217;ll just have to be aware of how I&#8217;m spending my time.</p>
<p><strong>Life Management</strong></p>
<p>In terms of optimizing my life, I need to eat better, sleep better, and exercise more. Spend more time with my friends, as well. (Although right now much of my non-work time is spent with K. &#8212; I need to make an effort to keep my other relationships well fed as well.)</p>
<p>Right now I eat well on weekends with K., but my weekday diet is strictly bachelor-squalor &#8212; cheeseburgers, burritos, and sandwiches. (I&#8217;ll be sad if I have to give up <a href="http://losangeles.citysearch.com/profile/157551" target="_blank">Bay Cities Deli</a>.) If I can make time to pick up some vegetables-in-a-bag before work, and perhaps some chicken or fish, I&#8217;ll be able to have nutritious lunches and dinners at work. (I&#8217;ll be sad again if I give up my bagel-and-cream-cheese breakfasts. Not sure what I&#8217;ll do there.)</p>
<p>I&#8217;ll need to get to sleep a little earlier too. I get home from work usually between 8:30 and 9:30 PM &#8212; and it often takes me a while to run down before I&#8217;m tired enough to sleep. I think exercise will help with that, though.</p>
<p>I love taking hikes when I get home from work (I live in the Santa Monica Mountains, and there&#8217;s lovely parks for hiking within walking distance of my house.) but I&#8217;m not crazy about hiking at night. I&#8217;ve done it, and it&#8217;s quite calm and peaceful &#8212; but sometimes a bit creepy, too. And even though I stick to fairly well-maintained trails, there is a slightly greater chance of losing my footing and breaking something, with nobody likely to come by until morning. And if I&#8217;m getting home from work at 9:30, there&#8217;s just no way I&#8217;m going for an hour&#8217;s hike.</p>
<p>So that leaves mornings. (Just hiking on weekends isn&#8217;t going to do much for my overall energy level. You need exercise 3-5 times a week for that.) I get up at 7:30 normally. Tonight I’ll set the alarm for 6:30, and get a short hike in before breakfast. If I can keep that up every morning (or at least most mornings) I&#8217;ll be in good shape for the rest of things I&#8217;m trying to do.</p>
<p>It&#8217;s a pretty ambitious plan I&#8217;ve set out for myself here. I&#8217;ll keep you posted on how I do. <a href="http://blog.sudosu.net/2006/ive-been-putting-off-reading-procrastinationdoc/" target="_blank">It took me almost two months to read a 5-page document on procrastination.</a> Don&#8217;t hold your breath. But do cross your fingers for me.<br />
<strong> UPDATE</strong>: I wrote this last night but didn&#8217;t post it until this morning. In the meantime, I went for an hour hike in my neighborhood &#8212; on a trail straight up a hill for 40 minutes, then 20 minutes back down to home. My calves are sore but I feel great! I&#8217;ll post more about my hikes and my general progress with the non-technical aspects of this plan<a href="http://coyotehighway.com/" target="_blank"></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2006/becoming-a-code-ninja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Handle E-Mail And Voicemail Properly</title>
		<link>http://blog.sudosu.net/2006/how-to-handle-e-mail-and-voicemail-properly/</link>
		<comments>http://blog.sudosu.net/2006/how-to-handle-e-mail-and-voicemail-properly/#comments</comments>
		<pubDate>Tue, 30 May 2006 16:55:36 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2006/how-to-handle-e-mail-and-voicemail-properly/</guid>
		<description><![CDATA[From 1999, but still very good advice. Via 43Folders, with a summary.
]]></description>
			<content:encoded><![CDATA[<p>From 1999, but still <a href="http://www.opengroup.org/comm/the_message/magazine/mmv5n3/managing.htm" target="_blank">very good advice</a>. Via <a href="http://www.43folders.com/" target="_blank">43Folders</a>, with <a href="http://www.43folders.com/2006/05/30/evergreen-advice/" target="_blank">a summary</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2006/how-to-handle-e-mail-and-voicemail-properly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;ve Been Putting Off Reading Procrastination.doc&#8230;</title>
		<link>http://blog.sudosu.net/2006/ive-been-putting-off-reading-procrastinationdoc/</link>
		<comments>http://blog.sudosu.net/2006/ive-been-putting-off-reading-procrastinationdoc/#comments</comments>
		<pubDate>Tue, 23 May 2006 19:06:16 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Lifehacks]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2006/ive-been-putting-off-reading-procrastinationdoc/</guid>
		<description><![CDATA[I downloaded a file called procrastination.doc from 43folders or Lifehacker or one of the other personal productivity sites I follow. It&#8217;s been sitting on my desktop since the beginning of April, and I&#8217;ve been meaning to read it.
Somehow I found that funny. I just printed it out. We&#8217;ll see.
(Turns out it WAS from Lifehacker.)
]]></description>
			<content:encoded><![CDATA[<p>I downloaded a file called procrastination.doc from <a href="http://www.43folders.com/" target="_blank">43folders</a> or <a href="http://www.lifehacker.com" target="_blank">Lifehacker</a> or one of the other personal productivity sites I follow. It&#8217;s been sitting on my desktop since the beginning of April, and I&#8217;ve been <strong>meaning</strong> to read it.</p>
<p>Somehow I found that funny. I just printed it out. We&#8217;ll see.</p>
<p>(Turns out it <a href="http://www.lifehacker.com/software/procrastination/overcome-procrastination-by-understanding-it-165009.php" target="_blank">WAS from Lifehacker</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2006/ive-been-putting-off-reading-procrastinationdoc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrowseBack Impresses</title>
		<link>http://blog.sudosu.net/2006/browseback-impresses/</link>
		<comments>http://blog.sudosu.net/2006/browseback-impresses/#comments</comments>
		<pubDate>Sat, 20 May 2006 20:00:52 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2006/browseback-impresses/</guid>
		<description><![CDATA[So I&#8217;ve been playing with BrowseBack lately, and I&#8217;m pretty impressed. It&#8217;s a Macintosh product that keeps a running watch on what web pages you visit (you can exclude pages like webmail, your online banking sites, etc.) in a permanent archive on your computer. (You can set it to take up as much or little [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been playing with <a href="http://www.smileonmymac.com/browseback/index.html" target="_blank">BrowseBack</a> lately, and I&#8217;m pretty impressed. It&#8217;s a Macintosh product that keeps a running watch on what web pages you visit (you can exclude pages like webmail, your online banking sites, etc.) in a permanent archive on your computer. (You can set it to take up as much or little space as you want.) It&#8217;s searchable (easily) and you can view pages from your archive, print them, or create a PDF instantly.</p>
<p>The UI is great and very easy to navigate. It&#8217;s a young program and it&#8217;s got some issues (for some reason ads on pages often show up as separate pages and it doesn&#8217;t handle PDF files or other download links well) but it still seems like a winner. It gives the promise of never bookmarking again &#8212; just search your archived web history. I haven&#8217;t purchased a copy yet, but I&#8217;m evaluating it &#8212; and will likely decide to purchase a full version. I&#8217;ll keep you posted.</p>
<p>About the biggest problem I have with it is that it doesn&#8217;t support getting history from <a href="http://www.newsgator.com/NetNewsWire.aspx" target="_blank">NetNewsWire</a> &#8212; which is where I spend most of my web time. Still, it&#8217;s a minor peeve &#8212; pre-BrowseBack, I had to open pages I wanted to save in Firefox to bookmark them &#8212; so opening them in Firefox so BrowseBack will capture them doesn&#8217;t seem a huge problem. I&#8217;ve e-mailed them about NetNewsWire support, and they&#8217;ve added it to the list &#8212; we&#8217;ll see how long it takes to get it in there.</p>
<p>Props to <a href="http://secondsonconsulting.com/about_founder.html" target="_blank">Rob</a> for the heads-up on BrowseBack.</p>
<p><strong>UPDATE:</strong> (May 22, 2006) I had two full-on system freezes (no kernel panic, no error messages, just unresponsiveness in all apps) since installing BrowseBack. I did a 36-hour loop of Apple Hardware Test on my system, and it found no problems. (Of course, that doesn&#8217;t prove ANYTHING &#8212; but it tends to indicate my system hardware is OK.) Since stopping BrowseBack from autoloading at boot, I haven&#8217;t had a crash. I&#8217;ll keep testing, and perhaps re-enable BrowseBack to see if the crashes come back, but I&#8217;m considerably less enthused about Browseback at this point.</p>
<p><strong>UPDATE:</strong> (May 23, 2006)  BrowseBack support responded:</p>
<blockquote><p>Many thanks for forwarding your logs.</p>
<p>The browseback crash log appears to be within rebuilding the database, which would point either to a corrupt database file, or possibly a case within the browseback documents that browseback is not expecting on database rebuild.</p>
<p>Please try the following: open the browseback folder that is located in your Documents folder, and trash these two files:</p>
<p>data_store<br />
history_index_data</p>
<p>Relaunch browseback. Then, select Rebuild Database from the File menu. Does it fare better at all, or still crash?</p></blockquote>
<p>We&#8217;ll see if it makes a difference. I have BrowseBack set to launch at startup again.</p>
<p><strong>FINAL UPDATE: </strong>Just too unstable. I like the IDEA of BrowseBack &#8212; but it just crashes my system too much, which is obviously unacceptable. I&#8217;m using Yojimbo now, which does not automatically capture pages &#8212; I have to click a bookmarklet to bring things into Yojimbo. That&#8217;s an extra step, but probably reduces the signal-to-noise ratio in my archive. And it doesn&#8217;t crash my system.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2006/browseback-impresses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple&#8217;s Migration Assistant</title>
		<link>http://blog.sudosu.net/2006/apples-migration-assistant/</link>
		<comments>http://blog.sudosu.net/2006/apples-migration-assistant/#comments</comments>
		<pubDate>Thu, 04 May 2006 21:32:37 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Macintosh]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2006/apples-migration-assistant/</guid>
		<description><![CDATA[So I just upgraded my office computer from a dual-processor G5 to a new &#8220;Quad-Proc&#8221; ((Of course, it&#8217;s not REALLY quad-processor. It&#8217;s two dual-core processors. But it&#8217;s still really fricking cool.)) and I used Apple&#8217;s Migration Assistant to move my files over. Pulled the hard drive from my old Mac, stuck it in my new [...]]]></description>
			<content:encoded><![CDATA[<p>So I just upgraded my office computer from a dual-processor G5 to a new &#8220;Quad-Proc&#8221; ((Of course, it&#8217;s not REALLY quad-processor. It&#8217;s two dual-core processors. But it&#8217;s still really fricking cool.)) and I used Apple&#8217;s Migration Assistant to move my files over. Pulled the hard drive from my old Mac, stuck it in my new one, booted up (from the new drive) and ran the assistant. ((I could have connected the two Macs with a Firewire cable and booted the old one up in Target Disk Mode &#8212; but SATA is much faster than Firewire.))  No sweat. Moved my files, settings, and applications over while I ate lunch, and now I&#8217;m working on it this afternoon. It&#8217;s really an amazingly cool product. I wish I had this years and years ago. Of course, I&#8217;ve got so much weird shit installed on my computer that I&#8217;m a bit of an edge case. Problems I&#8217;ve found so far:</p>
<ul>
<li>It didn&#8217;t copy over my Microsoft Intellimouse Explorer driver correctly. On the plus side, it WARNED me that I would have to reinstall it. Did so and it&#8217;s working great.</li>
<li>I use <a href="http://kinkless.com" target="_blank">Kinkless GTD</a> along with <a href="http://www.omnigroup.com/applications/omnioutliner/" target="_blank">OmniOutliner Pro</a> to keep myself organized. Kinkless does a lot of customizations to Omni Outliner, which did not carry over. Neither did the Kinkless scripts. I think I&#8217;ll have to reinstall Kinkless GTD. <strike>I will update this as I fix the problem.</strike> Reinstalling Kinkless GTD fixed my problem, with no further action necessary.</li>
<li><strike>Microsoft Office install was not carried over. I had to reinstall.</strike> Nope. It was there. Just had to run it again to reinstall all the crap it dumps everywhere on the hard drive. Fricking Microsoft software.<strike><br />
</strike></li>
<li>I had QuickTime Pro on the old computer. Had to re-enter serial number. (This one I completely blame on Apple, because it&#8217;s Apple software. Not yet pointing fingers for the other issues.<strike> Although Microsoft Office is pretty fricking common.</strike>)</li>
<li>Serial numbers for Pages and Keynote (iwork) did not carry over. (Migration Assistant actually COPIED my copies of Keynote and Pages to a new folder&#8211;&#8221;iWork &#8216;06 (from old Mac)&#8221;&#8211; but both the existing iWork apps and the &#8220;from old Mac&#8221; iWork apps show up as unregistered.</li>
<li>The Kerio Mailserver admin console no longer works. Starts and then immediately exists. Downloading and reinstalling fixed it, and it kept my old settings.</li>
<li>Printer settings and drivers did not copy over. Had to reinstall printer drivers (that weren&#8217;t included with OS) and re-setup printers.</li>
<li>PocketMac for Blackberry did not work after the transfer. Had to reinstall. It did not preserve my registration, so I had to re-enter the registration information.</li>
<li><a href="http://realbasic.com" target="_blank">REALbasic</a> did not hold on to my registration information. On the plus side, it gave me a brand-new 15-day trial.</li>
<li>The Dantz Retrospect backup client was copied over but not configured. I had to reconfigure it.</li>
<li>Passwords Plus lost the ability to read my passwords file. <strike>This is bad. I currently have an e-mail into their support department asking for help.</strike> Turned out I needed to completely uninstall Passwords Plus (including data files), reboot, and copy over the data files from the disk image of my old computer. Not being a dummy, I had that backup, so everything&#8217;s cool now.</li>
<li>Textpander settings didn&#8217;t transfer over properly. The settings did, just Texpander wasn&#8217;t enabled. Enabling it fixed the issue, and my expansions WERE transferred over properly.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2006/apples-migration-assistant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My (Not The) Perfect OS X Terminal Setup</title>
		<link>http://blog.sudosu.net/2006/my-not-the-perfect-os-x-terminal-setup/</link>
		<comments>http://blog.sudosu.net/2006/my-not-the-perfect-os-x-terminal-setup/#comments</comments>
		<pubDate>Tue, 02 May 2006 17:59:47 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Macintosh Productivity]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2006/my-not-the-perfect-os-x-terminal-setup/</guid>
		<description><![CDATA[Noted as changes from default settings. Also, hit &#8220;Use Settings as Defaults&#8221; every time you change something on the &#8220;Window Settings&#8221; palette..

Terminal &#8211;&#62; Window Settings &#8211;&#62; Shell &#8211;&#62; Close Only if the Shell Exited Cleanly
Terminal &#8211;&#62; Window Settings &#8211;&#62; Emulation &#8211;&#62; Visual Bell
Terminal &#8211;&#62; Window Settings &#8211;&#62; Buffer &#8211;&#62; Unlimited Scrollback
Terminal &#8211;&#62; Window Settings &#8211;&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Noted as changes from default settings. Also, hit &#8220;Use Settings as Defaults&#8221; every time you change something on the &#8220;Window Settings&#8221; palette..</p>
<ul>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Shell &#8211;&gt; Close Only if the Shell Exited Cleanly</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Emulation &#8211;&gt; Visual Bell</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Buffer &#8211;&gt; Unlimited Scrollback</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Display &#8211;&gt;<br />
Cursor Style: Block + Blink</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Display &#8211;&gt; Anti-Aliasing</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Display &#8211;&gt;Lucida Sans Typewriter Regular 14</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Color &#8211;&gt;<br />
Black on Light Yellow</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Window &#8211;&gt; 111 Columns by 69 Rows</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Window &#8211;&gt; Title &#8211;&gt; Should be empty</li>
<li>Terminal &#8211;&gt; Window Settings &#8211;&gt; Window &#8211;&gt; Only things checked should be Active Process Name, Command Key</li>
<li>Terminal &#8211;&gt; Preferences &#8211;&gt; Declare terminal type ($TERM) as: xterm</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2006/my-not-the-perfect-os-x-terminal-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

