Up your boxed mac & cheese game

Macaroni and cheese remains my ultimate comfort food, but I generally don’t have the time to do it right. This variation is a decent compromise between the convenience of boxed mac & cheese and the awesomeness of the made-from-scratch variety.


  • 1 box of mac & cheese (I’m partial to Annie’s Shells and Aged Cheddar, but to each their own)
  • 1 tbs butter
  • 1-4 tbs milk (plain soy milk works, too)
  • 2 vegetarian sausage links (hereafter referred to as soysage)
  • 1/2 cup frozen peas
  • 1-2 dashes of your favorite hot sauce
  • 1 tbs kosher salt
  • Black pepper to taste


  1. Bring at least 2 quarts of water to a boil, add salt, then stir in the macaroni. The idea here is to salt to water so that we’re also partially salting the pasta.
  2. Follow the package’s directions for cooking time. About 2 minutes before the pasta has finished cooking, add in the frozen peas. If necessary, kick the heat higher to get it back to a boil.
  3. Zap the soysage links in the microwave for 1 minute, then slice into 1/4″ pieces. By this point, the pasta+peas should be done cooking, so remove them from heat and drain.
  4. In the same pot you cooked the pasta in, melt the butter over low heat. Once melted, add 1 tbs of milk, a couple of dashes of hot sauce, and the cheese packet. Wisk together until smooth. If it’s too clumpy, keep adding more milk, 1 tbs at a time until you’re happy with the sauce’s consistency. Finish it off with a few grinds of black pepper.
  5. Stir in the pasta+peas+soysage. Admire your handiwork, then eat it.

Mac & Cheese++

iCloud and Outlook: Installation Order Matters!

Nice work, nVidia. Today marks the third time in three years I’ve had to send my Mac back to Apple to replace one of your faulty GPUs. What the hell happened?

I spent the morning setting up an old Windows box so I can at least keep up on e-mail while my Mac gets a less-broken logic board. Figured this would be a good chance to checkout iCloud on Windows, so I downloaded it, installed it, and then installed Outlook 2010. Went into the iCloud control panel, told it to synchronize my Outlook Contacts, and… no. Got this useful error instead:

Error: 0x8004010F: ZebraMapiCopySession::CreateMobileMeMessageStore: CreateMessageService failed

What the hell does that mean? Turns out, it means that you shouldn’t install Outlook after iCloud; you need to install Microsoft Office first. Uninstalling and then re-installing iCloud fixed the problem. Now I’ve got my calendar, contacts, and e-mail all showing up nicely in Outlook. Which would be awesome, except—it’s still Outlook.

And Apple? Your error messages could use some work…

Apple TV and iTunes Match

My 3rd generation Apple TV (with iOS 5) has some problems streaming media. First noticed it with NetFlix; the stream would pause for about 30 seconds every couple of minutes. iTunes Match had a different problem; after playing about 10 minutes of music, the screen would go blank (my TV started searching for different inputs, so I think the Apple TV’s output signal completely died), then return to the Apple TV home screen. I haven’t had any problems using NetFlix or iTunes Match on my computer, so I assumed the wifi (an Airport Extreme) and Internet connection weren’t to blame.

Finally seem to have tracked down the problem (or at least, one of them): it’s something in the Dolby Digital output. Go into Settings/Audio & Video/Dolby Digital and change the value to Off. I have my Apple TV hooked up to a receiver via an optical cable, so I’d turned this setting on to get surround sound. Since disabling, I’ve been able to listen to entire albums on iTunes Match for the first time—they had never made it past the 10 minute mark before. Here’s hoping a software update will fix this issue and restore the surround sound feature…

Update: Spoke too soon—just dropped the audio stream again, though it’s definitely not happening as consistently as before. *sigh*.

New look!

Finally gave this old site something of a make-over. Most of my energy these days goes into research, art, and music, so I’ve made space for those topics and removed all of the old, long-unloved software projects. They were mostly just gathering bit-dust here, anyway—the successful ones found new homes years ago.

So, if you came here looking for something specific but keep hitting 404’s trying to find it, drop me a line. I’ll point you in the right direction.

Yet Another WordPress Flash Uploader Problem (with solution!)

This was a new one for me. Every time I tried to upload a photo to a WordPress site, I received a very informative “HTTP Error” message while the upload progress bar read “Crunching…”. Thanks in part to the stunningly generic error message, it took a while to figure out exactly what was going on.  The problem, it turns out, was HTTP authentication; I had enabled Apache’s basic HTTP login for the site, but being a plugin, Adobe Flash was not similarly authenticated.  So, trying to use the Flash-based image uploader kept silently failing because it couldn’t authenticate with the server.  The fix is simple: just tell Apache not to use authentication for the script that handles Flash-based uploads.  You can do this by modifying the .htaccess file in the root of your WordPress directory like so:

