<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-20119712</id><updated>2011-04-21T14:09:44.842-07:00</updated><title type='text'>Domain of the Bored (old blog)</title><subtitle type='html'>The old personal weblog of Peter Hosey, aka Mac-arena the Bored Zo. The new one is at http://boredzo.org/blog .</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default?start-index=101&amp;max-results=100'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>183</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-20119712.post-115691909822048832</id><published>2006-08-29T20:09:00.000-07:00</published><updated>2006-11-02T02:41:12.416-08:00</updated><title type='text'>The blog moveth</title><content type='html'>&lt;p&gt;I finally went and did it.&lt;/p&gt;

&lt;p&gt;I signed up for hosting from &lt;a href="http://textdrive.com/"&gt;TextDrive&lt;/a&gt; and my domain from &lt;a href="http://active-domain.com/"&gt;Active-Domain&lt;/a&gt;, as I mentioned previously in my &lt;a href="http://domainofthebored.blogspot.com/2006/03/hosting.html"&gt;Hosting&lt;/a&gt; blog post. &amp;#x263a;&lt;/p&gt;

&lt;p&gt;For one thing, this is the end of the long-temporary GeoCities hosting for my website. The website (now with an index page!) is now at &lt;a href="http://boredzo.org./"&gt;http://boredzo.org./&lt;/a&gt;. And the blog follows it, to &lt;a href="http://boredzo.org/blog/"&gt;http://boredzo.org/blog/&lt;/a&gt; (and of course the &lt;a href="feed://boredzo.org/blog/feed/"&gt;feed&lt;/a&gt; moves too).&lt;/p&gt;

&lt;p&gt;If you've bookmarked or linked to any of my pages, you should update those bookmarks/links (the &lt;a href="http://boredzo.org./pointers"&gt;pointer tutorial&lt;/a&gt;, in particular). The new site has no risk of running into an hourly transfer limit, and also raises the disk quota from 15 MB (GeoCities) to 1 GiB (TextDrive).&lt;/p&gt;

&lt;p&gt;Other related things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I have a new email address. The GMail one isn't going away (and I'll continue to use it on the Adium and Growl mailing lists, since it has beefy spam filters and the Adium feedback list gets a lot of spam), but you should use this address whenever you want to send me email directly. It's stated on the front page of my website; I don't need to restate it here.&lt;/li&gt;
&lt;li&gt;My &lt;a href="http://boredzo.org./publickey.txt"&gt;PGP public key&lt;/a&gt; has been updated to include the new email address, and also to change over from my pseudonym to my real name. (The MIT keyserver still shows the pseudonym as well as the real name, I notice.)&lt;/li&gt;
&lt;li&gt;I might see about setting up public SVN repos for some of the projects I've written.&lt;/li&gt;
&lt;li&gt;The new blog runs on WordPress, with a custom (extremely minimalist) theme. &lt;a href="http://homepage.mac.com/kenferry/"&gt;Ken Ferry&lt;/a&gt; solved one of the problems I was having with the CSS in that theme, and I thank him for that.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115691909822048832?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115691909822048832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115691909822048832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115691909822048832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115691909822048832'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/08/blog-moveth.html' title='The blog moveth'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115605678163205194</id><published>2006-08-19T23:36:00.000-07:00</published><updated>2006-08-29T17:48:22.316-07:00</updated><title type='text'>Amazing Fantasy #15</title><content type='html'>&lt;p&gt;So I was leafing through tomorrow's &lt;a href="http://ocregister.com/"&gt;Orange County Register&lt;/a&gt; and found this:&lt;/p&gt;

&lt;p class="image"&gt;&lt;a href="http://geocities.com/iamtheboredzo/amazingfantasy15.jpg"&gt;&lt;img width="186" height="279" alt="Amazing Fantasy #15 &amp;mdash; the debut issue of Spider-Man." src="http://geocities.com/iamtheboredzo/amazingfantasy15-small.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's a reprint, of course. Apparently this is some kind of Marvel promotion &amp;mdash; each Sunday Register will have a reprint of the next issue of Spider-Man. I suggest looking in your local Sunday paper to see if they have the same promotion.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Spider-Man" rel="tag"&gt;Spider-Man&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Marvel" rel="tag"&gt;Marvel&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Marvel%20Comics" rel="tag"&gt;Marvel Comics&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Comic%20books" rel="tag"&gt;Comic books&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Orange%20County%20Register" rel="tag"&gt;Orange County Register&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115605678163205194?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115605678163205194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115605678163205194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115605678163205194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115605678163205194'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/08/amazing-fantasy-15.html' title='Amazing Fantasy #15'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115595385794157374</id><published>2006-08-18T19:17:00.000-07:00</published><updated>2006-08-19T23:38:28.073-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 47</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4687512"&gt;+graphicsContextWithBitmapImageRep: doesn't properly map bitmap format to Quartz&lt;/a&gt;. It was filed on 2006-08-17 at 19:07 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;+[NSGraphicsContext graphicsContextWithBitmapImageRep:] always returns a RGBA context, even when the image rep is ARGB.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create an NSBitmapImageRep with an RGB color space and a bitmapFormat that contains the NSAlphaFirstBitmapFormat bit and not the NSFloatingPointSamplesBitmapFormat bit.&lt;/li&gt;
&lt;li&gt;Call +[NSGraphicsContext graphicsContextWithBitmapImageRep:] with the image rep created in step 1.&lt;/li&gt;
&lt;li&gt;Set the current graphics context to the graphics context created in step 2.&lt;/li&gt;
&lt;li&gt;Draw.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;WYD (draw) IWYG.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The components in each pixel come out of the image rep permuted, since you expect ARGB from the image rep, but the graphics context put RGBA into it instead.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;I did not test with the NSFloatingPointSamplesBitmapFormat bit; therefore, I do not know whether the bug exists with it or only without it.&lt;/p&gt;

&lt;h3&gt;Workaround:&lt;/h3&gt;
&lt;p&gt;Reinvent the +graphicsContextWithBitmapImageRep: wheel.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115595385794157374?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115595385794157374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115595385794157374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115595385794157374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115595385794157374'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/08/report-apple-bug-friday-47.html' title='Report-an-Apple-bug Friday! 47'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115595375722503368</id><published>2006-08-18T19:07:00.000-07:00</published><updated>2006-08-18T19:15:57.300-07:00</updated><title type='text'>Apple bug Friday! 46</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4571500"&gt;CrashReporter dialog has "Close" button&lt;/a&gt;. It was filed on 2006-06-02 at 15:17 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The &amp;ldquo;unexpectedly quit&amp;rdquo; dialog has a &amp;ldquo;Close&amp;rdquo; button.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Crash an application.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;A dialog box comes up, saying that the application has unexpectedly quit, showing the backtrace, and offering me the option to either &amp;ldquo;Report&amp;rdquo; the crash or one of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quit [the application]&lt;/li&gt;
&lt;li&gt;Cancel [reporting]&lt;/li&gt;
&lt;li&gt;Don't Report&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;A dialog box comes up, saying that the application has unexpectedly quit, showing the backtrace, and offering me the option to either &amp;ldquo;Report&amp;rdquo; the crash or &amp;ldquo;Close&amp;rdquo; something.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;It is not clear what is being closed. I think the immediate guess is the application; only on further reflection does one realize that if the application has already quit, it must not be available to be &amp;ldquo;closed&amp;rdquo;. It could refer to the window, but isn't that what the red widget is for? But there is no red widget, because this is a dialog box.&lt;/p&gt;

&lt;p&gt;The button's title should be changed, to one of the three names listed in Expected Results. Of those, my favorite is &amp;ldquo;Don't Report&amp;rdquo;.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115595375722503368?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115595375722503368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115595375722503368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115595375722503368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115595375722503368'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/08/apple-bug-friday-46.html' title='Apple bug Friday! 46'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115584245402231281</id><published>2006-08-17T12:02:00.000-07:00</published><updated>2006-08-17T12:25:02.973-07:00</updated><title type='text'>A Terminal quickie</title><content type='html'>&lt;p&gt;I've been reading Jeff Atwood's &lt;a href="http://www.codinghorror.com/blog/"&gt;Coding Horror&lt;/a&gt; blog (love the favicon, BTW). I got to the post where he talks about &lt;a href="http://www.codinghorror.com/blog/archives/000356.html"&gt;the Consolas font as compared to Lucida Console&lt;/a&gt;, and shows it with and without ClearType (anti-aliasing). You can download Consolas (and a few other fonts) from this &lt;a href="http://jeffmilner.com/index.php/2005/07/30/windows-vista-fonts-now-available/"&gt;post on Jeff Milner's blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Looks good, so I wanted to try it in Terminal (even though I use xterm &amp;mdash; yes, I'm like that). Looks good in Terminal, too, but I was reminded of a problem with Terminal and box-drawing characters:&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="507" height="364" alt="Terminal, showing a box drawn by a shell script. Each box-drawing character (that is, line segment or corner character) is twice as wide as it needs to be, which is throwing off spacing and causing each of the lines with a box-drawing character on them to overrun the width of the terminal." src="http://geocities.com/iamtheboredzo/screenshots/terminal-wideboxdrawing.png" /&gt;&lt;/p&gt;

&lt;p&gt;That box is &lt;em&gt;supposed&lt;/em&gt; to fit within my screen and be centered in its horizon. Not working so well.&lt;/p&gt;

&lt;p&gt;The culprit is the &amp;ldquo;Enable wide glyphs for Japanese/Chinese/etc.&amp;rdquo; checkbox on the Display pane of the Terminal Inspector. Apparently box-drawing characters count as &amp;ldquo;etc.&amp;rdquo;. Turn that off, and sanity is restored:&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="507" height="364" alt="Terminal, showing the same box drawn by the same shell script, with &amp;ldquo;Enable wide glyphs for Japanese/Chinese/etc.&amp;rdquo; turned off. Each box-drawing character is now the same width each of the other (non-box-drawing) characters." src="http://geocities.com/iamtheboredzo/screenshots/terminal-normalboxdrawing.png" /&gt;&lt;/p&gt;

&lt;p&gt;Don't forget to Save Default Settings after you frob the checkbox. Unless you do, the new value will not be applied to future Terminals.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Mac%20OS%20X" rel="tag"&gt;Mac OS X&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115584245402231281?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115584245402231281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115584245402231281' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115584245402231281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115584245402231281'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/08/terminal-quickie.html' title='A Terminal quickie'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115497836532958676</id><published>2006-08-07T12:11:00.000-07:00</published><updated>2006-08-17T11:42:46.926-07:00</updated><title type='text'>My WWDC 2006 Keynote Bingo cards</title><content type='html'>&lt;p class="image"&gt;&lt;a href="http://geocities.com.nyud.net:8080/iamtheboredzo/screenshots/bingocard-4up-72dpi.png"&gt;&lt;img width="661" height="1093" alt="My four bingo cards, marked up." src="http://geocities.com.nyud.net:8080/iamtheboredzo/screenshots/bingocard-4up-72dpi-75.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Red circles are things that happened during the keynote. Green question marks might have happened, but I won't know until a video is available. (&lt;span class="update"&gt;UPDATE 17:25:&lt;/span&gt; I just noticed that the Mac Pro has a Xeon, not a Core 2 Duo, just like the Xserve. So I will be unmarking Core 2 Duo later. &lt;span class="update"&gt;UPDATE 19:09:&lt;/span&gt; Done.)&lt;/p&gt;&lt;p&gt;Be sure to post your own card. I'd also like it if you bookmarked it on del.icio.us and tagged it &amp;ldquo;keynotebingo&amp;rdquo; and &amp;ldquo;keynotebingowwdc2006&amp;rdquo;.&lt;/p&gt;&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Keynote%20bingo" rel="tag"&gt;Keynote bingo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115497836532958676?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115497836532958676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115497836532958676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115497836532958676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115497836532958676'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/08/my-wwdc-2006-keynote-bingo-cards.html' title='My WWDC 2006 Keynote Bingo cards'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115494690004690428</id><published>2006-08-07T03:30:00.000-07:00</published><updated>2006-08-07T12:13:59.826-07:00</updated><title type='text'>It's 3:30…</title><content type='html'>&lt;p&gt;And my &lt;a href="http://geocities.com/iamtheboredzo/wwdcbingo"&gt;WWDC Keynote Bingo&lt;/a&gt; page has received 161 hits &lt;em&gt;in those three and a half hours&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This following 275 hits yesterday, 88 hits Saturday, and 224 hits Friday. Plus the 182 hits on -07-29, the 155 hits on -07-30, and the 69 hits on -07-31, and the 65 hits between then and Friday.&lt;/p&gt;

&lt;p&gt;I predict quite a bingo game at the WWDC. &amp;#x263a;&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Keynote%20bingo" rel="tag"&gt;Keynote bingo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115494690004690428?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115494690004690428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115494690004690428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115494690004690428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115494690004690428'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/08/its-330.html' title='It&apos;s 3:30…'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115441500495033438</id><published>2006-07-31T23:35:00.000-07:00</published><updated>2006-08-13T20:01:52.990-07:00</updated><title type='text'>My del.icio.us</title><content type='html'>&lt;p&gt;For those of you who don't know, I have a &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt; account. My username, as usual, is &lt;a href="http://del.icio.us/boredzo"&gt;boredzo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I've started posting there again recently, so if you like my blog, you should check that out too. Some of the most recent links I've posted there:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/unifdef.1.html"&gt;unifdef &amp;mdash; remove ifdef'd lines&lt;/a&gt;: "unifdef is useful for removing ifdef'ed lines from a file while otherwise leaving the file alone. unifdef acts on #ifdef, #ifndef, #else, and #endif lines, and it knows only enough about C to know when one of these is inactive &amp;hellip;"&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/Reference.html#//apple_ref/occ/instm/NSView/cacheDisplayInRect:toBitmapImageRep:"&gt;-[NSView cacheDisplayInRect:toBitmapImageRep:]&lt;/a&gt;: The easy way to draw an NSView into an NSBitmapImageRep (e.g. for generating a TIFF or PNG screenshot, or for creating a CIImage), since 10.4.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://macromates.com/blog/archives/2006/07/10/multi-stroke-key-bindings/"&gt;TextMate Blog &amp;mdash; Multi-stroke Key Bindings&lt;/a&gt;: A way to easily insert characters like &amp;#x2318;&amp;#x21e7;&amp;#x2325;&amp;uarr;&amp;darr; in OS X.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/documentation/Darwin/Reference/KernelIOKitFramework/OSAtomic/CompositePage.html#//apple_ref/c/func/OSEnqueueAtomic"&gt;OSAtomic.h&lt;/a&gt;: Atomic-operation functions in the OS X Kernel framework (yes, there is a Kernel framework). Handy in threaded situations. Google "&lt;a href="http://google.com/search?q=rentzsch+atomic"&gt;rentzsch atomic&lt;/a&gt;" if you don't know why these are important.&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://developer.apple.com/releasenotes/AppleScript/ASTerminology_AppleEventCodes/TermsAndCodes.html"&gt;AppleScript Terminology and Apple Event Codes&lt;/a&gt;: A complete list of symbols in AppleScript from the language itself, the Standard Additions, and System Event. Includes OSTypes and what kind of symbol each symbol is.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115441500495033438?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115441500495033438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115441500495033438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115441500495033438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115441500495033438'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/my-delicious.html' title='My del.icio.us'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115441408598839615</id><published>2006-07-31T23:25:00.000-07:00</published><updated>2006-08-01T02:10:54.790-07:00</updated><title type='text'>A handy UTI tip</title><content type='html'>&lt;p&gt;I found this by accident, when I wrote this code while tired:&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;UTTypeConformsTo(type, CFSTR("kUTTypeText"))&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That's wrong. It should be either &lt;code&gt;kUTTypeText&lt;/code&gt; or &lt;code&gt;CFSTR("public.text")&lt;/code&gt;. But it works anyway.&lt;/p&gt;

&lt;p&gt;The real question is whether &lt;code&gt;CFSTR("kUTTypeText")&lt;/code&gt; works in Panther (the global constant &lt;code&gt;kUTTypeText&lt;/code&gt; was introduced in Tiger). In any case, I'll just use &lt;code&gt;CFSTR("public.text")&lt;/code&gt; and keep Panther compatibility.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Uniform%20type%20identifiers"&gt;Uniform type identifiers&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Launch%20Services"&gt;Launch Services&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115441408598839615?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115441408598839615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115441408598839615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115441408598839615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115441408598839615'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/handy-uti-tip.html' title='A handy UTI tip'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115416270460169781</id><published>2006-07-29T01:19:00.000-07:00</published><updated>2006-08-13T20:01:43.560-07:00</updated><title type='text'>WWDC Bingo 2006</title><content type='html'>&lt;p&gt;&lt;a href="http://arstechnica.com/staff/fatbits.ars"&gt;John Siracusa&lt;/a&gt; recently came up with a great idea: &lt;a href="http://arstechnica.com/staff/fatbits.ars/2006/7/23/4730"&gt;WWDC keynote bingo&lt;/a&gt;. But I find the prospect of having just one card rather limiting.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://brok3n.org/"&gt;The_Tick&lt;/a&gt; jokingly suggested on freenode #macsb that I create a randomized version (note: this was before &lt;a href="http://homepage.mac.com/simx/technonova"&gt;Simone&lt;/a&gt; created his):&lt;/p&gt;

&lt;blockquote&gt;&lt;pre&gt;22:41:18: &amp;lt;The_Tick&amp;gt; Mac-arena: quickly
22:41:21: &amp;lt;The_Tick&amp;gt; we need an app
22:41:25: &amp;lt;Mac-arena&amp;gt; The_Tick: Who?
22:41:27: &amp;lt;The_Tick&amp;gt; random bingo card generator
22:41:31: &amp;lt;Mac-arena&amp;gt; Hehe.
22:41:32: &amp;lt;The_Tick&amp;gt; all wwdc participants
22:41:40: &amp;lt;The_Tick&amp;gt; so it generates a random square
22:41:51: &amp;lt;The_Tick&amp;gt; from a bunch of blocks
22:41:55:              Mac-arena imagines doing that in PostScript
22:42:04: &amp;lt;Mac-arena&amp;gt; Hooray for images that change every time you open them! :D
22:42:05: &amp;lt;The_Tick&amp;gt; then it spools them all to be printed
22:42:09: &amp;lt;The_Tick&amp;gt; and then you print them
22:42:14: &amp;lt;The_Tick&amp;gt; and hand them out to everyone at wwdc
22:42:19: &amp;lt;The_Tick&amp;gt; bam!
22:42:27: &amp;lt;Mac-arena&amp;gt; I remember that there are a few handwriting fonts written in PostScript, so that every letter varies
22:43:48: &amp;lt;The_Tick&amp;gt; http://arstechnica.com/staff/fatbits.ars/2006/7/23/4730
22:43:52: &amp;lt;The_Tick&amp;gt; something like that
22:43:58: &amp;lt;The_Tick&amp;gt; but.. more random
22:43:58: &amp;lt;Mac-arena&amp;gt; Yeah, saw it on simx's blog.
22:44:04: &amp;lt;Mac-arena&amp;gt; Also saw that it was dugg.
22:44:25: &amp;lt;Mac-arena&amp;gt; The_Tick: I accept your challenge.
22:44:34:              Mac-arena incarnates a svn repo in his PostScript folder
22:46:12: &amp;lt;The_Tick&amp;gt; if you make it so
22:46:23: &amp;lt;The_Tick&amp;gt; then I believe we can have ourselves a little bit of bingo humor at wwdc
22:46:37: &amp;lt;The_Tick&amp;gt; well, I won't be there
22:46:47: &amp;lt;Mac-arena&amp;gt; Me either.
22:47:23: &amp;lt;The_Tick&amp;gt; but it'd be funny to hear someone yell bingo on the streaming video
22:47:24: &amp;lt;The_Tick&amp;gt; lol&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;I took him up on it anyway (like I said). And here's the result: &lt;a href="http://geocities.com.nyud.net:8080/iamtheboredzo/wwdcbingo"&gt;WWDC Bingo 2006&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;This version comes in the form of three (actually four, but that one is hidden and simply draws the header graphic) EPS files. Every time you open one, one or more boards are randomly generated for you automatically. The first is 1-up (full-page), the second is 2-up, and the third is 4-up.&lt;/p&gt;

&lt;p&gt;In addition to the randomization, there are 119 more strings in this version than the original. Print out multiple cards and increase your odds!&lt;/p&gt;

&lt;p&gt;Oh, and if you really do play it in the keynote, I want to hear you yell &amp;ldquo;BINGO!&amp;rdquo; on the webcast. Make it good and loud.&lt;/p&gt;

&lt;p&gt;Or, if you're a presenter, I have a tchotchke idea for you: branded bingo markers. I'm envisioning one with the &lt;a href="http://panic.com/"&gt;Panic&lt;/a&gt; logo on the barrel. :D&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Apple" rel="tag"&gt;Apple&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Worldwide%20Developers%20Conference" rel="tag"&gt;Worldwide Developers Conference&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WWDC" rel="tag"&gt;WWDC&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Keynote%20bingo" rel="tag"&gt;Keynote bingo&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115416270460169781?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115416270460169781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115416270460169781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115416270460169781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115416270460169781'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/wwdc-bingo-2006.html' title='WWDC Bingo 2006'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115397361407966688</id><published>2006-07-26T21:10:00.000-07:00</published><updated>2006-07-26T21:13:34.093-07:00</updated><title type='text'>Java HTTP client source</title><content type='html'>&lt;p&gt;I was poking around the Apple FTP server and found this: &lt;a href="ftp://ftp.apple.com/filemaker/open_source/HTTPClient.zip"&gt;Some kind of Java HTTP client source code&lt;/a&gt;. I don't know Java, so I haven't read it too thoroughly, but maybe you can get some use out of it.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Java" rel="tag"&gt;Java&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Sample%20code" rel="tag"&gt;sample code&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115397361407966688?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115397361407966688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115397361407966688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115397361407966688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115397361407966688'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/java-http-client-source.html' title='Java HTTP client source'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115378774647203677</id><published>2006-07-24T17:28:00.000-07:00</published><updated>2006-08-13T20:01:33.303-07:00</updated><title type='text'>It's possible to connect an outlet to the content view of a window</title><content type='html'>&lt;p&gt;Simply set the Instances tab to outline view. Then you can connect the outlet to the window's content view.&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="388" height="272" alt="A nib window, set to outline view, with a content view selected." src="http://geocities.com/iamtheboredzo/screenshots/contentviewinIB.png" /&gt;&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Interface%20Builder" rel="tag"&gt;Interface Builder&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115378774647203677?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115378774647203677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115378774647203677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115378774647203677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115378774647203677'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/its-possible-to-connect-outlet-to.html' title='It&apos;s possible to connect an outlet to the content view of a window'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115359173179539803</id><published>2006-07-22T11:04:00.000-07:00</published><updated>2006-07-22T11:08:51.813-07:00</updated><title type='text'>A vim quickie</title><content type='html'>&lt;p&gt;&lt;kbd&gt;:g/^[-+].\+{\s*$/,/^}/fold&lt;/kbd&gt; &amp;larr;Folds all Obj-C methods in the current file.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/vim" rel="tag"&gt;vim&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115359173179539803?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115359173179539803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115359173179539803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115359173179539803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115359173179539803'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/vim-quickie.html' title='A vim quickie'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115287591570558126</id><published>2006-07-14T04:09:00.000-07:00</published><updated>2006-07-14T04:18:35.750-07:00</updated><title type='text'>Rez for PNGs?</title><content type='html'>&lt;p&gt;There's a little-known app called &lt;a href="http://sng.sourceforge.net/"&gt;SNG&lt;/a&gt; (scriptable network graphics) that provides a way to write a PNG file as a text file. The source code comes with an example file:&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="499" height="794" alt="Screenshot of an xterm window containing vim, with the test.sng file loaded into it." src="http://geocities.com/iamtheboredzo/screenshots/sng.png" /&gt;&lt;/p&gt;

