2 Posts for March 2009

Ada Lovelace Day: Gayle Laakmann

Posted March 24, 2009

Today, I just learned, is Ada Lovelace Day. The idea is that people write blog posts about women in technology that they admire, so I thought I’d join in.

I’ve talked about Gayle Laakmann tangentially in past posts, but this one is going to focus solely on her. Three years ago almost to the day, I signed up for Computer Science and Engineering 490. 490 is a “special topics” class; it’s the number the CSE department assigns to any class that’s offered temporarily and doesn’t fit anywhere else. The one I was taking was Software Design and Development,worked for Google. taught by Gayle Laakmann.

Gayle had recently joined Google after working at Microsoft. All the students were in awe; we had all just come through the intro CS sequence, so we knew how to program, but writing actual software that actual people would want to use seemed impossibly far-off. Gayle was someone who did that every day, and what’s more she was going to put us on the path to writing that sort of software ourselves.

Highlighting Ruby in haml-mode

Posted March 6, 2009

Along with Haml, I maintain the Haml language mode for Emacs. It’s reasonably featureful, including support for managing indentation, cutting and pasting nested regions (although by default there are no keybindings for this), and some syntax highlighting.

One thing it’s sadly lacked, though (until now!), has been support for highlighting embedded Ruby code in a reasonable manner. Emacs’ syntax-highlighting system, known as font-lock, is quite powerful and flexible, allowing all sorts of constructions to be highlighted using a reasonably straightforward, declarative syntax. On top of that, it ensures that even very large documents are highlighted as well as possible without parsing the entire thing.

Unfortunately, for all its flexibility, font-lock doesn’t include any mechanism for highlighting a subsection of the document based on different rules than the rest of the document. So what I had going for a long time was a cop-out: I had a few random Ruby items (instance variables, strings, etc.) manually coded into the Haml font-lock specification, and the rest of it just went unhighlighted.

MuMaMo