<FilesMatch "(async-upload.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none

StrayLight Photography

I’ve been meaning to revamp the photography section of this site for a while now; this weekend, I finally found the time to do it. I registered a new domain, straylightphotography.com, and put together a portfolio consisting of my 20 favorite shots (<shamelessPlug>many of which are currently on display at Interzone through February 28th!</shamelessPlug>). I’m hoping to quickly expand the site with themed portfolios (portraits, urban decay, etc.), but… first things first.

Also, the new portfolio has been an excuse to play with CSS3 and jQuery 1.4.  Visitors using Firefox, Safari, Chrome, or Opera should see a site that behaves like it was created with Adobe Flash, but is fully accessible and doesn’t require the proprietary Flash plug-in.  Visitors using Internet Explorer… well… it at least degrades cleanly.  Mostly.

Mapping Caps Lock to Control without Admin Access

Somewhere along the line, I picked up the habit of mapping the otherwise utterly useless caps lock key to act as another control key.  If you’re an Emacs user, this is sort of critical to avoid the wrist strain of constant pinky-stretches to the lower-left corner of the keyboard.  Its become second nature now, so when I recently found myself working on a Windows-based lab computer where caps lock actually performed as-advertised, the result was a lot of code THAT lOOKED LIKE thIS.  Unpleasant, to be sure.

Linux and Mac OS X make remapping this key extremely easy.  System Preferences on the Mac and the GNOME keyboard control panel on Linux include a simple option to enable.  Tada!  No more wasted space west of ‘A’.  Windows, of course, is a different beast.

The good news: there’s a very simple registry hack to remap caps to control.  Seriously, it’s floating all over the internet.  Except, there’s a wrinkle–you need administrative access to edit the HKEY_LOCAL_MACHINE registry tree, which is what all of these hacks do.  For whatever reason, our school has decided computer science graduate students aren’t to be trusted with administrative access to their own computers [another rant for another time], so what’s a wrist-strained user to do?

Muck around in the Windows registry, of course!  It turned out to be pretty straight forward.  There’s a duplicate of the keyboard mapping registry key under HKEY_CURRENT_USER, which non-administrators can modify, and it appears to behave exactly like the key under HKEY_LOCAL_MACHINE.  So, for anyone in a similar position, here’s the registry key to modify:

HKEY_CURRENT_USER→Keyboard Layout→Scancode Map =

You can download a registry update file here.  Save it to your computer, double-click it to update your registry, then reboot and enjoy your vastly-improved keyboard.

Won’t be the Same Guitar Chords

Of all the Dance Hall Crashers tunes to not be transcribed, I can’t believe this is one.  Was one.  I worked out the album version the other day, still trying to put together a decent acoustic arrangement.

C G Dm x2

C            G                   Dm
It's morning two and you haven't called me
C           G                   Dm
It's like a thorn burning in my side
C        G                        Dm
Open the blinds, but something is different, can't put my finger on it
C                G                  Dm
The bright clean air makes me wanna hide
Am     G       F
'Cause now, oh now, this is how it ends
Am       G        F
Based on promises that we'll still be friends 

C                 G            Dm
But ba da, ba da, ba ba ba da, I know it'll never be the same
C             G            Dm
Ba da, ba da, ba ba ba da, now it's all been broken
C             G            Dm
Ba da, ba da, ba ba ba da, I know it'll never be the same
C             G            Dm
Ba da, ba da, ba ba ba da, you know I'd still do anything for you 

Where is the day you used to inspire me?
Where is the time I used to depend?
On the relief of your anchor I thought I'd never need
Now that it's gone, will I slip away?
So now, oh now, this is how it ends
Based on promises that we'll still be friends

But ba da, ba da, ba ba ba da, I know it'll never be the same
Ba da, ba da, ba ba ba da, now it's all been broken
Ba da, ba da, ba ba ba da, I know it'll never be the same
Ba da, ba da, ba ba ba da, you know I'd still do anything

F       C
This is only a letter
F       C
Jumbled words, no false pretense
F        C
And it's not a true confession
'Cause you've cost me much more than you'll ever guess
F                C
But I'm not your fallen hero
F           C
Someone who came to your defense
F                 C
And when it's all done and over
I'll make it, I'll make it, I'll make it, I'll make it make sense 

C G Dm x2

C          G
Know it'll never be
Know it'll never be
C          G
Know it'll never be
Know it'll never be

Ba da, ba da, ba ba ba da, I know it'll never be the same
Ba da, ba da, ba ba ba da, now it's all been broken
Ba da, ba da, ba ba ba da, I know it'll never be the same
Ba da, ba da, ba ba ba da, you know I'd throw it all away