<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>michael-mccracken.net</title>
	<atom:link href="http://michael-mccracken.net/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://michael-mccracken.net/wp</link>
	<description>this is a weblog.</description>
	<pubDate>Fri, 28 Mar 2008 02:42:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Two hours</title>
		<link>http://michael-mccracken.net/wp/2008/03/27/two-hours/</link>
		<comments>http://michael-mccracken.net/wp/2008/03/27/two-hours/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 02:42:54 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2008/03/27/two-hours/</guid>
		<description><![CDATA[Daniel Jalkut just wrote about a desktop bookmarking app called Pukka, which despite being apparently nice enough to warrant a positive review, was simple enough that Leo Laporte wasn&#8217;t comfortable just saying it cost $15. I felt like adding to the discussion after a few commenters described the app as trivial - in one case [...]]]></description>
			<content:encoded><![CDATA[<p>Daniel Jalkut just <a href="http://www.red-sweater.com/blog/481/it-should-be-free">wrote about</a> a desktop bookmarking app called <a href="http://codesorcery.net/pukka/">Pukka</a>, which despite being apparently nice enough to warrant a positive review, was simple enough that Leo Laporte wasn&#8217;t comfortable just saying it cost $15. I felt like adding to the discussion after a few commenters described the app as trivial - in one case saying that any good programmer could write it in two hours. </p>

<p>This bothered me, so I downloaded Pukka and gave it a try. I was curious to see if it was indeed trivial.</p>

<p>While it definitely doesn&#8217;t seem like the most feature-rich program up front, there&#8217;s a lot of stuff in there - it works with more than one bookmarking site, it integrates with RSS readers, uses the OS X keychain, includes Bonjour discovery of nearby users, and has AppleScript support.</p>

<p>Further, it shows attention to detail. Although I may not agree with some of Justin&#8217;s UI design choices, it&#8217;s clear that he spent time thinking about bookmarking workflow. I know in some of my projects, just pondering design choices takes hours - drawing mockups, and trying things out.</p>

<p>End-user app development isn&#8217;t just programming, and programming isn&#8217;t just typing.</p>

<p>I think it&#8217;s fair to say that that although you might be able to retype the code by hand in a few hours, Pukka represents a good chunk of serious work. I&#8217;m sure the mac developers in the audience will agree - Applescript support alone is almost guaranteed to be more than two hours of work.</p>

<p>I&#8217;m glad that there&#8217;s a market for small apps and small developers, and I hope downwards price pressure from large subsidized or bundled apps doesn&#8217;t kill that off.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2008/03/27/two-hours/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VoodooPad 3.5</title>
		<link>http://michael-mccracken.net/wp/2008/02/11/voodoopad-35/</link>
		<comments>http://michael-mccracken.net/wp/2008/02/11/voodoopad-35/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 23:00:44 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[VoodooPad]]></category>

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

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2008/02/11/voodoopad-35/</guid>
		<description><![CDATA[A solid update of my favorite desktop wiki.]]></description>
			<content:encoded><![CDATA[<p>From Flying Meat, <a href="http://flyingmeat.com/voodoopad">VoodooPad</a> 3.5 is out.
(<a href="http://www.flyingmeat.com/fs/flystashweb.cgi/2dc35f78-ac3e-01dc-01d4-c0cbe4c4bd91">release notes here</a>).</p>

<p>It&#8217;s a solid update, including welcome image-editor integration and more. I thought I&#8217;d point out my favorite feature in the release notes:</p>

<p>&ldquo;You can now edit pages and sort the results in the search window (woo!).&rdquo;</p>

<p>I like this because it matches a kind of manual refactoring habit I picked up with Project Builder / XCode&#8217;s excellent &ldquo;Find in Project&#8230;&rdquo; window - I search for a keyword that marks places I need to look at and edit the files right in the search window. (Note: <a href="http://www.gnu.org/software/emacs/manual/html_node/emacs/Other-Repeating-Search.html">&lsquo;occur-mode&rsquo; and kin</a> are a powerful way to do the same in Emacs&#8230;)</p>

<p>It&#8217;s a powerful habit if you plan for it, by using comments in code to keep track of what you&#8217;ve touched when making a lot of cross-cutting changes, like <code># @addsearch</code> Then when you think you&#8217;re done with a change, you can run a quick search to see if you forgot to fix anything.</p>

<p>Sometimes in VoodooPad notes, I&#8217;ll write in placeholders like that comment when I don&#8217;t have a bit of information yet, and now I can follow my trails the same way I do in code.</p>

<p>Thanks, Gus!</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2008/02/11/voodoopad-35/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PyObjC notes</title>
		<link>http://michael-mccracken.net/wp/2008/02/01/pyobjc-notes/</link>
		<comments>http://michael-mccracken.net/wp/2008/02/01/pyobjc-notes/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 18:07:28 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[computers]]></category>

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

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

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2008/02/01/pyobjc-notes/</guid>
		<description><![CDATA[Some things I've picked up from working with PyObjC recently.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been hacking around with <a href="http://pyobjc.sf.net">PyObjC</a>, the Python-ObjC/Cocoa bridge recently, and it&#8217;s quickly becoming my favorite way to write Cocoa apps. It&#8217;s really natural to mix Python idioms with Cocoa objects.</p>

<p>The latest version of PyObjC is 2.0, it&#8217;s installed by default on OS X 10.5, and XCode now includes templates for starting a PyObjC project. There&#8217;s even code autocomplete in XCode for PyObjC and IB integration, so aside from some smart-indenting issues, writing PyObjC in XCode is almost as natural as writing in ObjC.</p>

<p>I thought I&#8217;d post a few nice shortcuts and tips here.</p>

<p><br />
You can use tuples for NSRect/Range/Point, for instance, this -</p>

<pre><code>r = NSInsetRect(((0, 0) ,
                 (100, 100)), 
                10, 10)
</code></pre>

<p>creates this NSRect -</p>

<pre><code>NSRect origin=&lt;NSPoint x=10.0 
                       y=10.0&gt; 
       size=&lt;NSSize width=80.0 
                   height=80.0&gt;&gt;
</code></pre>

<p><br />
Passing python arrays as NSArray instances (and dictionaries as NSDictionaries) works great, but sometimes you need to pass a C array. The Python &#8216;array&#8217; module handles that nicely: </p>

<pre><code>import array
g = NSGradient.alloc().
   initWithColors_locations_colorSpace_(
    [NSColor.whiteColor(), 
     NSColor.blackColor()], &lt;br/&gt;
    array.array(&#8217;f', [0.0, 1.0]), 
    NSColorSpace.deviceRGBColorSpace())
</code></pre>

<p><br />
ObjC selectors are just python strings in PyObjC.</p>

<pre><code>defNC.addObserver_selector_name_object_(self,
  'windowDidResize:',
  NSWindowDidResizeNotification,
  self)
# or
self.performSelectorOnMainThread_withObject_waitUntilDone_('doIt:', None, False)
# or 
if o.respondsToSelector_("fun:"): return o.fun_(a)
</code></pre>

<p><br />
Finally, something that comes in handy when working with KVC, the  &#8216;_&#8217; method now defined on NSObjects in PyObjC:</p>

<pre><code>o = &lt;Some ObjC object&gt;
print o._.myKey
o._.myKey = 44
# is equivalent to:
print o.valueForKey_('myKey')
o.setValue_forKey_(44, 'myKey')
</code></pre>

<p><br />
That last example is straight from the <a href="http://pyobjc.sourceforge.net/NEWS-2.0.html">NEWS page</a>, where lots of other useful info can be found.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2008/02/01/pyobjc-notes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What is Site Reliability Engineering at Google</title>
		<link>http://michael-mccracken.net/wp/2008/01/13/what-is-site-reliability-engineering-at-google/</link>
		<comments>http://michael-mccracken.net/wp/2008/01/13/what-is-site-reliability-engineering-at-google/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 20:58:55 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[computers]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2008/01/13/what-is-site-reliability-engineering-at-google/</guid>
		<description><![CDATA[I&#8217;ve been looking around for some more detailed information about the &#8220;Site Reliability Engineering&#8221; positions at Google.
Apparently the role is a real mix of very large-scale system administration, planning and automation.

I&#8217;ve collected some links to public info about the job.

The Google channel has a promotional video from one engineer about the role - he tells [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking around for some more detailed information about the &#8220;Site Reliability Engineering&#8221; positions at Google.
Apparently the role is a real mix of very large-scale system administration, planning and automation.</p>

<p>I&#8217;ve collected some links to public info about the job.</p>

<p>The Google channel has <a href="http://www.youtube.com/watch?v=y31STIrwtlk">a promotional video</a> from one engineer about the role - he tells a quick story about being on call to monitor and address problems with Google talk.</p>

<p>A set of <a href="http://www.ukuug.org/events/spring2007/programme/ThatCouldntHappenToUs.pdf">slides from a talk by James Youngman</a> at the UK Unix &amp; Open Systems User&#8217;s Group gives a good description of the general task, and dives deeper into two specific examples - powering down failed disks, and protecting data with checksums, exploring how straightforward ideas can explode at scale. 
(These slides also have potentially the best proprietary-information disclaimer I&#8217;ve ever seen: &#8220;This has been written entirely in ASCII. No EBCDIC or animal fat.&#8221;)</p>

<p><a href="http://sysadmin.miniconf.org/2006/pollmann_google_lightning_talk.ppt">Here</a> is another set of slides with a quick overview, from a &#8216;lightning talk&#8217;.</p>

<p>A sampling of what Google SRE engineers put in their public resumes about their job includes quite a span - from troubleshooting mission critical services to writing automation software (in Python).</p>

<p>And finally, an <a href="http://googleresearch.blogspot.com/2006/03/hiring-lake-wobegon-strategy.html">interesting post from 2006</a> about the theory behind Google&#8217;s hiring strategy, summarized as &#8220;only hire candidates who are above the mean of your current employees&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2008/01/13/what-is-site-reliability-engineering-at-google/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter Stats in SVG using gnuplot</title>
		<link>http://michael-mccracken.net/wp/2008/01/02/twitter-stats-in-svg-using-gnuplot/</link>
		<comments>http://michael-mccracken.net/wp/2008/01/02/twitter-stats-in-svg-using-gnuplot/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 20:15:15 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[scripts]]></category>

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

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2008/01/02/twitter-stats-in-svg-using-gnuplot/</guid>
		<description><![CDATA[A quick recipe for getting twitter stat graphs without Numbers.]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/dacort">Damon Cortesi</a> just shared a handy script for grabbing your tweets and compiling some stats about when you post to twitter and who you reply to.</p>

<p>His script generates a list of numbers and included a Numbers template to paste them into. Since I don&#8217;t have Numbers, I&#8217;ve modified <a href="http://dcortesi.com/2007/12/27/twitter-stats/">his script</a> to write a file that can be read by <a href="http://gnuplot.info">gnuplot</a>, and wrote a basic gnuplot script to output an SVG file version of the stats.</p>

<p>While I was at it, I changed it so it no longer counts &#8220;@someone&#8221; separately from &#8220;@someone:&#8221;.</p>

<p>Both scripts are right here &#8211; <a href="http://michael-mccracken.net/twitter/gnuplot_twitterstats.tgz">gnuplot_twitterstats.tgz</a></p>

<p>It uses gnuplot 4.2, which you can get on OS X with <a href="http://www.macports.org/">macports</a> using <code>port install gnuplot +no_x11'</code>. (Or it&#8217;s a pretty easy build on its own, see the <a href="http://gnuplot.sourceforge.net/download.html">gnuplot download page</a> )</p>

<p>Here are my stats:
<object data="http://michael-mccracken.net/twitter/2007stats.svg" type="image/svg+xml"> Sorry, it looks like your browser doesn&#8217;t support SVG. You&#8217;re really not missing much.</object>
<a href="http://michael-mccracken.net/twitter/2007stats.svg">Click here for a full-screen version.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2008/01/02/twitter-stats-in-svg-using-gnuplot/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TaskPaper adds just enough to stick</title>
		<link>http://michael-mccracken.net/wp/2007/11/01/taskpaper-adds-just-enough-to-stick/</link>
		<comments>http://michael-mccracken.net/wp/2007/11/01/taskpaper-adds-just-enough-to-stick/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 19:47:31 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[mac]]></category>

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

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

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2007/11/01/taskpaper-adds-just-enough-to-stick/</guid>
		<description><![CDATA[TaskPaper 1.0 is a to-do list app that adds just a bit of sauce to what I was doing already, and it's great.]]></description>
			<content:encoded><![CDATA[<p>My favorite apps, the ones that slip easily into everyday use and stick there, just start with plain text and add some extra sauce. <a href="http://voodoopad.com">VoodooPad</a> is a great example, and Hog Bay Software&#8217;s new app <a href="http://hogbaysoftware.com/products/taskpaper">TaskPaper</a> is, too.</p>

<p>I&#8217;ve used both <a href="http://kinkless.com/kgtd">kgtd</a> and <a href="http://bargiel.home.pl/iGTD/">iGTD</a>, and played around with a few others. I came closest to sticking with a system using kgtd, but switched to iGTD because manually syncing kgtd got old. </p>

<p>All the extra <em>stuff</em> in iGTD was appealing, but I left tasks in the inbox for weeks, and never reviewed much of my vast forest of projects. I eventually fell back into tending short lists in Stickies, with titles like &#8220;<strong>NOW</strong>:&#8221; and &#8220;<strong>BY TUESDAY!</strong>:&#8221;.</p>

<p>When I moved those Stickies lists into TaskPaper, all I had to do was copy and paste - it uses the same format I do when I get lazy, and that has to be a good sign. I haven&#8217;t found a reason to jot a note somewhere else yet.</p>

<p>Moving tasks from iGTD was more sobering. Half those &#8220;next actions&#8221; had been done for weeks, and the other half were clearly scheduled for next Neversday. As Merlin Mann pointed out, <a href="http://www.43folders.com/2007/06/04/getting-ready-for-omnifocus">switching apps is a good excuse for a real review</a>.</p>

<p>TaskPaper adds automatic formatting, tabs, search, and a bit of hyperlinking to plain text. 
Tasks are lines that start with a dash, and can be tagged by starting any word with an at-sign. Clicking a tag starts a search for that tag. I use them in a couple of ways - as contexts, and for scheduling. They can really be anything that makes sense as a visible search keyword.</p>

<p>I have been keeping a few tabs open - one to edit tasks, and a couple others with live searches to look at what&#8217;s on my plate. When I want to schedule something, I&#8217;ll tag it as @now or @tomorrow - I have those two as open tabs, and as I work I keep the @now tab open.
Other tabs come and go to look at contexts, like @email or @errand.</p>

<p>I like that the tags can be part of the sentence, so I don&#8217;t have to tab through a bunch of controls to set tags - I just write something like &#8216;@email Bob @home&#8217;&#8230; easy.</p>

<p>I also set up an inbox project (by typing &#8220;Inbox:&#8221;, naturally) to collect notes quickly, and that&#8217;s worked pretty well so far.</p>

<p>As with any 1.0, there&#8217;s some room for improvement. It&#8217;s not very scriptable, but it is plain text, so it could be worked around. Quicksilver integration was important with both kGTD and iGTD, and I&#8217;m not sure yet if I&#8217;ll really miss that here.
It can clean up tasks marked as done into an &#8220;Archive&#8221; project, but doesn&#8217;t yet note when they were finished, if that kind of thing matters to you. Finally, I&#8217;m not sure what the best way to sync with other devices would be, but there is a <a href="http://hogbaysoftware.com/products/taskpaper_web">web interface</a> in development - maybe that would be a good iPhone option.</p>

<p>TaskPaper is a solid, clear, and nicely minimalist app. Over the week I&#8217;ve been using it, it has made keeping to-dos in one place too easy to avoid, and added just enough functionality to sort through them without being distracting.</p>

<p>Note:
When I downloaded the 1.0 release, I found a conflict with TextExtras and wrote a <a href="http://hogbaysoftware.com/forums/taskpaper/topics/294_Archive_bug_in_1_22_">bug report</a>. In reply, Jesse sent me a complimentary license. Nice guy. I was going to write about it anyway, but I thought I should mention that I got it for free, as a surprise.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2007/11/01/taskpaper-adds-just-enough-to-stick/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The editing pass</title>
		<link>http://michael-mccracken.net/wp/2007/10/09/the-editing-pass/</link>
		<comments>http://michael-mccracken.net/wp/2007/10/09/the-editing-pass/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 07:41:16 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2007/10/09/the-editing-pass/</guid>
		<description><![CDATA[Some thoughts about making an explicit editing pass on working code:

Once you get a piece of code to the point where you believe it works - it’s passing its tests - go back over it and edit it. That is, go back and edit it for clarity, flow, and style. Just as if it were an essay.]]></description>
			<content:encoded><![CDATA[<p>Anything worth writing is worth re-writing. This applies to code as well as prose.</p>

<p>I give paper sections and important emails a while to sit after I write them, and they always benefit from another look with fresh eyes. I think that doing this with code is worth thinking about.</p>

<p>Once you get a piece of code to the point where you believe it works - it&#8217;s passing its tests - go back over it and <em>edit it</em>. That is, go back and edit it for clarity, flow, and style. Just as if it were an essay.</p>

<p>This is particularly important for tests. If a test fails, it should tell a clear story that explains exactly what failed, and what it was expecting.</p>

<p>Things to consider editing out are vague variable or function names, and non-idiomatic shortcuts. Control flow can get tangled when working out a solution. Make it obvious. One-liners often don&#8217;t tell the full story. When you come back to a piece of code, you know the chase. It&#8217;s the first loose thread of a bug, a failed test, or an occurrence of a symbol you need to refactor. What you need is the story around it, and solid code will fill that in.</p>

<p>You can learn this by sharing your code or by waiting a while and reading it over again. It&#8217;s easier said than done - I don&#8217;t always do it, but I do know: an editing pass can do you good.</p>

<p>Something to think about: would a professional code editor help or hurt in the long run?</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2007/10/09/the-editing-pass/feed/</wfw:commentRss>
		</item>
		<item>
		<title>That Windows feeling</title>
		<link>http://michael-mccracken.net/wp/2007/09/04/that-windows-feeling/</link>
		<comments>http://michael-mccracken.net/wp/2007/09/04/that-windows-feeling/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 18:44:40 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[mac]]></category>

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

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2007/09/04/that-windows-feeling/</guid>
		<description><![CDATA[Uninvited dialogs popping to the front or stealing keyboard focus in OS X have been giving me <strong>that Windows feeling</strong> lately. I give a few examples in the full post.]]></description>
			<content:encoded><![CDATA[<p>I started this post more than a year ago. Not much has changed, and it&#8217;s time to just let it out.</p>

<p>Uninvited dialogs popping to the front or stealing keyboard focus in OS X have been giving me <strong>that Windows feeling</strong> lately. It was part of the old Mac OS&#8217;s comfortable &#8220;I&#8217;m in control&#8221; feeling, and was always immediately noticeable using Windows - popups and splash screens everywhere.</p>

<p>It&#8217;s particularly bad with multiple monitors, when you may not notice that a dialog opened on the other monitor and is stealing all your keypresses, making the app you thought you were using seem unresponsive and rudely interrupting your work.</p>

<p>Here are just a few that I notice all the time: </p>

<ul>
<li><p>Apple Backup: Every damn time it runs a backup I get an annoying alert, sometimes two if the media isn&#8217;t ready when it wants to run. This is the one single situation that I can remember Retrospect&#8217;s UI being better.</p></li>
<li><p>Apple Mail: If a message is sent but the SMTP server can&#8217;t be contacted, the message pops back up with a sheet to pick a new server to be used until you change locations - a feature I endure daily to cope with my home ISP insisting I use their SMTP server. This window pops to the front and steals key focus, so if you&#8217;re typing in another mail message, you lose letters.</p></li>
<li><p>Safari with GMail: sometimes GMail just pops to the front of the stack. I don&#8217;t ever want a web page deciding that it needs to be in the front - what is going wrong here? (note, now that I use my WebMail app, this doesn&#8217;t happen to me anymore&#8230;)</p></li>
<li><p>Safari also pops the download window up when it starts a download - good idea right? Not if it took a while to start the download and I&#8217;m now editing something in a totally unrelated browser window&#8230;</p></li>
<li><p>Growl: Growl could be a solution to some of these problems, but it adds its own annoyance.  Just waving your pointer over a notification - or even having it sitting in the spot the notification appears at - steals key focus from the current app. I use a variety of sticky notifications that I have to click on, and so this happens to me all the time.</p></li>
<li><p>FileMerge: if it takes a while to open a merge and I&#8217;ve moved away, it still pops the window to the front and takes key.</p></li>
<li><p>iTunes: changes to the music store status (like it finally loading a page), cause background windows to pop up in front of other iTunes windows. This doesn&#8217;t happen in browsers, why here?</p></li>
<li><p>iTunes: A more debatable example is if your iPod battery is completely drained, it will charge for a while before bringing iTunes to the front at a random time when it&#8217;s ready to sync. This is only if you&#8217;ve already requested iTunes to be shown when you plug in your iPod, so maybe it&#8217;s not their fault it annoys me.</p></li>
<li><p>Keychain security - because I have sensitive passwords on my laptop, my keychains lock when it sleeps, and time out. So I see a lot of the keychain password dialog, which steals key focus - even when it&#8217;s invoked from an app in the background. Backup makes this happen regularly. The dialog is small enough that I often don&#8217;t notice it on the other monitor.</p></li>
</ul>

<p>If this annoys you too, share your examples in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2007/09/04/that-windows-feeling/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Skim 0.7</title>
		<link>http://michael-mccracken.net/wp/2007/08/31/skim-07/</link>
		<comments>http://michael-mccracken.net/wp/2007/08/31/skim-07/#comments</comments>
		<pubDate>Sat, 01 Sep 2007 02:20:06 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[skim]]></category>

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2007/08/31/skim-07/</guid>
		<description><![CDATA[The amazing Christiaan Hofman has released another nice update to <a href="http://skim-app.sourceforge.net/">Skim</a>, the great PDF reader that is quite literally my dream reader app.

One feature in particular made me write this post.]]></description>
			<content:encoded><![CDATA[<p>The amazing Christiaan Hofman has released another nice update to <a href="http://skim-app.sourceforge.net/">Skim</a>, the great PDF reader that is quite literally my dream reader app.</p>

<p>As usual, there are detailed and complete <a href="http://sourceforge.net/project/shownotes.php?group_id=192583&amp;release_id=535138">release notes</a>, and I&#8217;d like to call attention to my favorite new feature, because I use it all the time, and actually wrote part of it:</p>

<blockquote>
  <p>Skim can now download PDFs from remote URLs, which can be provided on the clipboard, dropped on the Skim icon, or through Services.</p>
</blockquote>

<p>I use this all the time to drag a PDF URL from a browser to the Skim dock icon - Skim downloads the file and displays it in one step. Very handy.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2007/08/31/skim-07/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Processing Email</title>
		<link>http://michael-mccracken.net/wp/2007/07/26/processing-email/</link>
		<comments>http://michael-mccracken.net/wp/2007/07/26/processing-email/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 19:11:17 +0000</pubDate>
		<dc:creator>mike</dc:creator>
		
		<category><![CDATA[email]]></category>

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

		<guid isPermaLink="false">http://michael-mccracken.net/wp/2007/07/26/processing-email/</guid>
		<description><![CDATA[I watched Merlin Mann&#8217;s Google Tech Talk about processing email yesterday, and even though I&#8217;d followed his posts on Inbox Zero when they came out, it&#8217;s good to get a reminder, and Merlin&#8217;s an entertaining speaker - I recommend you watch it.

He talks about strategies for keeping an empty inbox based on processing email as [...]]]></description>
			<content:encoded><![CDATA[<p>I watched Merlin Mann&#8217;s <a href="http://www.43folders.com/2007/07/25/merlins-inbox-zero-talk/">Google Tech Talk about processing email</a> yesterday, and even though I&#8217;d followed his posts on <a href="http://inboxzero.com">Inbox Zero</a> when they came out, it&#8217;s good to get a reminder, and Merlin&#8217;s an entertaining speaker - I recommend you watch it.</p>

<p>He talks about strategies for keeping an empty inbox based on processing email as it comes in, and deciding what to do with each message as you read it so nothing just sits there reminding you of vague, unspecified amounts of work you need to deal with sometime.</p>

<p>You may have to accept on faith that an empty inbox is a worthwhile goal. Some people <a href="http://www.wordyard.com/2007/07/12/inbox-slaves/">disagree</a>, but I think it&#8217;s safe to say that for most people, moving the things you get as email into more appropriate places like notes apps, calendars or to-do lists is a great way to get in control of your work. Process it, then get to work. I&#8217;ve been doing this for a while, and it&#8217;s a good feeling to know you don&#8217;t have any surprises laying forgotten in old mail.</p>

<p>One point from Merlin&#8217;s talk that I&#8217;d like to comment on is that email is just a medium, and it&#8217;s worth thinking about whether it&#8217;s really the best medium for what you&#8217;re trying to do. This has been in my mind lately as I&#8217;ve been working on a project with a series of parallel email-based heavily technical conversations, sometimes with three or four people replying every couple of minutes. I struggle with the feeling that email is just not the best way to do this, but it seems like the only way to include everyone.</p>

<p>Merlin made the point that sometimes email dysfunction is just a symptom of an organizational communications problem, and no amount of email system adjustment can solve it. I agree - if you&#8217;re really just tracking bugs, use a bug tracker. If you&#8217;re coordinating things in real time, use IMs or IRC. If you&#8217;re collaborating on a document, use something like Google Docs. Please stop overloading email.</p>
]]></content:encoded>
			<wfw:commentRss>http://michael-mccracken.net/wp/2007/07/26/processing-email/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

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