&lt;p&gt;Looks a lot like &lt;a href="http://developer.apple.com/documentation/mac/toolbox/Toolbox-98.html#MARKER-9-231" title="A 'MENU' resource defined with Rez."&gt;Rez&lt;/a&gt; to me. And they do perform somewhat similar functions (Rez encodes to a resource file; sng encodes to PNG). Thus my conclusion: it's Rez for PNGs.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/PNG" rel="tag"&gt;PNG&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115287591570558126?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115287591570558126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115287591570558126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115287591570558126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115287591570558126'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/rez-for-pngs.html' title='Rez for PNGs?'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115286089200706985</id><published>2006-07-14T00:05:00.000-07:00</published><updated>2006-07-14T00:12:23.246-07:00</updated><title type='text'>Apple bug Friday! 45</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4554976"&gt;Can't drag-and-drop to &amp;ldquo;Title&amp;rdquo; field on PackageMaker's Interface tab&lt;/a&gt;. It was filed on 2006-05-19 at 02:38 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The &amp;ldquo;Title&amp;rdquo; field on the &amp;ldquo;Installer Interface&amp;rdquo; tab is not a drop target.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Drag text from the &amp;ldquo;Title&amp;rdquo; or &amp;ldquo;Description&amp;rdquo; field to the &amp;ldquo;Title&amp;rdquo; field.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The cursor changes to the Copy cursor, and when the mouse button is released, the text is inserted at the drag destination insertion point.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The cursor does not change, and when the mouse button is released, the drag snaps back.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115286089200706985?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115286089200706985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115286089200706985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115286089200706985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115286089200706985'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/apple-bug-friday-45.html' title='Apple bug Friday! 45'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115285517793323806</id><published>2006-07-13T22:26:00.000-07:00</published><updated>2006-07-13T22:32:57.963-07:00</updated><title type='text'>How to securely destroy your card</title><content type='html'>&lt;p&gt;Earlier today, I destroyed an extra check card that I didn't need. I don't know if anybody's ever done it this way, though. I had my mom take photos (thanks, mom!), and I created a webpage with the step-by-step information. Here it is: &lt;a href="http://geocities.com/iamtheboredzo/destroy_your_card"&gt;How to securely destroy your card&lt;/a&gt;.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Security" rel="tag"&gt;Security&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Identity%20theft" rel="tag"&gt;Identity theft&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115285517793323806?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115285517793323806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115285517793323806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115285517793323806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115285517793323806'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/how-to-securely-destroy-your-card.html' title='How to securely destroy your card'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115224757459701519</id><published>2006-07-06T21:40:00.000-07:00</published><updated>2006-07-07T13:18:03.820-07:00</updated><title type='text'>Whoa, what happened to Monaco 9?</title><content type='html'>&lt;p class="screenshot"&gt;&lt;img width="314" height="157" alt="A C source file, viewed in Monaco 9, in SimpleText in Mac OS 9.2.1." src="http://geocities.com/iamtheboredzo/screenshots/whoa-monaco9-simpletext.png" /&gt;&lt;br /&gt;&lt;img width="377" height="150" alt="The same C source file, viewed in Monaco 9, in TextEdit in Mac OS X 10.4.6." src="http://geocities.com/iamtheboredzo/screenshots/whoa-monaco9-textedit.png" /&gt;&lt;/p&gt;

&lt;p&gt;I think they got rid of the screen font. It's just using the outline font now.&lt;/p&gt;

&lt;p&gt;Wow. Just&amp;hellip; wow.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Fonts" rel="tag"&gt;Fonts&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Mac%20OS%20X" rel="tag"&gt;Mac OS X&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115224757459701519?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115224757459701519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115224757459701519' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115224757459701519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115224757459701519'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/07/whoa-what-happened-to-monaco-9.html' title='Whoa, what happened to Monaco 9?'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115165333655783224</id><published>2006-06-30T00:24:00.000-07:00</published><updated>2006-06-30T00:42:16.716-07:00</updated><title type='text'>Apple bug Friday! 44</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4554971"&gt;PackageMaker's keyboard shortcuts are not consistent with Xcode's&lt;/a&gt;. It was filed on 2006-05-19 at 02:28 PDT.&lt;/p&gt;

&lt;p&gt;The list in the Notes section is adapted from another blog post of mine, &lt;a href="http://domainofthebored.blogspot.com/2006/04/know-your-xcode.html"&gt;Know your Xcode&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;PackageMaker's keyboard shortcuts for Build, Build Log, Run, and Run Log do not match up with Xcode's shortcuts for the same commands.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;1. Press &amp;#x21e7;&amp;#x2318;B.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The Build Log appears.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;*Beep*&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Xcode has a simple and elegant system for its keyboard shortcuts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#x2318;_ builds, then performs the action.&lt;/li&gt;
&lt;li&gt;&amp;#x2318;&amp;#x2325;_ performs the action without building. (Exception: Build's keyboard shortcut is &amp;#x2318;B, presumably because it is impossible to build without building.)&lt;/li&gt;
&lt;li&gt;&amp;#x21e7;&amp;#x2318;_ shows the log for the action.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PackageMaker should adopt the same schema, both for its elegance and for uniformity with Xcode.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115165333655783224?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115165333655783224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115165333655783224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115165333655783224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115165333655783224'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/apple-bug-friday-44.html' title='Apple bug Friday! 44'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115161358177891450</id><published>2006-06-29T13:37:00.000-07:00</published><updated>2006-06-29T13:39:41.780-07:00</updated><title type='text'>About CPU Usage 0.3...</title><content type='html'>&lt;p&gt;The version that I put up before was broken. &lt;a href="http://geocities.com/iamtheboredzo/cpuusage" title="CPU Usage"&gt;I've hotfixed it&lt;/a&gt;, and also moved the downloads over to my folder on &lt;a href="http://kirkconsulting.co.uk/blog/"&gt;jkp&lt;/a&gt;'s server. No more worrying about GeoCities' hourly transfer limit.&lt;/p&gt;

&lt;p&gt;And I'll be posting it on VT within the hour.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115161358177891450?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115161358177891450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115161358177891450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115161358177891450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115161358177891450'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/about-cpu-usage-03.html' title='About CPU Usage 0.3...'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115161338739018875</id><published>2006-06-29T13:33:00.000-07:00</published><updated>2006-06-29T13:36:27.450-07:00</updated><title type='text'>Call to action</title><content type='html'>&lt;p&gt;I want to see Mac OS X Tiger (or Leopard) running on a NeXT Cube. :)&lt;/p&gt;

&lt;p&gt;And NeXTStations only count for half points. They're too modern. I want to see it on a NeXT Cube, grayscale and all.&lt;/p&gt;

&lt;p&gt;If you make it happen, or find somebody who has made it happen, please post a link in the comments.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Mac%20OS%20X" rel="tag"&gt;Mac OS X&lt;/a&gt;, &lt;a href="http://technorati.com/tags/NeXT"&gt;NeXT&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115161338739018875?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115161338739018875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115161338739018875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115161338739018875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115161338739018875'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/call-to-action.html' title='Call to action'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115155462431342379</id><published>2006-06-28T20:56:00.000-07:00</published><updated>2006-06-28T21:17:04.370-07:00</updated><title type='text'>CPU Usage 0.3</title><content type='html'>&lt;p&gt;An unobtrusive (unless it needs to be obtrusive) CPU usage meter.&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="61" height="68" alt="CPU Usage meter, shown relative to a Finder window, indicating 40% CPU usage." src="http://geocities.com.nyud.net:8080/iamtheboredzo/cpuusage/40percent.png" /&gt;&lt;/p&gt;

&lt;p&gt;When your CPU usage is low, the floating window is nearly invisible. When your CPU usage is high, the floating window becomes more prominent, until it becomes completely opaque at 100% CPU usage.&lt;/p&gt;

&lt;p&gt;Multiple-CPU-core machines, as you might expect, beget a version of the window that has multiple, connected CPU-usage cells. (If you have such a machine, feel free to send me a screenshot that I could put on the webpage. Let me know how to credit you, too.)&lt;/p&gt;

