<?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; schof</title>
	<atom:link href="http://blog.sudosu.net/author/admin/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>Rhabdomyolysis Update (And Lessons You Can Learn From What I Did Wrong)</title>
		<link>http://blog.sudosu.net/2009/rhabdomyolysis-update-and-lessons-you-can-learn-from-what-i-did-wrong/</link>
		<comments>http://blog.sudosu.net/2009/rhabdomyolysis-update-and-lessons-you-can-learn-from-what-i-did-wrong/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 06:07:55 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Autobiography]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=301</guid>
		<description><![CDATA[How A Healthy Man Ended Up In The Hospital &#8212; My Mistakes:
I hike and do martial arts training regularly, and consider myself in reasonably good shape. However, on Monday I started an exercise program with a local Crossfit affiliate, Team Crossfit.
This was an intense workout, but I&#8217;ve done intense (worse) workouts in the past, with [...]]]></description>
			<content:encoded><![CDATA[<p><strong>How A Healthy Man Ended Up In The Hospital &#8212; My Mistakes:</strong></p>
<p>I hike and do martial arts training regularly, and consider myself in reasonably good shape. However, on Monday I started an exercise program with a local <a href="http://crossfit.com/">Crossfit</a> affiliate, <a href="http://www.teamcrossfit.com/">Team Crossfit</a>.</p>
<p>This was an intense workout, but I&#8217;ve done intense (worse) workouts in the past, with no ill effects other than soreness. We did jumping pull-ups (where you jump up to a &#8220;completed&#8221; pull up position, then lower yourself as slowly as you can. This did a fair bit to blow out my arms and upper back, as those muscles were not used to that kind of exertion. After about 20 minutes doing jumping pull-ups, they switched from the skills portion to the &#8220;timed workout&#8221; portion, and added wall-balls (I then threw a 14-pound medicine ball 10 feet up a wall) and staying in the plank position for a while.</p>
<p>(The routine was supposed to be 20 jumping pull-ups, 20 wall-balls, and 1 minute in the plank position &#8212; with the whole sequence repeated five times.)</p>
<p>My trainer saw that I was straining, and cut the routine in half for me. (Ten pull-ups, ten wall-balls, and 30 seconds in plank position.) I ended up stopping at the end of round 4.</p>
<p>I want to emphasize that this did NOT seem like a dangerously high amount of exercise to either me or the Crossfit trainer. I lay no responsibility for this on Team Crossfit. This is actually the second time I&#8217;ve taken Crossfit (I went for a month or two over the summer) and I had harder workouts then that left me more sore than this one, with no ill effects. Nevertheless, it&#8217;s obvious to me now that I should have started up this exercise regime more gradually. That&#8217;s mistake number 1.</p>
<p>Mistake number 2 was insufficient hydration. I drank what I thought was enough after my workout on Monday, and then stopped &#8212; after about 25 ounces of water. After that I just drank normally. On Tuesday, I didn&#8217;t work out, and I had a cup of coffee, and about five cups of tea &#8212; that&#8217;s it. In hindsight (hell, even at the time had I bothered to think about it) this was vastly insufficient hydration.</p>
<p>Mistake number 3 was taking Advil for my muscle pain. This would normally be a good thing, but I learned that Advil has an inhibiting effect on the kidneys &#8212; it closes down the tubes in the kidneys through which liquid flows. This is perfectly fine if you have a headache, but if the kidneys are trying to remove the poisonous effects of excess exercise at the same time you&#8217;re taking Advil, it compounds the problem.</p>
<p>The result of those three mistakes was at least one night in the hospital for me, as the doctors struggle to treat my <a href=" https://health.google.com/health/ref/Rhabdomyolysis">Rhabdomyolysis</a>.</p>
<p><strong>My WHAT?</strong></p>
<p>Tuesday night, after work, I urinated when I got home and saw that my urine was very dark in color, like a flat can of cola.</p>
<p>The materials that CrossFit gives out when you start includes a warning that, if your urine looks like Coca Cola, you should go immediately to the emergency room. I called <a href="http://twitter.com/dakimjerry">@dakimjerry</a>, hoping that he would talk me out of it, and he told me to go to the ER. Shit. I called Kate S., hoping the same, and she told me to go to the ER. Shit. I went to the Providence-Tarzana ER.</p>
<p>There they found blood in my urine (not actually blood, but myoglobin, a result of muscle cells dying and breaking up). Microscopic examination of my urine showed no blood cells, so it wasn&#8217;t blood, but muscles breaking down. They ran my levels of <a href="http://en.wikipedia.org/wiki/Creatine_kinase">Creatine kinase</a> (a muscle enzyme you would only see in the blood if muscles were breaking down) and they came back abnormally high. (The test didn&#8217;t specify the level.)</p>
<p>The ER doctor ended up giving me two liters of intravenous (IV) saline, and sending me home with instructions to see my own doctor.</p>
<p>Just when I got home at 2 AM, the ER Dr. called, and said he&#8217;d changed his mind and would like to see me at UCLA Medical Center ER the next morning. He&#8217;d run some tests, and if they showed my levels getting better, I&#8217;d be fine. Otherwise I&#8217;d be admitted to the hospital.</p>
<p>This seemed like a good plan, and I showed up at the ER the next morning.</p>
<p>There I was immediately plugged into another IV saline drip, and they got blood and urine for testing. The results of these tests were &#8230; interesting.</p>
<p>My kidney function was fine &#8212; A-OK &#8212; but my Creatine kinase level, which should be between 60 and 400, was at 136,000.</p>
<p>Holy fucking shit. Really?</p>
<p>A doctor told me that normally this level of Creatine would mean a transfer to intensive care, but because I seemed to be suffering no discomfort, pain, or ill-effects, they would simply put me under observation.</p>
<p>They admitted me to the hospital, and began pumping a liter of IV through me an hour. The idea is to wash the myoglobin and Creatine kinase out of my system before they can damage my kidneys.</p>
<p>As of about 8 PM, my Creatine kinase level was down to about 122,000 &#8212; still insanely high, but better &#8212; and I&#8217;m peeing like crazy (and collecting my pee so they can measure it).</p>
<p>That&#8217;s the news so far &#8212; I still feel fine &#8212; other than muscle soreness have felt fine throughout this whole thing &#8212; and am staying in a nice hospital with decent food and free wifi.</p>
<p><strong>You Learn Who Your Friends Are:</strong></p>
<p>I have to say I have been incredibly touched by the outpouring of support from friends and family and coworkers. I&#8217;ve been entirely clear-headed and rational about this the whole time I&#8217;ve been writing this, but now that I&#8217;m talking about the people who&#8217;ve reached out to me, I&#8217;m getting teary-eyed and emotional.</p>
<p>Kate brought my Mom (who can&#8217;t drive) down to the hospital, and came with far more water and juice and cliff bars and good chocolate than I need; <a href="http://twitter.com/jonny_west">Jon</a> made me the best geek care-package ever, including a laptop and an iPhone charging cable; <a href="http://twitter.com/tegantypes">Tegan</a> delivered it and stayed to talk and tell me funny (and sometimes slightly disturbing) medical stories. </p>
<p>People have been calling, texting, and emailing to wish me well; the outpouring of support from old friends and new has been far more than I expected; I&#8217;m incredibly lucky in far more than a medical sense.</p>
<p>My phone doesn&#8217;t work (I may be in a basement) but the regular phone by my bed is <del datetime="2009-12-18T06:57:05+00:00">310-267-9533</del> 310-267-9423. Feel free to call or stop by.</p>
<p>Right now I&#8217;m just a machine for turning IV fluids into urine, but I&#8217;m a damn lucky urine-producing machine, and I&#8217;m honored to be friends and loved ones with all of you.</p>
<p><strong>Update Thursday, December 17, 6:15 AM:</strong><br />
In the middle of the night I started having shortness of breath, and we figured it was because we had put so much liquid in my body so quickly it was entering my lungs. From 11 AM to midnight I was on 1 liter an hour; at midnight they switched me to 500 milliliters an hour. After my shortness of breath, we slowed the IV down to 0.2 liter an hour, and put me on oxygen and a oxygen sensor (on my finger at the moment) and I&#8217;m now feeling better and my oxygen level is back up in the high 90&#8217;s. (It dropped as low as the high 80&#8217;s.)</p>
<p><strong>Update Thursday, December 17, 8:10 AM:</strong></p>
<p>Saw my doctor (one of them) just now; my Creatine is down to 90,000, which is good, but they can&#8217;t run the IV through me as quickly as they&#8217;d like because of the fluid in my lungs. (Fluid is MUCH better since they slowed the IV, and I now have very minimal shortness of breath. Biggest problem is the damn O2 sensor on my finger keeps me from touch typing.</p>
<p>I asked if I&#8217;d be out today; his answer was that if it was today, it would be late in the evening. Sounds like a &#8220;no&#8221; to me. Crap.</p>
<p><strong>Update Thursday, December 17, 9:10 AM:</strong></p>
<p>Now I have a target &#8212; they&#8217;ll release me when my Creatine level is below 10,000. Also, my lungs are clear, and I&#8217;ve ditched the oxygen and the O2 sensor. Sweet! I can touch-type!</p>
<p><strong>Update Thursday, December 17, 8:15 PM:</strong></p>
<p>OK, we&#8217;ve got a correction, there was some confusion with what the earlier doctor told me. The original ER Dr. called to see how I was doing (I think he&#8217;s a genuinely nice guy, but I also think I&#8217;m an interesting case to him; most people with my CK levels present much worse.) and mentioned it was too bad my CK levels had gone back up. <b>Say what?</b></p>
<p>I later confirmed what he told me with a nurse in the observation ward. At 1 AM this morning, I had a 90,000 CK level. (Again, under 400 is normal, and under 10,000 lets me go home.) However, about that time, I started getting fluid in my lungs, and we reduced me from 500 milliliters per hour to 200. That allowed my body to move the water out of my lungs, and made me breathe better. But it also allowed my CK levels to creep up. They were measured at 103,000 at 5 AM this morning.</p>
<p>I&#8217;ve been at 350 milliliters per hour of saline IV drip most of the day, and my 5:30 PM CK reading (I&#8217;m now getting blood drawn twice a day instead of every four hours) was 89,000.</p>
<p>I&#8217;m definitely not going home tonight. I&#8217;m kind of doubtful I&#8217;ll get home tomorrow, and this may mean we&#8217;re moving to something more aggressive than IV fluids. (This is me saying this; no doctor has said so.)</p>
<p>Good news is I&#8217;m moving to a private room, still in Observation, but I expect I&#8217;ll sleep better without people being moved into and out of beds right next to mine all night long. (Not that I&#8217;m eager to move, but I&#8217;m all packed up &#8211; all belongings in bags and etc. except this laptop.)</p>
<p><strong>Update Thursday, December 17, 10:50 PM:</strong></p>
<p>I&#8217;m in the new private room. This is excellent. (New phone is 310-267-9423.)</p>
<p>My left arm is swelling up like <a href="http://www.imdb.com/media/rm2032244736/tt0167190">Hellboy</a> (maybe there&#8217;s something to this <a href="https://twitter.com/schof/statuses/6788143345">super-hero theory</a> after all) so they switched the IV to my right arm. This is not excellent. I used to be a phlebotomist&#8217;s dream; now I&#8217;m apparently a nightmare. Took two RNs and 40 minutes to get an IV in. My whole body is swelling up with fluids. I&#8217;m the fucking Pillsbury doughboy. (OK. Not quite that bad, But they estimated this morning that they&#8217;ve given me 14 liters of IV fluid and I&#8217;ve urinated 7.) They figured that I&#8217;d put on about 10 pounds of water weight. (Leaving the &#8220;period&#8221; jokes to those more qualified.)</p>
<p>I&#8217;m going to CLOSE THE DOOR and go to sleep &#8212; what a wonderful concept. Goodnight, all.</p>
<p><strong>Update Friday, December 18, 8:17 AM:</strong></p>
<p>Just spoke with my doctors and got my CK results. CK is 68,118; plan is the same &#8212; flood me with IV fluids until it goes down. Doctor said I may be here a few more days.</p>
<p><strong>Update Friday, December 18, 9:12 PM:</strong></p>
<p>Lovely day in the Observation suite &#8212; got to walk outside twice (got my car from temporary parking and drove it to the hospital parking, and did not have a ticket!) and took a shower.</p>
<p>You would not believe, by the way, the looks you get while walking down a public street in a hospital gown. I think people thought I was an escaped mental patient &#8212; at least one person asked me if I was one, and lots of others stared.</p>
<p><a href="https://twitter.com/nessahead">Vanessa</a> stopped by with snickerdoodles, Heather L. stopped by with a get-well card from everyone at work, and more Gatorade and candy than any sane man needs, and then Kate S. stopped by with my Mom to visit for a while. All of that was wonderful; a great way to spend a Friday evening (if your Friday evening had to be spent in a hospital). (And I gave Kate my house key; she&#8217;ll be coming back tomorrow with movies and clothes.)</p>
<p>All that&#8217;s the good news. The CK results from my 6 PM blood draw were 54,574. Yesterday I went down 20,000; today I went down 13,500. It&#8217;s good that I&#8217;m going down, but I&#8217;m frustrated that it went down less today than it did yesterday. We&#8217;ll see what tomorrow morning&#8217;s reading is. I was thinking I&#8217;d be out of here by Sunday or Monday; now I&#8217;m not so sure.</p>
<p><strong>Update Saturday, December 19, 8:19 AM:</strong></p>
<p>Great news! CK results from 4:42 AM this morning were 32,147. That&#8217;s a loss of 35,971 in the last 24 hours, and means that I&#8217;ll almost certainly be going home tomorrow.</p>
<p>Haven&#8217;t spoken with doctors yet; I&#8217;ll update when I do.</p>
<p><strong>Update Saturday, December 19, 3:26 PM:</strong></p>
<p>Went for a walk this morning; a one-hour walk around the UCLA campus. It was beautiful. I did get stared at a lot and asked if I needed help. What? You&#8217;ve never seen a man in sneakers and a hospital gown with an IV in his arm going for a brisk walk?</p>
<p><a href="http://twitter.com/dakimjerry">@dakimjerry</a> came by and visited for a while; it was great hearing about his recent adventures on the road.</p>
<p>Kate S. is coming by later today after stopping of at my house; she&#8217;s going to bring CLOTHES. And SOCKS. And DVDs. And my TOOTHBRUSH. (I&#8217;ve been using a flimsy one from the hospital that bends; it&#8217;s bristles on the end of a drinking straw.)</p>
<p>Because I&#8217;m swelling up with liquids the doctors have given me a diuretic; my &#8220;output&#8221; was about 1.8 liters in an hour. Think about the size of a 2-liter soda bottle for a second&#8230;</p>
<p>No idea when I&#8217;m leaving. I&#8217;m getting closer to the magic 10,000 number, but the doctors say this won&#8217;t be linear &#8212; some days I&#8217;ll drop a lot, and some days I won&#8217;t. I handled my parents&#8217; Medicare Part D drug plan selection over the Internet, and ordered some groceries to be delivered for them. (They can&#8217;t drive, or lately, use a computer.)</p>
<p><strong>Update Saturday, December 19, 6:15 PM:</strong></p>
<p>My CK level from 4:30 PM today was 27,221! Getting down there!</p>
<p><strong>Update Sunday, December 20, 10:20 AM:</strong></p>
<p>Just got back from a one-hour walk to the UCLA sculpture garden, and then a shower and fresh clothes. Heaven!</p>
<p>Even better, I spoke with a doctor, and my CK levels are down to 14,000! Wohoo! They&#8217;re taking me off the IV and testing to see whether it continues to come down by oral hydration. (They&#8217;re not, unfortunately, taking the IV out of my arm yet &#8212; they&#8217;re just not hooking it up to the bag.)</p>
<p>The doctor thinks it&#8217;s likely I&#8217;ll go home tomorrow!</p>
<p><strong>Update Sunday, December 20, 5:22 PM:</strong></p>
<p>My 4 PM blood test came back with a CK level of 11,096! I should be out of here tomorrow for sure! I&#8217;ll probably be under 10,000 by my 5 AM blood draw!</p>
<p><strong>Update Sunday, December 20, 7:14 PM:</strong></p>
<p>Just spoke with my night nurse; he said all the nurses are really excited about my case &#8212; they&#8217;ve never seen a rhabdomyolysis case with numbers this high. Normally there&#8217;s serious kidney damage at around 50,000 &#8212; my kidneys are fine, and my highest level measured was 136,000.  Still crossing my fingers I&#8217;ll go home tomorrow.</p>
<p><strong>Update Monday, December 21, 10:30 AM:</strong></p>
<p>I was just told that my CK level from this morning was 6000. I&#8217;ll be released as soon as the attending physician sees me and signs off on it, and I&#8217;ll need to drink a liter of water a day.</p>
<p>WHOOOOOOOOOOOOOOOO!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2009/rhabdomyolysis-update-and-lessons-you-can-learn-from-what-i-did-wrong/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<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>OS X Docs are Wrong; How To Run Periodic Maintenance</title>
		<link>http://blog.sudosu.net/2009/os-x-docs-are-wrong-how-to-run-periodic-maintenance/</link>
		<comments>http://blog.sudosu.net/2009/os-x-docs-are-wrong-how-to-run-periodic-maintenance/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 18:09:31 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=286</guid>
		<description><![CDATA[I just reimaged my laptop, and discovered that the &#8220;apropos&#8221; command had nothing in its database. (You use &#8220;apropos&#8221; to look up man pages related to a topic. It looks through an index to find appropriate pages to list, and the periodic maintenance tasks had not created the index.) OK. No problem. Google is my [...]]]></description>
			<content:encoded><![CDATA[<p>I just reimaged my laptop, and discovered that the &#8220;apropos&#8221; command had nothing in its database. (You use &#8220;apropos&#8221; to look up man pages related to a topic. It looks through an index to find appropriate pages to list, and the periodic maintenance tasks had not created the index.) OK. No problem. Google is my friend.</p>
<p>Google took me to an Apple Knowledge Base article that is out of date: <a href="http://support.apple.com/kb/HT2319" target="_blank">http://support.apple.com/kb/HT2319</a></p>
<p>This article states that you should, from the terminal, run &#8220;/etc/daily&#8221; to run the daily maintenance tasks. That may have been true before LaunchD took over from cron, but it&#8217;s not true anymore. There is no /etc/daily file on my 10.5 system.</p>
<p>The other option they suggest, &#8220;sudo periodic weekly&#8221; did work, and generated the apropos index files.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2009/os-x-docs-are-wrong-how-to-run-periodic-maintenance/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Another nice little one-liner; wait until a file is there (or not there)</title>
		<link>http://blog.sudosu.net/2008/another-nice-little-one-liner-wait-until-a-file-is-there-or-not-there/</link>
		<comments>http://blog.sudosu.net/2008/another-nice-little-one-liner-wait-until-a-file-is-there-or-not-there/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 00:55:48 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=281</guid>
		<description><![CDATA[This is the sort of thing that&#8217;s second nature to a command-line geek, but I thought it was cool enough (in its little way) to share.
The problem: I have a process that runs on a remote server for quite a while. I wish to be alerted when it completes. As long as it&#8217;s running, it [...]]]></description>
			<content:encoded><![CDATA[<p>This is the sort of thing that&#8217;s second nature to a command-line geek, but I thought it was cool enough (in its little way) to share.</p>
<p>The problem: I have a process that runs on a remote server for quite a while. I wish to be alerted when it completes. As long as it&#8217;s running, it creates a lockfile in /var/lock. So when the lockfile goes away, I want to be alerted.</p>
<p>The solution:</p>
<p>Part 1: In my .bashrc file, I&#8217;ve aliased the command &#8220;alert&#8221; to play a sound:</p>
<blockquote><p>alias alert=&#8217;aplay /usr/share/sounds/k3b_success1.wav&#8217;</p></blockquote>
<p>But of course, I can only play that on my local machine &#8212; does me no good to sound an alarm on a computer in the server room, even if it had speakers.</p>
<p>Part 2: I can create a &#8220;while&#8221; one-liner that waits until the file is deleted, then executes the next line:</p>
<blockquote><p>while [ -e ~/lockfile ]; do sleep 10; done; alert</p></blockquote>
<p>However, this can only test against files on my local system. This brings me to&#8230;</p>
<p>Part 3: You can use ssh to run a command on a remote system, instead of just logging into the remote system:</p>
<blockquote><p>ssh user@example.com &#8220;while [ -e /var/lock/program.lock ]; do sleep 10; done&#8221; ; alert</p></blockquote>
<p>It runs the while loop on the remote system, not giving back control to the local system until the while loop exits (which happens when the lock file no longer exists). Once the while loop exits, ssh exits, and we run the &#8220;alert&#8221; command, which plays a sound alerting me to the change.</p>
<p>Took me about 10 times longer to write up than it did to implement. But it&#8217;s the sort of thing you can just throw together quickly on a *nix system to make your life easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/another-nice-little-one-liner-wait-until-a-file-is-there-or-not-there/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Behind Closed Doors&#8221; by Rothman &amp; Derby</title>
		<link>http://blog.sudosu.net/2008/behind-closed-doors-by-rothman-derby/</link>
		<comments>http://blog.sudosu.net/2008/behind-closed-doors-by-rothman-derby/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 00:10:53 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=279</guid>
		<description><![CDATA[&#8220;Behind Closed Doors: Secrets of Great Management&#8221; by Johanna Rothman and Esther Derby is a strange book; while not having any ideas that are really NEW to anyone who&#8217;s read the other management books I&#8217;ve recommended, BCD still manages to impress and be worth reading. It does this by having lots of small, practical advice [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Behind Closed Doors: Secrets of Great Management&#8221; by Johanna Rothman and Esther Derby is a strange book; while not having any ideas that are really NEW to anyone who&#8217;s read the other management books I&#8217;ve recommended, BCD still manages to impress and be worth reading. It does this by having lots of small, practical advice for managers, in lots and lots of different areas.</p>
<p>If you read the other books in the field, will you derive most of these ideas yourself? Probably. But I still got a few good techniques from this book &#8212; among them, a new approach to what BCD calls my &#8220;Project Portfolio&#8221; &#8212; my lists of projects, tasks, and who they&#8217;re assigned to.</p>
<p>Worth reading. Not worth reading first, but worth the time and money spent on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/behind-closed-doors-by-rothman-derby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two Not-Highly-Recommended Books</title>
		<link>http://blog.sudosu.net/2008/two-not-highly-recommended-books/</link>
		<comments>http://blog.sudosu.net/2008/two-not-highly-recommended-books/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 18:50:52 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=277</guid>
		<description><![CDATA[This should, of course, be subtitled &#8220;Books Not To Read If You Are Me.&#8221; These aren&#8217;t necessarily bad books (in fact, both of them are good books) but they weren&#8217;t that useful to me or to people in exactly my situation. Take this with as much salt as you feel appropriate, depending on what you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>This should, of course, be subtitled &#8220;Books Not To Read If You Are Me.&#8221; These aren&#8217;t necessarily bad books (in fact, both of them are good books) but they weren&#8217;t that useful to me or to people in exactly my situation. Take this with as much salt as you feel appropriate, depending on what you&#8217;re working on.</p>
<p>The first is &#8220;Getting Real&#8221; by 37signals. If you&#8217;re doing web-application development, I&#8217;d say this is a book you should read. I&#8217;m not doing that, and thus, didn&#8217;t see a whole lot of value here. I&#8217;m making a mental note to reread this if I ever do get into a web development project, and it did make me think about ways I could make our current development procedures more agile &#8212; but if the question is &#8220;Was this worth the time it took for me to read it?&#8221; then the answer is &#8220;No.&#8221;</p>
<p>The second is &#8220;The Mythical Man Month&#8221; by Frederick Brooks. It came highly-recommended in every software management book I&#8217;ve read, so I figured it had to be on my list. While there is much still of value in this book, easily a third to a half seems completely out-of-date &#8212; advice on whether to use printed manuals or microfiche that seems as applicable as a discussion of which tools are best for shoeing horses.</p>
<p>While the concepts discussed in TMMM were clearly revolutionary, I&#8217;m not sure it makes the first cut for a software management reading list. Most of the ideas it contains are captured better in other, more current books, particularly &#8220;Peoplware,&#8221; &#8220;Joel On Software,&#8221; and &#8220;Managing Humans.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/two-not-highly-recommended-books/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Two Good Software Books</title>
		<link>http://blog.sudosu.net/2008/two-good-software-books/</link>
		<comments>http://blog.sudosu.net/2008/two-good-software-books/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 05:37:01 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=274</guid>
		<description><![CDATA[I just finished reading two different books on software development and management; both are highly recommended.
First, and best is Peopleware, by Tom DeMarco and Timothy Lister. This is another one of those must-read books. I&#8217;ve been telling everyone that I can&#8217;t believe I&#8217;ve been allowed to have the job I have without reading it. If [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished reading two different books on software development and management; both are highly recommended.</p>
<p>First, and best is Peopleware, by Tom DeMarco and Timothy Lister. This is another one of those must-read books. I&#8217;ve been telling everyone that I can&#8217;t believe I&#8217;ve been allowed to have the job I have without reading it. If you are in the business of software (or in the business of managing any type of &#8220;knowledge worker,&#8221;) you must read this. Really. I&#8217;m buying copies for all the managers and execs at work.</p>
<p>Second is the second &#8220;Joel On Software&#8221; book, &#8220;More Joel On Software,&#8221; by Joel Spolsky. I wasn&#8217;t as wowed by this one as I was by the first, but it&#8217;s still very much a worthy read. Most of the articles in the first one were new to me, while I had already read most of the 2nd one&#8217;s content on Joel&#8217;s website. Still definitely worth reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/two-good-software-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Joel On Software&#8221; By Joel Spolsky</title>
		<link>http://blog.sudosu.net/2008/joel-on-software-by-joel-spolsky/</link>
		<comments>http://blog.sudosu.net/2008/joel-on-software-by-joel-spolsky/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 22:23:41 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=273</guid>
		<description><![CDATA[If you&#8217;re in the business of developing software, you should read the &#8220;Joel On Software&#8221; book. Period.
(Shortest review I&#8217;ve ever written.)
While I don&#8217;t agree with everything Joel has written, I find most of what he writes to be a clear exposition of common-sense approaches to managing software development. No BS, just simple stuff that works. [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re in the business of developing software, you should read the &#8220;Joel On Software&#8221; book. Period.</p>
<p>(Shortest review I&#8217;ve ever written.)</p>
<p>While I don&#8217;t agree with everything Joel has written, I find most of what he writes to be a clear exposition of common-sense approaches to managing software development. No BS, just simple stuff that works. A small percentage of &#8220;Joel On Software&#8221; is mind-changing, opening your eyes to new ways of doing things or new ways of thinking about old software.</p>
<p>Highly recommended.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/joel-on-software-by-joel-spolsky/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backing up with Duplicity over SSH</title>
		<link>http://blog.sudosu.net/2008/backing-up-with-duplicity-over-ssh/</link>
		<comments>http://blog.sudosu.net/2008/backing-up-with-duplicity-over-ssh/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 22:06:54 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=272</guid>
		<description><![CDATA[I&#8217;m attempting to set up Duplicity as a backup tool, running from cron over ssh, to backup my home directory to another server.
I of course already have passwordless SSH set up to connect to that server, and use ssh-agent to store the passphrase for my SSH key, as described in another entry. However, I could [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m attempting to set up <a href="http://duplicity.nongnu.org/" target="_blank">Duplicity</a> as a backup tool, running from cron over ssh, to backup my home directory to another server.</p>
<p>I of course already have passwordless SSH set up to connect to that server, and use ssh-agent to store the passphrase for my SSH key, <a href="http://blog.sudosu.net/2008/seamless-ssh/" target="_blank">as described in another entry</a>. However, I could not get passwordless SSH to work from a cron job. If anyone has tips on how to do that, I&#8217;d love to hear it.</p>
<p>So I created a second SSH public/private key pair with no passphrase, (in ~/.ssh/backup and ~/.ssh/backup.pub) and figured out how to have Duplicity call ssh, scp, and sftp with the correct parameters to specify the new key pair. (There&#8217;s about a zillion different ways of specifying that, and only ONE that works across all three programs.)</p>
<p>The passphrase mentioned here is the one used to encrypt the duplicity backups.</p>
<blockquote><p>PASSPHRASE=&#8217;YourPassphraseGoesHere&#8217; duplicity \<br />
&#8211;no-print-statistics \<br />
&#8211;ssh-options &#8220;-oIdentityFile=/home/schof/.ssh/backup&#8221; \<br />
/home/schof \<br />
scp://johnmarkschofield@example.com/duplicity</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/backing-up-with-duplicity-over-ssh/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How To Hire The Right People</title>
		<link>http://blog.sudosu.net/2008/how-to-hire-the-right-people/</link>
		<comments>http://blog.sudosu.net/2008/how-to-hire-the-right-people/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 23:40:30 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=271</guid>
		<description><![CDATA[I must say, this article by Steve Yegge has done quite a bit to refine my thoughts about hiring geeks. (The beginning is a little long-winded. Push through. It&#8217;s worth it.)
On the other hand, I&#8217;ve met exactly ONE of the type he&#8217;s talking about in my career. Not sure where that leaves me as a [...]]]></description>
			<content:encoded><![CDATA[<p>I must say, <a href="http://steve-yegge.blogspot.com/2008/06/done-and-gets-things-smart.html" target="_blank">this article by Steve Yegge</a> has done quite a bit to refine my thoughts about hiring geeks. (The beginning is a little long-winded. Push through. It&#8217;s worth it.)</p>
<p>On the other hand, I&#8217;ve met exactly ONE of the type he&#8217;s talking about in my career. Not sure where that leaves me as a managing geek who needs to hire brilliant geeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/how-to-hire-the-right-people/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing VMware Server 1.0.6 on Ubuntu Hardy</title>
		<link>http://blog.sudosu.net/2008/installing-vmware-server-106-on-ubuntu-hardy/</link>
		<comments>http://blog.sudosu.net/2008/installing-vmware-server-106-on-ubuntu-hardy/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 00:26:02 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=270</guid>
		<description><![CDATA[It generally works pretty well, but I found the following problem, and Google was no help:
Building the VMware VmPerl Scripting API.
Using compiler &#8220;/usr/bin/gcc&#8221;. Use environment variable CC to override.
Unable to compile the VMware VmPerl Scripting API.
********
The VMware VmPerl Scripting API was not installed.  Errors encountered during
compilation and installation of the module can be found here:
/tmp/vmware-config4
You [...]]]></description>
			<content:encoded><![CDATA[<p>It generally works pretty well, but I found the following problem, and Google was no help:</p>
<blockquote><p>Building the VMware VmPerl Scripting API.</p>
<p>Using compiler &#8220;/usr/bin/gcc&#8221;. Use environment variable CC to override.</p>
<p>Unable to compile the VMware VmPerl Scripting API.</p>
<p>********<br />
The VMware VmPerl Scripting API was not installed.  Errors encountered during<br />
compilation and installation of the module can be found here:<br />
/tmp/vmware-config4</p>
<p>You will not be able to use the &#8220;vmware-cmd&#8221; program.</p>
<p>Errors can be found in the log file:<br />
&#8216;/tmp/vmware-config4/control-only/make.log&#8217;</p></blockquote>
<p>When you look at make.log, you see a series of errors like this:</p>
<blockquote><p>In file included from VmPerl.xs:6:<br />
/usr/lib/perl/5.8/CORE/perl.h:420:24: error: sys/types.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:451:19: error: ctype.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:463:23: error: locale.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:480:20: error: setjmp.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:486:26: error: sys/param.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:491:23: error: stdlib.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:496:23: error: unistd.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:776:23: error: string.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:925:27: error: netinet/in.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:929:26: error: arpa/inet.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:939:25: error: sys/stat.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:961:21: error: time.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:968:25: error: sys/time.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:975:27: error: sys/times.h: No such file or directory<br />
/usr/lib/perl/5.8/CORE/perl.h:982:19: error: errno.h: No such file or directory</p></blockquote>
<p>The answer is simple:</p>
<blockquote><p>sudo apt-get install libc6-dev</p></blockquote>
<p>Now Google has the answer.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/installing-vmware-server-106-on-ubuntu-hardy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seamless SSH</title>
		<link>http://blog.sudosu.net/2008/seamless-ssh/</link>
		<comments>http://blog.sudosu.net/2008/seamless-ssh/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 18:59:10 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=269</guid>
		<description><![CDATA[I&#8217;m transitioning my daily work desktop from OS X Leopard to Kubuntu Hardy. (I&#8217;ll be writing more about that in the future.) My job is split between managing people and doing development and system administration for a bunch of Ubuntu boxes, so running the same platform that I&#8217;m administering makes a lot of sense. I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m transitioning my daily work desktop from OS X Leopard to Kubuntu Hardy. (I&#8217;ll be writing more about that in the future.) My job is split between managing people and doing development and system administration for a bunch of Ubuntu boxes, so running the same platform that I&#8217;m administering makes a lot of sense. I DO miss some of the fit-and-finish of OS X, though, and I haven&#8217;t completely transitioned over to Linux for everything.</p>
<p>Ssh-agent is a great program that lets you add the password to your SSH private key to memory, and then you don&#8217;t need to type in the ssh key passphrase every time. The basic usage is that you start BASH as a child of ssh-agent, and then use a program called ssh-add to prompt you for the password and store it in memory.</p>
<p>On OS X, there&#8217;s a GREAT program called SSHKeychain that handles this, storing the password in your OS X keychain, so it&#8217;s really seemless.</p>
<p>On Linux, you need to type in &#8220;ssh-add&#8221; manually every time you want to store the key, and after that your SSH sessions will be seamless.</p>
<p>However, I&#8217;m always forgetting to do that, and thus getting prompted for the password. Too many seams. I added the following code snippet to the end of my .bashrc file, and thus, every time I open a bash shell, it checks whether ssh-agent has any keys in memory. If it does, the shell starts as normal. If ssh-agent doesn&#8217;t have any keys in memory, it prompts you for the password. Simple, and as seamless as I can make it.</p>
<blockquote><p>## Add key to ssh-add if it has not been added.</p>
<p>ssh-add -l &amp;&gt; /dev/null<br />
SSHADDRESULT=$?<br />
if [ "$SSHADDRESULT" -ne "0" ]; then<br />
ssh-add<br />
fi</p></blockquote>
<p><strong>UPDATE 2008-07-02</strong>: Here&#8217;s a much more succinct way of writing that:</p>
<blockquote><p>ssh-add -l &amp;&gt;/dev/null || ssh-add</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/seamless-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real Apple Fanboyism</title>
		<link>http://blog.sudosu.net/2008/real-apple-fanboyism/</link>
		<comments>http://blog.sudosu.net/2008/real-apple-fanboyism/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 16:13:08 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=268</guid>
		<description><![CDATA[In much of the web, being called an Apple Fanboy simply means you&#8217;re debunking myths thrown about by Mac-haters. And the Macalope is great at that. And if that is being an Apple Fanboy, then I am guilty. There&#8217;s a lot of hate thrown around there just because Macs are &#8220;cool&#8221; and some people have [...]]]></description>
			<content:encoded><![CDATA[<p>In much of the web, being called an Apple Fanboy simply means you&#8217;re debunking myths thrown about by Mac-haters. And the <a href="http://news.cnet.com/8300-13509_3-20.html" target="_blank">Macalope</a> is great at that. And if that is being an Apple Fanboy, then I am guilty. There&#8217;s a lot of hate thrown around there just because Macs are &#8220;cool&#8221; and <a href="http://daringfireball.net/linked/2008/may#sat-31-forbes" target="_blank">some people have a problem with that.</a></p>
<p>However, there&#8217;s some talk around Apple&#8217;s projections of selling 10 million iPhones in a year that are <a href="http://news.cnet.com/8301-13509_3-9956241-20.html" target="_blank">starting to bother me</a>.</p>
<blockquote><p>Regardless, <a href="http://www.macworld.com/article/133636/2008/05/10_million_iphones.html">Macworld&#8217;s Jason Snell</a> has already detailed how Apple will likely beat the 10 million mark for calendar 2008. So the question really is just by how much.</p></blockquote>
<p>Frankly I don&#8217;t care if Apple beats their projections or not. This won&#8217;t affect the quality of the iPhone, the quality of other Apple products, or anything else I care about. I&#8217;m not a cheerleader, I&#8217;m someone who wants to use products that don&#8217;t suck. And as long as Apple&#8217;s products suck less than anyone else&#8217;s, I&#8217;ll use Apple.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/real-apple-fanboyism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: &#8220;Release It!&#8221; by Michael T. Nygard</title>
		<link>http://blog.sudosu.net/2008/book-review-release-it-by-michael-t-nygard/</link>
		<comments>http://blog.sudosu.net/2008/book-review-release-it-by-michael-t-nygard/#comments</comments>
		<pubDate>Sat, 24 May 2008 22:00:24 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=267</guid>
		<description><![CDATA[I just finished &#8220;Release It!: Design and Deploy Production-Ready Software&#8221; by Michael T. Nygard, from The Pragmatic Programmers. This isn&#8217;t the book I thought it was when I bought it, but it&#8217;s still a really valuable read. &#8220;Release It!&#8221; focuses on (and most of the author&#8217;s experience seems to be) massive, web-scale e-commerce sites, generally [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished &#8220;Release It!: Design and Deploy Production-Ready Software&#8221; by Michael T. Nygard, from The Pragmatic Programmers. This isn&#8217;t the book I thought it was when I bought it, but it&#8217;s still a really valuable read. &#8220;Release It!&#8221; focuses on (and most of the author&#8217;s experience seems to be) massive, web-scale e-commerce sites, generally running on Java. While on the surface it has little to offer to other worlds of software development, digging a little deeper shows ideas that are applicable across all software development.</p>
<p>If you&#8217;re doing massive web stores in Java &#8212; well, you&#8217;ve probably already read this. If you haven&#8217;t I&#8217;d say this book is a must-read. Of course, my projects aren&#8217;t web-scale, aren&#8217;t e-commerce, and don&#8217;t use Java, and to this point, haven&#8217;t &#8212; so do take my comments with whatever amount of salt you feel is appropriate.</p>
<p>Even if you&#8217;re doing shrink-wrap software, I&#8217;d say &#8220;Release It!&#8221; has something of value for you &#8212; it appears to be a collection of hard-won, common-sense techniques for creating what Nygard calls &#8220;cynical software&#8221; &#8212; software that assumes that itself, and the other software it links to will all fail at one time or another, and is prepared for that failure. A number of failure modes spring to mind, but Nygard enumerates them, the anti-patterns that create them, and the patterns you can use to respond to them with exceptional clarity and obvious expertise.</p>
<p>In addition to being chock-full of good ideas and interesting concepts, it&#8217;s also filled with entertaining war stories about various failures and how Nygard and his team responded to them. And for a systems geek, there&#8217;s few more satisfying ways to spend an hour than reading about the nightmare series of cascading failures that ruined someone else&#8217;s weekend.</p>
<p>Highly-recommended.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/book-review-release-it-by-michael-t-nygard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not Enough</title>
		<link>http://blog.sudosu.net/2008/not-enough/</link>
		<comments>http://blog.sudosu.net/2008/not-enough/#comments</comments>
		<pubDate>Fri, 23 May 2008 06:56:49 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Autobiography]]></category>
		<category><![CDATA[John Mark Schofield Meta]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=266</guid>
		<description><![CDATA[I&#8217;m having a &#8230; crisis of confidence isn&#8217;t the right word, but I&#8217;m not sure what is. Let me set the stage. I work at a spectacular place, and have a job I care deeply about.
The success of our company depends on my performance. If I do my job poorly, our company could go broke, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m having a &#8230; crisis of confidence isn&#8217;t the right word, but I&#8217;m not sure what is. Let me set the stage. I work at a spectacular place, and have a job I care deeply about.</p>
<p>The success of our company depends on my performance. If I do my job poorly, our company could go broke, and all our employees could be out of work. (Lest you think I sound grandiose, there&#8217;s a number of other people at our company who can make the same statements. I&#8217;m not unique; our company depends on the efforts of a number of very talented people.)</p>
<p>Our products improve the quality of life for thousands of seniors across the country, and there&#8217;s other groups of people I can&#8217;t talk about yet who may also start being helped by my company. If I do my job well, their lives get better, and if I don&#8217;t, their lives don&#8217;t improve as much.</p>
<p>Now, this is not life-or-death. I&#8217;m not a doctor or a  pilot, and nobody&#8217;s going to die if I mess up. But quality of life is important &#8212; in the best case, our products could give a grandmother a few more months or years of recognizing her grandchildren. In the worst case, our work brings a smile and a slight lift to a senior&#8217;s day.</p>
<p>So those are the stakes, and I have a challenging job I care deeply about. Where&#8217;s the problem?</p>
<p>My crisis of confidence is that I&#8217;ve realized recently that I&#8217;m just not smart enough, and I know there&#8217;s nothing I can do to get smarter. I reached the limits of what I could do with BASH programming &#8212; so I taught myself Python, and began using that instead. Almost everything that I do involves editing text of one kind or another, on multiple platforms. After working with Vim and TextMate, I&#8217;ve settled on Emacs, and I&#8217;m working hard to master it. It&#8217;s available on every platform I use, and becoming an expert will reward the effort I put in. I spend my free time reading technical or management books, trying to improve my skills. I can make myself both more efficient and more effective. But I can&#8217;t make myself smarter.</p>
<p>The answer to all this is to simply to do the best that I can, accept that I&#8217;m doing the best that I can, and move on. Usually I tell myself that it&#8217;s enough to make our procedures and our product a little better every day. And usually that helps. Not tonight.</p>
<p>If I were to suddenly have a 100-fold decrease in my job performance, could that torpedo the company? Yes. (Again, there&#8217;s other people at work who could say the same thing.) What effect could a 100-fold increase have, both for the company and the users of our products?  Hard to imagine, but it would be significant. But I don&#8217;t see how a 100 times increase is possible for me &#8212; I&#8217;m already busting my ass to get to where I am.</p>
<p>I&#8217;m not beating myself up because someone else attacking the same problem could do it 10% better than I could. Someone else (I don&#8217;t know who, but let&#8217;s imagine) might do it ten-thousand times better. There&#8217;s no fixed endpoint, no race I have to finish. Part of this job is defining the endpoint, and a flash of inspiration could put it somewhere many orders of magnitude better than anything I can do.</p>
<p>I want to improve by orders of magnitude, and the best I can come up with is tacking on a few percentage points of improvement here and there.</p>
<p>Now realistically, I may not be the best, but I&#8217;m the best Dakim has, at least for my position. And Dakim would have a hard time replacing me if I left. But if there were some real rockstar to take my place (and people significantly better than me do exist), that rockstar could make my contributions look puny, and could take our product much farther than I&#8217;ve been able to.</p>
<p>Where does that leave me? It leaves me going to work in the morning, continuing to bust my ass and do the best I can.  And hopefully, able to forgive myself for my best being what it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/not-enough/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice little BASH one-liner to iterate through a directory</title>
		<link>http://blog.sudosu.net/2008/nice-little-bash-one-liner-to-iterate-through-a-directory/</link>
		<comments>http://blog.sudosu.net/2008/nice-little-bash-one-liner-to-iterate-through-a-directory/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 21:23:49 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=265</guid>
		<description><![CDATA[for afile in /home/auser/adirectory/*; do echo $afile; done
Useful for all kinds of things. And I can never remember how the syntax changes between doing a for statement in a bash script and doing it as a one-liner on the command line.
]]></description>
			<content:encoded><![CDATA[<blockquote><p>for afile in /home/auser/adirectory/*; do echo $afile; done</p></blockquote>
<p>Useful for all kinds of things. And I can never remember how the syntax changes between doing a for statement in a bash script and doing it as a one-liner on the command line.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/nice-little-bash-one-liner-to-iterate-through-a-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Job Interviews; Personality Does Matter</title>
		<link>http://blog.sudosu.net/2008/job-interview-feedback-personality-does-matter/</link>
		<comments>http://blog.sudosu.net/2008/job-interview-feedback-personality-does-matter/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 01:43:40 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=264</guid>
		<description><![CDATA[I recently interviewed a very intelligent, capable programmer who was near the start of his career. I decided not to make him an offer, and he sent a very nice follow-up e-mail asking for tips on how to present himself better. I figured my reply might be very useful to other applicants, so I&#8217;m posting [...]]]></description>
			<content:encoded><![CDATA[<p>I recently interviewed a very intelligent, capable programmer who was near the start of his career. I decided not to make him an offer, and he sent a very nice follow-up e-mail asking for tips on how to present himself better. I figured my reply might be very useful to other applicants, so I&#8217;m posting most of it here:</p>
<blockquote><p>First, lose the headphones. That didn&#8217;t affect our decision at all, but I could imagine it affecting it at other companies.</p>
<p>Second, you&#8217;re obviously intelligent and capable. You messed up on the unit test, but I&#8217;m attributing that to interview nerves &#8211; I&#8217;m reasonably certain you could handle the technical demands of the job. But that&#8217;s only the first hurdle.</p>
<p>The next is personality and fit with the company &#8212; and this is a sticky one. In an interview, I&#8217;ve got about an hour to decide if you&#8217;re the kind of person I want to spend the next three or more years with, in relatively close quarters. Can you argue a position strongly, but lose gracefully? You may be right about the technical merits of something, but the business reality means we have to do something else &#8212; can you live with that? On a good day, we go two steps forward and one step back &#8212; bad days it&#8217;s one step forwards and two steps back. Can you deal with that frustration? I received certain cues from you &#8212; interrupting, hitting the table during the coding test, etc. &#8212; that you might have been hard to work with. Is that true? I can&#8217;t tell in an hour. But saying &#8220;no&#8221; to a candidate who would have been terrific is a smaller risk than saying &#8220;yes&#8221; to a candidate who turns out to be a bad hire.</p>
<p>I hope you appreciate my honesty in writing this, rather than brushing you off with &#8220;not a good fit.&#8221; I did so because I think your question about your interview performance is sincere, and I&#8217;m hoping my answer helps.</p></blockquote>
<p>If it&#8217;s not obvious from reading the e-mail, <a href="http://www.randsinrepose.com/" target="_blank">Rands</a> has been a big influence on my management style.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/job-interview-feedback-personality-does-matter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting it out of my head</title>
		<link>http://blog.sudosu.net/2008/getting-it-out-of-my-head/</link>
		<comments>http://blog.sudosu.net/2008/getting-it-out-of-my-head/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 07:27:06 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Autobiography]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/?p=263</guid>
		<description><![CDATA[I had a conversation with a friend on Sunday that really stuck with me &#8212; made it difficult to sleep that night. She was talking about her father, a retired cop, who carries a gun with him everywhere. It was a sad story, for a lot of reasons, but it&#8217;s not my story, and I [...]]]></description>
			<content:encoded><![CDATA[<p>I had a conversation with a friend on Sunday that really stuck with me &#8212; made it difficult to sleep that night. She was talking about her father, a retired cop, who carries a gun with him everywhere. It was a sad story, for a lot of reasons, but it&#8217;s not my story, and I don&#8217;t have the right to share it.</p>
<p>I did share my own story &#8212; the story that kept me up Sunday night. I told parts of it to other people on Monday, and I wrote the whole thing down tonight &#8212; bright light slays demons, and I don&#8217;t want this in my dreams anymore.</p>
<p>You can read it here: <a title="No More Guns" href="http://www.sudosu.net/essays/no-more-guns/" target="_blank">http://www.sudosu.net/essays/no-more-guns/</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/getting-it-out-of-my-head/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;ll steal good ideas from anywhere</title>
		<link>http://blog.sudosu.net/2008/catheter-management-in-a-technology-company/</link>
		<comments>http://blog.sudosu.net/2008/catheter-management-in-a-technology-company/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 04:19:31 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2008/catheter-management-in-a-technology-company/</guid>
		<description><![CDATA[This is from a &#8220;Fresh Air from WHYY&#8221; Terry Gross interview with Dr. Richard Shannon, Chairman of the Dept. of Medicine of the University of PA Health System.
@ 43:48
&#8220;We learned early on that much of the focus in infection prevention was on how you place the catheter. What we learned through our observations (and borrowing [...]]]></description>
			<content:encoded><![CDATA[<p>This is from a &#8220;<a href="http://www.npr.org/templates/rundowns/rundown.php?prgId=13" target="_blank">Fresh Air from WHYY</a>&#8221; Terry Gross <a href="http://www.npr.org/templates/story/story.php?storyId=17957719" target="_blank">interview with Dr. Richard Shannon</a>, Chairman of the Dept. of Medicine of the University of PA Health System.</p>
<p>@ 43:48</p>
<blockquote><p>&#8220;We learned early on that much of the focus in infection prevention was on how you place the catheter. What we learned through our observations (and borrowing the processes from Toyota) was it was in maintaining the catheter. Once it was in, how do you take care of it? And what we initially discovered was, there weren&#8217;t reliable processes in place by which nurses and others took care of catheters. So now it&#8217;s very unambiguous, very clear to everybody where the catheter is in the person&#8217;s body, what the condition of the catheter is every day. There&#8217;s a specific person responsible each day for looking at that catheter site and making sure it&#8217;s intact. And any time there&#8217;s a question, that&#8217;s immediately kicked up to a higher-level person who can make a decision about whether the catheter needs to come out or not.</p>
<p>&#8220;So identifying a highly-reliable, unambiguous process in which everyone&#8217;s responsibility is made clear creates a much more likely defect-free process during the course of that catheter being in place.&#8221;</p></blockquote>
<p>It&#8217;s not that Shannon tells us anything really new here. It&#8217;s that he talks about one aspect of what I&#8217;m trying to do at Dakim, and comes up with something better than a trunk of <a href="http://en.wikipedia.org/wiki/The_Elements_of_Style" target="_blank">Strunks</a>:</p>
<p>&#8220;A highly-reliable, unambiguous process in which everyone&#8217;s responsibility is made clear.&#8221; Damn right.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/catheter-management-in-a-technology-company/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Worst. Cover. Letter. Ever.</title>
		<link>http://blog.sudosu.net/2008/worst-cover-letter-ever/</link>
		<comments>http://blog.sudosu.net/2008/worst-cover-letter-ever/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 15:36:13 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Broken]]></category>
		<category><![CDATA[Dakim]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2008/worst-cover-letter-ever/</guid>
		<description><![CDATA[This used to contain the text (with names and e-mails taken out) of a cover letter I received from someone applying for a job. The letter was a masterpiece, insulting (either by assertion or implication) almost everyone at the company.
Despite the over-the-top nature of the letter, posting it here and picking on it started to [...]]]></description>
			<content:encoded><![CDATA[<p>This used to contain the text (with names and e-mails taken out) of a cover letter I received from someone applying for a job. The letter was a masterpiece, insulting (either by assertion or implication) almost everyone at the company.</p>
<p>Despite the over-the-top nature of the letter, posting it here and picking on it started to seem more and more like kicking someone when he&#8217;s down. There was no larger message, no lesson to learn from the letter &#8212; just me making fun of someone who made an asshole of himself.</p>
<p>I deleted it. I don&#8217;t want to be that guy.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/worst-cover-letter-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dakim is Hiring! Know any great geeks?</title>
		<link>http://blog.sudosu.net/2008/dakim-is-hiring-know-any-great-geeks/</link>
		<comments>http://blog.sudosu.net/2008/dakim-is-hiring-know-any-great-geeks/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 21:25:40 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2008/dakim-is-hiring-know-any-great-geeks/</guid>
		<description><![CDATA[
Linux Programmer: http://losangeles.craigslist.org/wst/sof/598806531.html
Senior QA: http://losangeles.craigslist.org/wst/sof/598812878.html
Junior QA: http://losangeles.craigslist.org/wst/sof/598817260.html

]]></description>
			<content:encoded><![CDATA[<ul>
<li>Linux Programmer: <a href="http://losangeles.craigslist.org/wst/sof/598806531.html" target="_blank">http://losangeles.craigslist.org/wst/sof/598806531.html</a></li>
<li>Senior QA: <a href="http://losangeles.craigslist.org/wst/sof/598812878.html" target="_blank">http://losangeles.craigslist.org/wst/sof/598812878.html</a></li>
<li>Junior QA: <a href="http://losangeles.craigslist.org/wst/sof/598817260.html" target="_blank">http://losangeles.craigslist.org/wst/sof/598817260.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/dakim-is-hiring-know-any-great-geeks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weight Loss Update</title>
		<link>http://blog.sudosu.net/2008/weight-loss-update/</link>
		<comments>http://blog.sudosu.net/2008/weight-loss-update/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 16:34:36 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[fatblogging]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2008/weight-loss-update/</guid>
		<description><![CDATA[204 pounds this morning. Less than 20 pounds away from my goal of 188 in 2008.
(Let&#8217;s not forget, I started at 255.)
And I&#8217;m up to 8 miles of strenuous hiking &#8212; did my house to Parker Mesa last weekend; doing a 7-miler with 1400 feet of elevation gain next weekend.
And I think it&#8217;s time to [...]]]></description>
			<content:encoded><![CDATA[<p>204 pounds this morning. Less than 20 pounds away from my goal of 188 in 2008.</p>
<p>(Let&#8217;s not forget, I started at 255.)</p>
<p>And I&#8217;m up to 8 miles of strenuous hiking &#8212; did my house to Parker Mesa last weekend; doing a 7-miler with 1400 feet of elevation gain next weekend.</p>
<p>And I think it&#8217;s time to get back into Krav Maga. I&#8217;m in good enough shape now that I could get through a session without dying.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/weight-loss-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Deal With Recruiters</title>
		<link>http://blog.sudosu.net/2008/how-to-deal-with-recruiters/</link>
		<comments>http://blog.sudosu.net/2008/how-to-deal-with-recruiters/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 02:49:08 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2008/how-to-deal-with-recruiters/</guid>
		<description><![CDATA[I&#8217;m about to place an ad on Craigslist (Dakim is hiring; I&#8217;ll post a link to the ad here when it&#8217;s up.) and every time I post an ad, I get 200 calls from obnoxious recruiters. This is an snippet of an actual conversation that actually happened:
Me: I&#8217;m sorry, Dakim has a policy of not [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m about to place an ad on Craigslist (Dakim is hiring; I&#8217;ll post a link to the ad here when it&#8217;s up.) and every time I post an ad, I get 200 calls from obnoxious recruiters. This is an snippet of an actual conversation that actually happened:</p>
<blockquote><p><strong>Me: </strong>I&#8217;m sorry, Dakim has a policy of not hiring from recruiters. Have a nice day.</p>
<p><strong>Him:</strong> John John John JOHN! This guy was a .NET star at Disney! You&#8217;ve got to talk to him!</p>
<p><strong>Me:</strong> We don&#8217;t use .NET.</p>
<p><strong>Him:</strong> We&#8217;ve got a GREAT Java programmer from BofA.</p>
<p><strong>Me:</strong> We don&#8217;t use Java. Goodbye.</p></blockquote>
<p>I&#8217;ve had recruiters try every scummy thing they can think of &#8212; a common tactic appears to be lying to the receptionist (telling her you&#8217;re a client) to try to get through to me.</p>
<p>We&#8217;re rethinking the policy of not hiring from recruiters (although we&#8217;re still in the air), so I thought up a way I can deal with them without wasting a whole lot of my time. I&#8217;ll update you later as to how well it actually works. (If this appears a little harsh, remember that this is NOT recruiters we&#8217;re hiring to help us find candidates &#8212; this is recruiters cold calling because they saw our ad on Craigslist. When they call, I&#8217;ll simply ask for their e-mail, and get off the phone and send them this.)</p>
<blockquote><p>Dakim, Inc.<br />
2121 Cloverfield, Suite 205<br />
Santa Monica, CA 90404</p>
<p>Dear Recruiter:</p>
<p>Thank you for your interest in providing recruitment help to Dakim. We welcome your involvement in making Dakim a better, bigger company.</p>
<p>However, to avoid wasting either of our time, we&#8217;ve developed a few ground rules that make the recruiter/client relationship go more smoothly.</p>
<p>1) All initial communication will be via e-mail. I&#8217;ll call you when it&#8217;s time to get on the phone.</p>
<p>2) All e-mails providing information on a candidate MUST also provide the fee your company will take if we hire the individual.</p>
<p>3) Dakim has no problem finding decent candidates. We have a serious problem finding spectacular ones. You may send us up to three candidates, period. (If we make one of them an offer, the count resets to zero.) But if you&#8217;ve sent us three jerks, you&#8217;re obviously using the shotgun approach, and it&#8217;s a waste of your time, our time, and the candidates&#8217; time.</p>
<p>The positions currently open are:<br />
*<br />
*<br />
*</p>
<p>Thanks very much for your interest in recruiting for Dakim!</p>
<p>Sincerely,</p>
<p>John Schofield<br />
Director, Information Technology</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/how-to-deal-with-recruiters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Epiphany, and My Technical Goals</title>
		<link>http://blog.sudosu.net/2008/an-epiphany-and-my-technical-goals/</link>
		<comments>http://blog.sudosu.net/2008/an-epiphany-and-my-technical-goals/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 17:48:06 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Dakim]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2008/an-epiphany-and-my-technical-goals/</guid>
		<description><![CDATA[First, the epiphany &#8212; despite all the fires, and multiple top priorities, and projects, and all the other fireballs of stress that scream over my desk &#8212; there is nothing I can do for Dakim that&#8217;s more important than hiring. Over the next two years, I&#8217;m probably going to add significant headcount to my department [...]]]></description>
			<content:encoded><![CDATA[<p>First, the epiphany &#8212; despite all the fires, and multiple top priorities, and projects, and all the other fireballs of stress that scream over my desk &#8212; there is nothing I can do for Dakim that&#8217;s more important than hiring. Over the next two years, I&#8217;m probably going to add significant headcount to my department &#8212; and nothing is more important than making sure I have the right people when I need them. (With strong emphasis on RIGHT. We&#8217;re looking for rockstars.)</p>
<p>I need to start going to conventions, user group meetings, etc. &#8212; immediately I&#8217;m going to start attending the Los Angeles Linux User Group meetings and the local Python SIG. I&#8217;m not sure what else I&#8217;m going to do, but it&#8217;s becoming obvious that I don&#8217;t scale &#8212; that the long-term solution is NOT for me to increase my skills, as I&#8217;ve been doing, but to hire people who have the skills.</p>
<p>That said, in the short term, it&#8217;s clear that there&#8217;s three technical areas where I must improve my skills:</p>
<ol>
<li>I need to be a world-class guru in apt-based package management.</li>
<li>I need to greatly improve my skills at low-level TCP/IP issues &#8212; packet captures, diagnosis of networking problems, etc.</li>
<li>I need to greatly improve my skills at dealing the Linux kernel, on all levels &#8212; compiling, kernel options, loadable modules &amp; drivers, etc.</li>
</ol>
<p>I guess it&#8217;s good to have a clear vision of where I need to go. Now I need to get there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/an-epiphany-and-my-technical-goals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dakim Secures $10.6 Million In Funding</title>
		<link>http://blog.sudosu.net/2008/dakim-secures-106-million-in-funding/</link>
		<comments>http://blog.sudosu.net/2008/dakim-secures-106-million-in-funding/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 23:25:08 +0000</pubDate>
		<dc:creator>schof</dc:creator>
				<category><![CDATA[Autobiography]]></category>
		<category><![CDATA[John Mark Schofield Meta]]></category>

		<guid isPermaLink="false">http://blog.sudosu.net/2008/dakim-secures-106-million-in-funding/</guid>
		<description><![CDATA[The press release will be hitting the wires shortly, (It&#8217;s only up at the Senior Research Alliance now.)  but Dakim just got a $10.6 million shot on the arm. Many of you know I&#8217;ve been stressed lately but didn&#8217;t know why; this is why. {grin}
We&#8217;re now going to be able to focus on growth and [...]]]></description>
			<content:encoded><![CDATA[<p>The press release will be hitting the wires shortly, (It&#8217;s only up at the <a href="http://www.sranet.org/?page_ID=6A552D65-EB78-E2AA-E7869B7E421A3E8F" target="_blank">Senior Research Alliance</a> now.)  but <a href="http://www.dakim.com" target="_blank">Dakim</a> just got a $10.6 million shot on the arm. Many of you know I&#8217;ve been stressed lately but didn&#8217;t know why; this is why. {grin}</p>
<p>We&#8217;re now going to be able to focus on growth and moving forward; this will remove a huge number of the roadblocks that have been holding us back.  It&#8217;s big news.</p>
<p>(Unfortunately for my friends, it probably doesn&#8217;t mean I&#8217;ll be spending less time at work &#8212; we&#8217;re leaping into action like a sprinter leaving the blocks.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sudosu.net/2008/dakim-secures-106-million-in-funding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

