Archive for September, 2007

Apple Easter eggs are not dead

Sunday, September 30th, 2007

From QA1420:

A screenshot of an open menu, with the items “Mini”, “Nano”, and “Piqueño”.

(In case you don't get it, here's the reference.)

I am now an Amazon customer

Saturday, September 29th, 2007

They finally started selling something that I want to buy.

Almost since the iTunes Music Store first opened, I've been a customer of the iTunes Store. 99¢ a song is fine by me, and I love paying by the song. There are few albums so consistently good that I'll buy the whole thing.

Then iTunes Plus started, and I immediately switched over. Sure, it's 30¢ extra, but I pay that 30¢ as a statement against DRM.

Then came the Amazon MP3 Store.

Amazon sells plain old MP3s, at roughly 256 kbps VBR (in order that nobody can complain about the encoding quality). Since they're plain old MP3s, there's no DRM.

Even better, Amazon beats iTunes' prices: 89–99¢ per song. iTunes charges $1.29 (remember, no DRM, so the proper comparison is to iTunes Plus rather than to non-Plus).

So, in short:

  • The encoding is almost as good as or better than iTunes.
  • The price is the same as or less than iTunes.
  • Amazon's MP3s are never DRMed, whereas iTunes' MPEG-4s are usually DRMed.

Like Simone, I shall buy from Amazon first from now on. (I haven't switched away from iTunes; they'll continue to get my business for songs that Amazon doesn't carry. But, unfortunately for Apple, I expect that set to diminish.) Take notice of this, Apple—get the record labels to let you lower your prices, or you will lose serious market share to Amazon.


Just in case you're wondering…

The Amazon MP3 Store works by downloading a file in a special format: .amz. This is a document for the Amazon MP3 Downloader application. (In case you're wondering, the contents are some binary data, which may just be ciphertext of some sort, encoded in base64.)

The reason they do this is so that it can download the MP3s into a subfolder of your Music folder, rather than your usual Downloads folder (normally your Desktop). That's good, but it has two downsides:

  1. You need a Windows or Mac OS X PC to download MP3s from Amazon, even though the MP3s themselves will play anywhere.
  2. If your browser is set not to auto-open files, or doesn't trust the Amazon MP3 Downloader, then you may be sitting there for a moment wondering why the Downloader is not doing anything.

My suggestion to Amazon would be to switch to a custom URL scheme, rather than a custom file format. I don't know about Windows, but this would certainly make it much easier on the Mac, since the custom URL scheme will always work. (It won't help the non-Mac non-Windows users, though, since you still need the Amazon MP3 Downloader to handle the custom URL.)

New utility: Make RAM Disk

Saturday, September 29th, 2007

Make RAM Disk is a simple app to create and mount a RAM disk on Mac OS X 10.4 or later. It encapsulates my previously-stated series of terminal commands into a tiny little app—just launch it and go.

I use my RAM disk for three things:

  • Download holding area. I have Mail, Safari, OmniWeb, and Adium all set to download files to the RAM disk. If I decide I don't want to keep the download, I just leave it there until shutdown (only works on my desktop Mac).
  • iShowU storage. I create a 1-GiB RAM Disk named “iShowU temp” which iShowU is set to use as its scratch disk. Using a RAM disk for this helps your recording frame rate.
  • Xcode build folder. On my laptop, I symlink the project's build folder over to the RAM disk (e.g., mkdir /Volumes/RAM\ Disk/Adium-build && ln -s /Volumes/RAM\ Disk/Adium-build build). This cuts out a lot of the disk grinding that happens during a build, which I believe helps my battery life.

Enjoy!

Ghostwriter has invaded my menubar!

Thursday, September 27th, 2007

All the lowercase e's in my menubar are missing from all of OmniWeb's menus (except for Help, strangely enough). A blank space shows instead.

WTF?

And no, it's not just in OmniWeb (or, for that matter, my menubar):

Same goes for capital F and lowercase L in Mail's Activity Viewer window.

Appcasts on Google

Thursday, September 27th, 2007

If you publish an appcast, you should also publish a robots.txt file that tells search engines such as Google not index the appcast file. I came to this realization after searching for “appcast editor”: the first four hits, and several of the others, are all just appcasts.

There is no point to having these indexed by Google, so save the bandwidth and help people's search results—tell the search engines not to index them.

And I never did find an appcast editor. I guess I get to write it by hand in vim. (There's one in MacCode, but it's not working yet.)

UPDATE: I knew there was an appcast editor out there! It's Feeder, by Reinvented Software. Thanks to Andy Kim for pointing it out in the comments.

I do believe we have a record

Monday, September 24th, 2007
pngout \        %~/Projects/@otherpeoplesprojects/growl/trunk/Core/Resources(0)
> NotifyOSX.growlStyle/Contents/Resources/sidetitle.png 
 In:                             NotifyOSX.growlStyle/Contents/Resources/sidetitle.png
 In:   29644 bytes
Out:                             NotifyOSX.growlStyle/Contents/Resources/sidetitle.png
Out:     527 bytes               
Chg:  -29117 bytes (  1% of original)

My Simpsons avatar

Sunday, September 23rd, 2007

What I look like as a Simpsons character.

Part of the website for The Simpsons Movie; found on Chad Weider's blog.

Vacation numbers

Sunday, September 23rd, 2007
  • Days gone: 3
  • New mail messages: 75
  • New messages in RSS feed: 86
  • Miles driven (total): 133

Commercial Success

Tuesday, September 18th, 2007

Now on iTunes: An endcap with various songs from commercials. They've done this before, but this time, the first four tracks are from recent Apple commercials, including the one from the iPhone commercials.

zsh completion rocks

Monday, September 17th, 2007

Specifically, enable and configure zshcompsys. Here's what this will get you (6 seconds; 144 K; requires any version of QuickTime):

UPDATE 2007-09-18 11:54 PDT: More info in the comments.

Report-an-Apple-Bug Friday! 70

Friday, September 14th, 2007

This bug is Borken implementation of -setNilValueForKey: in Model Object Impl Guide. It was filed on 2007-09-14 at 12:24 PDT.

(more...)

Quickie: Bindings and KVV

Tuesday, September 11th, 2007
If you want Bindings to call your Key-Value Validation methods, you need to check the Validates Immediately checkbox in the binding editor in IB. In my case, this was with an NSTableColumn's value binding in an NSTableView.

A note about your WordPress blog’s tagline

Tuesday, September 11th, 2007

On the general options pane, there is a field labeled “Tagline”:

Tagline: cd prh && dd if=brain of=blog

The value shown in that field is WRONG WRONG WRONG!

You see, that's actually supposed to be HTML—or at least, such is the implication of the Atom template's use of bloginfo_rss to get the description. The difference between {get_,}bloginfo_rss and {get_,}bloginfo is that the _rss versions call strip_tags to take out any HTML and escape any non-HTML characters, such as &.

That wouldn't be so bad if strip_tags worked properly, but it doesn't—not on this host, at least. It leaves the second & in the above example unescaped. (“OK, I escaped that one. It must be the only one. I'm off to Subway!”)

As if that wasn't bad enough, WordPress doesn't escape the tagline field's value when putting it back into the field the next time you load up the Options pane. (It does if it's plain text, but not if it's HTML. Go figure.) So if you click “Update Options” again, your HTML goes bye-bye. You need to remember to re-escape it every time you save the General Options.

(Given that, maybe it's not supposed to be HTML after all, and the use of bloginfo_rss in the Atom 0.3 template is a bug.)

Want to know how I found this out? Because the RSS reader in Safari 2 (I don't use 3) was critically failing on the Atom feed. It was slurring posts together once it saw that an ampersand was not escaped.

Relevant versions:

  • WordPress 2.1.3
  • PHP 5.1.4 or so (I have no idea what version is actually running the blogs)
  • Safari 2.0.4/419.3

Blog spam count: 2007-08

Monday, September 3rd, 2007

Sorry I'm late with this. Here we go.

Spam comments blocked by Negative Turing Test in August 2007 (and September 1–3):

17,837

Looks like last month's lull was temporary. They're ramping back up.

Bad Behavior has blocked 250 access attempts in the last 7 days.