Nathan Weizenbaum

7 December 2010 8 Comments

Who is Nathan Weizenbaum?

I’m a coder from Seattle. I recently graduated from the University of Washington with B.A.s in Computer Science and Philosophy; now I’m working at Google Seattle on offline Gmail. I’ve worked on Haml since late 2006 and Sass since it was created in 2007. I’ve been the lead developer for both for most of that time. When I’m not working on Gmail, Haml, or Sass I hack around with various Ruby, Javascript, and Emacs Lisp projects.

Where and when did you start programming?

Other than a little dabbling in programmable graphing calculators, my first real programming was done in the introductory Computer Science course at the university. It was taught in Java, but that summer (at the encouragement of my Software Design and Development instructor) I started checking out the world of open source and stumbled upon Ruby.

Why HAML?

Haml was actually the first open-source project I contributed to. The first summer after I learned to code, I was looking around for open-source projects that I could contribute to, and I saw a post on the Rails mailing list about a new template language. Since it was a very young project, I was able to find some improvements I could make, so I submitted them. That’s how I got started working on Haml.

As to why Haml is a good choice for users, I’ve always believed that it’s an aesthetic decision. Although Haml does make some things easier than ERB (like automatic HTML escaping or embedding other languages like Markdown), either a person or a team likes the compact, whitespace-aware syntax or they don’t. If they do, Haml’s a great choice because it’ll make their HTML easier for them to read, faster for them to write, and closer to the structure of the document. If they don’t like the syntax, though, HTML is a fine (if repetitive) syntax as well.

A more interesting question, I think, is “why Sass?”. Sass started off being an aesthetic improvement over CSS, like Haml is to HTML, but since version 2 or so it’s been much more than that. These days, Sass offers far more than an aesthetic improvement to how CSS is written. It provides the ability to create (and share!) abstractions in CSS, which makes it quadratically more maintainable and readable, as opposed to the linear increase offered by Haml. This is why we introduced the CSS-superset SCSS syntax: because Sass was more than its indented syntax, and we wanted to make that available to everyone.

What does your typical day look like?

During the week, I arrive at work usually some time between 10:30 and 11:30. I spend the day hacking on Gmail or Google Closure. I do my work on Haml and Sass at home in the evening or on weekends. I don’t spend as much time on them as I’d like, but I do work on them one or two days a week. At home and at work I try to keep an eye on the Haml and Sass IRC channels, as well as any StackOverflow questions about them.

What do you do in your free time?

I like to read books, watch movies, and hang out with friends. Every now and then I’ll find a video game that engages me; currently, I’m playing through Kirby’s Epic Yarn. And of course free time is when I work on Haml and Sass.

Current favorite apps?

The apps I use most are without question Emacs, the Awesome window manager, and browsers (I split time about evenly between Firefox and Chrome). Of those, I think Emacs brings me the most joy; there’s just nothing that compares with having a tip-to-tail programmable editor. Awesome is also deeply programmable, and I’m a big fan of the tiling paradigm for windowing.

What OS do you prefer?

Linux. Specifically, I use Ubuntu, although I haven’t tried other distros to a great enough extent to know whether I’d prefer them. I find it unpleasant to do serious work without a tiling window manager and a terminal that can pass my key chords through to Emacs; it feels clunky and slow. The user interface I want is one that lets me do what I want to do as quickly as possible.

I do boot into Windows on my home desktop for games and NetFlix, but I wouldn’t if I didn’t have to.

Small picture for your Workplace?

My workplaces both at home and at work are too messy for me to take a picture without embarrassment, so I’ll try to describe them. Neither is particularly special: a reasonably large monitor, boring keyboard and mouse. I usually have a laptop around in case I need portability (or a build is slowing down my desktop). At work, I have a pile of notebook paper to one side covered with notes I’ve taken to work out a tricky problem or remind myself the next day what I was thinking  about.

Favorite: Color, Font, Language, JS Framework?

