Yehuda Katz

28 March 2011 30 Comments

Who is Yehuda Katz?

I’m not really sure how to answer this. I was born in Minnesota and grew up in Monsey, New York (a suburb of New York City). I went to college at Brooklyn College, where I ran the school newspaper and met my lovely wife Leah (who works with me at Strobe as Director of Marketing). I lived in Santa Barbara for a year before moving to San Francisco to work at Engine Yard. There, I worked on Merb, and then became a member of the Rails Core team after Merb was merged into Rails. Lately, I’ve been working at Strobe, where I am the Chief Technologist, and work on bringing SproutCore technology to the masses.

Where and when did you start programming?

I did my first programming as a child, in QBasic in MS-DOS 5. I wanted to get more lives in Nibbles, a Basic game that came with DOS. Since it was written in Basic, I had the entire source code for the game, and was able to find out where to change the code that ended the game when the user ran out of lives. I programmed a few very simple games for my family, and then didn’t program again until after college. After college, I got a job doing web site design, and needed to quickly learn how to do more than just HTML and CSS. This was in 2005, so it was right at the beginning of the development of both jQuery and Rails.

I got involved in both of those projects, and fell in love with the idea of open source. Open source gives us engineers a way to work together outside the narrow political sphere of corporate management. This allows innovations to spread quickly, and many times outpace even companies with thousands of engineers and billions of dollars.

Why Ruby?

When I started working as a programmer, DHH (David Heinemeir Hansson, the creator of Rails)  had just made the point that a lot of what we do on the web is the same sort of thing over and over again. Rails was a way to eliminate the drudgery that came with doing PHP or Java development by hiding the repetition. It also did more than other frameworks did at the time, by taking the position that a lot of things that developers think they want to choose on their own simply slows down the process. Two such cases are deciding the name of the column holding a foreign key, and deciding what to name the methods in your controller. Embracing REST took Rails a step further, defining a very standard way of building applications that worked well with the web’s infrastructure.

Ruby made a lot of this easy by allowing very high-level abstractions, including at the class level, and via a culture that embraced the open nature of the Ruby class structure. This meant that the Rails codebase was never really “done”, even when it shipped, and enterprising Rails developers built a lot of plugins that took advantage of this openness. This was very important for the early stage of the framework, and it helped us understand what kinds of things required more explicit APIs, which we built into Rails 3.

It’s easy to get caught up in negative feelings about the way people monkey-patch extensions into existing libraries in Ruby, but it helps a library or framework grow at a critical stage of its development.

How to become a good Rubyist?

The same way that you become a good developer: read and implement. Spend a fair amount of time learning about new ideas, whether they come from Ruby code, other languages or academic papers. When you find something that sparks your interest, go build something based on it. It might feel out of your league, but nobody ever became a better developer without trying out ideas that are outside their area of knowledge.

You favorite IDE. JS Framework?

I use MacVim (with Janus, https://github.com/carlhuda/janus) for day-to-day development. I use jQuery for its low-level DOM manipulation and its browser abstraction and SproutCore (which uses jQuery under the hood) for application development.

What does your typical day look like?

Way, way too much coding. I spend a fair amount of time reading Twitter, email lists and other communication to learn how users of my software are reacting. I try to provide timely responses to new users, and help interested developers get involved in active participation in open source. I personally believe that there are a lot of people out there who would love to participate in open source projects, but find it hard to get a grip on something (I was one such person!).

What do you do in your free time?

I like to watch movies and read books. My living room is set up with a large 100″ projection screen and a kick-ass media projector, a dream of mine since I was a child. I like to watch documentaries that teach me something I didn’t already know, and this often sparks an interest in books that go into more detail on a subject. If a subject is really interesting, I sometimes spend a lot of time reading the primary sources about it. I also like to fictional movies and read fictional books, especially Sci-Fi, although I much prefer the sci-fi of the 1990s to the sci-fi of today.

I’m a sucker for Disney movies, especially the movies written by Howard Ashman (Little Mermaid, Beauty and the Beast, part of Aladdin) before he died of AIDS in 1991. This is mainly because I really enjoy musicals, which don’t try as hard to be true to reality, and therefore represent a different kind of art form than the traditional live-action film. My wife says that this is a secret I should not tell people, but I’m a bad listener sometimes ;) Despite her saying that, I rarely watch Disney movies alone: truth is there are any number of secret fans in the OSS and development communities. I won’t name names.

Current favorite apps?

I love the Twitter app for the iPhone. Like Tweetie for the iPhone, the Twitter iPad app innovates in terms of UX paradigms in a way that most applications don’t do. I’ve pretty much switched to Chrome for the vast majority of my browsing, and love the work they’re putting into the Web Inspector, although I wish they would put a bit more time into UI polish.

What OS do you prefer?

OSX. It’s a Unix with polish.

Small picture for your Workplace?

Name something that has inspired you recently?

All of the protests across the world have reminded me that human beings fundamentally strive for self-determination, and those who attempt to hold that back are on the wrong side of history. Similarly, the tide seems to have turned in the United States in favor of the rights of gays and lesbians, which gives me faith that intolerance and hatred may eventually be relegated to a small group. In general, watching people fight for their rights from the comfort of San Francisco reminds me of how good I have it, and I find the successes of those struggling to be extremely inspiring.

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

