Jun 2007

WWDC Craziness

  • Meet new people (✓),
  • Catch up with fellow Aussies I haven’t seen in years (✓),
  • Go to parties (✓),
  • Behave appropriately at said parties (✓),
  • Use the phrase “Inconceivable!” inappropriately (✓),
  • Work on inspiring new code (✓),
  • Keep up with Interblag news (✗),
  • Keep up with RSS feeds (✗),
  • Keep up with personal email (✗),
  • Keep up with work email (✗),
  • Installed Leopard beta (✓),
  • Port code to work on Leopard (✗),
  • Successfully avoid Apple Store, Virgin, Banana Republic et al in downtown San Francisco (✓),
  • Keep family and friends at home updated (✓),
  • Mention the words “Erlang”, “Haskell” and “higher-order messaging” to puny humansfellow Objective-C programmers (✓),
  • Write up HoPL III report (✗),
  • Find and beat whoever wrote NSTokenField with a large dildo (✗),
  • Get food poisoning again (✗),
  • Sleep (✗),
  • Actually attend sessions at the conference ( ✗).


Linux Audio and the Paradox of Choice

Mike Melanson—a primary author of the Linux Flash plugin, xine, ffmpeg, and a general crazy-good multimedia hacker—on the state of Linux Audio APIs:

There are 2 primary methods of sending audio data to a DAC under Linux: OSS and ALSA. OSS came first; ALSA supplanted OSS. Despite this, and as stated above, there are numerous different ways to do the DAC send. There are libraries and frameworks that live at a higher level than OSS and ALSA. In the end, they all just send the data out through OSS or ALSA.

The zaniest part is that some of these higher level libraries can call each other, sometimes in a circular manner. Library A supports sending audio through both OSS and ALSA, and library B does the same. But then library A also has a wrapper to send audio through library B and vice versa. For that matter, OSS and ALSA both have emulation layers for each other. I took the time to map out all of the various libraries that I know of that operate on Linux and are capable of nudging that PCM data out to a DAC:

Barry Schwartz would be shaking his head, methinks. And yes, I’m well aware of efforts to unify this mess. That doesn’t excuse that this jungle has been the state of Linux audio for the past ten years. I love the comments too: instead of admitting how dumbass this is, they give suggestions for using even more APIs (“try KDE4’s Phonon! That’ll fix everything!”)… totally missing the amusing irony, and also missing the point that Mike needs something that works on as many Linux distributions as possible.


Today is a Good Day

First, fuel costs are down:

Second, I actually finished an entire tube of Blistex before I lost the stupid thing. I believe this is the second time in my life that this has happened:


Fourth, my personal inbox looks like this right now:

Zero messages, baby. Yeah! (Well, OK, my work inboxes still have a ton of messages… but zero personal mails left is really pretty nice.)

Plus, this is being published from Auckland airport, on the way to San Francisco. Not a bad day at all.


One-Minute Email Delay FTW

I reckon that after composing and sending an email, email programs should have a one-minute delay before it actually sends off your email to its recipients. I find that a lot of the time, I want to make one tiny edit to a message or forgot to say something—two seconds after I actually hit the Send button, of course.

A one-minute delay on all sent email isn’t going to kill anyone, and gives you a nice time frame to make that one last edit to your email before it goes out. (One of the nice things about working offline is that I after I compose an email, I can keep editing it until I rejoin the Intertubes, since my Outbox only gets processed when I go back online.)