&lt;p&gt;Though the first two versions are available to the public, this is the first public release. The previous versions had a large memory leak; this version fixes it, and therefore has no known bugs. (Still not 1.0 because it's not done. I have one or two features that I want to add in future versions.)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115155462431342379?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115155462431342379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115155462431342379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115155462431342379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115155462431342379'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/cpu-usage-03.html' title='CPU Usage 0.3'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115154928466950565</id><published>2006-06-28T19:30:00.000-07:00</published><updated>2006-06-28T19:48:04.826-07:00</updated><title type='text'>Plus and minus images, mark 2</title><content type='html'>&lt;p&gt;I couldn't figure out why my images were so much bigger than Adium's.&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;du -b Frameworks/AIUtilities\      %~/Projects/@otherpeoplesprojects/adium(127)
&gt; \ Framework/Resources/{pl,min}us.png
85      Frameworks/AIUtilities Framework/Resources/plus.png
77      Frameworks/AIUtilities Framework/Resources/minus.png
___
cd ~/Dom*/plusminus                  %~/Projects/@otherpeoplesprojects/adium(0)
___
du -b {pl,min}us-8.png                      %~/Domain of the Bored/plusminus(0)
607      plus-8.png
601      minus-8.png&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This annoyed me, because I wanted to move my images into Adium, but couldn't justify it with the size difference (Adium already weighs heavily on people's disks, so I'm reluctant to increase it even by a K).&lt;/p&gt;

&lt;p&gt;Finally, it dawned on me. (I've said before how answers will just pop into my head randomly without me even thinking about it.) I fired up Photoshop, and sure enough, I had saved my images as RGB, not grayscale. Since there is no saturation anywhere in the image, there's no reason for me to use RGB, so I changed the images to grayscale and ran the latest versions of &lt;a href="http://optipng.sourceforge.net/"&gt;OptiPNG&lt;/a&gt; and &lt;a href="http://pmt.sourceforge.net/pngcrush"&gt;pngcrush&lt;/a&gt; over them.&lt;/p&gt;

&lt;p&gt;The new sizes:&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;du -b {pl,min}us-8.png                      %~/Domain of the Bored/plusminus(0)
82      plus-8.png
75      minus-8.png&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I'll add them into Adium at some future time.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Images" rel="tag"&gt;Images&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Free" rel="tag"&gt;Free&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115154928466950565?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115154928466950565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115154928466950565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115154928466950565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115154928466950565'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/plus-and-minus-images-mark-2.html' title='Plus and minus images, mark 2'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115153804185301702</id><published>2006-06-28T16:38:00.000-07:00</published><updated>2006-06-28T20:18:24.740-07:00</updated><title type='text'>A math koan</title><content type='html'>&lt;p&gt;One sheet of toilet paper is &lt;var&gt;L&lt;/var&gt; long. The inner circumference of the roll is &lt;var&gt;C1&lt;/var&gt; and the outer circumference is &lt;var&gt;C2&lt;/var&gt;. Each sheet is &lt;var&gt;T&lt;/var&gt; thick.&lt;/p&gt;

&lt;p&gt;How many sheets are there on a fully-loaded roll? Please post here if you have an answer.&lt;/p&gt;

&lt;p&gt;And no cheating by peeking at the package. ;)&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/math" rel="tag"&gt;Math&lt;/a&gt;, &lt;a href="http://technorati.com/tags/toilet%20paper" rel="tag"&gt;Toilet paper&lt;/a&gt;. (Did you expect to ever see those two tags together in one post?)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115153804185301702?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115153804185301702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115153804185301702' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115153804185301702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115153804185301702'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/math-koan.html' title='A math koan'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115139444369090902</id><published>2006-06-27T00:28:00.000-07:00</published><updated>2006-06-27T02:13:46.973-07:00</updated><title type='text'>Image Shadow Adder</title><content type='html'>&lt;p&gt;My newest application, &lt;a href="http://geocities.com/iamtheboredzo/imageshadowadder"&gt;Image Shadow Adder&lt;/a&gt;, adds a shadow to an image. I plan on using this instead of Photoshop to restore shadows to my window screenshots (OS X's window screenshot command, &amp;#x21ea;&amp;#x21e7;&amp;#x2318;4, does not preserve the shadow).&lt;/p&gt;

&lt;p&gt;Also, the source code (BSD license) demonstrates how to use Bindings (used to insert the original and shadowed images into the document window's image views), use &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSShadow_Class/index.html"&gt;NSShadow&lt;/a&gt;, and capture an &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSImage_Class/index.html"&gt;NSImage&lt;/a&gt; to an &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSBitmapImageRep_Class/index.html"&gt;NSBitmapImageRep&lt;/a&gt;. Few comments in the code, I'm sorry to say, as this is just a quick-and-dirty application that I wrote when it dawned on me that I could use NSShadow when drawing an NSImage, rather than emulating my old Photoshop technique.&lt;/p&gt;

&lt;p&gt;For reference, that technique was:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Take one regular window screenshot, and one rectangular screenshot of the window with shadow on a white background.&lt;/li&gt;
&lt;li&gt;Drag and drop the window screenshot into the rectangular screenshot. Position so that the two window images line up.&lt;/li&gt;
&lt;li&gt;Knock out the black corners on the window screenshot. These are masked out by the alpha channel in the PNG file, but Photoshop sucks at alpha channels.&lt;/li&gt;
&lt;li&gt;Create a new layer. Fill with black.
&lt;li&gt;Load the window screenshot as a selection.&lt;/li&gt;
&lt;li&gt;Add a layer mask (reveal selection) to the black layer.&lt;/li&gt;
&lt;li&gt;Copy Merged.&lt;/li&gt;
&lt;li&gt;Add an alpha channel. Paste into it, and invert it. The area of the window should be white, with the shadow fading to black.&lt;/li&gt;
&lt;li&gt;Return to the Layers list and disable or delete the layer mask. Move the black layer down beneath the window-screenshot layer.&lt;/li&gt;
&lt;li&gt;Export using &lt;a href="http://fnordware.com/superpng/"&gt;SuperPNG&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The only disadvantage to the new way is that &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSBitmapImageRep_Class/Reference/Reference.html#//apple_ref/doc/c_ref/NSImageInterlaced" title="NSImageInterlaced"&gt;AppKit's PNG-interlacing setting&lt;/a&gt; is broken. The generated PNG data is not interlaced. I'll have to use &lt;a href="http://optipng.sourceforge.net/"&gt;OptiPNG&lt;/a&gt; to interlace it.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Image%20Shadow%20Adder" rel="tag"&gt;Image Shadow Adder&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115139444369090902?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115139444369090902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115139444369090902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115139444369090902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115139444369090902'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/image-shadow-adder.html' title='Image Shadow Adder'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115113947604545923</id><published>2006-06-24T01:47:00.000-07:00</published><updated>2006-06-24T02:03:29.706-07:00</updated><title type='text'>Another quickie</title><content type='html'>&lt;p&gt;If you use &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSAttributedString_AppKitAdditions/Reference/Reference.html#//apple_ref/occ/instm/NSAttributedString/drawAtPoint:"&gt;&lt;code&gt;-[NSAttributedString drawAtPoint:]&lt;/code&gt;&lt;/a&gt;, you may be surprised to find that it doesn't respect &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSParagraphStyle_Class/index.html"&gt;&lt;code&gt;NSParagraphStyle&lt;/code&gt;&lt;/a&gt;s in the receiver's attributes. The documentation hints at why:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The width (height for vertical layout) of the rendering area is unlimited, unlike &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSAttributedString_AppKitAdditions/Reference/Reference.html#//apple_ref/occ/instm/NSAttributedString/drawInRect:"&gt;&lt;code&gt;drawInRect:&lt;/code&gt;&lt;/a&gt;, which uses a bounding rectangle. As a result, this method renders the text in a single line.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Well, it will actually respect any newlines when measuring and drawing the text. You won't just get a single line. What it really means is that you don't get paragraph styles applied.&lt;/p&gt;

&lt;p&gt;Solution: Use &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSAttributedString_AppKitAdditions/Reference/Reference.html#//apple_ref/occ/instm/NSAttributedString/drawInRect:"&gt;&lt;code&gt;-[NSAttributedString drawInRect:]&lt;/code&gt;&lt;/a&gt; instead.&lt;/p&gt;

&lt;p&gt;I imagine that the same rule applies to &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSString_AppKitAdditions/Reference/Reference.html#//apple_ref/occ/instm/NSString/drawAtPoint:withAttributes:"&gt;&lt;code&gt;-[NSString drawAtPoint:withAttributes:]&lt;/code&gt;&lt;/a&gt; and &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSString_AppKitAdditions/Reference/Reference.html#//apple_ref/occ/instm/NSString/drawInRect:withAttributes:"&gt;&lt;code&gt;-[NSString drawInRect:withAttributes:]&lt;/code&gt;&lt;/a&gt; as well, since the former method has the same note in its documentation (and is probably implemented using &lt;code&gt;-[NSAttributedString drawAtPoint:]&lt;/code&gt;).&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Cocoa" rel="tag"&gt;Cocoa&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Application%20Kit" rel="tag"&gt;Application Kit&lt;/a&gt;, &lt;a href="http://technorati.com/tags/AppKit" rel="tag"&gt;AppKit&lt;/a&gt;, &lt;a href="http://technorati.com/tags/NSAttributedString" rel="tag"&gt;NSAttributedString&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115113947604545923?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115113947604545923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115113947604545923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115113947604545923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115113947604545923'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/another-quickie.html' title='Another quickie'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115109776301594654</id><published>2006-06-23T14:20:00.000-07:00</published><updated>2006-06-23T14:22:43.060-07:00</updated><title type='text'>A quick IB tip</title><content type='html'>&lt;p&gt;I just discovered this &amp;mdash; you can use the numeric keypad to move views in a nib. The benefit of this is that you can perform atomic diagonal moves (as opposed to a rapid sequence of, for example, up followed by left).&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Interface%20Builder" rel="tag"&gt;Interface Builder&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115109776301594654?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115109776301594654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115109776301594654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115109776301594654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115109776301594654'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/quick-ib-tip.html' title='A quick IB tip'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115076416474356597</id><published>2006-06-19T17:37:00.000-07:00</published><updated>2006-06-19T23:42:31.110-07:00</updated><title type='text'>Table view double-click actions</title><content type='html'>&lt;p&gt;It used to be that when you wanted to receive a double-click notification from an &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTableView_Class/index.html#//apple_ref/occ/cl/NSTableView"&gt;NSTableView&lt;/a&gt;, you had to do this in your &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSNibAwaking_Protocol/Reference/Reference.html#//apple_ref/occ/instm/NSObject/awakeFromNib"&gt;&lt;code&gt;-awakeFromNib&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;[tableView setTarget:self];
[tableView setDoubleAction:@selector(doMagicThings:)];&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Now, with the power of &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/CocoaBindingsRef/BindingsText/NSTableView.html"&gt;Bindings&lt;/a&gt;, you can do this in IB!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSObjectController_Class/index.html#//apple_ref/occ/cl/NSObjectController"&gt;NSObjectController&lt;/a&gt;. Set its class name to the class of the desired receiver, and its &amp;ldquo;content&amp;rdquo; outlet (not binding) to the desired receiver.&lt;/li&gt;
&lt;li&gt;Bind the table view's doubleClickTarget binding to the object controller. Controller key: content. Leave the model key path empty.&lt;/li&gt;
&lt;li&gt;Put the selector name in the field at the bottom of the binding view.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And a cheesy way that doesn't involve a controller:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add a method named &lt;code&gt;-self&lt;/code&gt; to your receiver's class (or to &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/index.html#//apple_ref/occ/cl/NSObject"&gt;NSObject&lt;/a&gt;) that simply returns self.&lt;/li&gt;
&lt;li&gt;Bind the table view's doubleClickTarget binding directly to the receiver. Model key path: self.&lt;/li&gt;
&lt;li&gt;Put the selector name in the field at the bottom of the binding view.&lt;/li&gt;
&lt;/ol&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Cocoa"&gt;Cocoa&lt;/a&gt;, &lt;a href="http://technorati.com/tags/NSTableView"&gt;NSTableView&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115076416474356597?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115076416474356597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115076416474356597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115076416474356597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115076416474356597'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/table-view-double-click-actions.html' title='Table view double-click actions'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115048902987883383</id><published>2006-06-16T12:56:00.000-07:00</published><updated>2006-06-19T23:48:42.236-07:00</updated><title type='text'>BlogZOT!: HoudahSpot</title><content type='html'>&lt;p&gt;Saw &lt;a href="http://durin42.blogspot.com/2006/06/my-review-of-houdahspot-as-seen-on.html"&gt;this&lt;/a&gt; on &lt;a href="http://durin42.blogspot.com/"&gt;durin42's blog&lt;/a&gt;: &lt;a href="http://maczot.com/"&gt;MacZOT&lt;/a&gt; is running another &lt;a href="http://maczot.com/?mod=blogzot"&gt;BlogZOT!&lt;/a&gt;, this time for &lt;a href="http://houdah.com/"&gt;Houdah Software&lt;/a&gt;'s &lt;a href="http://www.houdah.com/houdahSpot/"&gt;HoudahSpot&lt;/a&gt;. (&lt;a href="http://domainofthebored.blogspot.com/"&gt;Domain of the Bored&lt;/a&gt;: More &lt;a href="http://en.wikipedia.org/wiki/Hyperlink"&gt;hyperlink&lt;/a&gt;s per &lt;a href="http://en.wikipedia.org/wiki/Paragraph"&gt;paragraph&lt;/a&gt; than any other &lt;a href="http://en.wikipedia.org/wiki/Weblog"&gt;blog&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Ever"&gt;ever&lt;/a&gt;!)&lt;/p&gt;

&lt;p&gt;HoudahSpot is a &lt;a href="http://apple.com/macosx/features/spotlight"&gt;Spotlight&lt;/a&gt;-replacement app, as is &lt;a href="http://www.tidbits.com/matt/default2.html#cocoathings"&gt;NotLight&lt;/a&gt;. HoudahSpot takes a different approach, being more similar to Finder and Spotlight, but with the suck subtracted from their implementations. (NotLight is basically a front end on the Spotlight APIs.)&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;a href="http://geocities.com.nyud.net:8080/iamtheboredzo/screenshots/houdahspot-query.png "&gt;&lt;img width="652" height="579" alt="Screenshot of HoudahSpot's search window. HoudahSpot is instructed to search /Developer/SDKs, /usr/include, /usr/local/include, and /opt/local/include for files whose text content contains the word &amp;ldquo;NSAffineTransform&amp;rdquo; OR &amp;ldquo;readline&amp;rdquo;." src="http://geocities.com.nyud.net:8080/iamtheboredzo/screenshots/houdahspot-query.png" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's fast, but buggy. &lt;a href="http://geocities.com/iamtheboredzo/searchheaders.hspot.zip"&gt;The query above&lt;/a&gt;, for example, didn't work as long as I had any folders other than /Developer/SDKs listed. Perhaps it's using AND rather than OR on the source files? No idea, but as long as I can't search all my header folders at once, I won't be abandoning &lt;a href="http://domainofthebored.blogspot.com/2006/06/first-draft.html"&gt;my own header search tool&lt;/a&gt;. &lt;span class="update"&gt;UPDATE 17:11 PDT:&lt;/span&gt; NotLight doesn't find anything either. Spotlight does, though. &lt;a href="http://durin42.blogspot.com/"&gt;durin42&lt;/a&gt; and I both searched for &lt;a href="x-man-page://3/fprintf"&gt;fprintf&lt;/a&gt; as well; I had the same results as with readline, whereas durin42 got a hit in HoudahSpot for readline but not for fprintf (and remarked that &amp;ldquo;spotlight behaves oddly&amp;rdquo;). Very, very strange.&lt;/p&gt;

&lt;p&gt;Also, the search window's minimum size is unnecessarily large. The window as shown above is as small as I could make it. Wasted space is bad. In a quasi-related misfeature, the toolbar cannot be configured. The maximum extent to its configurability is that you can &amp;#x2318;-click the pill button to switch between Icon &amp; Text and Icon-only. Yaaay. My last nitpick is that it doesn't use pretty plus/minus images, like &lt;a href="http://geocities.com/iamtheboredzo/plusminus"&gt;mine&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If it gets down to free, snap it up; it shows a lot of promise, and is very pretty. But I would not pay $15 (or $9, the current BlogZOT! price as of this writing) for it when there's NotLight. I look forward to some future version that fixes all the bugs.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/BlogZOT" rel="tag"&gt;BlogZOT!&lt;/a&gt;, &lt;a href="http://technorati.com/tags/HoudahSpot" rel="tag"&gt;HoudahSpot&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115048902987883383?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115048902987883383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115048902987883383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115048902987883383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115048902987883383'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/blogzot-houdahspot.html' title='BlogZOT!: HoudahSpot'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115044486965916784</id><published>2006-06-16T00:53:00.000-07:00</published><updated>2006-06-16T01:02:33.820-07:00</updated><title type='text'>First draft</title><content type='html'>&lt;p&gt;I've been working on a header search tool in &lt;a href="http://python.org/"&gt;Python&lt;/a&gt;. You run the index tool, and it creates the database (using &lt;a href="http://postgresql.org/"&gt;PostgreSQL&lt;/a&gt; and &lt;a href="http://pygresql.org/"&gt;PyGreSQL&lt;/a&gt;); then you can use the search tool to look up headers either by name or by keyword:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;pre&gt;python searchheaders.py name=NSAffineTransform.h  %~/Python/sql_headersearch(0)
NSAffineTransform.h     /System/Library/Frameworks/AppKit.framework/Headers/NSAffineTransform.h
NSAffineTransform.h     /System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h
___
python searchheaders.py symbol=NSAffineTransform  %~/Python/sql_headersearch(0)
NSAffineTransform       "/System/Library/Frameworks/AppKit.framework/Headers/NSFontDescriptor.h"
NSAffineTransform       "/System/Library/Frameworks/AppKit.framework/Headers/NSBezierPath.h"
NSAffineTransform       "/System/Library/Frameworks/AppKit.framework/Headers/NSAffineTransform.h"
NSAffineTransform       "/System/Library/Frameworks/AppKit.framework/Headers/NSFont.h"
NSAffineTransform       "/System/Library/Frameworks/Foundation.framework/Headers/NSAffineTransform.h"&lt;/pre&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;It's not done yet, obviously (for one thing, I don't know why those quotes are in there), but it's coming along nicely. And it's quick, though not very:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;pre&gt;time python searchheaders.py name=NSAffineTransform.h &amp;gt; /dev/null
python searchheaders.py name=NSAffineTransform.h &amp;gt; /dev/null  0.06s user 0.10s system 44% cpu 0.371 total
___
time python searchheaders.py symbol=NSAffineTransform &amp;gt; /dev/null  
python searchheaders.py symbol=NSAffineTransform &amp;gt; /dev/null  0.06s user 0.10s system 6% cpu 2.339 total&lt;/pre&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I want to see if there's anything I can do to fix that query time. Probably something involving &lt;a href="http://www.postgresql.org/docs/8.0/interactive/arrays.html"&gt;PostgreSQL's array types&lt;/a&gt;, so that I can make the keyword column a primary key.&lt;/p&gt;

&lt;p&gt;This, incidentally, is why I needed to &lt;a href="http://domainofthebored.blogspot.com/2006/06/parsing-preprocessor.html"&gt;parse the preprocessor&lt;/a&gt;.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115044486965916784?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115044486965916784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115044486965916784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115044486965916784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115044486965916784'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/first-draft.html' title='First draft'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-115040177406562018</id><published>2006-06-15T12:20:00.000-07:00</published><updated>2006-06-15T23:28:50.596-07:00</updated><title type='text'>Parsing the preprocessor</title><content type='html'>&lt;p&gt;If you've ever run GCC's preprocessor alone and looked at its output, you've seen lines like these:&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;# 1 "/usr/include/sys/types.h"
# 1 "&amp;lt;built-in&amp;gt;"
# 1 "&amp;lt;command line&amp;gt;"
# 1 "/usr/include/sys/types.h"
# 66 "/usr/include/sys/types.h"
# 1 "/usr/include/sys/appleapiopts.h" 1 3 4
# 67 "/usr/include/sys/types.h" 2


# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 70 "/usr/include/sys/types.h" 2
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And you probably wondered what all that means. Here's your &lt;a href="http://en.wikipedia.org/wiki/Secret_decoder_ring"&gt;secret decoder ring&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;First, these are called "line markers" in &lt;a href="http://www.opensource.apple.com/darwinsource/10.4.6.ppc/gcc-5250/libcpp/"&gt;libcpp&lt;/a&gt;. The format of a line marker is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A line number&lt;/li&gt;
&lt;li&gt;The path to the relevant file&lt;/li&gt;
&lt;li&gt;Flags&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The flag values are:&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;1&lt;/dt&gt;
&lt;dd&gt;Push (enter) header&lt;/dd&gt;
&lt;dt&gt;2&lt;/dt&gt;
&lt;dd&gt;Pop (leave) header&lt;/dd&gt;
&lt;dt&gt;3&lt;/dt&gt;
&lt;dd&gt;This is a system header (determined by &lt;a href="http://gcc.gnu.org/ml/gcc-patches/2001-02/msg01039.html"&gt;these rules&lt;/a&gt; with &lt;a href="http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00470.html"&gt;this modification&lt;/a&gt;)&lt;/dd&gt;
&lt;dt&gt;4&lt;/dt&gt;
&lt;dd&gt;Requires &lt;code&gt;extern "C"&lt;/code&gt; protection (determined by the same rules as above); never found without 3&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;Note that a pop applies to the header &lt;em&gt;above&lt;/em&gt; (in the include stack) the one referenced in the marker.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;# 66 "/usr/include/sys/types.h"
# 1 "/usr/include/sys/appleapiopts.h" 1 3 4
# 67 "/usr/include/sys/types.h" 2&lt;/p&gt;&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Fast-forward to line 66 of &amp;lt;sys/types.h&amp;gt; (nothing interesting occurs before this line).&lt;/li&gt;
&lt;li&gt;Enter &amp;lt;sys/appleapiopts.h&amp;gt;. Everything from this point until the next marker is from that header. Note that this header is a system header (3) and requires extern "C" protection (4).&lt;/li&gt;
&lt;li&gt;As it turns out, nothing interesting happened there. So the very next line is a pop marker: &amp;lt;sys/appleapiopts.h&amp;gt; is popped, so now we're back in &amp;lt;sys/types.h&amp;gt;, now on line 67 (the line after the &lt;code&gt;#include &amp;lt;sys/appleapiopts.h&amp;gt;&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The relevant code in libcpp is in &lt;a href="http://www.opensource.apple.com/darwinsource/10.4.6.ppc/gcc-5250/libcpp/directives.c"&gt;directives.c&lt;/a&gt;. The function that parses line markers (presumably used by the compiler rather than the preprocessor itself; the preprocessor generates them) is &lt;code&gt;do_linemarker&lt;/code&gt;. Additional include-related code is in &lt;a href="http://www.opensource.apple.com/darwinsource/10.4.6.ppc/gcc-5250/libcpp/directives.c"&gt;files.c&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 23:24 PDT:&lt;/span&gt; Beware of pragmas. Seems obvious now, but I didn't think of it earlier: The preprocessor leaves #pragma directives untouched, being that they're for the compiler rather than the preprocessor. So if you're only looking for line markers, you may get tripped up if you don't properly handle/ignore a pragma.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/GCC" rel="tag"&gt;GCC&lt;/a&gt;, &lt;a href="http://technorati.com/tags/cpp" rel="tag"&gt;cpp&lt;/a&gt;, &lt;a href="http://technorati.com/tags/C%20preprocessor" rel="tag"&gt;C preprocessor&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-115040177406562018?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/115040177406562018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=115040177406562018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115040177406562018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/115040177406562018'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/parsing-preprocessor.html' title='Parsing the preprocessor'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114962766753794191</id><published>2006-06-06T13:57:00.000-07:00</published><updated>2006-06-06T14:01:07.566-07:00</updated><title type='text'>ISO 8601 unparser, version 0.3</title><content type='html'>&lt;p&gt;&lt;a href="http://iamthewalr.us/"&gt;Colin&lt;/a&gt; found some bugs in &lt;a href="http://geocities.com/iamtheboredzo/iso8601parser"&gt;my ISO 8601 unparser&lt;/a&gt; when he added it to &lt;a href="http://adiumx.com/"&gt;Adium&lt;/a&gt;. I've fixed these (as he has in the Adium copy) and released it as 0.3.&lt;/p&gt;

&lt;p&gt;The parser is still unchanged.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/ISO%208601" rel="tag"&gt;ISO 8601&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114962766753794191?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114962766753794191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114962766753794191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114962766753794191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114962766753794191'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/iso-8601-unparser-version-03.html' title='ISO 8601 unparser, version 0.3'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114951399408158697</id><published>2006-06-05T06:21:00.000-07:00</published><updated>2006-06-05T12:31:37.500-07:00</updated><title type='text'>About Mac OS 9</title><content type='html'>&lt;p&gt;No! Wait! Come back!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://homepage.mac.com/simx/technonova/"&gt;Simone Manganelli&lt;/a&gt;'s &lt;a href="http://homepage.mac.com/simx/technonova/C2116391994/E20060605023630"&gt;-1st post&lt;/a&gt; references &lt;a href="http://applexnet.com/index.php?name=News&amp;file=article&amp;sid=817"&gt;an AppleXnet article he wrote&lt;/a&gt; in response to &lt;a href="http://mpt.net.nz/archive/2004/02/16/os-x"&gt;an article that Matthew Paul Thomas wrote&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I agree with the AppleXnet article on the whole, but I do have some rebuttal to it.&lt;/p&gt;

&lt;hr /&gt;

&lt;blockquote&gt;&lt;p&gt;Apple sanctions the use of "extensions", which modify the use of the operating system in unintended ways that often lead to conflicts with other applications and extensions, one of the worst usability problems of Mac OS 9. Troubleshooting extensions is one of the worst things to have to diagnose.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Trivia: Extensions were originally unsupported. They were only for Apple to use to patch the OS without requiring a full OS update. But third-party developers figured out how to do it. Apple made it supported so that they could set forth certain ground rules to help ameliorate the problem of extension conflicts.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;For disabled users, there is no way in Mac OS 9 to click any menu item or drop down any menu without using the mouse or buying additional software. This makes using the operating system very difficult out of the box for many disabled Mac users.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;OS 9's Easy Access control panel offered a feature called Mouse Keys. You use the numeric keypad to move the cursor, except for the 5 and 0 keys, which click the button. OS X has it too, since Jaguar.&lt;/p&gt;

&lt;p&gt;Exercise for the reader: Figure out how Mouse Keys changed between OS 9 and OS X. (Yes, there is at least one change.)&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;While admittedly minor, some applications' menus are white colored, from the System 7 days, while other ones are gray colored, the new color scheme adopted by Mac OS 8 and later.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The applications with white menus used custom MDEFs (menu definitions), most commonly an old version of &lt;a href="http://www.digitalalchemy.com/mercutio/"&gt;Mercutio&lt;/a&gt;. These custom MDEFs were usually employed to allow for exotic key combinations that Apple's MDEF didn't allow until 8.5.&lt;/p&gt;

&lt;p&gt;Mac OS 8.5 and later, and OS X, allow any key combo.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;A remnant from earlier systems from Mac OS 9 is the desk accessory, which violates many of the regular human interface guidelines (even though it's usually just a small application). For example, the Calculator has a black menu bar&amp;hellip;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;First, you mean title bar.&lt;p&gt;

&lt;p&gt;Second, its appearance is because it's a desk accessory. DAs didn't always behave like applications; before System 7, they floated on top of the active application. The reason is that DAs were the very first way in which you could do things that weren't actually part of the application you were in, invented because this was before MultiFinder allowed multiple applications to run at the same time.&lt;/p&gt;

&lt;p&gt;Third (and irrelevantly to UI issues), DAs are not applications. They are device drivers. (Yes, really. That's how they were loaded when you could only have one application running at a time.)&lt;/p&gt;

&lt;p&gt;Sounds a little like input managers, actually, now that I think about it&amp;hellip;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The Apple menu and application menu under Mac OS 9 are curiously not located at the top-left and top-right corners of the screen, respectively. For some reason, Apple decided to put about 10 pixels between each menu and the side of the screen, violating Fitt's Law in the process.&lt;/blockquote&gt;&lt;p&gt;

&lt;p&gt;But you could click on them anyway.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Immediately after startup after a crash, the Finder often places "rescued items" in the Trash. This is wrong for multiple reasons: &amp;hellip;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Ostensibly, the application saved your unsaved work to a swap file that it would have cleaned up when you saved or closed the document, and you could recover this data from the Rescued Items folder after the restart. Unfortunately, even when there was such a swap file, I was never able to open one and recover anything.&lt;/p&gt;

&lt;p&gt;Good idea, but it didn't work out.&lt;/p&gt;

&lt;p&gt;OS X does have the same feature, but most applications do not use the Temporary Items folder anymore. I think developers figure that Macs have too much RAM for it to be worth anything anymore.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Pop-up windows violate most of the normal expectations that a user has when interacting with them.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Ah, but they were so handy. :)&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;It has not one but TWO resize widgets.&lt;/p&gt;&lt;/blockquote&gt;

Clearly-defined resize widgets.

&lt;blockquote&gt;&lt;p&gt;For no reason at all, the icons of desktop printers cannot be changed.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The reason is that the icon may change to reflect information. Most of these can be accomplished by badging, but what do you do for the black stroke that means &amp;ldquo;default printer&amp;rdquo;?&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;It's puzzling why an application called "Finder" doesn't contain a feature that does what it's name implies, instead relegating that to Sherlock. (Earlier versions of Mac OS X also carried over this problem, but it has since been rectified in Jaguar and improved in Panther.)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And ruined in Tiger. :(&lt;/p&gt;

&lt;p&gt;Good thing there's &lt;a href="http://www.tidbits.com/matt/default2.html#cocoathings"&gt;NotLight&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Many diehard Mac OS 9 users that I've met seem to adopt an attitude of thinking that Mac OS 9 is perfect and should be Apple's current operating system, when Mac OS 9 was full of more usability problems than the current version of Mac OS X.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I was there. The first time I used OS X (10.1.3), I hated it for all the ways that it was different from OS 9. Eventually I went back. But I came to miss all the things that were good about OS X, and also wanted to start writing Mac applications (an expensive proposition on OS 9, except with &lt;a href="http://developer.apple.com/tools/mpw-tools/"&gt;MPW&lt;/a&gt;, the compiler in which was creaky; free on OS X). So, after getting a newer G3 (333 MHz; my previous one was 267 MHz), I installed OS X 10.1.5, and never looked back.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Mac%20OS" rel="tag"&gt;Mac OS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Mac%20OS%209" rel="tag"&gt;Mac OS 9&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114951399408158697?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114951399408158697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114951399408158697' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114951399408158697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114951399408158697'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/about-mac-os-9.html' title='About Mac OS 9'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114931788647478986</id><published>2006-06-02T23:48:00.000-07:00</published><updated>2006-06-10T08:06:24.196-07:00</updated><title type='text'>NSMovieView vs QTMovieView</title><content type='html'>&lt;p&gt;I mentioned in &lt;a href="http://domainofthebored.blogspot.com/2006/06/enhancing-quicktime-performance.html" title="Enhancing QuickTime Performance"&gt;my previous post&lt;/a&gt; that you should use &lt;a href="http://developer.apple.com/documentation/QuickTime/Reference/QTKitFramework/Classes/QTMovieView_Class/"&gt;&lt;code&gt;QTMovieView&lt;/code&gt;&lt;/a&gt; rather than &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMovieView_Class/"&gt;&lt;code&gt;NSMovieView&lt;/code&gt;&lt;/a&gt; because &lt;code&gt;QTMovieView&lt;/code&gt; is so much more efficient.&lt;/p&gt;

&lt;p&gt;There is, however, one reason to use &lt;code&gt;NSMovieView&lt;/code&gt;, and it's the controller thumb:&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="352" height="294" alt="A window with an NSMovieView, showing off its hourglass-shaped controller thumb." src="http://geocities.com/iamtheboredzo/screenshots/nsmovieview.png" /&gt;&lt;br /&gt;NSMovieView.&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="373" height="285" alt="A MoviePlayer 2.5.1 window, showing off QuickTime 6.0.3's controller thumb." src="http://geocities.com/iamtheboredzo/screenshots/movieplayer.png" /&gt;&lt;br /&gt;MoviePlayer 2.5.1 with QuickTime 6.0.3.&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="337" height="310" alt="A window with a QTMovieView, showing off its plain round controller thumb." src="http://geocities.com/iamtheboredzo/screenshots/qtmovieview.png" /&gt;&lt;br /&gt;QTMovieView.&lt;/p&gt;

&lt;p&gt;Does anyone know how I can get &lt;code&gt;QTMovieView&lt;/code&gt; to use the same controller thumb that &lt;code&gt;NSMovieView&lt;/code&gt; and QuickTime 6 use?&lt;/p&gt;

&lt;p&gt;And no, the &amp;ldquo;Speed&amp;rdquo; field and progress bar are not part of the QTMovieView.&lt;/p&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 2006-06-10:&lt;/span&gt; &lt;a href="http://waffle.wootest.net/"&gt;wootest&lt;/a&gt; says that you the above is the editing controller, so you get it by making the movie editable. I've tried it and it works. The code is:&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;[movie setAttribute:[NSNumber numberWithBool:YES] forKey:QTMovieEditableAttribute];&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Thanks!&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/QuickTime" rel="tag"&gt;QuickTime&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114931788647478986?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114931788647478986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114931788647478986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114931788647478986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114931788647478986'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/nsmovieview-vs-qtmovieview.html' title='NSMovieView vs QTMovieView'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114928504914114504</id><published>2006-06-02T14:35:00.000-07:00</published><updated>2006-06-02T23:54:09.406-07:00</updated><title type='text'>Enhancing QuickTime performance</title><content type='html'>&lt;p&gt;I use a 450 MHz G4 Cube, so I tend to look hard at minimizing any large drains on my CPU. Such drains include playback of large video files (such as the &lt;a href="http://twitorrents.com/bm/rss.php?i=9"&gt;540p version of MacBreak&lt;/a&gt;). So I've been experimenting on and off with faster ways of playing back QuickTime movies. Here are my findings.&lt;/p&gt;

&lt;p&gt;First, &lt;strong&gt;do not use &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMovieView_Class/"&gt;&lt;code&gt;NSMovieView&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt;. In my app, the &lt;code&gt;NSMovieView&lt;/code&gt; used 50% of my CPU at all times &amp;mdash; even when the movie was paused. Bad, bad, bad. And the frame rate sucked, too. (&lt;span class="update"&gt;UPDATE 23:50 PDT&lt;/span&gt;: It seems like &lt;code&gt;NSMovieView&lt;/code&gt; simply draws the entire frame periodically and unconditionally. The CPU usage changed based on the size of the window.) When I replaced it with &lt;a href="http://developer.apple.com/documentation/QuickTime/Reference/QTKitFramework/Classes/QTMovieView_Class/"&gt;&lt;code&gt;QTMovieView&lt;/code&gt;&lt;/a&gt;, the CPU usage went way down, and the frame rate became watchable.&lt;/p&gt;

&lt;p&gt;Second, Apple has a document called &lt;a href="http://developer.apple.com/documentation/QuickTime/INMAC/QT/iqMovieToolbox.2c.htm"&gt;Enhancing Movie Playback Performance&lt;/a&gt;. Read it, learn it, live it.&lt;/p&gt;

&lt;p&gt;Some of its information bears expanding-upon, though:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;These are basic &lt;a href="http://developer.apple.com/documentation/QuickTime/Reference/QT_Framework_Ref/"&gt;QuickTime&lt;/a&gt; functions, not &lt;a href="http://developer.apple.com/documentation/QuickTime/Reference/QTCocoaObjCKit/"&gt;QTKit&lt;/a&gt;. Both &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMovie_Class/"&gt;&lt;code&gt;NSMovie&lt;/code&gt;&lt;/a&gt; and &lt;a href="http://developer.apple.com/documentation/QuickTime/Reference/QTKitFramework/Classes/QTMovie_Class/"&gt;&lt;code&gt;QTMovie&lt;/code&gt;&lt;/a&gt; allow you to get the raw QuickTime &lt;a href="http://developer.apple.com/documentation/QuickTime/APIREF/MovieTypes.htm#//apple_ref/c/tdef/Movie"&gt;&lt;code&gt;Movie&lt;/code&gt;&lt;/a&gt;, which you pass to these functions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Prerolling actually involves &lt;em&gt;two&lt;/em&gt; steps. First, call &lt;a href="http://developer.apple.com/documentation/QuickTime/Reference/QTRef_MovieManager/Reference/reference.html#//apple_ref/c/func/PrePrerollMovie"&gt;&lt;code&gt;PrePrerollMovie&lt;/code&gt;&lt;/a&gt;. (No, I am not making this up.) Then, call &lt;a href="http://developer.apple.com/documentation/QuickTime/Reference/QTRef_MovieManager/Reference/reference.html#//apple_ref/c/func/PrerollMovie"&gt;&lt;code&gt;PrerollMovie&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remember MoviePlayer? It had two checkboxes for enhancing speed:&lt;/p&gt;
&lt;p class="screenshot"&gt;&lt;img width="265" height="197" alt="Screenshot of MoviePlayer's Info window for a MacBreak episode, showing the &amp;ldquo;video_main&amp;rdquo; track, Preload options." src="http://geocities.com/iamtheboredzo/screenshots/tvod-preload.png" /&gt;&lt;/p&gt;
&lt;p&gt;Preload is obvious; it corresponds to &lt;a href="http://developer.apple.com/documentation/QuickTime/APIREF/loadmovieintoram.htm#//apple_ref/c/func/LoadMovieIntoRam"&gt;&lt;code&gt;LoadMovieIntoRam&lt;/code&gt;&lt;/a&gt;. Cache hint is not so obvious; what it does is keep movie data in RAM after it has been played (for looping). This corresponds to the &lt;a href="http://developer.apple.com/documentation/QuickTime/APIREF/loadmovieintoram.htm#//apple_ref/c/econst/keepInRam"&gt;&lt;code&gt;keepInRam&lt;/code&gt;&lt;/a&gt; option to &lt;code&gt;LoadMovieIntoRam&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you use &lt;code&gt;keepInRam&lt;/code&gt;, be sure to call &lt;code&gt;LoadMovieIntoRam&lt;/code&gt; with the &lt;a href="http://developer.apple.com/documentation/QuickTime/APIREF/loadmovieintoram.htm#//apple_ref/c/econst/unkeepInRam"&gt;&lt;code&gt;unkeepInRam&lt;/code&gt;&lt;/a&gt; and &lt;a href="http://developer.apple.com/documentation/QuickTime/APIREF/loadmovieintoram.htm#//apple_ref/c/econst/flushFromRam"&gt;&lt;code&gt;flushFromRam&lt;/code&gt;&lt;/a&gt; options when you're done with the movie, so that the memory used will be freed.&lt;/p&gt;
&lt;p&gt;Note that in MoviePlayer, you could only set preload options per-track (there was a &amp;ldquo;Movie&amp;rdquo; category, but you could not set preload options for it). So this actually corresponds to &lt;a href="http://developer.apple.com/documentation/QuickTime/APIREF/loadtrackintoram.htm#//apple_ref/c/func/LoadTrackIntoRam"&gt;&lt;code&gt;LoadTrackIntoRam&lt;/code&gt;&lt;/a&gt;. I find &lt;code&gt;LoadMovieIntoRam&lt;/code&gt; more useful for my situation; obviously, you should use whichever one of &lt;code&gt;LoadMovieIntoRam&lt;/code&gt;, &lt;code&gt;LoadTrackIntoRam&lt;/code&gt;, or &lt;a href="http://developer.apple.com/documentation/QuickTime/APIREF/loadmediaintoram.htm#//apple_ref/c/func/LoadMediaIntoRam"&gt;&lt;code&gt;LoadMediaIntoRam&lt;/code&gt;&lt;/a&gt; is appropriate for yours.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Preloading all of a movie is very expensive, especially if the movie is large (MacBreak takes about 20 seconds to load &amp;mdash; that's forever in user time). Use it only if you have to, and show a progress indicator if you do. If you can, preload sections at a time &amp;mdash; I might, for example, load 30 seconds every 1 second starting from file open.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Third, I suggest making sure that your &lt;code&gt;QTMovieView&lt;/code&gt; is set to preserve aspect ratio. I don't know whether aspect ratio distortion has a negative effect on QT performance &amp;mdash; especially if the movie is being scaled anyway &amp;mdash; but having this turned on can't hurt.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/QuickTime" rel="tag"&gt;QuickTime&lt;/a&gt;, &lt;a href="http://technorati.com/tags/QuickTime" rel="tag"&gt;Cocoa&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114928504914114504?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114928504914114504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114928504914114504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114928504914114504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114928504914114504'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/enhancing-quicktime-performance.html' title='Enhancing QuickTime performance'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114924575045090424</id><published>2006-06-02T03:21:00.000-07:00</published><updated>2006-06-02T03:57:32.243-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 43</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4571500"&gt;CrashReporter dialog has &amp;ldquo;Close&amp;rdquo; button&lt;/a&gt;. It was filed on 2006-06-02 at 03:17 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The &amp;ldquo;unexpectedly quit&amp;rdquo; dialog has a &amp;ldquo;Close&amp;rdquo; button.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Crash an application.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;A dialog box comes up, saying that the application has unexpectedly quit, showing the backtrace, and offering me the option to either &amp;ldquo;Report&amp;rdquo; the crash or one of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quit [the application]&lt;/li&gt;
&lt;li&gt;Cancel [reporting]&lt;/li&gt;
&lt;li&gt;Don't Report&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;A dialog box comes up, saying that the application has unexpectedly quit, showing the backtrace, and offering me the option to either &amp;ldquo;Report&amp;rdquo; the crash or &amp;ldquo;Close&amp;rdquo; something.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;It is not clear what is being closed. I think the immediate guess is the application; only on further reflection does one realize that if the application has already quit, it must not be available to be &amp;ldquo;closed&amp;rdquo;. It could refer to the window, but isn't that what the red widget is for? But there is no red widget, because this is a dialog box.&lt;/p&gt;

&lt;p&gt;The button's title should be changed, to one of the three names listed in Expected Results. Of those, my favorite is &amp;ldquo;Don't Report&amp;rdquo;.&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="420" height="273" alt="The CrashReporter dialog box, with its &amp;ldquo;Close&amp;rdquo; button." src="http://geocities.com/iamtheboredzo/screenshots/crashreporter.png" /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114924575045090424?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114924575045090424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114924575045090424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114924575045090424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114924575045090424'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/report-apple-bug-friday-43.html' title='Report-an-Apple-bug Friday! 43'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114924273026029069</id><published>2006-06-02T02:56:00.000-07:00</published><updated>2006-06-02T03:05:30.316-07:00</updated><title type='text'>Separated at birth?</title><content type='html'>&lt;p&gt;V for Vendetta is a great graphic novel. I couldn't put it down. So now, even more than before, I'm looking forward to the DVD of the movie.&lt;/p&gt;

&lt;p&gt;I noticed when I picked it up, though, how much the Guy Fawkes mask resembles the image of Big Brother on the cover of my copy of 1984:&lt;/p&gt;

&lt;p class="photo"&gt;&lt;a href="http://photos1.blogger.com/blogger/5008/767/1600/1984-vforvendetta.jpg"&gt;&lt;img width="320" height="240" alt="1984, with an rendition of Big Brother on the cover, next to V for Vendetta, with V in his Guy Fawkes mask on the cover." src="http://photos1.blogger.com/blogger/5008/767/1600/1984-vforvendetta-320.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114924273026029069?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114924273026029069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114924273026029069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114924273026029069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114924273026029069'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/separated-at-birth.html' title='Separated at birth?'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114917402887755787</id><published>2006-06-01T07:50:00.000-07:00</published><updated>2006-06-05T13:39:20.433-07:00</updated><title type='text'>ISO 8601 unparser</title><content type='html'>&lt;p&gt;The unparser is finished. I've bundled it with the parser (which hasn't changed since 0.1) and released it as 0.2. &lt;a href="http://geocities.com/iamtheboredzo/iso8601parser" title="ISO 8601 parser and unparser"&gt;Check it out&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I was working on my own algorithm for computing the week date, but couldn't get it to work correctly on every year, so I finally settled for implementing &lt;a href="http://personal.ecu.edu/mccartyr/ISOwdAlg.txt"&gt;Rick McCarty's week date algorithm&lt;/a&gt;.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/ISO%208601" rel="tag"&gt;ISO 8601&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114917402887755787?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114917402887755787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114917402887755787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114917402887755787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114917402887755787'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/06/iso-8601-unparser.html' title='ISO 8601 unparser'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114896542217193828</id><published>2006-05-29T21:56:00.000-07:00</published><updated>2006-05-30T06:13:00.370-07:00</updated><title type='text'>ISO 8601 parser</title><content type='html'>&lt;p&gt;I finally finished (more or less) my &lt;a href="http://geocities.com/iamtheboredzo/iso8601parser"&gt;ISO 8601 parser for Obj-C&lt;/a&gt;. I'll be using it in my TTL patches for &lt;a href="http://www.opencommunity.co.uk/vienna2.html"&gt;Vienna&lt;/a&gt; and &lt;a href="http://keeto.net/feed"&gt;Feed&lt;/a&gt;, and &lt;a href="http://iamthewalr.us/"&gt;Colin&lt;/a&gt; will use it in the &lt;a href="http://trac.adiumx.com/wiki/XMLLogFormat"&gt;Adium XML logging&lt;/a&gt; code.&lt;/p&gt;

&lt;p&gt;Right now I'm working on an unparser, for creating a string from an &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSCalendarDate_Class/index.html"&gt;NSCalendarDate&lt;/a&gt;. Colin will be using that too. I think he'll be posting more about it on the &lt;a href="http://adiumx.com/blog"&gt;Adium blog&lt;/a&gt; when it's in.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/ISO%208601" rel="tag"&gt;ISO 8601&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114896542217193828?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114896542217193828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114896542217193828' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114896542217193828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114896542217193828'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/iso-8601-parser.html' title='ISO 8601 parser'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114803477179642903</id><published>2006-05-19T03:31:00.000-07:00</published><updated>2006-05-19T03:32:51.800-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 42</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4554965"&gt;PackageMaker (and Installer?) does not support EPS, PDF, or SVG in packages&lt;/a&gt;. It was filed on 2006-05-19 at 02:20 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;PackageMaker/Installer should support the use of EPS, PDF, or SVG image files in Installer packages.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create a package in PackageMaker.&lt;/li&gt;
&lt;li&gt;On the first step of the Interface Editor, drag a EPS, PDF, or SVG file onto the window, or click Custom Background Picture and choose a EPS, PDF, or SVG file.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The EPS, PDF, or SVG file is accepted as the background of the package.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The EPS, PDF, or SVG file snaps back (drag), or is disabled in the list (choose file).&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;As far as I know, Installer has never supported EPS, PDF, or SVG files.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Vector graphics would scale cleanly to any resolution, which is good for the coming resolution-independent UI. Currently, it is necessary to use a large and/or multi-image TIFF file, and hope that it's enough.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114803477179642903?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114803477179642903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114803477179642903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114803477179642903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114803477179642903'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/report-apple-bug-friday-42.html' title='Report-an-Apple-bug Friday! 42'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114803416054246634</id><published>2006-05-19T02:57:00.000-07:00</published><updated>2006-05-19T03:23:42.600-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 41</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4554927"&gt;PackageMaker (and Installer?) does not support PNGs in packages&lt;/a&gt;. It was filed on 2006-05-19 at 02:00 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;PackageMaker/Installer should support the use of PNG image files in Installer packages.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create a package in PackageMaker.&lt;/li&gt;
&lt;li&gt;On the first step of the Interface Editor, drag a PNG file onto the window, or click Custom Background Picture and choose a PNG file.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The PNG file is accepted as the background of the package.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The PNG file snaps back (drag), or is disabled in the list (choose file).&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;As far as I know, Installer has never supported PNG files.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;PNG supports compression, for smaller Installer packages. True, Installer packages are often distributed on compressed disk images or in compressed zip archives, but PNG can &amp;ldquo;filter&amp;rdquo; the image bytes to be more compressable, resulting in greater savings.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114803416054246634?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114803416054246634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114803416054246634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114803416054246634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114803416054246634'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/report-apple-bug-friday-41.html' title='Report-an-Apple-bug Friday! 41'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114794037265247399</id><published>2006-05-18T01:16:00.000-07:00</published><updated>2006-05-18T03:03:49.796-07:00</updated><title type='text'>A thought experiment: Negative money</title><content type='html'>&lt;p&gt;Excerpt (with permission) from the &lt;a href="http://trac.adiumx.com/wiki/AdiumIRCChat"&gt;Adium channel on IRC&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;pre&gt;00:51:25: &amp;lt;Mac-arena&amp;gt; Heh, I just had a wacky idea.
00:51:38: &amp;lt;Mac-arena&amp;gt; Replace the 1- and 5-cent coins with +2- and -3-cent coins.
00:51:55: &amp;lt;Mac-arena&amp;gt; So, for example, 7 cents would be a dime and a -3. 9 cents would be a dime, a +2, and a -3.
00:52:10: &amp;lt;Catfish_Man&amp;gt; people don't want to carry negative money dude
00:52:19: &amp;lt;Catfish_Man&amp;gt; it's like debt that weighs something
00:52:18: &amp;lt;Mac-arena&amp;gt; It would make robberies interesting.
00:52:33: &amp;lt;Mac-arena&amp;gt; Robbers would run up to people and shove rolls of -3s into their pockets. :D
00:52:39: &amp;lt;Catfish_Man&amp;gt; hahaha
00:53:05: &amp;lt;LostBurner&amp;gt; lol
00:53:45: &amp;lt;LostBurner&amp;gt; people couldn't even handle that kind of math though
00:53:59: &amp;lt;Mac-arena&amp;gt; I know. It'd have to be smart people's money.
00:54:09: &amp;lt;Mac-arena&amp;gt; Only usable by people with a certain level of brightness.
00:54:23: &amp;lt;LostBurner&amp;gt; smart people would throw away their negative money
00:54:52: &amp;lt;Mac-arena&amp;gt; The other way would be to cast it as a status symbol.
00:54:58: &amp;lt;Mac-arena&amp;gt; "Only the cool people use negative money."
00:56:51: &amp;lt;LostBurner&amp;gt; So you'd give someone a real dime, and a negative 3
00:56:59: &amp;lt;LostBurner&amp;gt; Presumably you've given them 7 cents
00:57:08: &amp;lt;Mac-arena&amp;gt; Right.
00:57:13: &amp;lt;LostBurner&amp;gt; but you're out a whole dime
00:57:16: &amp;lt;LostBurner&amp;gt; and they're up a whole dime
00:57:29: &amp;lt;Mac-arena&amp;gt; No. Because you're also out a negative three, and they've gained one.
00:58:15: &amp;lt;LostBurner&amp;gt; So would you say that it was a better transaction if you could give someone more negatives?
00:58:29: &amp;lt;Mac-arena&amp;gt; Yup.
00:58:34: &amp;lt;LostBurner&amp;gt; Dime and 3 neg3 coins, ooh you've only spent a cent
00:58:46: &amp;lt;Mac-arena&amp;gt; Yup.
00:58:55: &amp;lt;LostBurner&amp;gt; but then you could make money by throwing them away!
00:59:04: &amp;lt;Mac-arena&amp;gt; Yup. That's the only problem.
00:59:17: &amp;lt;LostBurner&amp;gt; Negative monies only count if you can force the person to keep them
00:59:24: &amp;lt;LostBurner&amp;gt; hey, negative monies... that reminds me
00:59:38: &amp;lt;LostBurner&amp;gt; did you get this inspiration from aarond?
00:59:38: &amp;lt;Mac-arena&amp;gt; That's actually where I got the idea.
00:59:39: &amp;lt;Mac-arena&amp;gt; 00:39:01:   &amp;lt;aarond&amp;gt; I have minus monies :)
00:59:50: &amp;lt;LostBurner&amp;gt; I beat you to that one by 1s
00:59:52: &amp;lt;LostBurner&amp;gt; I knew it!
01:00:32: &amp;lt;Mac-arena&amp;gt; Anyway. If you pay a retailer with -3s, and they throw them away, YOU haven't re-lost any money.
01:01:00: &amp;lt;Mac-arena&amp;gt; Unless you went around back and picked them up so that you could spend them again.
01:03:43: &amp;lt;LostBurner&amp;gt; besides, it takes more coins with your way to pay for something
01:04:03: &amp;lt;Mac-arena&amp;gt; Depends on the amount.
01:04:25: &amp;lt;LostBurner&amp;gt; Average of the number of coins needed for each of the first ten integers
01:04:36: &amp;lt;LostBurner&amp;gt; your way: 2.8
01:04:50: &amp;lt;LostBurner&amp;gt; current way: 2.6
01:04:16: &amp;lt;Mac-arena&amp;gt; And actually, we're thinking about it wrong.
01:04:35: &amp;lt;Mac-arena&amp;gt; You wouldn't necessarily have to give the seller anything. If it cost 9 cents, say, they could give you three -3s.
01:04:52: &amp;lt;Mac-arena&amp;gt; Though if it cost two cents, you could give them a +2.
01:05:47: &amp;lt;LostBurner&amp;gt; Mac-arena: the idea is an interesting thought experiment, but it's entirely implossible.
01:06:51: &amp;lt;LostBurner&amp;gt; (impossible and implausible)
01:07:03: &amp;lt;LostBurner&amp;gt; hehe, I could see cops citing you for dumping your neg3s
01:08:23: &amp;lt;LostBurner&amp;gt; I just remembered the blank media tax for supposed intended piracy
01:08:24: &amp;lt;LostBurner&amp;gt; grr
01:09:40: &amp;lt;Mac-arena&amp;gt; Ooooh. Suppose you paid your taxes in negative money.
01:09:54: &amp;lt;Mac-arena&amp;gt; Send them a box full of -3s.
01:10:18: &amp;lt;Catfish_Man&amp;gt; they'd just send it back with more :P
01:10:25: &amp;lt;Mac-arena&amp;gt; Hahaha. True.
01:10:29: &amp;lt;Catfish_Man&amp;gt; hell, they'd charge taxes by shipping you -3s
&lt;/pre&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114794037265247399?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114794037265247399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114794037265247399' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114794037265247399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114794037265247399'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/thought-experiment-negative-money.html' title='A thought experiment: Negative money'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114778426413931217</id><published>2006-05-16T05:52:00.000-07:00</published><updated>2006-05-16T06:30:13.376-07:00</updated><title type='text'>New MacBooks, but...</title><content type='html'>&lt;p&gt;The new &lt;a href="http://apple.com/macbook/macbook.html"&gt;MacBook&lt;/a&gt; is out, replacing the iBook. The upside, besides now being an &lt;abbr title="Intel-chip-based Mac"&gt;ICBM&lt;/abbr&gt;, is that it now comes in black. The downside is that the screen is glossy.&lt;/p&gt;

&lt;p class="screenshots"&gt;&lt;img width="654" height="254" alt="MacBook webpage, with &amp;ldquo;13-inch glossy widescreen display&amp;rdquo; highlighted in red." src="http://geocities.com/iamtheboredzo/screenshots/macbook-glossy.png" /&gt;&lt;/p&gt;

&lt;p&gt;You see this a lot on PC laptops made in the last few years. Sure, the colors are beautiful on such a display &amp;mdash; but there's so much &lt;em&gt;glare&lt;/em&gt;! If I wanted a mirror in my computer, I'd just launch iChat and use the iSight as one.&lt;/p&gt;

&lt;p&gt;This in addition to my usual lack of desire for a laptop. I won't be buying one.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Apple" rel="tag"&gt;Apple&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114778426413931217?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114778426413931217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114778426413931217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114778426413931217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114778426413931217'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/new-macbooks-but.html' title='New MacBooks, but...'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114767414994367368</id><published>2006-05-14T23:15:00.000-07:00</published><updated>2006-05-14T23:22:29.960-07:00</updated><title type='text'>GiantColorSwatch</title><content type='html'>&lt;p&gt;Certainly one of my simplest applications ever.&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="356" height="500" alt="A screenshot of the swatch window, set to white, with the Color Panel in front of it." src="http://geocities.com.nyud.net:8080/iamtheboredzo/giantcolorswatch/giantcolorswatch.png" /&gt;&lt;/p&gt;

&lt;p&gt;You can download it from &lt;a href="http://geocities.com/iamtheboredzo/giantcolorswatch/"&gt;the GiantColorSwatch webpage&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114767414994367368?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114767414994367368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114767414994367368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114767414994367368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114767414994367368'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/giantcolorswatch.html' title='GiantColorSwatch'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114760629391659013</id><published>2006-05-14T03:59:00.000-07:00</published><updated>2006-05-14T05:23:53.223-07:00</updated><title type='text'>How to make Photoshop open your EPS file</title><content type='html'>&lt;p&gt;Sometimes, when I want to draw a graphic, I write it instead. I write it in &lt;a href="http://adobe.com/products/postscript/"&gt;PostScript&lt;/a&gt;, as an &lt;a href="http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf"&gt;EPS&lt;/a&gt; file, and then convert to whatever destination format I want.&lt;/p&gt;

&lt;p&gt;The problem with this plan is that I was never able to get Photoshop to import the EPS directly. I always got this error message:&lt;/p&gt;

&lt;p class="screenshot"&gt;&lt;img width="359" height="104" alt="Could not open &amp;ldquo;foo.eps&amp;rdquo; because the parser module cannot parse the file." src="http://geocities.com/iamtheboredzo/screenshots/photoshop-cantimporteps.png" /&gt;&lt;/p&gt;

&lt;p&gt;Finally, today, I went looking for the solution. I used &lt;a href="x-man-page://1/strings"&gt;&lt;tt&gt;strings&lt;/tt&gt;&lt;/a&gt; to see what the EPS Parser plug-in looks for. I found it in under a minute.&lt;/p&gt;

&lt;p&gt;So, at minimum, this is what your EPS file must contain:&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;%!PS-Adobe-3.0 EPSF-3.0 
%%BoundingBox: 0 0 &lt;var&gt;width&lt;/var&gt; &lt;var&gt;height&lt;/var&gt;
%%EndComments&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The &lt;code&gt;%%EndComments&lt;/code&gt; line is the one that I was missing. Make sure yours isn't missing it too.&lt;/p&gt;

&lt;p&gt;In case you want to know more, these special comments (&lt;code&gt;%&lt;/code&gt; is the comment character in PostScript) are defined by the &lt;a href="http://partners.adobe.com/public/developer/en/ps/5001.DSC_Spec.pdf"&gt;Document Structuring Conventions&lt;/a&gt;. EPS is an application of DSC.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Photoshop" rel="tag"&gt;Photoshop&lt;/a&gt;, &lt;a href="http://technorati.com/tags/PostScript" rel="tag"&gt;PostScript&lt;/a&gt;, &lt;a href="http://technorati.com/tags/EPS" rel="tag"&gt;EPS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/EPSF" rel="tag"&gt;EPSF&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114760629391659013?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114760629391659013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114760629391659013' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114760629391659013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114760629391659013'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/how-to-make-photoshop-open-your-eps.html' title='How to make Photoshop open your EPS file'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114742670342309501</id><published>2006-05-12T02:37:00.000-07:00</published><updated>2006-05-24T04:24:53.503-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 40</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4546130"&gt;IB refuses to keep pop-up menus open&lt;/a&gt;. It was filed on 2006-05-12 at 02:33 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;IB closes a pop-up menu being edited in response to any key or mouse event in the menu.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Drag a pop-up button into a window in a nib.&lt;/li&gt;
&lt;li&gt;Double-click on the pop-up button to edit it.&lt;/li&gt;
&lt;li&gt;Change the selection by clicking on any item, or pressing up or down. Or, double-click on an item to rename it, then press return or enter or change the selection.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The current selected item changes, or is renamed, or both.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The current selected item changes, or is renamed, or both, and then IB closes the menu, interrupting any plans to further edit the menu until the menu is reopened by the user.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;This used to work, although I don't know in what version.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;No Console output is emitted by IB.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 2006-05-24:&lt;/span&gt; I got an email from Apple recently telling me that the bug was a duplicate, and just today, Xcode 2.3 came out, including IB 2.5.4 which fixes this bug.&lt;/p&gt;


&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114742670342309501?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114742670342309501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114742670342309501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114742670342309501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114742670342309501'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/report-apple-bug-friday-40.html' title='Report-an-Apple-bug Friday! 40'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114722782192762336</id><published>2006-05-09T18:29:00.001-07:00</published><updated>2006-05-10T01:23:59.976-07:00</updated><title type='text'>Why iTunes videos are not widescreen</title><content type='html'>&lt;p&gt;One of the most frequent complaints about the iTunes Video Store is the resolution. All videos are 320&amp;times;240.&lt;/p&gt;

&lt;p&gt;The reason why lies on Apple's &lt;a href="http://www.apple.com/ipod/specs.html"&gt;iPod specifications&lt;/a&gt; page:&lt;/p&gt;

&lt;blockquote&gt;
&lt;h4&gt;Display&lt;/h4&gt;
&lt;ul&gt;
 &lt;li type="square"&gt;2.5 inch (diagonal) QVGA transflective, over 65,000-color liquid crystal display with white LED backlight&lt;/li&gt;
 &lt;li type="square"&gt;320 x 240 pixel resolution, .156-mm dot pitch&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's say that iTVS sold shows in their native resolution. Joe User buys a show that comes in 720p HD (a 16:9 resolution). He transfers this to his iPod, and watches it on the train. What does he say as soon as the title screen comes on?&lt;/p&gt;

&lt;p&gt;"Wow, this sucks. They cut off the top and bottom of the video. I won't be buying any more TV shows from iTunes again."&lt;/p&gt;

&lt;p&gt;What happened?&lt;/p&gt;

&lt;p&gt;Well, remember that the iPod's screen has a 4:3 aspect ratio. If you show all of a 16:9 video frame on it, you have empty vertical space &amp;mdash; usually manifest as black matte above and below the frame, called "letterboxing" (because it's like looking through a mail slot). Joe User has a screen of a certain height, and the video is not filling that height, so he assumes that the video has been cut.&lt;/p&gt;

&lt;p&gt;The other solution is to cut off part of the frame, so that the height is filled, at the expense of the left and/or right end(s) of the frame (called "pan and scan" because the crop must be moved back and forth to keep the important part in-frame). This, in fact, is what Apple does: the videos you buy from Apple have been pre-cut to fit the iPod's screen. Joe User is happy, even though he is in fact seeing fewer pixels than before.&lt;/p&gt;

&lt;p&gt;Aspect ratio isn't the only issue; there's also the sheer number of pixels to put on the screen. You can't fit all of a 720-line-high frame onto a 240-line-high screen, unless you scale it. That takes CPU power, which in turn uses up battery life and may reduce the framerate. Apple does that heavy lifting in advance, so that your iPod doesn't have to.&lt;/p&gt;

&lt;p&gt;There's a third solution: Make the iPod's LCD widescreen. This means doing one of two things to it:&lt;/p&gt;

&lt;ol type="a"&gt;
&lt;li&gt;Cut off 60 vertical pixels, changing the iPod's resolution to 320&amp;times;180.&lt;/li&gt;
&lt;li&gt;Add 106+&amp;#x2154; horizontal pixels, further reducing the size of each pixel. One advantage would be that it would further help hide compression artifacts.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The problem with both solutions is that they make it harder to browse music. Vertical space counts here (for scrolling menus); horizontal space is not as important. And the iPod is still a music player first.&lt;/p&gt;

&lt;p&gt;I think that Steve Jobs looked at all of this and decided that the iPod Video as implemented is the best way he could come up with. And if so, I agree.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/iTunes" rel="tag"&gt;iTunes&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iPod" rel="tag"&gt;iPod&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTMS" rel="tag"&gt;iTMS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTVS" rel="tag"&gt;iTVS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes+Music+Store" rel="tag"&gt;iTunes Music Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes+Video+Store" rel="tag"&gt;iTunes Video Store&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114722782192762336?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114722782192762336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114722782192762336' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114722782192762336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114722782192762336'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/why-itunes-videos-are-not-widescreen_09.html' title='Why iTunes videos are not widescreen'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114718125949460568</id><published>2006-05-09T06:03:00.000-07:00</published><updated>2006-05-09T06:27:39.740-07:00</updated><title type='text'>How to create a RAM disk</title><content type='html'>&lt;p&gt;I just posted to this &lt;a href="http://paste.lisp.org/display/18505#1"&gt;lisppaste&lt;/a&gt; with a punt solution. Since this solution really has nothing to do directly with the problem stated, I thought I'd share it with you as well, with HTMLization and some editing from the original.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;kbd&gt;&lt;a href="x-man-page://hdid"&gt;hdid&lt;/a&gt; -nomount ram://&lt;var&gt;num_sectors&lt;/var&gt;&lt;/kbd&gt; (sector = 512 bytes = 0.5 K)&lt;/p&gt;
&lt;p&gt;This outputs a device path (&lt;tt&gt;/dev/&lt;var&gt;foo&lt;/var&gt;&lt;/tt&gt;) on stdout.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;kbd&gt;&lt;a href="x-man-page://newfs_hfs"&gt;newfs_hfs&lt;/a&gt; -v &lt;var&gt;volume_name&lt;/var&gt; &lt;var&gt;device_path&lt;/var&gt;&lt;/kbd&gt;&lt;/p&gt;
&lt;p&gt;Formats the RAM disk as HFS+. See the manpage for other options.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;kbd&gt;&lt;a href="x-man-page://diskutil"&gt;diskutil&lt;/a&gt; mount &lt;var&gt;device_path&lt;/var&gt;&lt;/kbd&gt;&lt;/p&gt;
&lt;p&gt;The RAM disk will be mounted at /Volumes/&lt;var&gt;volume_name&lt;/var&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You could also do something involving &lt;a href="x-man-page://8/mount "&gt;mount(8)&lt;/a&gt; instead of diskutil if you wanted to mount it inside &lt;code&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC_classic/Functions/FoundationFunctions.html#//apple_ref/c/func/NSTemporaryDirectory"&gt;NSTemporaryDirectory&lt;/a&gt;()&lt;/code&gt;. Remember to unmount it (&lt;kbd&gt;&lt;a href="x-man-page://hdiutil"&gt;hdiutil&lt;/a&gt; detach &lt;var&gt;device_path&lt;/var&gt;&lt;/kbd&gt;, or the Eject command in the Finder or Dock) when you're done.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Mac+OS+X" rel="tag"&gt;Mac OS X&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114718125949460568?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114718125949460568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114718125949460568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114718125949460568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114718125949460568'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/how-to-create-ram-disk.html' title='How to create a RAM disk'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114717841773241641</id><published>2006-05-09T05:28:00.000-07:00</published><updated>2006-05-09T05:40:17.830-07:00</updated><title type='text'>Small world (and: Iron Coder v1!)</title><content type='html'>&lt;p&gt;So I was uploading a fixed version of one of the screenshots on my &lt;a href="http://domainofthebored.blogspot.com/2006/05/some-notes-about-sand-sand-sand.html"&gt;Sand Sand Sand blog post&lt;/a&gt;, and decided on a whim to look at some of the stats for some of the other pages on my still-temporary (really!) GeoCities site.&lt;/p&gt;

&lt;p&gt;Looking at the stats for &lt;a href="http://geocities.com/iamtheboredzo/plusminus/"&gt;my plus/minus images&lt;/a&gt;, I saw that the #1 referrer (besides "Unknown") is &lt;a href="http://del.icio.us/rentzsch"&gt;Jonathan Rentzsch's del.icio.us&lt;/a&gt;. "Cool," I thought, "Jonathan Rentzsch bookmarked my plus/minus images."&lt;/p&gt;

&lt;p&gt;And as I was scrolling down his del.icio.us page, looking for the link to my plus/minus page, I stumbled upon some news: &lt;a href="http://lucaseckels.blogspot.com/2006/04/iron-coder-v1.html"&gt;Iron Coder v1 is coming!&lt;/a&gt; Huzzah!&lt;/p&gt;

&lt;p&gt;I don't know yet whether I'll participate. I'm still residually tired from the last one. It might depend on the API and the theme, and how much work I have as a mentor in &lt;a href="http://code.google.com/soc"&gt;Summer of Code&lt;/a&gt;.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Iron+Coder"&gt;Iron Coder&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114717841773241641?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114717841773241641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114717841773241641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114717841773241641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114717841773241641'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/small-world-and-iron-coder-v1.html' title='Small world (and: Iron Coder v1!)'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114717016044292090</id><published>2006-05-09T02:43:00.000-07:00</published><updated>2006-06-15T10:25:24.933-07:00</updated><title type='text'>Some English rants</title><content type='html'>&lt;p&gt;I've been compiling a list of maltreatments of the English language. Here are my top 10 so far.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;compatability; definate(ly); desparate(ly); seperate(ly)&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;You mean compatibility, definite(ly), desperate(ly), and separate(ly) (respectively). The first one arises from confusion with "ability", and certainly the conflation of "desperate" with "separate" is easy enough. I don't know what excuse there is for "definate".&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;compl[ie]ment&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;A compliment is praise. A complement is the inverse of something (for example, 0b101010 is the &lt;strike&gt;two's&lt;/strike&gt; one's (thanks, CHz!) complement of 0b010101, and a film negative is the complement of the positive print).&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;[ae]ffect&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;When you affect something, you effect a change in it.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Held accountable&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;Can't happen. A person is accountable if they can be held to account.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;classified&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;Classified &lt;em&gt;what&lt;/em&gt;? &lt;a href="http://www.ams.usda.gov/howtobuy/meat.htm"&gt;USDA Choice&lt;/a&gt;? The correct usage is "classified &lt;em&gt;secret&lt;/em&gt;".&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;X Department (of the United States Cabinet, e.g. State Department)&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;You wouldn't say "United States State Department", would you? No, you wouldn't, because that sounds redundant. It's "Department of State". Also "Department of Defense", "Department of Energy", "Department of Justice", etc. Some of the Departments have a "the", like the Department of the Interior. But deviation from the rule doesn't go beyond that.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Dilemma (as problem)&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;A lemma is a course of action or line of reasoning (dictionaries define it as &lt;a href="http://dictionary.reference.com/search?q=lemma"&gt;a subsidiary proposition &amp;hellip; used to demonstrate a principal proposition&lt;/a&gt;; in this case, the principal proposition is often a course of action). A dilemma is two of these, from which a person must choose. Not every difficult problem is a dilemma.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;"Welcome to &amp;hellip;" (telephone system, website, etc.)&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;"Welcome to" should only be used for a place. "Welcome to &lt;a href="http://factfinder.census.gov/servlet/SAFFPopulation?_event=Search&amp;_name=huntington+beach&amp;_state=04000US06&amp;_county=huntington+beach&amp;_cityTown=huntington+beach&amp;_zip=&amp;_sse=on&amp;_lang=en&amp;pctxt=fph"&gt;Huntington Beach, population 189,594&lt;/a&gt;". It should never be used for anything else, including web sites and phone systems. When I hear "Welcome to (mumble). Please choose from the following selections:", I want to reach through the phone and unplug that answering system.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Lower 48 states, Continental United States&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;First, Hawaii is lower than the lower 48. Technically, the lowest 48 states include Hawaii and exclude Maine. Also, "lower" would be only correct when there are two (e.g. "lower case" vs. "upper case"). We have never had fewer than 13.&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;As for "continental United States", you have to include Alaska on this one. It's on the same continent. &lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;Just use "contiguous United States".&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;x, y and z&lt;/p&gt;
&lt;p style="text-indent: 0.5cm"&gt;No, no, and no. Use the "serial comma", the comma after the second-to-last element in the list. It just looks better that way. (This does not apply when the list has two or fewer elements.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/English" rel="tag"&gt;English&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114717016044292090?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114717016044292090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114717016044292090' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114717016044292090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114717016044292090'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/some-english-rants.html' title='Some English rants'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114714748709639114</id><published>2006-05-08T20:18:00.000-07:00</published><updated>2006-05-10T02:58:28.446-07:00</updated><title type='text'>Some notes about Sand Sand Sand</title><content type='html'>&lt;p&gt;I've been playing &lt;a href="http://ishi.blog2.fc2.com/blog-entry-180.html"&gt;Sand Sand Sand&lt;/a&gt; lately. It's the successor to &lt;a href="http://ishi.blog2.fc2.com/blog-entry-158.html"&gt;World of Sand&lt;/a&gt;, and it has some important additions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Water now exhibits waves. This means very little, except that it is now impossible to get a perfectly level field of Water.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Salt now mixes with Water. Saltwater sinks in plain Water, but other than that, possesses no buoyancy; other substances (besides Water) are suspended in it, rather than floating or sinking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Buoyancy has been added. Oil floats on top of Water; Water floats on top of Sand. But as I mentioned above, this only applies to plain Water, not Saltwater.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wall has been changed to Ground.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A new tool has been added: Seed. This tool isn't draggable; you only get one Seed per click. The Seed will disappear if it hits any substance that is not Ground. If it does hit Ground, it is planted, and grows a fractal tree.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The tree starts off with a trunk made of Wood, which is a slow-burning version of Oil (in that it is flammable and erodes surrounding Ground or whatever when it burns).&lt;/li&gt;
&lt;li&gt;After a fractal generation or two, it begins growing Leaves instead of Wood.&lt;/li&gt;
&lt;li&gt;The Leaves periodically generate Pollen (or maybe it's Sap). Pollen suspends (doesn't float or sink) in any substance, including Water.&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fire now generates Smoke, which of course rises. It disappears after a short time, but it can bottle up a small opening. Watch for this if you funnel lots of Oil through a tiny (1&amp;ndash;2 px) hole onto a burning stick of Wax.&lt;/p&gt;
&lt;p class="screenshot"&gt;&lt;img width="147" height="255" alt="Screenshot: A cone filled with Water, pouring onto a roughly diamond-shaped division inside of a small inverted cone. At the mouth of the lower cone is three sticks of Wax, each burning, generating enough smoke to seal off (briefly) the opening between the two cones." src="http://geocities.com/iamtheboredzo/sandsandsand/smokeblocksoffhole.png" /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pouring Water now contains bubbles of air/nothing, which of course float to the top. And Saltwater, poured into Water, gets bubbles of Water.&lt;/p&gt;
&lt;p class="screenshot"&gt;&lt;img width="124" height="217" alt="Screenshot: A cone filled with Water, pouring into empty space. Bubbles are floating up through the Water." src="http://geocities.com/iamtheboredzo/sandsandsand/airbubbles.png" /&gt;&lt;br /&gt;&lt;img width="119" height="193" alt="Screenshot: A cone filled with Water and Saltwater, pouring directly into a second cone filled with plain Water. Water bubbles have appeared in the Saltwater, and air/vacuum bubbles in the top Water." src="http://geocities.com/iamtheboredzo/sandsandsand/airandwaterbubbles.png" /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And a couple of problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This one existed in WoS, too: Liquids behave more like powders.&lt;/p&gt;
&lt;ol type="a"&gt;
&lt;li&gt;&lt;p&gt;They don't equalize. Create a U-shaped container from Ground, with an upright division in the middle (with a gap between that and the floor of the U). Fill one side, above the gap, with Water or Oil or Saltwater. The other side will fill up to the gap, but not above it.&lt;/p&gt;
&lt;p class="screenshot"&gt;&lt;img width="123" height="109" alt="Screenshot: A box as described. The left side is full to the top; the right side is filled right up to the bottom of the division." src="http://geocities.com/iamtheboredzo/sandsandsand/doesntequalize.png" /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you rush a large amount of a liquid down an incline, it takes too long for the level at the bottom to equal the level at the top. A liquid would reach the same level at both ends much more quickly than a powder; the behavior in the game is that of a powder, even when the substance being poured is a liquid (Water, Oil, or Saltwater).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I think that this can be attributed to the game's apparent use of pixels as the backing for all game substances; they act as particles of a powder. Of course, I'm just guessing, having not seen the inner workings of the game for myself. But that is my guess and I'm sticking to it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you fill a container with Water, then put a lid on it with Pollen or Ground, then inject Oil into the Water, it will float up, but it will not even out. It will just form a lump at the top of the field of Water.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bubbles don't happen in any other liquids or powders, only plain Water. Also, bubbles would only happen when the top is not open (as in a bottle held upside down); a bowl, cone, or box should not have any bubbles. (Maybe I'm asking too much, but you know me: I'm a pedant.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 2006-05-09 04:02 PDT:&lt;/span&gt; I knew I forgot one. Turns out I forgot two. Added the list items for smoke and bubbles (amusingly enough, both names of &lt;a href="http://growl.info/"&gt;Growl&lt;/a&gt; displays).&lt;/p&gt;
&lt;p&gt;&lt;span class="update"&gt;UPDATE 2006-05-09 05:04 PDT:&lt;/span&gt; Error correction to the bubbles list item: Air in water isn't the only kind of bubble in the game. Also added screenshots.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114714748709639114?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114714748709639114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114714748709639114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114714748709639114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114714748709639114'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/some-notes-about-sand-sand-sand.html' title='Some notes about Sand Sand Sand'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114709428675565758</id><published>2006-05-08T04:51:00.003-07:00</published><updated>2006-05-08T14:51:16.110-07:00</updated><title type='text'>Shading in PostScript</title><content type='html'>&lt;p&gt;I've recently been beating my head against PostScript's gradient ("shading") system. Plenty of documentation and examples are available for when you're working in the &lt;code class="constant"&gt;DeviceGray&lt;/code&gt; color space, but when you're in &lt;code class="constant"&gt;DeviceRGB&lt;/code&gt;, it gets hard. Part of this is due to the fact that the PostScript Language Reference Manual's description of shadings and the functions that power them is overly abstract and decorated with too much math for my language-oriented mind.&lt;/p&gt;

&lt;p&gt;So, here I'll try and explain it more clearly, particularly by explaining functions in the context of shadings, rather than separately.&lt;/p&gt;

&lt;p&gt;A shading in PostScript is represented by a dictionary. Valid keys in the shading dictionary are:&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;ShadingType&lt;/dt&gt;
&lt;dd&gt;The type of gradient: axial, radial, etc.&lt;/dd&gt;
&lt;dt&gt;ColorSpace&lt;/dt&gt;
&lt;dd&gt;The color space of colors returned by the function.&lt;/dd&gt;
&lt;dt&gt;Coords&lt;/dt&gt;
&lt;dd&gt;The start and end of the gradient on the page. Defined more specifically by the PLRM.&lt;/dd&gt;
&lt;dt&gt;Function&lt;/dt&gt;
&lt;dd&gt;A function dictionary, or an array of them.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;Functions aren't as you expect them to be. Rather than a callable object (a procedure), a function is a dictionary. (This, BTW, is the architectural reason for Quartz's &lt;a href="http://developer.apple.com/documentation/GraphicsImaging/Reference/CGShading/index.html"&gt;&lt;code class="class"&gt;CGFunction&lt;/code&gt;&lt;/a&gt; class, although &lt;code class="class"&gt;CGFunction&lt;/code&gt; actually uses a C function callback &amp;mdash; what would be a procedure in PostScript.) There are three types of function dictionaries; I'll only deal with type 0, a sampled function (a "sample" is a step in the gradient). A sampled function contains, or fetches from a file, the samples it will return, in a "data source".&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;FunctionType&lt;/dt&gt;
&lt;dd&gt;Guess.&lt;/dd&gt;
&lt;dt&gt;Domain&lt;/dt&gt;
&lt;dd&gt;Two numbers for every input, constraining that input to a range. If an input is below the first number, it will be replaced with the first number; if it is above the second number, it will be replaced by the second number. Generally, these two numbers are 0 and 1. In an axial shading function, there is only one input, so your domain should be two numbers (e.g. &lt;code&gt;[0 1]&lt;/code&gt;).&lt;/dd&gt;
&lt;dt&gt;Range&lt;/dt&gt;
&lt;dd&gt;The other end from Domain. Works the same way, but it constrains your outputs rather than your inputs. For a shading function, there is one pair of numbers for each component. So, in &lt;code class="constant"&gt;DeviceGray&lt;/code&gt;, Range should be two numbers; in &lt;code class="constant"&gt;DeviceRGB&lt;/code&gt;, it should be six.&lt;/dd&gt;
&lt;dt&gt;BitsPerSample&lt;/dt&gt;
&lt;dd&gt;Named slightly misleadingly (the PLRM clarifies), this is actually the number of bits per &lt;em&gt;component&lt;/em&gt;. So if you're doing 24-bit RGB, this should be 8.&lt;/dd&gt;
&lt;dt&gt;Size&lt;/dt&gt;
&lt;dd&gt;An array containing the number of samples as an int.&lt;/dt&gt;
&lt;dt&gt;DataSource&lt;/dt&gt;
&lt;dd&gt;Either a file or a string from which to get the sample data.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;You might expect that the samples should be given as an array. You would be wrong. Instead, PostScript wants pure binary data, either from a file or encoded as a string. So, for example, in RGB, every three characters (bytes) are one sample. I use a hexadecimal literal, or when I want to use an array, this procedure (which you may consider to be under the modified BSD license):&lt;/p&gt;

&lt;blockquote&gt;&lt;p class="code"&gt;% array -&gt; hexstr -&gt; string
% Converts an array of integers to a string. [ 65 66 67 13 10 ] -&gt; (ABC\r\n).
/hexstr {
 4 dict begin
  /elements exch def
  /len elements length def
  /str len string def

  /i 0 def
  {
   i len ge { exit } if

   str i
    %The element of the array, as a hexadecimal string. If it exceeds 16#FF, this will fail with a rangecheck.
    elements i get cvi
   put

   /i i 1 add def
  } loop

  str
 end
} def
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And yes, I know that that procedure has nothing to do with hexadecimal. I was probably tired when I wrote it.&lt;/p&gt;

&lt;p&gt;Note: If you use &lt;code class="function"&gt;hexstr&lt;/code&gt; to create a shading dynamically from an array of samples, be aware that when you divide the length of the array by 1 (gray) or 3 (RGB) or 4 (CMYK) to get the proper value for Size, you must use &lt;code class="function"&gt;cvi&lt;/code&gt; on the quotient, because &lt;code class="operator"&gt;div&lt;/code&gt; returns a &lt;code class="type"&gt;real&lt;/code&gt; and &lt;code class="function"&gt;makepattern&lt;/code&gt; demands an &lt;code class="type"&gt;int&lt;/code&gt;.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/PostScript" rel="tag"&gt;PostScript&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114709428675565758?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114709428675565758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114709428675565758' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114709428675565758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114709428675565758'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/shading-in-postscript_114709428675565758.html' title='Shading in PostScript'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114700547677697144</id><published>2006-05-07T05:16:00.000-07:00</published><updated>2006-05-07T05:38:28.636-07:00</updated><title type='text'>Beware the nib</title><content type='html'>&lt;p&gt;Say you have an object, X, and a nib containing two other objects, Y and Z. X has two outlets, &lt;code&gt;y&lt;/code&gt; and &lt;code&gt;z&lt;/code&gt;, with typical accessors for each.&lt;/p&gt;

&lt;p&gt;X, or another object on behalf of X, loads the nib with X as its owner. &lt;code&gt;&lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSNib_index.html"&gt;NSNib&lt;/a&gt;&lt;/code&gt;, naturally, sets the &lt;code&gt;y&lt;/code&gt; and &lt;code&gt;z&lt;/code&gt; properties of X to the two objects in the nib, using the accessors since they exist.&lt;/p&gt;

&lt;p&gt;Now, when an object is instantiated, it has a retain count of 1; it is implicitly owned by the object that created it. If you release that object, the retain count goes down to 0 and the object dies.&lt;/p&gt;

&lt;p&gt;Such is the case of the objects Y and Z when they are unarchived from the nib: After they come out of deep freeze, they have that starting retain count of 1. But then they are passed to the accessors of X, which, if written in the usual way, retain Y and Z. Now the retain counts are 2 each.&lt;/p&gt;

&lt;p&gt;When X is finished with Y and Z, it releases them, of course (perhaps by calling its accessors with &lt;code&gt;nil&lt;/code&gt;). But the implicit retains still exist. Therefore, so do Y and Z.&lt;/p&gt;

&lt;p&gt;This isn't a nib bug, though; the bug is in X. Outlets aren't supposed to be retained. So, if you do implement accessors, they should be non-retaining. Or, if you can, omit the accessors; &lt;code&gt;NSNib&lt;/code&gt; will do the Right Thing for you.&lt;/p&gt;

&lt;p&gt;Example of the bug: &lt;a href="http://geocities.com/iamtheboredzo/nibleak.zip"&gt;NibLeak&lt;/a&gt; (source code with Xcode 2.2.1 project).&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Cocoa" rel="tag"&gt;Cocoa&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114700547677697144?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114700547677697144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114700547677697144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114700547677697144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114700547677697144'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/beware-nib.html' title='Beware the nib'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114681433471230546</id><published>2006-05-05T00:30:00.000-07:00</published><updated>2006-05-05T00:32:14.730-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 39</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4538209"&gt;Reason parameter to SystemSound API functions&lt;/a&gt;. It was filed on 2006-05-05 at 00:23 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;SystemSound API should have functions that take a reason (expressed as a &lt;code&gt;CFString&lt;/code&gt;) for the beep.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open &amp;lt;OSServices/SystemSound.h&amp;gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;One or more functions exist that take a &lt;code&gt;CFString&lt;/code&gt; parameter called &lt;code&gt;inReason&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;No such functions exist.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;One of the most annoying things that can happen in the Mac environment is when a beep occurs, with no explanation. Sometimes this is the result of a processing delay, with the application beeping multiple seconds after the event that triggered the beep (by which time the user has moved on to some parallel task). Other times, the app is just broken, only beeping when it should also display a dialog or when it should use a &lt;a href="http://growl.info/"&gt;Growl&lt;/a&gt; notification instead (some apps beep at the completion of a task, optionally or otherwise).&lt;/p&gt;

&lt;p&gt;This can be solved by adding new functions to SystemSound (and, for convenience, AppKit &amp;mdash; &lt;code&gt;NSBeepWithReason&lt;/code&gt;, say) that take a reason for the beep. This reason would be logged to the Console (example format: "Beeped (Reason: &lt;var&gt;^0&lt;/var&gt;)"), and if the user so desires, displayed to the user in a bezel (or, better yet, a Growl notification). Existing functions, or the new functions with reason=&lt;code&gt;NULL&lt;/code&gt;, would use a localized "No reason was supplied" message.&lt;/p&gt;

&lt;p&gt;Example Console.log line:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;2006-05-04 22:52:15.974 Safari[252] Beeped (Reason: Quit playing online games and get back to work!).&lt;br /&gt;
2006-05-04 22:52:16.974 AppThatDoesNotSupplyAReason[253] Beeped (no reason supplied).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Even if no reason is supplied, the log message is still useful, because it at least says which app beeped.&lt;/p&gt;

&lt;p&gt;A Growl notification could have "&lt;var&gt;APPNAME&lt;/var&gt; beeped" as the title and the reason as the description. Separate notifications should exist for reason and no reason, with the with-reason notification turned on by default, and the no-reason notification turned off by default.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114681433471230546?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114681433471230546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114681433471230546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114681433471230546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114681433471230546'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/report-apple-bug-friday-39.html' title='Report-an-Apple-bug Friday! 39'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114656207431202597</id><published>2006-05-02T02:20:00.000-07:00</published><updated>2006-05-02T02:27:55.923-07:00</updated><title type='text'>More Beads</title><content type='html'>&lt;p&gt;My entry in &lt;a href="http://ironcoder.org/"&gt;Iron Coder&lt;/a&gt;, Beads, had a bug in it. I fixed this bug and called it 1.1. You can get it at the shiny new &lt;a href="http://geocities.com/iamtheboredzo/beads"&gt;Beads webpage&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I also finished an article that I'd been working on, called &lt;a href="http://geocities.com/iamtheboredzo/beads/howto"&gt;How to draw Beads&lt;/a&gt;. It documents the creation of the pretty bead graphics, step-by-step.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Iron+Coder" rel="tag"&gt;Iron Coder&lt;/a&gt;, &lt;a href="http://technorati.com/tags/howto" rel="tag"&gt;Howto&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114656207431202597?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114656207431202597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114656207431202597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114656207431202597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114656207431202597'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/more-beads.html' title='More Beads'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114652161616491705</id><published>2006-05-01T15:02:00.000-07:00</published><updated>2006-06-30T00:50:32.016-07:00</updated><title type='text'>W00t</title><content type='html'>&lt;p&gt;I got my California ID card today. :D&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114652161616491705?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114652161616491705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114652161616491705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114652161616491705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114652161616491705'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/05/w00t.html' title='W00t'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114621403707444702</id><published>2006-04-28T01:33:00.000-07:00</published><updated>2006-04-28T06:17:52.203-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 38</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4530476"&gt;Can't drag text into a text input in a form&lt;/a&gt;. It was filed on 2006-04-28 at 01:07 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;Inputs of type "text" do not register themselves as drop targets.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Select some text. I used some text in Adium's inputline, and in a textarea in Safari, and on the page in Safari.&lt;/li&gt;
&lt;li&gt;Drag it into an input of type "text" in a form on a page in Safari.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The input accepts the drop.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The input fails the drop.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Dragging to a textarea works.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;At 05:14, I uploaded a &lt;a href="http://geocities.com/iamtheboredzo/safariformtest.html"&gt;test case&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114621403707444702?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114621403707444702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114621403707444702' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114621403707444702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114621403707444702'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-38.html' title='Report-an-Apple-bug Friday! 38'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114621401925279067</id><published>2006-04-28T01:32:00.000-07:00</published><updated>2006-04-28T01:46:59.256-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 37</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4530466"&gt;Volume MenuExtra is not accessible&lt;/a&gt;. It was filed on 2006-04-28 at 00:54 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The slider in the Volume MenuExtra is not usable by Accessibility applications.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Launch the Accessibility Inspector.&lt;/li&gt;
&lt;li&gt;Click on the Volume MenuExtra.&lt;/li&gt;
&lt;li&gt;Point to the slider.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;Accessibility Inspector describes a slider.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;samp&gt;&amp;lt;AXApplication: &amp;ldquo;SystemUIServer&amp;rdquo;&amp;gt;&lt;br /&gt;
&amp;lt;AXUnknown&amp;gt;&lt;/samp&gt;&lt;/p&gt;

&lt;p&gt;&lt;samp&gt;Attributes:&lt;br /&gt;
AXRole:  &amp;ldquo;AXUnknown&amp;rdquo;&lt;br /&gt;
AXRoleDescription:  &amp;ldquo;unknown&amp;rdquo;&lt;br /&gt;
AXChildren:  &amp;ldquo;&amp;lt;array of size 0&amp;gt;&amp;rdquo;&lt;br /&gt;
AXParent:  &amp;ldquo;&amp;lt;AXApplication: &amp;ldquo;SystemUIServer&amp;rdquo;&amp;gt;&amp;rdquo;&lt;br /&gt;
AXPosition:  &amp;ldquo;x=987 y=22&amp;rdquo;&lt;br /&gt;
AXSize:  &amp;ldquo;w=29 h=116&amp;rdquo;&lt;br /&gt;
AXEnabled:  &amp;ldquo;true&amp;rdquo;&lt;/samp&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known. The Volume MenuExtra from Panther (10.3.9) has the same problem.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114621401925279067?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114621401925279067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114621401925279067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114621401925279067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114621401925279067'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-37.html' title='Report-an-Apple-bug Friday! 37'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114621347213264177</id><published>2006-04-28T01:31:00.000-07:00</published><updated>2006-04-28T01:42:09.816-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 36</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4530463"&gt;-mtune (Instruction Scheduling) does not include Intel processors&lt;/a&gt;. It was filed on 2006-04-28 at 00:35 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;With the move to Intel processors, Xcode needs to support processor-specific optimization for them.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Get info on a target or project.&lt;/li&gt;
&lt;li&gt;Switch to the Build tab.&lt;/li&gt;
&lt;li&gt;Change the active Collection to one that includes GCC/Code Generation.&lt;/li&gt;
&lt;li&gt;Edit the "Instruction Scheduling" setting.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;At least pentium-m is listed, being (presumably) the most similar to Yonah (the "Core Solo"/"Core Duo" processors). Ideally, scheduling optimizations for Yonah itself should be added to GCC, with a matching listing in Xcode's pop-up menu.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;Only G3, G4, and G5 are listed (besides "None").&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;This wasn't a problem before the move to Intel.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Direct Yonah support isn't supported by GCC (yet) according to the GCC manual's page &lt;a href="http://developer.apple.com/documentation/DeveloperTools/gcc-4.0.1/gcc/i386-and-x86_002d64-Options.html"&gt;"i386 and x86-64 Options"&lt;/a&gt;. &lt;a href="http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/i386-and-x86_002d64-Options.html"&gt;GNU's current documentation&lt;/a&gt; doesn't list it either.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114621347213264177?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114621347213264177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114621347213264177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114621347213264177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114621347213264177'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-36.html' title='Report-an-Apple-bug Friday! 36'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114612845539493365</id><published>2006-04-27T01:55:00.000-07:00</published><updated>2006-04-27T02:00:55.410-07:00</updated><title type='text'>Unscheduled downtime</title><content type='html'>&lt;p&gt;Last night, my hard drive started making some unpleasant noises (click-of-death-ish). So I backed up my C and Obj-C programs (annoying my dad, who wanted to watch &lt;a href="http://www.cbs.com/primetime/ncis/"&gt;NCIS&lt;/a&gt; during that time). They resumed with renewed vigor tonight, so I'm now backing up everything, and today I'll be going to CompUSA to buy a &lt;a href="http://www.compusa.com/products/product_info.asp?product_code=316138"&gt;new hard drive&lt;/a&gt;. It's more than twice as big as my current drive (250 GB rather than 120 GB), and it'll be $60 after rebate.&lt;/p&gt;

&lt;p&gt;Preceding that will be lunch at Sizzler, and following it will be photocopying the rebate form and the receipt so we can mail the required documents to Maxtor. I don't know when I'll be back &amp;mdash; probably a day or two.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114612845539493365?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114612845539493365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114612845539493365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114612845539493365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114612845539493365'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/unscheduled-downtime.html' title='Unscheduled downtime'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114600061428822938</id><published>2006-04-25T14:26:00.000-07:00</published><updated>2006-04-25T15:21:40.320-07:00</updated><title type='text'>Free SEE (maybee)</title><content type='html'>&lt;p&gt;&lt;a href="http://maczot.com/"&gt;MacZOT&lt;/a&gt; is doing a thing called BlogZOT. Every time somebody posts and submits a blog post about it, the price of &lt;a href="http://codingmonkeys.de/subethaedit/"&gt;SubEthaEdit&lt;/a&gt; goes down by 5 cents (USD, I guess). As of this writing, it's at $11.75 with 365 posts. And the lower bound? $0. That's right; if enough people blog about it, SEE will be free for the rest of the day. This post is my contribution.&lt;/p&gt;

&lt;p&gt;Hope you enjoy your free SEE!&lt;/p&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 15:18 PDT:&lt;/span&gt; I looked at the MacZOT homepage and they mention two other requirements for a blog post:&lt;/p&gt;

&lt;blockquote&gt;&lt;ul&gt;
&lt;li&gt;MacZOT and TheCodingMonkeys will award $105,000 in Mac software&lt;/li&gt;
&lt;li&gt;any comments you have about the software, the web site, or the promotion&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;

&lt;p&gt;So, uh, yeah. MacZOT and TheCodingMonkeys will award 105 kilobucks of Mac software. And SEE rocks.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/MacZOT"&gt;MacZOT&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BlogZOT"&gt;BlogZOT&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SubEthaEdit"&gt;SubEthaEdit&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114600061428822938?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114600061428822938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114600061428822938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114600061428822938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114600061428822938'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/free-see-maybee.html' title='Free SEE (maybee)'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114594669779752286</id><published>2006-04-24T23:30:00.000-07:00</published><updated>2006-04-24T23:31:37.823-07:00</updated><title type='text'>Boring personal stuff #2</title><content type='html'>&lt;p&gt;Filed for my state ID today. Supposed to arrive in "about three weeks". Next on the list will be passport.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114594669779752286?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114594669779752286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114594669779752286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114594669779752286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114594669779752286'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/boring-personal-stuff-2.html' title='Boring personal stuff #2'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114587731729752810</id><published>2006-04-24T03:52:00.000-07:00</published><updated>2006-04-24T23:31:51.736-07:00</updated><title type='text'>Making vim grok Obj-C</title><content type='html'>&lt;p&gt;Like many, I use the popular open-source text editor &lt;a href="http://vim.org/"&gt;vim&lt;/a&gt;. Earlier, I set about making it more usable through syntax coloring. This included tweaking its support for Objective-C.&lt;/p&gt;

&lt;p&gt;First, &lt;kbd&gt;mkdir ~/.vim&lt;/kbd&gt;, and &lt;kbd&gt;cd ~/.vim&lt;/kbd&gt;. Now &lt;kbd&gt;mkdir syntax&lt;/kbd&gt;. &lt;kbd&gt;cp /usr/share/vim/vim62/filetype.vim .&lt;/kbd&gt; and &lt;kbd&gt;cp /usr/share/vim/vim62/syntax/objc.vim syntax/&lt;/kbd&gt;. Then select and copy this patch:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;pre&gt;Index: filetype.vim
===================================================================
--- filetype.vim 2005-03-21 02:12:47.000000000 -0800
+++ filetype.vim 2006-04-24 03:33:27.000000000 -0700
@@ -262,7 +262,7 @@
 
 " .h files can be C or C++, set c_syntax_for_h if you want C
 au BufNewFile,BufRead *.h
- \ if exists("c_syntax_for_h") | setf c | else | setf cpp | endif
+ \ if exists("c_syntax_for_h") | setf c | else | if exists("objc_syntax_for_h") | setf objc | else | setf cpp | endif | endif
 
 " TLH files are C++ headers generated by Visual C++'s #import from typelibs
 au BufNewFile,BufRead *.tlh   setf cpp
Index: syntax/objc.vim
===================================================================
--- syntax/objc.vim 2005-03-21 02:12:49.000000000 -0800
+++ syntax/objc.vim 2006-04-24 03:19:25.000000000 -0700
@@ -43,6 +43,8 @@
 syn match  objcDirective "@class\|@end\|@defs"
 syn match  objcDirective "@encode\|@protocol\|@selector"
 
+syn keyword     objcStorageClass   in out inout byref bycopy
+
 " Match the ObjC method types
 "
 " NOTE: here I match only the indicators, this looks
@@ -73,6 +75,7 @@
   HiLink objcFactMethod Function
   HiLink objcStatement Statement
   HiLink objcDirective Statement
+  HiLink objcStorageClass StorageClass
 
   delcommand HiLink
 endif
&lt;/pre&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Now type &lt;kbd&gt;pbpaste | patch -p0&lt;/kbd&gt;.&lt;/p&gt;

&lt;p&gt;OK, now you have modified copies of the file type detector and the Obj-C syntax coloring. Now you need a .vimrc. If you already have one, add this to it; otherwise, create it with this:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;pre&gt;let c_gnu=1
let c_no_bracket_error=1
let objc_syntax_for_h=1
syntax enable
&lt;/pre&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This makes the following changes:&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;c_gnu&lt;/dt&gt;
&lt;dd&gt;Enables detection of some GCC extensions to C.&lt;/dd&gt;
&lt;dt&gt;c_no_bracket_error&lt;/dt&gt;
&lt;dd&gt;Allows &lt;code&gt;{}&lt;/code&gt; inside of &lt;code&gt;[]&lt;/code&gt;. This lets you do compound literals inside messages; for example: &lt;code&gt;[self setFrame:(NSRect){ NSZeroPoint, (NSSize){ 128.0f, 128.0f } }];&lt;/code&gt;&lt;/dd&gt;
&lt;dt&gt;objc_syntax_for_h&lt;/dt&gt;
&lt;dd&gt;Tells vim (with my modifications, that you did above) that a .h file is an Obj-C header, not a C++ header.&lt;/dd&gt;
&lt;dt&gt;syntax enable&lt;/dt&gt;
&lt;dd&gt;Enables syntax-highlighting.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/vim" rel="tag"&gt;vim&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Objective-C" rel="tag"&gt;Objective-C&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114587731729752810?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114587731729752810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114587731729752810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114587731729752810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114587731729752810'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/making-vim-grok-obj-c.html' title='Making vim grok Obj-C'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114568792136014292</id><published>2006-04-21T23:22:00.000-07:00</published><updated>2006-04-26T19:01:23.646-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 35</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4523657"&gt;Xcode: Use standard Xcode text view as field editor&lt;/a&gt;. It was filed on 2006-04-21 at 22:03 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;Xcode's field editor should be an Xcode text view rather than a plain &lt;a href="file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSTextView_index.html"&gt;&lt;code&gt;NSTextView&lt;/code&gt;&lt;/a&gt;, so that completion and ctrl-left/-right are supported.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&amp;#x2325;-click on a file reference in the project to rename it.&lt;/li&gt;
&lt;li&gt;Press ctrl-left or ctrl-right to move within the class name.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The insertion point moves to within the class name.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;Xcode/&lt;code&gt;NSTextView&lt;/code&gt; beeps.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114568792136014292?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114568792136014292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114568792136014292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568792136014292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568792136014292'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-35.html' title='Report-an-Apple-bug Friday! 35'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114568762831039193</id><published>2006-04-21T23:21:00.000-07:00</published><updated>2006-04-21T23:33:48.313-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 34</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4523650"&gt;Xcode: Cocoa Document-Based Application template uses old-style document methods&lt;/a&gt;. It was filed on 2006-04-21 at 21:19 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;&lt;a href="file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSDocument_index.html"&gt;&lt;code&gt;NSDocument&lt;/code&gt;&lt;/a&gt; documentation recommends using &lt;a href="file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSDocument.html#//apple_ref/occ/instm/NSDocument/readFromData:ofType:error:"&gt;&lt;code&gt;-readFromData:ofType:error:&lt;/code&gt;&lt;/a&gt; and &lt;a href="file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSDocument.html#//apple_ref/occ/instm/NSDocument/dataOfType:error:"&gt;&lt;code&gt;-dataOfType:error:&lt;/code&gt;&lt;/a&gt;, but the project template uses the older methods.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create a new project.&lt;/li&gt;
&lt;li&gt;Use the Cocoa Document-Based Application template.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;MyDocument&lt;/code&gt;, from the new document, implements &lt;code&gt;-readFromData:ofType:error:&lt;/code&gt; and &lt;code&gt;-dataOfType:error:&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;MyDocument&lt;/code&gt; implements the deprecated methods &lt;a href="file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSDocument.html#//apple_ref/occ/instm/NSDocument/loadDataRepresentation:ofType:"&gt;&lt;code&gt;-loadDataRepresentation:ofType:&lt;/code&gt;&lt;/a&gt; and &lt;a href="file:///Developer/ADC%20Reference%20Library/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSDocument.html#//apple_ref/occ/instm/NSDocument/dataRepresentationOfType:"&gt;&lt;code&gt;-dataRepresentationOfType:&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;Prior to Mac OS X 10.4, this wasn't a problem, because &lt;code&gt;-loadDataRepresentation:ofType:&lt;/code&gt; and &lt;code&gt;-dataRepresentationOfType:&lt;/code&gt; were not deprecated.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;One could make the argument that the deprecated methods should still be implemented so that the new application is compatible with 10.3.&lt;var&gt;x&lt;/var&gt; and earlier. But a new application is not likely to require such compatibility. Also, if this argument is indeed the motivation, then the project should target the 10.3 (or an earlier) SDK.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114568762831039193?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114568762831039193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114568762831039193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568762831039193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568762831039193'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-34.html' title='Report-an-Apple-bug Friday! 34'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114568710030512429</id><published>2006-04-21T23:20:00.000-07:00</published><updated>2006-04-21T23:26:07.710-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 33</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4523649"&gt;Interface Builder should use +/- buttons for Outlets and Actions lists&lt;/a&gt;. It was filed on 2006-04-21 at 21:06 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;IB uses "Add" and "Remove" buttons on the Outlets and Actions lists; it should use +/- instead, like the Accounts prefpane.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Inspect a class in the nib.&lt;/li&gt;
&lt;li&gt;Switch to the Attributes Inspector.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;IB shows small square buttons labeled + and - like the Accounts prefpane has.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;IB shows plain "Add" and "Remove" push buttons.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114568710030512429?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114568710030512429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114568710030512429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568710030512429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568710030512429'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-33.html' title='Report-an-Apple-bug Friday! 33'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114568693896134511</id><published>2006-04-21T23:19:00.000-07:00</published><updated>2006-04-27T11:23:31.526-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 32</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4523646"&gt;Can't reorder login items in Accounts preference pane.&lt;/a&gt;. It was filed on 2006-04-21 at 20:53 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The Accounts preference pane does not allow you to drag and drop login items into different orders.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Drag a login item to a different position.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The login item is moved.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The prefpane does a multiple selection.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Probably results from &lt;a href="rdar://4523642 "&gt;rdar://4523642&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Workaround:&lt;/h3&gt;
&lt;p&gt;Edit loginwindow.plist directly.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114568693896134511?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114568693896134511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114568693896134511' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568693896134511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568693896134511'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-32.html' title='Report-an-Apple-bug Friday! 32'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114568684458400684</id><published>2006-04-21T23:18:00.000-07:00</published><updated>2006-04-26T18:29:19.146-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 31</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4523642"&gt;System Events does not allow insertion of Login Items&lt;/a&gt;. It was filed on 2006-04-21 at 20:53 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;No supported way exists to insert a login item at a specific index, rather than just the end.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Run the following AppleScript script: &lt;code&gt;tell application "System Events" to make new login item at login item 1 with properties {name:"Foo", path:"X:Y:Z:Foo", kind:"application", hidden:false}&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The login item is inserted at the start of the list.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The login item is inserted at the end of the list.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;h3&gt;Workaround:&lt;/h3&gt;
&lt;p&gt;Edit loginwindow.plist directly.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114568684458400684?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114568684458400684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114568684458400684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568684458400684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114568684458400684'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-31.html' title='Report-an-Apple-bug Friday! 31'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114543987053265538</id><published>2006-04-19T02:42:00.000-07:00</published><updated>2006-04-26T23:34:23.960-07:00</updated><title type='text'>Free plus and minus images</title><content type='html'>&lt;p&gt;I've created a pair of &lt;a href="http://geocities.com/iamtheboredzo/plusminus"&gt;plus and minus images&lt;/a&gt;, similar to those used in the Accounts pane of System Preferences. They are free, released by me into the public domain. Enjoy.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Images" rel="tag"&gt;Images&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Free" rel="tag"&gt;Free&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114543987053265538?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114543987053265538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114543987053265538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114543987053265538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114543987053265538'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/free-plus-and-minus-images.html' title='Free plus and minus images'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114542518540543883</id><published>2006-04-18T22:37:00.000-07:00</published><updated>2006-04-18T22:39:45.416-07:00</updated><title type='text'>Change of plans</title><content type='html'>&lt;p&gt;Driving is hard. Recognizing this, I've decided to get a plain state ID for now, and work on the DL later. A DL will take too long.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114542518540543883?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114542518540543883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114542518540543883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114542518540543883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114542518540543883'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/change-of-plans.html' title='Change of plans'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114535696303061249</id><published>2006-04-18T03:39:00.000-07:00</published><updated>2006-04-27T11:25:12.633-07:00</updated><title type='text'>Free stuff on iTunes: 2006-04-18</title><content type='html'>&lt;p&gt;Just the one: an &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewVideo?id=148032651&amp;p=145852049&amp;s=143441"&gt;Apprentice highlight reel&lt;/a&gt;.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/iTunes"&gt;iTunes&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Music%20Store"&gt;iTunes Music Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTMS"&gt;iTMS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Video%20Store"&gt;iTunes Video Store&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114535696303061249?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114535696303061249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114535696303061249' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114535696303061249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114535696303061249'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/free-stuff-on-itunes-2006-04-18.html' title='Free stuff on iTunes: 2006-04-18'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114535646568853314</id><published>2006-04-18T03:32:00.000-07:00</published><updated>2006-04-18T03:40:03.026-07:00</updated><title type='text'>Alias, now on iTunes</title><content type='html'>&lt;p&gt;You can now buy &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewTVSeason?id=145362009&amp;s=143441" title="Alias, season 4"&gt;season 4&lt;/a&gt; and &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewTVSeason?id=145367137&amp;s=143441" title="Alias, season 5"&gt;season 5&lt;/a&gt; from iTVS. Good to see.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/iTunes"&gt;iTunes&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Music%20Store"&gt;iTunes Music Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTMS"&gt;iTMS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Video%20Store"&gt;iTunes Video Store&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114535646568853314?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114535646568853314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114535646568853314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114535646568853314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114535646568853314'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/alias-now-on-itunes.html' title='Alias, now on iTunes'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114509317724770518</id><published>2006-04-15T02:25:00.000-07:00</published><updated>2006-04-15T02:26:18.670-07:00</updated><title type='text'>Monday, Monday</title><content type='html'>&lt;p&gt;Full grammar changeover is complete starting Monday at 00:00 PDT. This includes IRC, the last holdout.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114509317724770518?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114509317724770518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114509317724770518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114509317724770518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114509317724770518'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/monday-monday.html' title='Monday, Monday'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508536172464668</id><published>2006-04-14T23:59:00.000-07:00</published><updated>2006-04-15T00:21:41.366-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 30</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515751"&gt;&amp;#x2318;W and &amp;#x2318;&amp;#x2325;W close Inspectors too&lt;/a&gt;. It was filed on 2006-04-14 at 23:45 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;When the user presses &amp;#x2318;W, IB will close a floating window if it has focus. When the user presses &amp;#x2318;&amp;#x2325;W to close all nib windows, IB also closes all of the floating windows.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;p&gt;1. Press &amp;#x2318;W or &amp;#x2318;&amp;#x2325;W.&lt;/p&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The frontmost non-floating window closes, or all non-floating windows and no floating windows close.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The frontmost window (floating or not) closes, or all windows (including floating windows) close.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Floating windows in IB are the Palette, the Alignment palette, and the Inspector.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508536172464668?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508536172464668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508536172464668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508536172464668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508536172464668'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-30.html' title='Report-an-Apple-bug Friday! 30'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508515572408847</id><published>2006-04-14T23:58:00.000-07:00</published><updated>2006-04-20T20:50:12.543-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 29</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515749"&gt;NSWorkspace documentation contains two split sentences&lt;/a&gt;. It was filed on 2006-04-14 at 23:30 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;Documentation of several instance methods of NSWorkspace contains two sentences that have each been split in two, with the method signature between.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSWorkspace.html"&gt;NSWorkspace documentation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Visit &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSWorkspace.html#//apple_ref/occ/instm/NSWorkspace/activeApplication"&gt;-activeApplication&lt;/a&gt; or &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSWorkspace.html#//apple_ref/occ/instm/NSWorkspace/launchedApplications"&gt;-launchedApplications&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;Both sentences are not split.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;Both sentences are split.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508515572408847?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508515572408847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508515572408847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508515572408847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508515572408847'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-29.html' title='Report-an-Apple-bug Friday! 29'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508505454929436</id><published>2006-04-14T23:57:00.000-07:00</published><updated>2006-04-20T20:48:34.633-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 28</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515747"&gt;NSAnimation documented as inheriting from itself&lt;/a&gt;. It was filed on 2006-04-14 at 23:25 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The infobox at the top of the NSAnimation reference gives a cyclic inheritance path.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSAnimation.html"&gt;NSAnimation reference&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The infobox at the top says that NSAnimation inherits from NSObject.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The infobox at the top says that NSAnimation inherits from NSAnimation inherits from NSObject.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;As documented, NSAnimation inherits from both itself and NSObject. This is both cyclic inheritance and multiple inheritance, and both are illegal in Objective-C.&lt;/p&gt;

&lt;p&gt;Similar to &lt;a href="rdar://4515745"&gt;"NSViewAnimation documentation documented as inheriting from itself."&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508505454929436?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508505454929436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508505454929436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508505454929436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508505454929436'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-28.html' title='Report-an-Apple-bug Friday! 28'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508497847639305</id><published>2006-04-14T23:56:00.000-07:00</published><updated>2006-04-20T20:48:27.740-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 27</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515745"&gt;NSViewAnimation documented as inheriting from itself&lt;/a&gt;. It was filed on 2006-04-14 at 23:21 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The infobox at the top of the NSViewAnimation reference gives a cyclic inheritance path.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSViewAnimation.html"&gt;NSViewAnimation reference&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The infobox at the top says that NSViewAnimation inherits from NSAnimation inherits from NSObject.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The infobox at the top says that NSViewAnimation inherits from NSViewAnimation inherits from NSAnimation.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;As documented, NSViewAnimation inherits from both itself and NSAnimation. This is both cyclic inheritance and multiple inheritance, and both are illegal in Objective-C.&lt;/p&gt;

&lt;p&gt;Also, NSAnimation is the last (highest) in the list, rather than NSObject, which means that NSAnimation is a root class.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508497847639305?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508497847639305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508497847639305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508497847639305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508497847639305'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-27.html' title='Report-an-Apple-bug Friday! 27'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508491012641205</id><published>2006-04-14T23:55:00.000-07:00</published><updated>2006-04-20T20:50:17.073-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 26</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515744"&gt;NSViewAnimation documentation lists effect values among animation-option keys&lt;/a&gt;. It was filed on 2006-04-14 at 23:15 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The Constants section of the NSViewAnimation reference lists the two effect values among the animation-option keys.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Go to the &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSViewAnimation.html"&gt;NSViewAnimation reference&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Go to the &lt;a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSViewAnimation.html#//apple_ref/doc/uid/TP40001495-BCIDBBGF" title="NSViewAnimation constants"&gt;Constants&lt;/a&gt; section.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The effect values, NSViewAnimationFadeInEffect and NSViewAnimationFadeOutEffect, have a separate table from the option keys (such as NSViewAnimationEffectKey, the key for which the two *Effect constants are legal values).&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;NSViewAnimationFadeInEffect and NSViewAnimationFadeOutEffect are listed in the same table with the option keys.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508491012641205?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508491012641205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508491012641205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508491012641205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508491012641205'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-26.html' title='Report-an-Apple-bug Friday! 26'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508480088765052</id><published>2006-04-14T23:54:00.000-07:00</published><updated>2006-04-15T00:22:19.830-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 25</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515741"&gt;Allow folder menu items in Bookmarks menu to open the Bookmarks view&lt;/a&gt;. It was filed on 2006-04-14 at 23:05 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;Safari should allow you to click on a folder item in the Bookmarks menu to open the Bookmarks view to that folder.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Click on the Bookmarks menu.&lt;/li&gt;
&lt;li&gt;Click on any folder item.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The Bookmarks view opens, with that folder and all its superfolders expanded.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;Nothing happens.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508480088765052?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508480088765052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508480088765052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508480088765052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508480088765052'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-25.html' title='Report-an-Apple-bug Friday! 25'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508473873858333</id><published>2006-04-14T23:53:00.000-07:00</published><updated>2006-05-02T17:02:19.146-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 24</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515733"&gt;iTVS Browse view is way out of date&lt;/a&gt;. It was filed on 2006-04-14 at 23:01 PDT.&lt;/p&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 2006-05-02, 16:59&lt;/span&gt;: I just checked, and the Browse view now contains all of these shows and most of these seasons. I'll update the bug (and this post) later with the missing seasons.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The Browse view for the TV Shows section of the iTunes Music Store is missing many shows and seasons of shows.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Click on Music Store.&lt;/li&gt;
&lt;li&gt;Click on TV Shows.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;99 shows are listed.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;70 shows are listed.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;A previous bug, &lt;a href="rdar://4474781"&gt;"The Daily Show and The Colbert Report not listed among iTunes TV Shows"&lt;/a&gt;, which has since been fixed, has the same nature. Perhaps a system needs to be constructed that automatically updates the contents of the Browse view when new shows or seasons are posted?&lt;/p&gt;

&lt;p&gt;The full list of missing shows and seasons is:&lt;/p&gt;

&lt;h4&gt;Bravo:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The Real Housewives of Orange County&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Comedy Central:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Mind of Mencia&lt;/li&gt;
&lt;li&gt;The Showbiz Show with David Spade&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;CSTV:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;CSTV 101&lt;/li&gt;
&lt;li&gt;NCAA March Madness Classics&lt;/li&gt;
&lt;li&gt;NCAA March Madness 2006&lt;/li&gt;
&lt;li&gt;2006 NCAA Men's Basketball Champions: University of Florida Gators&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Disney Channel:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Disney's Little Einsteins&lt;/li&gt;
&lt;li&gt;The Emperor's New School&lt;/li&gt;
&lt;li&gt;Hannah Montana&lt;/li&gt;
&lt;li&gt;That's So Raven, season 4&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;ESPN:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;2006 Bowl Championship Series&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Jetix:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Mighty Morphin Power Rangers&lt;/li&gt;
&lt;li&gt;Power Rangers: Mystic Force&lt;/li&gt;
&lt;li&gt;Super Robot Monkey Team Hyper Force Go!&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;MTV:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Jackass, season 2&lt;/li&gt;
&lt;li&gt;Jackass, season 3&lt;/li&gt;
&lt;li&gt;Wonden Showzen, season 2&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;The N:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;South of Nowhere&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;NBC:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Late Night with Conan O'Brien, Triumph the Insult Comic Dog&lt;/li&gt;
&lt;li&gt;Law &amp;amp; Order: Criminal Intent&lt;/li&gt;
&lt;li&gt;Law &amp;amp; Order: Special Victims Unit&lt;/li&gt;
&lt;li&gt;Scrubs&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Nickelodeon:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Avatar&lt;/li&gt;
&lt;li&gt;Dora the Explorer, season 2&lt;/li&gt;
&lt;li&gt;Ghost Hunters&lt;/li&gt;
&lt;li&gt;Zoey 101, season 2&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Showtime:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Dave Chappelle: For What It's Worth&lt;/li&gt;
&lt;li&gt;Showtime Championship Boxing&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;I might linkify those here at some point.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508473873858333?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508473873858333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508473873858333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508473873858333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508473873858333'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-24.html' title='Report-an-Apple-bug Friday! 24'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508439813097119</id><published>2006-04-14T23:52:00.000-07:00</published><updated>2006-04-15T00:22:30.713-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 23</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515730"&gt;Left/right arrows do not move back and forth in Browse view&lt;/a&gt;. It was filed on 2006-04-14 at 22:22 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;Pressing the left or right arrow key does not move among the columns in iTunes' browse view.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Select any item in the Browse view, giving that view focus.&lt;/li&gt;
&lt;li&gt;Press the left or right arrow key.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The focus moves to a different column.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;iTunes switches to the previous or next track instead.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;iTunes seems to forward the arrow keys to Previous and Next Track, regardless of focus. Having the Browse view focused should override this, for consistency with other column views (like in Finder or NSSavePanel).&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508439813097119?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508439813097119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508439813097119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508439813097119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508439813097119'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-23.html' title='Report-an-Apple-bug Friday! 23'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114508427793998421</id><published>2006-04-14T23:51:00.000-07:00</published><updated>2006-04-23T17:39:35.646-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 22</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4515728"&gt;Navigation keys don't work in Bookmarks view&lt;/a&gt;. It was filed on 2006-04-14 at 22:12 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The page-up, page-down, home, and end keys don't work in Safari's bookmarks view.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Choose "Show All Bookmarks" from the Bookmarks menu.&lt;/li&gt;
&lt;li&gt;Press page-up, page-down, home, or end, in an attempt to scroll the bookmarks view.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The view scrolls.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The view stands fast.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;None.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114508427793998421?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114508427793998421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114508427793998421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508427793998421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114508427793998421'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-22.html' title='Report-an-Apple-bug Friday! 22'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114507935376164352</id><published>2006-04-14T22:33:00.000-07:00</published><updated>2006-04-14T22:35:53.780-07:00</updated><title type='text'>Free stuff on iTunes special: 2006-04-14</title><content type='html'>&lt;p&gt;While I was working on a bug report against iTVS, I found this: &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewVideo?id=133515022&amp;s=143441"&gt;CSTV 101&lt;/a&gt;, commercials for CSTV.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/iTunes"&gt;iTunes&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Music%20Store"&gt;iTunes Music Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTMS"&gt;iTMS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Video%20Store"&gt;iTunes Video Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTVS"&gt;iTVS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/CSTV"&gt;CSTV&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114507935376164352?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114507935376164352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114507935376164352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114507935376164352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114507935376164352'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/free-stuff-on-itunes-special-2006-04.html' title='Free stuff on iTunes special: 2006-04-14'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114474495124248303</id><published>2006-04-11T01:29:00.000-07:00</published><updated>2006-05-15T01:45:29.150-07:00</updated><title type='text'>Know your Xcode</title><content type='html'>&lt;p&gt;A couple of tips for using Xcode more efficiently.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Most commands that start an operation stop it as well. &amp;#x2318;B, for example, starts &lt;em&gt;and stops&lt;/em&gt; a build. &amp;#x2318;&amp;#x2325;R will terminate a running subshell.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rule of key commands: With &amp;#x2318; and no other modifiers, the key command does at least a build. &amp;#x2318;&amp;#x2325; will do that thing alone, without building first. &amp;#x21e7;&amp;#x2318; opens the progress window for that operation, without actually doing it. This applies to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#x2318;B/&amp;#x21e7;&amp;#x2318;B (Build, Build Results)&lt;a href="#knowyourxcode_fn1" id="knowyourxcode_fn1_loc "&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;#x2318;R/&amp;#x2318;&amp;#x2325;R/&amp;#x21e7;&amp;#x2318;R (Build and Run, Run, Run Log)&lt;/li&gt;
&lt;li&gt;&amp;#x2318;Y/&amp;#x2318;&amp;#x2325;Y/&amp;#x21e7;&amp;#x2318;Y (Build and Debug, Debug Executable, Debugger).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any other suggestions? Please post them in the comments.&lt;/p&gt;

&lt;ol&gt;
&lt;li id="knowyourxcode_fn1"&gt;There is no &amp;#x2318;&amp;#x2325;B because, obviously, you cannot build without building. &lt;a href="#knowyourxcode_fn1_loc"&gt;&amp;#x21b6;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Xcode"&gt;Xcode&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114474495124248303?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114474495124248303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114474495124248303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114474495124248303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114474495124248303'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/know-your-xcode.html' title='Know your Xcode'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114456613062869144</id><published>2006-04-08T23:59:00.000-07:00</published><updated>2006-04-09T00:02:10.646-07:00</updated><title type='text'>Making Spotlight work for you</title><content type='html'>&lt;p&gt;For a long time now, I've kept Spotlight disabled because it constantly cranked away at my hard drive. I couldn't figure out why that was, until recently, when I had an epiphany:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spotlight updates its index when a file is updated.&lt;/li&gt;
&lt;li&gt;If Spotlight is updating constantly, one or more files must be getting constantly updated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What sort of file gets constantly updated?&lt;/p&gt;

&lt;p&gt;That's right. A log file.&lt;/p&gt;

&lt;p&gt;So I added the folder with my IRC logs to the blacklist in the &amp;ldquo;Privacy&amp;rdquo; tab in Spotlight preferences, &lt;span style="font-style: italic"&gt;et voila&lt;/span&gt;, the constant indexing stopped.&lt;/p&gt;

&lt;p&gt;Problem solved.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Spotlight"&gt;Spotlight&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114456613062869144?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114456613062869144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114456613062869144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114456613062869144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114456613062869144'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/making-spotlight-work-for-you.html' title='Making Spotlight work for you'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114452546028912430</id><published>2006-04-08T12:43:00.000-07:00</published><updated>2006-04-09T03:45:22.626-07:00</updated><title type='text'>Too much spam</title><content type='html'>&lt;p&gt;Anonymous comments are now off again. Too many spam messages get through when they don't have to sign up for an account.&lt;/p&gt;

&lt;p&gt;*sigh*&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114452546028912430?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114452546028912430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114452546028912430' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114452546028912430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114452546028912430'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/too-much-spam.html' title='Too much spam'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114169433469996158</id><published>2006-04-08T02:48:00.000-07:00</published><updated>2006-04-08T02:49:48.873-07:00</updated><title type='text'>Iron Coder was a blast</title><content type='html'>&lt;p&gt;I competed in the zeroth &lt;a href="http://ironcoder.org/"&gt;Iron Coder&lt;/a&gt; competition. These are the thoughts I wrote down the day after. (You can tell the age of this post because I was still using 12-hour time.)&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;It was great fun. I already knew the Accessibility API, so I didn't have to study at all, though I did hit a couple of thorns in it when I was working on my project. As for Mardi Gras &amp;mdash; well, I've never been outside California, so I've never been to Mardi Gras. I chose the bead theme for my project, as did several others.&lt;/p&gt;

&lt;p&gt;I started around 3:20 PM, as soon as I thought of my idea. This was around 10 minutes after the theme was announced. I went to bed around 7 AM, being too exhausted to continue. I slept for five hours. I'd hoped that the FTP upload info would be up by the time I was, but it wasn't. Good thing, as I did find some things in my project that needed to be finished off.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iamthewalr.us/"&gt;Colin&lt;/a&gt; and I were communicating by IM virtually the entire time that both of us were up. He started his about 12 hours late, so he had half the coding time everybody else had. And by the end of the contest, he'd been up for almost 30 hours. His app, DrunkVision, is all the cooler for that, even if nobody could figure out the secret Quit hot-key. ;)&lt;/p&gt;

&lt;p&gt;I finished mine with under half an hour until the end of the 24 hours, and Colin uploaded his with just two minutes to spare. Seems like almost everybody who competed used every waking minute.&lt;/p&gt;

&lt;p&gt;And this morning, I slept for 12 hours. So that's the other side of the pendulum.&lt;/p&gt;

&lt;p&gt;I'm looking forward to the next one. I don't think they should be too frequent; maybe every 6 months to a year. That much time without sleep is hard on anyone. I do want to use all 24 hours on at least one Iron Coder, just to be true to the spirit of it. It'd be rough, but it feels great at the end.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Also, some more thoughts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Several of the entries were actually useful. DrunkVision is one example, though the Mardi Gras-themed colors it uses might not be appropriate for everyday usage. Others were Pancake Day (not compliant with the theme at all, other than the name) and FFMinator. These are apps that you could use at any time, not just Mardi Gras.&lt;/li&gt;
&lt;li&gt;I agree with the choice of winner. Lucas Eckels' Symphony is by far the best entry &amp;mdash; best use of theme, and of API, and it was executed beautifully.&lt;/li&gt;
&lt;li&gt;I didn't like my submission as much as some (including &lt;a href="http://rentzsch.com/"&gt;the judge&lt;/a&gt;) did. I wanted some bead physics like Blake Seely had. But I don't know how to do that and didn't have time to learn. Oh well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometime in the near future, I'll release Beads 1.1, with a fix to the drawing code. Then I'll publish a page on my website showing how to draw the beads.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114169433469996158?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114169433469996158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114169433469996158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114169433469996158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114169433469996158'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/iron-coder-was-blast.html' title='Iron Coder was a blast'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114448074319031941</id><published>2006-04-07T23:43:00.000-07:00</published><updated>2006-04-09T00:31:49.056-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 21</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4507550"&gt;Xcode's Condensed layout does not have scrollers&lt;/a&gt;. It was filed on 2006-04-07 at 23:42 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;The Condensed layout for Xcode's project window does not have scrollers.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Choose "Preferences" from the Xcode menu, or press &amp;#x2318;,.&lt;/li&gt;
&lt;li&gt;Switch to the General pane.&lt;/li&gt;
&lt;li&gt;Choose the Condensed layout.&lt;/li&gt;
&lt;li&gt;Open or create a project.&lt;/li&gt;
&lt;li&gt;If necessary, perform some combination of resizing the window and expanding groups and categories so that the total height of the rows of the visible items in the project window exceeds the height of the table view in that window.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The window has or gains scrollers.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;No scrollers.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;The Default/Detail view, which is the only layout in all Mac OS X versions of Project Builder and the pre-Condensed versions of Xcode and the default in versions that do have Condensed, does not have this problem.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;The All-in-One layout does not have this problem either.&lt;/p&gt;

&lt;p&gt;The window can be scrolled using a scroll wheel or scroll-capable trackpad, or software such as Catchy Software's &lt;a href="http://www.catchysoftware.com/products/maximice/"&gt;MaxiMice&lt;/a&gt;. The window can also be indirectly scrolled by using the arrow keys to select the next item up/down.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Xcode" rel="tag"&gt;Xcode&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114448074319031941?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114448074319031941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114448074319031941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114448074319031941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114448074319031941'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-21.html' title='Report-an-Apple-bug Friday! 21'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114440860011454798</id><published>2006-04-07T04:06:00.000-07:00</published><updated>2006-04-18T00:28:24.870-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 20</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4506357"&gt;RadarWeb does not uses separate first name from MyInfo&lt;/a&gt;. Yes, I know that that statement is incoherent &amp;mdash; I don't know how &amp;ldquo;does not&amp;rdquo; got in there. In any case, it was filed on 2006-04-07 at 04:04 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;ADC (including RadarWeb) uses the developer's last name from MyInfo, but uses its own storage for the first name.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Go to Apple's &lt;a href="http://myinfo.apple.com/"&gt;MyInfo&lt;/a&gt; page and login.&lt;/li&gt;
&lt;li&gt;Change your name.&lt;/li&gt;
&lt;li&gt;Go to &lt;a href="http://connect.apple.com/"&gt;ADC&lt;/a&gt; or &lt;a href="http://bugreport.apple.com/"&gt;RadarWeb&lt;/a&gt; and login.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;ADC or RadarWeb greets you as, for example, "Peter Hosey".&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;ADC or RadarWeb greets you as, for example, "Mac-arena Hosey".&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;I originally signed up for my ADC account under my pseudonym, "Mac-arena the Bored Zo". When I signed up for iTMS, I noticed in the &lt;a href="http://www.apple.com/support/itunes/legal/terms.html" title="iTMS TOS"&gt;terms of service&lt;/a&gt; that one's real name is required. So I changed it. ADC only picked up half the change. It seems to use separate storage for the first name, but the same storage for the last name.&lt;/p&gt;

&lt;p&gt;iTunes and MyInfo display my first name correctly.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;The relevant section of the TOS is section 7. Quoth the TOS:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;You agree to provide accurate, current, and complete information required to register with the Service and at other points as may be required in the course of using the Service ("Registration Data").&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And one of the things required is one's name.&lt;/p&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 23:19 PDT&lt;/span&gt;: At 14:10, an Apple employee replied to the bug report, telling me that he updated my profile to reflect the change. It is, indeed, updated. The bug report is still open, however, and set to the "Verify" state.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114440860011454798?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114440860011454798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114440860011454798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114440860011454798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114440860011454798'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-20.html' title='Report-an-Apple-bug Friday! 20'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114440611208179557</id><published>2006-04-07T03:30:00.000-07:00</published><updated>2006-04-07T03:35:37.263-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 19</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4506343"&gt;Disjoint selections don't drop where you tell them to&lt;/a&gt;. It was filed on 2006-04-07 at 03:28 PDT.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;When you drop a disjoint multiple selection of songs into a position in a playlist, they will land in the position above the song that you dropped them below.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create a playlist containing songs &lt;var&gt;A&lt;/var&gt;, &lt;var&gt;B&lt;/var&gt;, &lt;var&gt;C&lt;/var&gt;, &lt;var&gt;D&lt;/var&gt;, &lt;var&gt;E&lt;/var&gt;, &lt;var&gt;F&lt;/var&gt;, and &lt;var&gt;G&lt;/var&gt;.&lt;/li&gt;
&lt;li&gt;Select any of songs &lt;var&gt;C&lt;/var&gt;&amp;ndash;&lt;var&gt;G&lt;/var&gt;, so long as at least one of &lt;var&gt;D&lt;/var&gt;&amp;ndash;&lt;var&gt;F&lt;/var&gt; is not selected.&lt;/li&gt;
&lt;li&gt;Drag and drop the selection above &lt;var&gt;B&lt;/var&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The songs land between &lt;var&gt;A&lt;/var&gt; and &lt;var&gt;B&lt;/var&gt;.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The songs land at the top, above &lt;var&gt;A&lt;/var&gt;.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;All versions 6 and later have this bug. I don't know if any previous versions have it.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Contiguous and single selections are not affected. Dragging a contiguous or single selection in step 3 above will land the song or songs between &lt;var&gt;A&lt;/var&gt; and &lt;var&gt;B&lt;/var&gt;, as expected.&lt;/p&gt;

&lt;p&gt;The direction of the drag (up or down) does not matter. The bug will happen either way.&lt;/p&gt;

&lt;h3&gt;Workaround:&lt;/h3&gt;
&lt;p&gt;Drag and drop songs one contiguous bunch at a time, or drop them below song &lt;var&gt;B&lt;/var&gt; instead of above it.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114440611208179557?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114440611208179557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114440611208179557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114440611208179557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114440611208179557'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-19.html' title='Report-an-Apple-bug Friday! 19'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114440386151164140</id><published>2006-04-07T00:48:00.000-07:00</published><updated>2006-04-09T03:48:10.956-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 18</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4506265"&gt;Preview uses its own made-up value for resolution of PostScript images&lt;/a&gt;. It was filed on 2006-04-07 at 00:45 PDT.&lt;/p&gt;

&lt;p&gt;I discovered this bug when making the &lt;a href="http://homepage.mac.com/simx/technonova/C1766861589/E20060405011756/index.html"&gt;navigation buttons&lt;/a&gt; I donated to &lt;a href="http://homepage.mac.com/simx/technonova/"&gt;Simone Manganelli&lt;/a&gt; (you may recognize his&lt;a href="#rabf18_footnote1" id="rabf18_footnote1_loc"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; name if you've been reading the comments on this blog) for switching among his stylesheets. The PNG images that I saved from Preview showed up as 32&amp;times;32 in the Finder. So I had to open the EPS file in Photoshop, which is how I found out that the resolution was wrong.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;PostScript documents can specify a resolution. Preview, when converting to PDF and then to raster format, ignores that value and uses 150 dpi instead.&lt;/p&gt;

&lt;p&gt;Steps to Reproduce:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open an Encapsulated PostScript (.eps) file containing an explicit resolution in Preview.&lt;/li&gt;
&lt;li&gt;Save as PNG or TIFF.&lt;/li&gt;
&lt;li&gt;Open the PNG or TIFF in Photoshop. (NOTE: This is incorrect. I meant to change this but forgot. See below. &amp;mdash;PRH)&lt;/li&gt;
&lt;li&gt;Choose "Image Size". (NOTE: This is incorrect. I meant to change this but forgot. See below. &amp;mdash;PRH)&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The resolution is as stated in the EPS file.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;The resolution is 150 dpi in a TIFF file, or 150.0124 dpi in a PNG.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;The &lt;a href="http://partners.adobe.com/public/developer/en/ps/5001.DSC_Spec.pdf"&gt;Document Structuring Conventions&lt;/a&gt;, upon which EPS is based, provide for a resolution in the optional "Requirements" comment. For example:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;%%Requirements: resolution(x,y)&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Preview appears to target a specific length in real-world measurements (inches or cm). Not only does it force the resolution to 150 dpi, it also rasterizes the image at double-size (which compensates for the resolution change, but only in applications that pay attention to the DPI &amp;mdash; which are not many, at least in the case of PNG files). This is symptomatic of Preview converting to PDF as an intermediary, as proven by using &lt;a href="x-man-page://pstopdf"&gt;&lt;tt&gt;pstopdf&lt;/tt&gt;&lt;/a&gt; and then saving the PDF as PNG or TIFF &amp;mdash; it is still saved as 150 dpi, double-size.&lt;/p&gt;

&lt;p&gt;The solution is twofold:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Rasterize at 72 dpi by default. This is the default resolution of PostScript, upon which PDF is based, so it is sane to expect both PDFs and PostScript (including EPS) files to be rasterized at that resolution by default. If you really want the double-size behavior, then the DPI should be saved as 144 dpi instead.&lt;/li&gt;
&lt;li&gt;Allow the PS-to-PDF converter to accept a resolution in its PS input.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;p style="font-style: italic"&gt;On 2006-04-07 at 01:48 PDT, I added the following information:&lt;/p&gt;

&lt;p&gt;Oops. I meant to change the Steps to Reproduce but forgot. Here are the correct steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open an Encapsulated PostScript (.eps) file containing an explicit resolution in Preview.&lt;/li&gt;
&lt;li&gt;Save as PNG or TIFF.&lt;/li&gt;
&lt;li&gt;Choose &amp;ldquo;Get Info&amp;rdquo; from Preview's Tools menu, or press &amp;#x2318;I.&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;ol&gt;
&lt;li id="rabf18_footnote1"&gt;I'm assuming that Simone Manganelli is a he. If not, sorry; no offense intended. &lt;a href="#rabf18_footnote1_loc"&gt;&amp;#x21b6;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/PostScript" rel="tag"&gt;PostScript&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114440386151164140?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114440386151164140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114440386151164140' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114440386151164140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114440386151164140'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-18.html' title='Report-an-Apple-bug Friday! 18'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114431789214726851</id><published>2006-04-06T02:59:00.000-07:00</published><updated>2006-04-11T12:09:50.023-07:00</updated><title type='text'>Driver training, part 2</title><content type='html'>&lt;ul&gt;
&lt;li&gt;Turning is hard. It's easy enough in concept, but it's hard to do a sharp turn that doesn't cut into any other lanes.&lt;/li&gt;
&lt;li&gt;I'm not used to the idea of braking gradually.&lt;/li&gt;
&lt;li&gt;I drive slowly. Defies the stereotype, for sure. The instructor asked me &amp;ldquo;How old are you?&amp;rdquo; &amp;ldquo;21, going on 22.&amp;rdquo; &amp;ldquo;You drive like you're 90. Speed it up.&amp;rdquo; Keeping the speed of the car below the speed limit, safe for traffic, and above 10 kept me very busy.&lt;/li&gt;
&lt;li&gt;Mirrors are another thing that keep me busy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My main problem was that the instructor kept giving me a constant feed of low-level directions: &amp;ldquo;Apply the brakes, signal, mirrors, look over your shoulder, now gas, let off the gas, turn, brakes, &amp;hellip;&amp;rdquo; When we were done, I suggested to him that he should just tell me what to do (e.g. &amp;ldquo;Turn right here&amp;rdquo;) and let me do it. Catch me if I get something wrong, but otherwise, let me do it, and I'll probably get it right. Otherwise:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I'll be following him, instead of thinking and acting on my own.&lt;/li&gt;
&lt;li&gt;I'm not going to be able to get along when he's not there.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Lesson 3 of 3 is today. Here's hoping I don't need more.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114431789214726851?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114431789214726851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114431789214726851' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114431789214726851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114431789214726851'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/driver-training-part-2.html' title='Driver training, part 2'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114422109757536467</id><published>2006-04-05T00:06:00.000-07:00</published><updated>2006-04-11T21:44:48.010-07:00</updated><title type='text'>Driver training, part 1</title><content type='html'>&lt;p&gt;As I remarked to my instructor, &amp;ldquo;Driving is easy. It's all the other cars that are the problem.&amp;rdquo;&lt;/p&gt;

&lt;p&gt;Status report after lesson 1 of 3: Turning corners and handling intersections are my current weak points. I'm also not too good about keeping a watch on my rear-view mirror. Other than that, I'm doing well. Especially considering that it was raining the whole time.&lt;/p&gt;

&lt;p&gt;I do wish that cars would come with rear-window (including passenger windows) wipers standard. You're supposed to look out of it before making a right turn at an intersection or pulling away from a curb. But I could barely see anything for all the water drops there. The mirrors were working much better for these purposes.&lt;/p&gt;

&lt;p&gt;Two more hours tomorrow.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114422109757536467?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114422109757536467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114422109757536467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114422109757536467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114422109757536467'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/driver-training-part-1.html' title='Driver training, part 1'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114414720396188541</id><published>2006-04-04T03:33:00.000-07:00</published><updated>2006-04-05T00:13:13.460-07:00</updated><title type='text'>Free stuff on iTunes: 2006-04-04</title><content type='html'>&lt;p&gt;Well, there's supposed to be. This is linked on the front page of the &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewGenre?id=32"&gt;TV Shows&lt;/a&gt; section: &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?id=137161414&amp;s=143441"&gt;The Andy Milonakis Show, season 2&lt;/a&gt;. The season premiere is supposed to be there for free. But there are no episodes listed and the show isn't even in the Browse listing of TV Shows. You can even buy the whole season &amp;mdash; $1.99 for 0 episodes.&lt;/p&gt;

&lt;p&gt;The customer reviews are pretty negative, so maybe MTV got so embarrassed that they simply asked Apple to pull the season.&lt;/p&gt;

&lt;p&gt;&lt;span class="update"&gt;UPDATE 2006-04-05 00:11 PST&lt;/span&gt;: It's up now.&lt;/p&gt;

&lt;p&gt;In case you're curious, &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewArtist?id=135349385"&gt;season 1&lt;/a&gt; is available for money. The only way to get there is by clicking the parent segment in the breadcrumb trail when you visit season 2 (or by clicking my link).&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/iTunes"&gt;iTunes&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Music%20Store"&gt;iTunes Music Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTMS"&gt;iTMS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Video%20Store"&gt;iTunes Video Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTVS"&gt;iTVS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Andy+Milonakis"&gt;Andy Milonakis&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTVS"&gt;iTVS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/MTV"&gt;MTV&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114414720396188541?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114414720396188541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114414720396188541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114414720396188541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114414720396188541'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/free-stuff-on-itunes-2006-04-04.html' title='Free stuff on iTunes: 2006-04-04'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114413511979071867</id><published>2006-04-04T00:11:00.000-07:00</published><updated>2006-04-14T18:40:24.026-07:00</updated><title type='text'>My name is... My name is...</title><content type='html'>&lt;p&gt;Slartibartfast.&lt;/p&gt;

&lt;p&gt;OK, not really. My name is Peter Hosey. I am 21 (almost 22) years old, and I currently live in Huntington Beach, California. And this is what I look like:&lt;/p&gt;

&lt;p class="photo"&gt;&lt;img width="240" height="320" alt="My face." src="http://photos1.blogger.com/blogger/5008/767/320/myface.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;This is the official curtain drop. If you already knew my real name, this post means that you are now allowed to tell it to others. The secret has ended.&lt;/p&gt;

&lt;p&gt;Updates to my profile on Blogger, Digg, various Tracs, and elsewhere to follow.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114413511979071867?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114413511979071867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114413511979071867' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114413511979071867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114413511979071867'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/my-name-is-my-name-is.html' title='My name is... My name is...'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114387880215921488</id><published>2006-04-01T00:00:00.000-08:00</published><updated>2006-04-01T00:06:42.176-08:00</updated><title type='text'>Report-an-Apple-bug Friday! 17</title><content type='html'>&lt;p&gt;This bug is &lt;a href="rdar://4499043"&gt;iTMS: &amp;ldquo;Isms&amp;rdquo; is actually &amp;ldquo;Talisman&amp;rdquo;&lt;/a&gt;. It was submitted on 2006-03-31 at 23:59 PST.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;iTMS sells two albums by &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewArtist?artistId=4233074"&gt;Divinorum&lt;/a&gt;. But these two albums are actually both the same one.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Buy &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?id=31272674&amp;s=143441"&gt;&amp;ldquo;Isms&amp;rdquo;&lt;/a&gt; from iTMS.&lt;/li&gt;
&lt;li&gt;Listen to all of the tracks.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;You hear &amp;ldquo;Isms&amp;rdquo;.&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;You hear &amp;ldquo;Talisman&amp;rdquo;.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;As far as I known, &amp;ldquo;Isms&amp;rdquo; has always been wrong. I submitted feedback when I bought &amp;ldquo;Isms&amp;rdquo; from iTMS in 2005-06. It's still wrong.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;Bjorn Lynne distributes a number of his &lt;a href="http://www.artistlaunch.com/artist.asp?artistid=5229"&gt;tracks for free&lt;/a&gt;, including two Divinorum tracks. One is &lt;a href="http://www.artistlaunch.com/artists/songs/Bjorn_Lynne_-_Antigravity.mp3"&gt;&amp;ldquo;Antigravity&amp;rdquo;&lt;/a&gt;, the first track of &amp;ldquo;Isms&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;Listening to the iTMS previews of &amp;ldquo;Isms&amp;rdquo; and &amp;ldquo;Talisman&amp;rdquo; makes clear that they are the same. Listen to both &amp;ldquo;Antigravity&amp;rdquo; (track 1 of &amp;ldquo;Isms&amp;rdquo;) and &amp;ldquo;The Human Male&amp;rdquo; (track 1 of &amp;ldquo;Talisman&amp;rdquo;), for example.&lt;/p&gt;

&lt;p&gt;Another demonstration is the track times. The &amp;ldquo;Antigravity&amp;rdquo; MP3 that Lynne distributes for free is 8 minutes and 14 seconds long. The version on iTMS is 7 minutes and 6 seconds long &amp;mdash; the same length as &amp;ldquo;The Human Male&amp;rdquo;. All of the track lengths are the same between the two albums, except for track 11 (&amp;ldquo;Talisman&amp;rdquo; has 11 tracks; &amp;ldquo;Isms&amp;rdquo; has only 10 tracks).&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114387880215921488?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114387880215921488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114387880215921488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114387880215921488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114387880215921488'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/04/report-apple-bug-friday-17.html' title='Report-an-Apple-bug Friday! 17'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114387753025441524</id><published>2006-03-31T23:37:00.000-08:00</published><updated>2006-04-06T02:42:28.853-07:00</updated><title type='text'>Report-an-Apple-bug Friday! 16</title><content type='html'>&lt;p&gt;This feature request is &lt;a href="rdar://4499041"&gt;iTunes should offer menu items to sort the selection&lt;/a&gt;. It was filed on 2006-03-31 at 23:35 PST.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3&gt;Summary:&lt;/h3&gt;
&lt;p&gt;iTunes should allow [the user to specify &amp;mdash; oops! &amp;mdash;the Bored Zo] the order in which playlist items are stored in the playlist.&lt;/p&gt;

&lt;h3&gt;Steps to Reproduce:&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Right-click on a selection, or click in the Edit menu.&lt;/li&gt;
&lt;li&gt;In the 'Sort by' submenu, choose one of the criteria listed.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Expected Results:&lt;/h3&gt;
&lt;p&gt;The selected items are repositioned within the playlist (that is, the order in which they are stored changes).&lt;/p&gt;

&lt;h3&gt;Actual Results:&lt;/h3&gt;
&lt;p&gt;No results, because no such submenu exists.&lt;/p&gt;

&lt;h3&gt;Regression:&lt;/h3&gt;
&lt;p&gt;None known.&lt;/p&gt;

&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;p&gt;iTunes does currently allow the user to change the order in which items are displayed by clicking a column header. But it offers no quick and easy way to sort items within the playlist itself (that is, to change the order in which the items are stored).&lt;/p&gt;

&lt;p&gt;When a display sort (one of the column headers besides the far-left one) is selected, iTunes could run a dialog box: "The order in which the selected items are stored in the playlist was changed. The order in which they are displayed and will be played has not changed, because you have a different sort (^0) selected for display (in the column headers)." (^0 = name of selected column).&lt;/p&gt;

&lt;hr /&gt;

&lt;p style="font-style: italic"&gt;At 23:45, I added the following information:&lt;/p&gt;

&lt;p&gt;Summary should read: iTunes should allow +&lt;span style="text-decoration: underline"&gt;the user to specify&lt;/span&gt;+ the order in which playlist items are stored in the playlist.&lt;/p&gt;

&lt;p&gt;I had edited it and didn't notice that I removed that part. Sorry.&lt;/p&gt;

&lt;hr /&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tag/apple-bug-friday" rel="tag"&gt;Apple Bug Friday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/applebugfriday" rel="tag"&gt;applebugfriday&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114387753025441524?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114387753025441524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114387753025441524' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114387753025441524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114387753025441524'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/03/report-apple-bug-friday-16.html' title='Report-an-Apple-bug Friday! 16'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114360037423155575</id><published>2006-03-28T17:42:00.000-08:00</published><updated>2006-03-28T18:46:14.323-08:00</updated><title type='text'>How to evict __MyCompanyName__ from their office building</title><content type='html'>&lt;p&gt;&lt;a href="http://developer.apple.com/tools/xcode/"&gt;Xcode&lt;/a&gt; comes with a number of document templates. You see the list of them when you choose File&amp;rarr;New Document in Xcode. The templates are actually stored at &lt;a href="file://localhost/Library/Application%20Support/Apple/Developer%20Tools/File%20Templates/"&gt;/Library/Application Support/Apple/Developer Tools/File Templates&lt;/a&gt;. Most files contain a header comment that looks like this:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;pre&gt;/*
 *  &amp;laquo;FILENAME&amp;raquo;
 *  &amp;laquo;PROJECTNAME&amp;raquo;
 *
 *  Created by &amp;laquo;FULLUSERNAME&amp;raquo; on &amp;laquo;DATE&amp;raquo;.
 *  Copyright &amp;laquo;YEAR&amp;raquo; &amp;laquo;ORGANIZATIONNAME&amp;raquo;. All rights reserved.
 *
 */
&lt;/pre&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The problem is &lt;code&gt;ORGANIZATIONNAME&lt;/code&gt;. This gets replaced with &amp;ldquo;__MyCompanyName__&amp;rdquo;, and there is no obvious way to change this other than by changing it every time (or by editing the templates, a solution that gets clobbered when you upgrade Xcode).&lt;/p&gt;

&lt;p&gt;I was reading &lt;a href="http://six.manoverboard.org/"&gt;Step into Xcode&lt;/a&gt;, and found that on page 53, it gives instructions for defeating __MyCompanyName__. Here's the important part, from the book:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;kbd&gt;defaults write com.apple.xcode  PBXCustomTemplateMacroDefinitions  '{ ORGANIZATIONNAME = "Joan Smith"; }'&lt;/kbd&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This information is also available on this &lt;a href="http://developer.apple.com/releasenotes/DeveloperTools/Xcode/XcodeDefaults.html" title="Xcode Expert Preferences Notes"&gt;Xcode release notes page&lt;/a&gt;. It's slightly inaccurate (__CompanyName__ rather than __MyCompanyName__) and well-buried, but it documents the same thing as the book.&lt;/p&gt;

&lt;p&gt;Presumably, you could override any macro name or add your own using that default. But &lt;code&gt;ORGANIZATIONNAME&lt;/code&gt; is the important one.&lt;/p&gt;

&lt;p&gt;I debated about posting this here (publicly, rather than only privately to the &lt;a href="http://www.adiumx.com/"&gt;Adium&lt;/a&gt; and &lt;a href="http://growl.info/"&gt;Growl&lt;/a&gt; developer lists), because I got the info from the book. But I decided that it's OK because (1) it is also documented by Apple and (2) it's an example of the good info in this book. So here it is.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/Xcode" rel="tag"&gt;Xcode&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114360037423155575?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114360037423155575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114360037423155575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114360037423155575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114360037423155575'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/03/how-to-evict-mycompanyname-from-their.html' title='How to evict __MyCompanyName__ from their office building'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114354581976061530</id><published>2006-03-28T03:27:00.000-08:00</published><updated>2006-03-28T03:36:59.996-08:00</updated><title type='text'>Free stuff on iTunes: 2006-03-28</title><content type='html'>&lt;p&gt;As usual, it's video:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewVideo?id=110699556&amp;s=143441"&gt;Sci Fi Inside - Battlestar Galactica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewVideo?id=135334744&amp;s=143441"&gt;Best of Ghost Hunters, Vol. 1&lt;/a&gt; (a recap of season 1)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href="itms://phobos.apple.com/WebObjects/MZStore.woa/wa/viewVideo?id=125561787&amp;p=125453900&amp;s=143441"&gt;Conviction pilot&lt;/a&gt; costs money now, BTW. But the feelies are still free.&lt;/p&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/iTunes"&gt;iTunes&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Music%20Store"&gt;iTunes Music Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTMS"&gt;iTMS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTunes%20Video%20Store"&gt;iTunes Video Store&lt;/a&gt;, &lt;a href="http://technorati.com/tags/iTVS"&gt;iTVS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Battlestar+Galactica"&gt;Battlestar Galactica&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Ghost+Hunters"&gt;Ghost Hunters&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114354581976061530?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114354581976061530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114354581976061530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114354581976061530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114354581976061530'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/03/free-stuff-on-itunes-2006-03-28.html' title='Free stuff on iTunes: 2006-03-28'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114354347265703077</id><published>2006-03-28T02:55:00.000-08:00</published><updated>2006-03-28T02:57:52.676-08:00</updated><title type='text'>A programming koan</title><content type='html'>&lt;p&gt;I considered how to rotate a raster image earlier today. Without doing any research into the subject, I wrote down &lt;a href="http://geocities.com/iamtheboredzo/koans/rotation" title="Rotation: A programming koan"&gt;my thoughts on it&lt;/a&gt; on a webpage, complete with images drawn in Photoshop. Feel free to answer the open-hanging question in the comments here.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114354347265703077?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114354347265703077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114354347265703077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114354347265703077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114354347265703077'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/03/programming-koan.html' title='A programming koan'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20119712.post-114345952394067263</id><published>2006-03-27T02:52:00.000-08:00</published><updated>2006-04-08T09:54:14.246-07:00</updated><title type='text'>Within epsilon of perfect</title><content type='html'>&lt;p style="font-style: italic"&gt;(Title taken from my own assessment of my spelling.)&lt;/p&gt;

&lt;p&gt;It's been known for awhile that rather than directly comparing two floating-point numbers, you should instead subtract the larger from the smaller and compare the difference to some epsilon value. The reason for this is that two numbers might be very very similar, but not exactly equal. &amp;ldquo;Epsilon&amp;rdquo; in a mathematical sense means &amp;ldquo;minimum precision that you care about&amp;rdquo;. The epsilon value for money, for example, is usually 0.01 &amp;mdash; differences lower than this are thrown away.&lt;/p&gt;

&lt;p&gt;So of course I went scrounging in the headers, found macros named &lt;code&gt;FLT_EPSILON&lt;/code&gt;, &lt;code&gt;DBL_EPSILON&lt;/code&gt;, &lt;code&gt;LDBL_EPSILON&lt;/code&gt;, and recommended to all my programmer friends that they use these constants for comparisons of floating-point values rather than &lt;code&gt;==&lt;/code&gt; and &lt;code&gt;!=&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;From time to time, facts just float up to the top of my head for no obvious reason. I have a sheet taped to my wall called &amp;ldquo;Word of the Day&amp;rdquo;; when a word pops into my head like this, completely unrelated to any previous thoughts, I write it down on that sheet to look up later. I consider this a more advanced (if slow) form of self-education. They might be long-forgotten memories, or something else; I don't know, I just write them down and look them up.&lt;/p&gt;

&lt;p&gt;About half an hour ago, this happened to me again. Except this time, the thought was definitely a memory, of something I'd read in &lt;a href="file:///usr/include/float.h"&gt;float.h&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;pre&gt;/* The difference between 1 and the least value greater than 1 that is
   representable in the given floating point type, b**1-p.  */&lt;/pre&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Another thought had bubbled up with this, and it was an epiphany: Technically, this means that the expression &lt;code&gt;x != (x + &lt;var&gt;FOO&lt;/var&gt;_EPSILON)&lt;/code&gt; should evaluate to 1. In other words, subtracting from &lt;code&gt;&lt;var&gt;FOO&lt;/var&gt;_EPSILON&lt;/code&gt; isn't necessary.&lt;/p&gt;

&lt;p&gt;So, as is my wont, I wrote a &lt;a href="http://geocities.com/iamtheboredzo/testapps/doubles.zip" title="doubles (test app)"&gt;test app&lt;/a&gt;. Sure enough, that expression does evaluate to 1.&lt;/p&gt;

&lt;p&gt;So forget what I said. &lt;code&gt;x != y&lt;/code&gt; is directly equivalent to comparison against &lt;code&gt;&lt;var&gt;FOO&lt;/var&gt;_EPSILON&lt;/code&gt;, and it's easier to read, too. So just use that.&lt;/code&gt;

&lt;p class="tags"&gt;&lt;img width="16" height="16" alt="" src="http://www.technorati.com/favicon.ico"/&gt; Technorati tags: &lt;a href="http://technorati.com/tags/C" rel="tag"&gt;C&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;programming&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20119712-114345952394067263?l=domainofthebored.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://domainofthebored.blogspot.com/feeds/114345952394067263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20119712&amp;postID=114345952394067263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114345952394067263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20119712/posts/default/114345952394067263'/><link rel='alternate' type='text/html' href='http://domainofthebored.blogspot.com/2006/03/within-epsilon-of-perfect.html' title='Within epsilon of perfect'/><author><name>Peter Hosey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_CG8LbUBRjKU/TC-1sI6XOEI/AAAAAAAAAB4/oarPZDNA-HY/S220/boredzoduck-small.png'/></author><thr:total>0</thr:total></entry></feed>
