How to spell Hannukah, 2006 edition

Last year I posted Sixteen ways to spell Hanukkah, here’s an updated list showing this years counts for the various spellingsHanukkah Spelling Chart 2006:

36,515,976 total hits. Again, Google’s index seems to have grown quite a bit, the total number of hits is more than double the total from 2005. This file contains my Hanukkah spelling counts for the past three years.

Thanks again to Jeremy Blachman for posting the 2004 numbers.

Happy Hanukkah, see you again in 2007.

Mac Virtual Desktops

After playing around with Beryl on Ubuntu, I started really wanting virtual desktops on my Mac. Beryl maps the workspace to a giant cube, which you can then grab and toss around. Windows can be dragged from one face of the cube to another, it’s intuitive and feels as natural as moving a stack of papers to the other side of my desk.

A while back I’d tried out Desktop Manager, but found it sort of clumsy. The most recent version had the same issues as before. VirtueDesktops, while far more polished, has many of the same issues.

I don’t like keyboard shortcuts for window stuff, I like to use the screen and mouse to move things around. Having to switch from a dragging operation to a keyboard operation and then back to dragging is just too many shifts of state. Window management on multiple desktops should use the same action model as multiple physical monitors.

YouControl: DesktopsBy way of this comparative article from 2004, I found You Control: Desktops. Finally, someone got window management right. While that article seemed largely negative, I found YCD to be very polished and do nearly everything I was looking for. Window dragging between desktops just works. The popup pager is very well thought out and useful. Stability isn’t a problem. Unplugging my external monitor didn’t seem to cause any issues.

The only negatives I can come up with are:

  • no list of hot-keys. They’re easy enough to set, but sometimes I forget what I’ve set and shortcuts don’t show in visual palettes
  • No mouse-button binding options
  • Price. YCD is expensive, especially considering 2/3 of the competition is free and Apple will be introducing Spaces in Leopard.

This may be going onto my system full time, however because of the price, I’m going to really measure how much this affects my productivity before buying.

Dragging windows between desktops is huge, I can’t imagine using virtual desktops without it. If Spaces doesn’t can’t do dragging, this app might live on in 10.5.


The project formerly known as DarwinPorts has spent the past few months transitioning to MacPorts. The project is now hosted on Mac OS Forge, after OpenDarwin decided to shutdown.

Unfortunately, the project appears to be foundering. To be fair, they’ve undertaken several fairly huge architectural challenges including moving from CVS to Subversion, from BugZilla to Trac and of course from OpenDarwin to MacOSForge. All of these moves are non-trivial undertakings especially considering the amount of data they must have.

While there has been a lot of port maintenance activity on the Trac revision log, what worries me is the lack of traffic on the MacPorts developer mailing list and the lack of news on the project site.

Worst of all, there is no obvious dowload link. It wasn’t that the link was just misplaced or buried, they kind of didn’t make one for this release. The 3.5 screens of wiki installation info should be bad joke, especially since a package manager exists to make one’s life easier.

Thankfully, some of the devs know this, and while pointing out why no download link is a problem, also pointed out a far better installation path. Here’s a far better way to get MacPorts up and running:

How to install MacPorts

  1. Download the previous 1.3.1 dmg installer and install
  2. In Terminal, run sudo port selfupdate

That two-step installation should be prominently displayed on the MacPorts site.

Two caveats to the above: Install XCode and the Developer tools, you’ll need the C compilers that install with it. If it doesn’t work after the above, check your PATH and default shell. I’ve had the best luck running bash. If echo $SHELL returns something other than bash, change the default in Terminal preferences (or NetInfoManager). The installer should have added ‘/opt/local/bin:/opt/local/sbin:’ to the $PATH declartion in ~/.profile, if it didn’t, add it yourself.

Why bother with any of this?

If you ever need to install some disparate piece of Unix software, I can’t recommend a port manager like MacPorts strongly enough. Get over the “I built that from code” puffery because unless you’re an old-hand Unix jock it takes way too long to track down and build the zillion required libraries, repeat steps and figure out where everything went. A port manager takes all the guesswork out of the process and makes maintenance of installed software easy (while writing this, MacPorts upgraded dozens of installed components and libraries in the background). I’ve tried Fink previously, but preferred the simplicity of MacPorts. Either one will make your life easier.

Yes there are occasional bad ports, or applications that don’t behave and bugger up the works. These usually get straightened out and can be avoided by trailing the bleeding edge by a few weeks. I will default to a binary installer when they’re available, but for all those other tools, a port manager is essential.

Two little MonoBook styling hacks for MediaWiki

Recently, I’ve spent some time working with MediaWiki for Lila’s school’s web site. A small part of what I’ve been doing has been implementing an exisiting design onto the wiki backend. In an effort not to overcomplicate anything (think longevity) I built the entire design adaptation on the default MediaWiki MonoBook theme. Everyone who’s visited Wikipedia has seen what this looks like. Monobook is a very well constructed theme with clearly defined parts that degrade nicely without its stylesheets. So far, with the exception of these two small changes, I’ve able to do everything I needed to with the default page structure.

First change: Fixing bad portlet IDs

Editing Mediawiki:Sidebar allows for nearly complete customization of the sidebar links. Custom sections automatically get custom IDs which can then be styled. There is one thing that seems like a bug however: If a section heading has a space in it, the portlet ID will have an illegal name. Classes can have spaces in their selectors, but IDs can’t. Here’s what I did:

<div class='portlet' id='p-<?php echo htmlspecialchars($bar) ?>'>

and the new one:

<div class='portlet' id='p-<?php echo str_replace(' ', '_',htmlspecialchars($bar)) ?>'>