My favorite color is definitely blue. I can’t say I pay enough attention to fonts to have a favorite; my aesthetic sense leans in different directions. It’s hard to say what my favorite language is… I’m certainly most proficient in Ruby, but every time I have a chance to use Lisp it brings me great joy. Even the relatively grungy Emacs Lisp is a dream to code in. I keep looking for a project to do in Clojure to see how that feels as well.

For JS frameworks, I’m a big fan of JQuery. It’s both concise and clear, which is a hard balance to strike. That said, at work I’ve been using a lot of Google Closure, and for gigantic projects like Gmail the organizational structure it imposes and the large standard library it offers can be very nice.

Name something that has inspired you recently?

I’m pretty inspired by the success of CoffeeScript. I think it shows that there’s a growing appetite out there for languages in the vein of Haml and Sass that add syntax and features to existing languages, while maintaining relatively direct semantic parity. I’d love to see this sort of thing become more prominent and widely-used.

What do you prefer (and why)? Freelance work or full time employment?

Currently, I’m quite happy with my full-time job. I get to be around lots of smart people and work with code that astounding numbers of people use every day. I think if I weren’t working at Google, I’d probably want to spend the majority of my time on Haml and Sass.

What are your personal projects and goals for 2011?

I want to make Sass more accessible to designers. Ultimately, I want it to be usable without ever touching the command line. There are also numerous improvements I want to make to the language. I’m hoping for two major releases in 2011.

I’m also working on a package server for Emacs Lisp, and I’d love to see that catch on.

8 Responses to “Nathan Weizenbaum”

  1. Jeremy Carlson 7 December 2010 at 4:02 pm #

    Wish the interview was longer and asked more questions about Sass. Nathan mentions that he wants it to be usable without the command line. Does that mean he is going towards something like LESS.js?

    I really hope Sass can become more widespread than it is. It is a dream writing CSS using it.

    Nathan, I don’t know how you have time to do everything you do, but those of us that use Sass really appreciate what you have done. Keep up the great work! I also didn’t realize you were that young (which I am assuming because you just graduated).

  2. Nathan Weizenbaum 7 December 2010 at 4:19 pm #

    Jeremy: The direction we’re looking into is less like less.js and more like a graphical interface for using Sass. Part of this would be a graphical installer that takes care of installing Ruby, Sass, and Compass without the user having to touch the command line.


Trackbacks/Pingbacks.

  1. The Geek Talk - 07. Dec, 2010

    Interview with Nathan Weizenbaum @nex3 http://bit.ly/fi7iYv #Google #HAML #Sass #Lisp #Ruby #CoffeeScript #Github #Java #JS

  2. Chris Eppstein - 07. Dec, 2010

    RT @TheGeekTalk: Interview with Nathan Weizenbaum @nex3 http://bit.ly/fi7iYv #Google #HAML #Sass #Lisp #Ruby #CoffeeScript #Github #Ja …

  3. Allen Shi - 07. Dec, 2010

    RT @TheGeekTalk: Interview with Nathan Weizenbaum @nex3 http://bit.ly/fi7iYv #Google #HAML #Sass #Lisp #Ruby #CoffeeScript #Github #Ja …

  4. Jeremy Carlson - 07. Dec, 2010

    RT @TheGeekTalk: Interview with Nathan Weizenbaum @nex3 http://bit.ly/fi7iYv #Google #HAML #Sass #Lisp #Ruby #CoffeeScript #Github #Ja …

  5. Nathan Weizenbaum - 07. Dec, 2010

    RT @TheGeekTalk: Interview with Nathan Weizenbaum @nex3 http://bit.ly/fi7iYv #Google #HAML #Sass #Lisp #Ruby #CoffeeScript #Github #Ja …

  6. Jiang Wu - 07. Dec, 2010

    RT @TheGeekTalk: Interview with Nathan Weizenbaum @nex3 http://bit.ly/fi7iYv #Google #HAML #Sass #Lisp #Ruby #CoffeeScript #Github #Ja …

Leave a Reply