Full-time employment gives me the focus and resources to get important projects to completion. Freelancing requires a certain amount of focus on the business side of things that can detract from long-term goals. That said, I think owning a non-trivial stake in the company you work at is a goal worth striving for, so that you get to help decide the direction of the company and make sure your goals are aligned with its goals.

What are your personal projects and goals for 2011?

I work on a lot of things. These days, I am working a lot on SproutCore; I want to make it extremely easy to pick up and use within the next few months (by the summer). I am also working on improving Net::HTTP (https://github.com/wycats/net-http) in a lot of technical ways that make a big difference in how it can be used. It’s a hard problem, and has been taking a lot of time, but it will give Ruby a robust library that we can use for virtually any HTTP usage.

I also want to try to get version 1.0 of Moneta (my abstraction library for KVS) out in the next month or so.

30 Responses to “Yehuda Katz”

  1. Matt Mitchell 28 March 2011 at 4:48 pm #

    Very interesting. Thanks Yehuda!

  2. Scott Bronson 28 March 2011 at 9:50 pm #

    “watching people fight for their rights from the comfort of San Francisco reminds me of how good I have it, and I find the successes of those struggling to be extremely inspiring.”

    Well said! Tried to retweet it but there was no way to make it fit. :)

  3. ryan 30 March 2011 at 4:19 pm #

    Nice talk! Thanks Yehuda!

  4. Zeno Davatz 18 July 2011 at 7:06 am #

    Excellent Interview! Thanks for sharing!

    Best
    Zeno

  5. grimen 21 July 2011 at 4:36 pm #

    Very interesting read – such a inspiring developer! *checking out wycats/net-http*

  6. Blackberry 23 December 2011 at 4:28 am #

    Nice talk! Thanks Yehuda!

  7. tour du lich sapa 3 January 2012 at 4:15 am #

    Very interesting. Thanks Yehuda!


Trackbacks/Pingbacks.

  1. The Geek Talk - 28. Mar, 2011

    Interview with Yehuda Katz http://bit.ly/ihHVga #Rails3 #Ruby #JavaScript #Jquery #Merb

  2. Alejandro González - 28. Mar, 2011

    Yehuda Katz partió modificando el juego Nibbles en QBASIC igual que yo http://t.co/fIhk5oo todavía puedo ser un grande entonces jajaja

  3. Raphael Shekwolo - 28. Mar, 2011

    RT @TheGeekTalk: Interview with Yehuda Katz http://bit.ly/ihHVga #Rails3 #Ruby #JavaScript #Jquery #Merb

  4. Hayri Cicek - 28. Mar, 2011

    RT @TheGeekTalk: Interview with Yehuda Katz http://bit.ly/ihHVga #Rails3 #Ruby #JavaScript #Jquery #Merb

  5. wycats - 28. Mar, 2011

    I answered some questions for thegeektalk.com if you're interested: http://t.co/BfMau3w

  6. Bulat Shakirzyanov - 28. Mar, 2011

    RT @wycats: I answered some questions for thegeektalk.com if you're interested: http://t.co/BfMau3w

  7. Carles Muiños - 28. Mar, 2011

    RT @wycats: I answered some questions for thegeektalk.com if you're interested: http://t.co/BfMau3w

  8. Ash McKenzie - 28. Mar, 2011

    RT @wycats: I answered some questions for thegeektalk.com if you're interested: http://t.co/BfMau3w

  9. Timothy Klim - 29. Mar, 2011

    RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  10. jQuery Bot - 29. Mar, 2011

    via @TimothyKlim RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  11. Michael Davis - 29. Mar, 2011

    RT @jQueryBot: via @TimothyKlim RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  12. Michael Davis - 29. Mar, 2011

    RT @TimothyKlim: RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  13. Yukihiro Matsumoto - 30. Mar, 2011

    Yehuda Katz Interview | The Geek Talk http://t.co/mXtwgPI #en

  14. Joseph Ku - 30. Mar, 2011

    RT @yukihiro_matz: Yehuda Katz Interview | The Geek Talk http://t.co/mXtwgPI #en

  15. Richard Lee - 30. Mar, 2011

    RT @yukihiro_matz: Yehuda Katz Interview | The Geek Talk http://t.co/mXtwgPI #en

  16. Marcello Barnaba - 30. Mar, 2011

    r Yehuda Katz Interview | The Geek Talk http://t.co/mXtwgPI /via @yukihiro_matz /cc @nhaima @techdoer @velenux @fabriziov #ruby #in

  17. Vadim Rachko - 30. Mar, 2011

    RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  18. saks - 30. Mar, 2011

    RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  19. Kanat Gailimov - 30. Mar, 2011

    RT @saksmlz: RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  20. Michael Davis - 30. Mar, 2011

    RT @saksmlz: RT @thegeektalk: Yehuda Katz #JavaScript #Jquery #Merb #Rails3 #Ruby http://bit.ly/ihHVga

  21. Yasumasa Ashida - 30. Mar, 2011

    RT @yukihiro_matz: Yehuda Katz Interview | The Geek Talk http://t.co/mXtwgPI #en

  22. I'm tama, Bitch. - 05. Apr, 2011

    これも読みたい http://thegeektalk.com/interviews/yehuda-katz/

  23. Uchio Kondo - 05. Apr, 2011

    RT @repeatedly: これも読みたい http://thegeektalk.com/interviews/yehuda-katz/

Leave a Reply