Simple enough, PHP’s str_replace is used to swap underscores for spaces. I’m still feeling my way around the MediaWiki codebase, so this might not be the best solution to the problem, but it does what it needs to with a very lightweight function.

Second change: Classes from page title

I needed to change the background of the globalWrapper element depending on the page, the way I accomplished this was to use the page-title. This has one initial drawback, namely that colons are not allowed in CSS class names. However the workaround above can be recast here with added benefit. Switching colons for spaces results in multiple class names, so namespaces can be styled too.

Here’s the old code:

<div id="globalWrapper">

And the new code:

<div id="globalWrapper" class="<?php echo str_replace(':', ' ', $this->data['titleprefixeddbkey'])?>">

This method would seem preferrable to adding a CSS import rule which would look for a custom-named file. Even though CSS load errors don’t break pages with visible 404 errors, they would slow down page loads and litter the server logs. Checking that the CSS file exists is somewhat costly, and I suspect MediaWiki’s cacheing isn’t something that can be quickly skimmed over and implemented.

There appears to be a pageCSS extension somewhere, the hooks are even specified in MonoBook’s header, but I couldn’t find a working download and CVS repository doesn’t seem to be working anymore.

Buy a Wii…

Buy a Wii and cute, giggling (French|Japanese|American) girls will flail around your generic apartment.

Nintendo’s Wii promotional site is brilliant. Cute giggling girls aside, these videos are really fun to watch. And effective as marketing too, because we’re immediately curious about what unseen thing these people are looking and smiling at.

Nintendo isn’t just marketing to non-gamers, they really did build this “with everyone in mind. My favorite videos were the kids in this family and this older couple, who go from stoic to ecstatic in about 5 milliseconds. Looks like fun, though I’d much rather being playing catch outside.

What can Sony and Microsoft possibly have to counter this? (Some aliens in a generic dark and smokey sci-fi world with big explosions and inexplicably ubiquitous crates everywhere?)

Another good thing about the Wii controllers is that they will force players to get up off the sofa or at very least hold their arms up. That means there will be fatigue and that mean it will be very difficult for kids to get as sucked in as the typical twitching thumbs console game. Which got me thinking:

In the near future, there will be a YouTube video showing how to play Wii without leaving the sofa. Players will demonstrate ways of using the controller with as little physical movement as possible.

Mark. My. Words.

Update Through a random stroke of luck I was able to play a pre-release Wii yesterday. Well, mostly Lila played but I got to work the menus. The Wii really is that good, this thing is going to own Christmas.

More on my next espresso machine

(continued from this previous post)

After more research, I’m switching my preference from the the Gaggia Classic to the Rancilio Silvia.

Finding Sweet Maria’s Rancilio Silvia page did a lot to sway me. They’ve got some very good close up pictures showing the parts, and as of July 2005, they have stopped selling the Gaggia Classic.

“We don’t stock the Classic model anymore, because I feel that the Rancilio Silvia is a better machine in the same price class. I am leaving the description for posterity sake.”

Even more exciting is the discovery that there is a Rancilio Sylvia modding community.

A modding community for an espresso machine.

That takes a minute to sink in. But there are people hot-rodding these machines all over the place: Precision digital thermostats. More digital thermostats, Add-on spare parts. Faster warmup tutorials. Collected tips and mods. Extreme mods from Taiwan.

And then there’s Randy Glass’ opus, Espresso! My Espresso!

The decision is mostly settled in my mind, but I’m going to give it a few more days before buying. I’d wait longer, but I’d like to be familiar with the machine before relatives arrive for Thanksgiving later this month.

Update: I bought the Sylvia, it should be here sometime Thursday.

Two-months later: Two months of great coffee

Buying a new espresso machine

After six or seven years of hard, dedicated service, my espresso machine is finally giving up the ghost. It’s a Starbucks Barista and made gallons of fantastic coffee over the years. I’d buy this exact machine again, but I’m feeling ready to move up to a commercial portafilter instead of the pressurized one this uses.

I make coffee at home because I drink a lot of it and I’d go broke if I had to buy it all. While writing this, I finished my third double-shot espresso of the day. So far. At a conservative average that’s $10 a day in coffee, and most days would be more. Saving $300-400 a month on coffee pretty much justifies any price for an espresso machine. A $500 machine will have absolutely paid for itself in just 6 weeks.

Super Automatic machines don’t interest me much, not just because they’re a fortune, but because they have too many moving parts to maintain and postpone maintenance. Additionally, we occasionally have roaches in our building, and NYC roaches love coffee. Having a reservoir of spent grounds on the counter would be inviting an infestation. Besides, I don’t like the idea of putting off cleanup for days: I make coffee, I clean up, I’m done.

I’m leaning towards a Gaggia Classic, because the reviews are universally excellent, it uses a commercial portafilter, isn’t too big, has a powerful pump and heats up quickly. I have a few reservations and I’ve been trying to find one to look at in person, but I’ve had no luck at stores near me, and I kind of hate shopping anyway. My three main questions:

  • What is the vertical clearance between the portafilter and the drip tray? (ie. will my preferred 3 inch tall cups fit underneath? My guess from pictures is about 2 5/8 inches — WLL lists the clearance as 3.25 inches, see note below)
  • Can the steaming wand be replaced with a bare metal tip?
  • How well sealed are the internals? (roach concern again)

I’m going to call Whole Latte Love when I get a minute and find out the answers. If you are shopping for coffee products, their site together with CoffeeGeek are incredible resources.

Update: I haven’t yet called Whole Latte Love, but I did find that they list cup height in their “Compare-o-matic” page. That lists the Gaggia as having a cup clearance fo 3.25 inches, though I’m not certain that measures the new spouted portafilter, which extends lower.

Next Page »