Peepcode sponsors akitaonrails.com

Chatting with Hongli Lai and Ninh Bui (Phusion)

AkitaOnRails / 06.May.2008 at 09:39pm

Hongli Lai and Ninh Bui, from Phusion, shaked the Rails world a few days ago. They unleashed the Holy Grail of Rails deployment: mod_rails which was received with much fanfare, and they deserved it.

They finally settled the big issue that embarrassed Railers in the past. This will also relieve dozens of hosting services that were clueless on how to solve this equation. Now, those two computer science students are above them all with this clever solution. And they have more to come.

I was very fortunate to be able to interview them. I think this is the second interview, InfoQ broke the news first with this other interview which I highly recommend to understand more of the inner gears of Passenger. They are very easy going and it was a pleasure to talk to them.

Read the Rest

Peepcode sponsors AkitaOnRails.com

AkitaOnRails / 03.May.2008 at 07:38pm

I’m very happy to announce that Geoffrey Grosenbach, from TopFunky/Peepcode, kindly offered to support my weblog! I can’t express how much I appreciate this as it indicates that I am in the right direction. I’ve always recommended Peepcode screencasts because they are high quality and I will still recommend them for the same reason: quality. Actually I bought every single item they released so far and enjoyed them all.

Geoffrey also supports many other great blogs like Ryan Daigle, Wanstrath & Hyett, which are great.

I’ll finally be able to replace that ugly Google ads with something way more meaningful now. There are still remaining details between us, but as Geoffrey is someone I totally trust, I decided to already take the Google ads off right away.

Thanks Geoffrey!

Advice for Young Ruby Programmers

AkitaOnRails / 29.Apr.2008 at 02:45am

Satish Talim, from RubyLearning fame forwarded me 2 question from one of his students.

So I went to to write a few advices for him. Without knowing his level of expertise I tried to encompass tips for young programmers in general.

I hope it makes sense. Feel free to comment and ask questions.

Goruco 2008 - more Confreaks videos

AkitaOnRails / 28.Apr.2008 at 08:34pm

Confreaks just released a new batch of awesome videotaped keynotes from the Goruco 2008 conference held in New York City. If you were not able to attend, that’s our second chance to take a look on what the community is doing.

I am particularly interested in Bryan Helmkamp’s keynote on Story Driven Development with RSpec, as I am myself trying to learn the user stories feature. I can bet Chris Wanstrath’s keynote on ParseTree is a lot of fun as well.

And if you also missed MountainWest RubyConf 2008 as well, don’t miss the videos there!

It is only RailsConf remaining to be taped! It is a waste of resources not to do it like that as we all around the world would immensely benefit.

mod_rails 1.0.2 to be released today!

AkitaOnRails / 28.Apr.2008 at 07:06pm

I was just told by the Phusion guys that mod_rails 1.0.2 is going to be released today! Keep an eye on it. And if you didn’t do so, donate for the Ruby Enterprise Edition program (I am in the second batch already!)

Update 04/30: As I have said, Phusion released 1.0.2 with lots of features explained in their new corporate blog. New features include support for OS X’s built-in Apache, support for Rails below 2.0, more stability, a new tool to measure real memory usage (‘ps’ doesn’t convey the true memory), improved documentation, improved SSL support, and more.

Chatting with Chris Wanstrath (Err the Blog/Github)

AkitaOnRails / 21.Apr.2008 at 07:12pm

Chris is a very accessible and easy-going guy, and I just got him out of AIM and started the interview right away. For those of you who never heard of ‘Chris Wanstrath’, he is also known for Err the Blog and recently as one of the guys behind the Github phenomenon.

He answered everything in color detail and we speak a lot about his open source projects, performance, scalability and, of course, lots of Git and Github stuff. Hopefully it will make people even more excited with how the Ruby/Rails community is moving things forward all the time.

aos leitores brasileiros: assim que tiver tempo irei traduzir esta entrevista.

Read the Rest

New Rails Hip App released: just-remind.us!

AkitaOnRails / 17.Apr.2008 at 06:35am

My good friend Vinicius, from Improve IT, and his team of ‘carioca’-Railers just released a new Ruby on Rails web application called just-remind.us. Let me explain what it is:

Just-remind.us is the place to share personal information with a group of friends — the kind of info that you’d rather not expose on a social network, like mobile phone number or e-mail address. It’s like a bulletin board: anyone can place short cards containing some personal info. To begin having fun, create an new group for your social circle and add some cards. The group name will be shared by you and your friends, so everyone can collaborate. Why? Because on a real bulletin board, you can add new cards, or change information in an existing one, even if it was created by a friend. We like this freedom and simplicity. That’s the way just-remind.us is. Only one login and password for the whole group. You log in and see all the cards in one page. Anyone can update any card. It’s that easy.

Enjoy!

Off-Topic: Google App Engine e Cloud Computing

AkitaOnRails / 13.Apr.2008 at 01:27am

Assim como Web 2.0, outro termo usado o tempo todo é Cloud Computing. Muita gente usa para designar muitas coisas. Outro termo usado como sinônimo – mas não sendo exatamente a mesma coisa – é Web Services (não o padrão XML), que na realidade não é nada novo, é o que antigamente chamávamos de ASPs (Application Service Providers). Exemplos disso são serviços como Basecamp para gerenciar projetos sem que a empresa precise gastar em manutenção ou mesmo seu Webmail favorito. São serviços online onde você paga para não precisar se preocupar com infraestrutura. É um tipo de outsourcing de serviços.

Esta semana o Google causou um pequeno furor ao lançar sua resposta a Cloud Computing: o Google App Engine. Vocês podem ver um review do Techcrunch aqui. Mas o que é Cloud Computing? Antes de mais nada, vamos explicar os termos mais usados no mercado:

Read the Rest

Interviewed by FiveRuns

AkitaOnRails / 04.Apr.2008 at 01:31pm

Monday, Apr 1st, I was invited to participate in a series of interviews being published at FiveRun’s blog, called TakeFive. It was just published.

Thanks a lot for FiveRuns for choosing me, I am flattered as I don’t yet consider myself in the same luminary league as Chad Fowler, Peter Cooper, Pat Eyler, Satish Talim and all the others in the series. I hope to get up there, though :-)

This series revolves around 5 questions out of 15 that I could choose. Being prolific – as you well know – I actually answered all 15 of them. So I will publish here the remaining 10 that didn’t make into the interview. Hope you like’em.

Read the Rest

ActiveResource incomplete

AkitaOnRails / 25.Mar.2008 at 06:24pm

Last week I presented ActiveResource’s capabilities to some friends.

In summary, it’s a great library, but not perfect just yet, and should improve in the next versions. On the other hand, the majority of ‘REST’ APIs available – as they say – are not actually RESTful. Flickr and YouTube come to mind. Check out this link to learn on how to talk to Twitter. This other link to learn how to extend ActiveResource for non-REST APIs and this link to understand how to consume YouTube feeds.

But besides that I found out a small surprise: ActiveResource is documented in a way to imply that it has working client-side validations, but it’s not fully implemented! So I decided to investigate what would it take to have it working.

Read the Rest

Chatting with Scott Hanselman

AkitaOnRails / 18.Feb.2008 at 09:45am

This week I interviewed another person from the Microsoft camp, Scott Hanselman. I know him from his podcast Hanselminutes. In one episode he interviewed both Martin Fowler and David Hansson at last year’s RailsConf, a truly remarkable conversation.

He also posted a great screencast about Microsoft’s new alternative MVC framework and I thought it would be great to have him at my blog to talk about technology and web frameworks. As I said before I think that we should not become alienated about what’s going on in other fronts and Scott is a very forward thinking and open minded person as well.

Read the Rest

FreeImage on Leopard. Problems Installing 3.10.0

AkitaOnRails / 12.Feb.2008 at 07:53pm

If anyone is trying to install the ImageScience gem (sudo gem install image_science) for your Rails projects, and used MacPorts, you might be having strange problems. The usual command:


sudo port install freeimage

Will fail miserably. That’s because the newest FreeImage port, version 3.10.0, is broken. If you check it out at /opt/local/var/macports/distfiles/freeimage/FreeImage3100.zip, the checksums are invalid as the port command states. I tried to download directly from sourceforge.net. But this zip is corrupted. Can’t unzip it manually. Dunno why.

Read the Rest

Chatting with Evan Phoenix

AkitaOnRails / 11.Feb.2008 at 08:42pm

It was Avi Bryant that evangelized the neat idea of “turtles all the way”, meaning that for a language to be called ‘complete’ it should be able to extend itself. So, the ideal world would have Ruby being extended in Ruby, not in C. JRuby goes as far as it can building up a sandbox for Ruby code to run under the JVM. As cool as it is, we still rely on Java to fully extend it.

Enter Rubinius and its author Evan Phoenix, currently a full-time employee for EngineYard. Rubinius borrows heavily from Smalltalk’s concepts of a virtual machine and does as little as possible in C just for the bootstrap and all the rest is developed over pure Ruby.

Rubinius answers lots of questions about going forward over the current Ruby MRI but also raises several other questions that I hope we can nail down today in this interview with Evan himself.

So let’s get started.

Read the Rest

RedeParede: Classifieds Service on Rails

AkitaOnRails / 07.Feb.2008 at 01:16pm

Last year we had our local event WebDevCamp SP’07, where Manoel Lemos, from the sucessful BlogBlogs introduced us to his friend James Crane-Baker, co-founder of the RedeParede (literally, “NetWall”), a classified Web 2.0 web-service written in Ruby on Rails.

Recently he got in touch with me about releasing his services APIs to the Rails community and therefore I decided to publish more about these Santa Barbara, CA based guys. They are credible people and James actually lived in Rio de Janeiro for a while, so he understands our Latin culture better than the average american, which is good as they plan to cover not only Brazil, but Latin America. I hope everybody can take a look at what they are doing as it sounds very promising, and success cases like this only augments the importance of our community as a whole.

So, here goes James himself explaining his product:

Read the Rest

Rolling with Rails 2.0 - PDF and High Quality Video

AkitaOnRails / 01.Feb.2008 at 12:01am

Hey, I finally decided to deliver a PDF version of my famous First Rails 2.0 Tutorial

So, here they go:

They’re not perfect but should suffice for those of you that prefer to have an offline version.

I also just uploaded the higher quality H.264 Quicktime video for you to download directly through Rapidshare.

Rejoice!

AkitaOnRails English Feed

AkitaOnRails / 30.Jan.2008 at 06:31pm

Hello folks! Finally, I added an English-only feed for all of you that only read english articles. For all of you that don’t know it: this is a brazilian portuguese oriented website, but I often write articles in both languages. Now you can subscribe to the feed that will notify you of english-written articles only. Rejoice!

Easy Restful Rails Screencast

AkitaOnRails / 25.Jan.2008 at 08:26pm

Update 28/01: Seems like myself and James Golick were in sync here :-) We both did screencasts at the same time. He just recorded one for his other great plugin “attribute_fu” and I did it for “resource_controller”. He posted both at his blog. Check it out.

This is my second try to make a useful screencast. I think my last one The First Rails 2.0 Screencast was reasonably good but far from good enough. I thank everybody that has seen it and helped making it one of the most successful pieces I’ve ever made.

I’ve been wanting to explore the Restful Rails concepts in a screencast. First and foremost, I highly recommend Geoffrey Grosenbach’s Peepcode screencast as one of the most comprehensive and easy to understand out there. My screencast is not nearly at the same level of quality or depth. But on the other hand I didn’t want to reinvent the wheel.

Watch the Video

  • Vimeo (Stream|Download)
  • Veoh (Stream Preview|Download)
  • RapidShare (High-Quality, 30Mb in RAR compression)
  • through UFRJ (High-Quality, 30Mb Download|many thanks to Marcos Tapajós and the University of Rio de Janeiro)

Read the Rest

Chatting with Hal Fulton

AkitaOnRails / 09.Jan.2008 at 09:27pm

The Ruby Way is the undisputed must-have book in any Rubyist bookshelf. Rather than being a ‘reference’ book it explains what it takes to really dive into the intricacies and marvels of the Ruby programming style.

Today I am very happy being able to engage in a conversation with one of my favorite authors, Hal Fulton. This was a great chat and I know people will be delighted as well. He is one of the Ruby veterans and certainly has a lot of experience to share. So, let’s start:

AkitaOnRails: First of all, it is a tradition at my blog to ask for the guest’s background. How long you’ve been at the programming career? How did you first get there? What inspires you about the computer world?

Hal Fulton: I started college as a physics major, but I found that I was taking computer courses for fun. I switched to computer science and the rest was history.

Unlike most younger people now, I never was really exposed to computers until I was sixteen, because personal computers were much less common then. I was hooked right away. I saw the computer as a “magic box” that could do anything I was smart enough to instruct it to do. Really I still feel that way about it.

Read the Rest

Chatting with Peter Cooper

AkitaOnRails / 04.Jan.2008 at 07:30am

Ruby Inside is one of the greatest Ruby/Rails website available and a great source of news. Its creator is the British entrepreneur Peter Cooper, also the author of the recently published book Beginning Ruby, from Novice to Professional, an excellent source for anyone willing to learn the Ruby language.

Peter speaks about Ruby on Rails, business, novices and, as a last-minute exclusive, he comments on the recent Nuclear Zed episode that shocked a lot of people in the community. Just to clarify, Peter answered my questions before New Years Eve, it’s only the last question that was added today.

Once again, I deeply apologize the brazilian audience because I didn’t have time to translate this into Portuguese today, but I will do very soon. Stay tuned.

Read the Rest

Zed is Not Dead

AkitaOnRails / 03.Jan.2008 at 08:44am

1/1: Wow, I am really honestly frightened! I just read this rather long rant from no other than Zed Shaw – creator of Mongrel who, for non-starters, is (was) the #1 in popularity at Working with Rails, just a little bit higher than DHH himself.

Two comments that TechCrunch selected were:

  • “This is exactly what makes Rails a ghetto. A bunch of half-trained former PHP morons who never bother to sit down and really learn the computer science they were too good to study in college.”
  • “With Rails I get scrawny cock suckers with carpal tunnel syndrome talking to me like they’re gonna eat my young. Their feeble PHP infected minds can’t grasp advanced shit like objects or closures. When you combine stupid businesses with stupid people using a stupid framework based on a big fat fucking lie on a shitty platform you get the perfect storm of dumbfuck where a man like me can’t find work.”

In the article he literally shows the finger to people like Kevin Clark, Dave Thomas, Chad Fowler, Michael Koziarski and even David Hansson! He claims to be abused by them and that the Rails market only offered him mediocre jobs. He also attacks ThoughtWorks. We have to admit, he has good points although we can disagree on the presentation.

That’s one true thing: programmers – specially those that become famous overnight – have their egos inflated exponentially. I don’t believe that the Rails Core Team is different. We can’t tell if Zed Shaw is right in every claim or if he exaggerated a lot. But I don’t believe someone like him simply woke up crazy today out of nothing. If he is angry, he has his reasons. Let’s watch how the community reacts in the next few days.

On the other hand, this is not exclusive in the Rails community. As I say all the time, Ruby on Rails is not a perfect technology. None is. Its creators are not perfect, they are human beings like you or me. It is the community that plays the major role in an open source project. Few can have the luxury to be both extremely smart and arrogant at once like a Linus Torvalds, for instance.

Take your own conclusions. Anyway, one Zed Shaw or one Kevin Clark doesn’t make Ruby or Rails worst. It is the Rails community as a whole who’s gonna decide how things go on. If the Rails Core Team really becomes unbearable one day, as Zed accuses them, and the community still believes that Rails is worth it, we always have the last choice of forking it (let’s just hope it is not the case).

Read the Rest

Chatting with Adrian Holovaty

AkitaOnRails / 01.Jan.2008 at 12:01am

Traducción en Español

As I promised after the Avi Bryant interview, here’s a great conversation with Adrian Holovaty, well known creator of the Django web framework written in Python.

For me this is an important piece because I always say that technology doesn’t have to be about divorce. Technology is about integration. I am a full-time Ruby on Rails developer and evangelist, but above all, I try to be a ‘good’ programmer. And good programmers acknowledge good technology and their creators achievements. And Adrian’s Django is such a remarkable achievement that deserves the attention and success.

So, as my very first post of the year (published at 0:01hs!), I would like to celebrate the great minds of our ‘development’ community, wishing that the good developers use their time creating great technology instead of wasting it in useless flame wars.

Read the Rest

Why Ruby on Rails?

AkitaOnRails / 27.Dec.2007 at 03:29am

For the last 3 years a lot of people have been asking “Why should one use Ruby on Rails when my framework X is clearly superior?” or something like this.

That’s a good question, raises a lot of good points but the way those discussions end are a real shame for the whole community to say the very least. I can’t praise myself too much either because I was part of some flame wars as well and I don’t like what I said in some occasions as well. Yes, I acted like a troll myself and for that I apologize.

Read the Rest

Chatting with Avi Bryant - Part 2

AkitaOnRails / 22.Dec.2007 at 06:36pm

If you didn’t read it, take a look at Part 1 where we get to know more about Avi Bryant and his amazing product Dabble DB. In Part 2 Avi goes a little bit more in elaborating his technology opinions and points of view. It’s a very insightful reading for every programmer.

As I always say – and Avi is competent pointing out -, Ruby has its drawbacks – most of them being improved on Ruby 1.9, JRuby and Rubinius. Avi gives us good reasons why Smalltalk is yet another great platform to learn, bringing back decades of evolution and maturity. So, here goes, the unabridged version of the interview.

And stay tuned! I hope to have Evan Phoenix, Hal Fulton, Peter Cooper and Adrian Holovaty as my next guests. Lot’s of material to begin 2008 in great style.

Read the Rest

Chatting with Avi Bryant - Part 1

AkitaOnRails / 15.Dec.2007 at 10:15am

Someone once challenged all other frameworks implying that no one would get close to what we are doing in Rails … except for Avi.Seaside is such a departure from the status quo that Avi himself describes it of a ‘heretic’ framework. And he is right. He looked back in history and took what is considered ‘the’ father – and arguably ‘the’ best implementaton – of object-oriented languages: Smalltalk.

Taking clues from the venerable Apple WebObjects he set his way to implement Seaside and his very successful web product, Dabble DB. Check it out who is the man, what are his opinions and why he is so relevant to the Ruby and Rails community even though he advocates another language and another framework. Sounds strange, but when Avi speaks, you listen.

He was very kind to provide me a very long interview. It is so long I divided it in 2 parts. This is the first Part. I will release the second one in a few days. Hope you all enjoy it.

Read the Rest

Rolling with Rails 2.0 - The First Full Tutorial - Part 2

AkitaOnRails / 12.Dec.2007 at 01:18pm

This is the continuation of Part 1.

For the Screencast that I did, that inspired this tutorial, click here

I am looking for volunteers who are willing to translate this 2 part tutorial into Brazilian Portuguese and someone that can convert this into nice PDFs for everyone to download. I will do it myself eventually but maybe someone else have more time to spare than me right now.

Hope you enjoy the ride!

Read the Rest

Rolling with Rails 2.0 - The First Full Tutorial - Part 1

AkitaOnRails / 12.Dec.2007 at 01:15pm

for brazilians: click here.

I am very happy to see that my Rails 2.0 Screencast was very well received. More than 1,500 unique visitors watched it. The idea was to showcase Rails 2.0 very fast, showing what is possible to do in less than 30 min.

Now, I will break that video down into its main pieces and create the very first full featured step-by-step tutorial around Rails 2.0.

Like any other tutorial, it doesn’t cover 100% of Rails 2.0, just some of its main features packed in a cohesive application. I recommend checking out Peepcode’s Rails2 PDF and Ryan Bates Railscasts.com for more details.

This is a 2 part tutorial, for Part 2, click here. And for the full source codes of this tutorial, get it here.

Let’s get started!

Read the Rest

The First Rails 2.0 Screencast

AkitaOnRails / 10.Dec.2007 at 02:57am

Page down for brazilian portuguese article

Disclaimer: This video is hosted at Veoh and can be re-linked to any website without modifying either the video or audio. I am uploading it to Google Video and Vimeo (recommended).

Update 12/12: For those of you that think I was too fast in the video, I just posted a Tutorial with most of the content you can see in the screencast plus a few bonuses. I’ve split it into Part 1 and Part 2. Enjoy!

The First Screencast

Rails 2.0 was released officially last friday and it was a coincidence because I would present a keynote about it at our local “Rio on Rails”: http://www.rioonrails.com.br event here in Brazil. In this keynote I first presented the Rails 2.0 screencast. Tonight I decided to replay it a second time and mix an english narration over it.

I didn’t do deep research but I think this is the very first Rails 2.0 screencast released – correct me if I am wrong. The inspiration was, of course, the Creating a Weblog in 15 minutes the original screencast by David Hansson that caused so much discussion and polemic and that ultimately made Rails recognized throughout the internet.

The irony is that David made the real time blog programming during his keynote at FISL (Forum Internacional de Software Livre), back in 2005 here in Brazil. At that time almost no one knew what Rails was all about and very few people attended it. Now, almost 3 years later I’d like to go full cycle over it and make the very first Rails 2.0 screencast available from Brazil again. I hope this time our local development community pay more attention.

This time Rails doesn’t have to prove itself: it’s already got past this part. 2.0 is not about revolution, it’s about a stable and steady evolution. It’s about refinement and polish, making for an even greater user experience. I am enjoying it very much.

Without further ado, here it goes:


The First Rails 2.0 Screencast from akitaonrails on Vimeo.

Read the Rest

Chatting with John Lam (IronRuby)

AkitaOnRails / 12.Nov.2007 at 04:37pm

It’s been a while since my last international interview, and I am back with no other than one of the responsibles for Ruby being enabled in the .NET platform. That’s correct, I’ve covering a lot about JRuby and Rubinius but we can’t neglect that one of the biggest platforms out there in the market is receiving the Ruby treatment as well. So I invited John Lam , who kindly answered several questions regarding this endeavor.

Remembering that IronRuby – named after IronPython, the first of the main open source dynamic languages built on top of .NET – is a true open source project, and also has a 3rd party addon for Visual Studio.NET, so programmers used to the VS.NET workflow can get onboard with a lower learning curve ahead of them.

Despite of opinions against Microsoft just for the sake of arguing, the fact remains that Java and .NET represent the biggest corporate development market today. And this is also a fact that the Ruby meme is spreading in a very fast way. Being built to run on top of both the JVM and the CLR represents Ruby being enabled for market niches that it wouldn’t reach otherwise, and this is huge win. I talked a little bit about this in my article (in portuguese): For myself to win, the other one has to lose. There are very intelligent people at Microsoft, John Lam being one of them.

Read the Rest

Chatting with Jamis Buck

AkitaOnRails / 03.Aug.2007 at 07:46pm

This is another big interview. This time with Jamis Buck, the programmer that helped David Hansson himself right at the beggining of Rails, at 37signals.

Today most renowned for his achievements in Capistrano and a lot of other Ruby libraries as sqlite-ruby bindings and Net::SSH. Jamis was very kind to give us the opportunity to know more about his career and the beginnings of the Ruby on Rails story.

AkitaOnRails: Ok, so let’s get started. first thing I always ask my guests: what’s your background? I mean, when, how, why did you start on computer programming? Did it began the classic way, as a hobby, or was it a more recent thing because of career or something else?

Jamis Buck: I started programming when I was in the 10th grade, when my mom got a brand-spanking-new Tandy personal computer. It had all of 20 megs of disk space, and came with GW-BASIC. I’d done some programming before, turtle-graphics and a bit of BASIC, but that Tandy was when I got serious about it. I taught myself GW-BASIC from the little reference book the computer came with and wrote a few simple games and utilities. Then I taught myself Turbo Pascal and Turbo C++ in 11th and 12th grades, and it’s gone from there :)

AkitaOnRails: Then you decided to go for CS in college? I read at your profile in WorkingWithRails that you’re a repentant Java programmer? How long have you programming in Java?

Jamis Buck: Yeah, I then jumped into Computer Science when I got to college. I graduated a bit late, in 1999, after working full-time for the university (BYU) as a programmer for a couple of years. That was where I did all my Java work. We were actually doing web-apps in C, which was not as insane as it sounds! But then we had a change of leadership when a new CIO came in, and he basically issued a blind mandate: “learn Java, ditch C!” So we had to massively retool and get certified and so forth. I was on the team that led the research into what Java tools we should use, and so got a lot of experience that way. I did Java work full-time there for about 2 years, until 37signals came along in Feb 2005 and made me a better offer, and I’ve never looked back!

AkitaOnRails: Wow, so you jumped right in from Java in the university to Rails at 37signals? This is a little earlier than I expected, but as you already mentioned it: how did you get in touch with the 37signals guys? How did you start on Ruby being so overwhelmed with Java before?

Jamis Buck: Well, I’d been involved with Ruby (primarily as a hobby) since about 2001. I’d written a few libraries, like the sqlite and sqlite3 bindings, and at RailsConf 2004, I met DHH. I did a bit of work at the conference there to make Rails speak to sqlite databases. After that, around November 2004, I think, David asked if I would be interested in doing some consulting for 37signals. In December and January I did a few odd jobs for them like adding SFTP and time zone support to Basecamp. And then in February they flew me to Seattle to attend the Building of Basecamp workshop there and they made me an offer.

AkitaOnRails: I understand that 37signals is a small company in terms of number of employees and most of its inner power comes from this very fact. Did it change much since you began, I mean, in the last 2 ~ 3 years? What did you like the most back then and what do you like the most right now?

Jamis Buck: Well, when I came on, I was the 5th employee, and the second programmer. Previous to my coming, David did all the programming and sysadmin work, so I think it was a big relief to him to have someone to share the load! About a year later, we hired two more programmers, and we’ve since hired two more people, including a full-time sysadmin. The changes have been for the better :) I like having a real sysadmin. I can’t tell you how much I hated being a sysadmin, since I had little idea what I was doing!

AkitaOnRails: You seem to be the kind of guy that like the kitchen-sink because you’ve been involved with ‘low-level’ stuff like sqlite-bindings, Net::SSH and so on. Is this the kind of thing that excites you the most? Or it’s just a coincidence and you actually rather do GUI work as well?

Jamis Buck: I actually swore, some years ago, that I would never be a web-app developer :) I’ve always preferred writing the tools as opposed to writing the apps. But I’ve really enjoyed writing web-apps at 37signals. The team is great and the toolset (Rails!) is amazing. I still do enjoy writing libraries (working on Net::SSH and Net::SFTP v2 right now, in fact) but apps aren’t so bad either :)

AkitaOnRails: But back then when you were literally second-in-command you didn’t have much choice, did you? I bet you did some of the Basecamp interfaces? And you mentioned that you didn’t like much of the sysadmin work because you didn’t know what you were doing, but now you probably are an expert because Capistrano rocks in this field. I remember it being called SwitchTower before. Can you tell us its story?

Jamis Buck: I’ve done quite a bit of the work on all of the apps, some more than others. I don’t actually write the UI’s (that’s the domain of Jason Fried and Ryan Singer), but I’ve plugged them in and made them work.

I learned a ton about sysadmin work from when I had to do it. I’m still a major newbie at it but I learned more than I ever thought I’d learn about how mysql really works, for instance :)

When I first released Capistrano, a year and a half ago or so, it was called SwitchTower, but around March 2006 I got a C&D from a company that had the name trademarked, and so I had to scramble for a new name. The Rails Core Team helped immensely at that time, they offered a TON of suggestions for names. Marcel eventually IM’d me and suggested “Capistrano” which just clicked for me and I went with it. I got some flack from some people, who thought the name was lousy, but I laugh now because most people that use cap today probably came to it after the name change and never knew any other name, and they don’t even think twice about it.

AkitaOnRails: You are probably very overwhelmed now because of the Capistrano 2.0 release. It is a major departure from the 1.4.1 if I understand correctly. You rewrote a lot of stuff, had to break backward compatibility. Do you feel you got what you wanted with this release or are you aiming for more in a 3.0 release?

Jamis Buck: Cap2 is pretty much just what I wanted it to be. There are few minor tweaks in the pipeline, but nothing significant. It is about 90% backwards compatible with Cap1, so most people should have no problems switching. And since the 2.0 release, the maintenance load for cap has been really small. I’m very pleased with it. I still need to get busy with documentation though :) That’s the thing that still holds a lot of people back.

AkitaOnRails: What is it that you like the most about cap? You obviously use it at your own deployments at 37signals. I fantasize you having a bunch of shell scripts more than a year ago and then weaving them together to build what was the first release of Capistrano.

Jamis Buck: Prior to SwitchTower/Capistrano, we had a tool that David had written for deploying Basecamp. Back then, Basecamp ran on a single server, so deployment was little more than “svn up”. Later, we moved Basecamp to multiple servers and launched Backpack, and we realized we needed something more powerful for deployments. So I was tasked with writing something and Capistrano was the result. The thing I like most about it is how it takes the tedium out of being a sysadmin. The “cap shell”, in particular, lets you immediately and easily execute arbitrary commands on multiple servers, simultaneously, which is really handy. Of course, “cap deploy” is nice too :)

AkitaOnRails: I remember one episode where David reported about a 72 hours glitch that let Basecamp out. Were you involved in that episode? :-) Headaches like this seems funny when you remember about them now, but obviously not so funny at the time.

Jamis Buck: ha, yeah, that actually happened a few days after I was hired :) We were adding UTF-8 support to Basecamp and the database migration did not go well. We pulled an all-nighter. Quite the introduction to 37signals’ culture :) Fortunately, that kind of thing hasn’t happened since, though we’ve had our share of other emergencies, of course.

AkitaOnRails: Lessons learned? I think that’s the most important outcome of these situations :-)

Jamis Buck: The main lesson I learned that time: when you’re mucking with charsets, make sure you test it on as many non-Latin1 alphabets as possible :) Naturally, we tested it a lot before we deployed, but we didn’t really think to check any Russian or Japanese data that was in our database after the test, which seems obvious in hindsight. We did try some non-Latin1 alphabets during testing but the ones we tried just happened to work in spite of the bugs. Another lesson learned: no matter how hard you prepare, something’s going to fall through the cracks!

AkitaOnRails: I headed a group of very committed volunteers and got your Getting Real book translated into Brazilian Portuguese a while back. I believe you were involved in it too? This book is iconic to picture the 37signals spirit I guess. Do you really move the way it’s written? :-)

Jamis Buck: I was actually not too involved in the composition of the book, though I gave some feedback during the writing process. But yes, that book describes our own processes. There really isn’t anything in that book that we don’t actually do.

AkitaOnRails: How do you operate? I believe that not everybody work in the same physical location? Do you do a lot of remote work? How many programmers/sysadmins/designers are there now?

Jamis Buck: Chicago is definitely the “heart” of 37signals: Jason, Ryan, David, and Sam all live and work there. We have an office there as well, and the Chicagoites go there pretty regularly to work (though they also work from home some, too) Matt Linderman is our writer, he lives and works in NYC. Mark Imbriaco, our sysadmin, lives and works in Chesapeake, Virginia and Jeremy Kemper is another programmer, living in Pasadena, California now. The distributed nature of it works very well for us. I really love working from home, it lets me be more involved in my kids’ lives, for instance, than I would otherwise be.

AkitaOnRails: I hear you’re from Provo, Utah? It is a coincidence as my current boss, Carl Youngblood, is also from there and also studied at BYU :-) You don’t possibly know each other, do you?

Jamis Buck: I actually live in Caldwell, Idaho now, but I was in Provo for about 8 years and yes, I do know Carl! We were both in the Utah Ruby Users Group. He’s a great guy.

AkitaOnRails: You attended many conference for the Ruby community. I don’t remember if you wrote any books. Are you writing some now?

Jamis Buck: I was originally going to write a book about Capistrano for Apress, but that’s fizzled. I’m not actively involved in any book writing at the moment, and don’t really have much interest in it, honestly. I much prefer writing software! And I try to post to my blog once in awhile, too.

AkitaOnRails: Yes, the buckblog, it has lots of great tips that I like to read. Did you start it because of Rails or you already had a Java blog back then?

Jamis Buck: I started it pre-Rails. If you read the early articles, you’ll see they were pretty eclectic. I was still trying to figure out this whole “blog” thing :) I’ve since come to focus on software-development and use my family blog for more personal posts these days.

AkitaOnRails: I was a Java programmer myself and I still try to maintain myself informed about what’s going on in other communities as Java, some PHP, Python. What do you think or feel about other frameworks and technologies as CakePHP, Avi Bryant’s Seaside or even Django?

Jamis Buck: Honestly, I’m a bit ashamed to admit that I don’t keep up on other frameworks as much as I should. Seaside has some neat ideas and my desire to improve my Smalltalk programming skills has made me want to poke into that further. But other than that, I haven’t shopped around much (to my own personal detriment, I’m sure).

AkitaOnRails: And still about Java, I am very excited nowadays about JRuby. I interviewed Ola Bini and I’m also kind of stalking Charles Nutter. Did you know the guys? Did you got interested in trying it?

Jamis Buck: I know who they are, and I’ve met Charles at a few conferences, but I’ve never really had a chance to talk to them in depth. JRuby definitely sounds exciting. I’m very curious, in fact, to know whether it can support Net::SSH or not since that would mean you could run Capistrano under it. But I’ve not had a chance to actually try it out.

AkitaOnRails: Insisting on the Java subject, I posted a while back about some discussions about Design Patterns pointing to flaws in languages, and I just read a post you wrote about Dependency Injection and your Net::SSH library. What do you think about Design Patterns now that you’re a full-time Ruby programmer?

Jamis Buck: Design Patterns are wonderful. They give us a language to talk more concisely about programming. It is so much easier to say “use a factory method” than to circumlocate and confuse each other. As for specific design patterns, some are more useful than others in different environments. As I wrote in my post, Dependency Injection is just not something you need in Ruby, but in environments like Java, it can be a life-saver.

AkitaOnRails: About 37signals again, you are very committed to Apple products. I saw that video on Apple Education with Jason and David. And now we see that Leopard will bring not only Ruby but also Rails, Mongrel and even Capistrano. How is your relationship with Apple?

Jamis Buck: I wouldn’t say there is any “relationship” with Apple. We’re big fans of their designs and interfaces and I think that reflects in our own work. Apple itself is including Rails, Mongrel, and Capistrano in the wake of those tools’ successes. Mac OS X really is a powerful environment for programmers and adding those tools “out of the box” makes it even more so. It makes sense to include the popular Ruby tools, too, since Ruby is going to be a first class citizen when it comes to developing OS X applications, thanks to the adoption by Apple of the Cocoa bindings for Ruby.

AkitaOnRails: You obviously use a Mac for your work. What are the tools you use the most besides Textmate?

Jamis Buck: Well, Capistrano :) Firefox w/ Firebug, Parallels (for IE testing), iTerm (though I’m looking forward to the new Terminal.app in Leopard), Campfire is indispensable, AdiumX, NetNewsWire, Knox (for simpler encrypted filesystem access). I still fall back and use vim pretty often too, for quick edits. There are probably others :) But I can’t think of them off the top of my head.

AkitaOnRails: There are a lot of talk about GTD nowadays. I think I saw your profile at 43folders. Are you into this kind of organization philosophy as well? How do you maintain your routine organized? Many people (myself included) have a hard time differentiating work from hobby and keeping ourselves within the project’s deadlines and such.

Jamis Buck: I’m not a GTD fanatic. I guess I try to be pretty pragmatic about it. I’m terrible about procrastinating, though. Mostly, from 8-5 I try to focus on the tasks that have been assigned to me and outside of that, I work on my hobbies… which happen to overlap work sometimes :) I’m really the wrong person to ask about being organized! If it weren’t for my wife, I think I’d get very little done, actually.

AkitaOnRails: What are you most interested nowadays besides Rails, Capistrano? Not only technology-wise. Any hobbies?

Jamis Buck: I’ve lately become very interested in military history, which has lead me to read about the American Civil War among other things. My wife and I are really enjoying Harry Potter #7 right now, too :) And I’ve become quite attached to my Nintendo Wii lately, as well! I used to be quite into role playing games, but haven’t done that for a few years. I’ve still got a ton of books for D&D, though, and maybe someday I’ll dust them off :) I enjoy spending time with my kids (Nathaniel is 5, and Katie is 3). We’ll be going camping for a few days in a week or two, actually. Always something to keep me busy!

AkitaOnRails: Haha, I see. And do you travel a lot? Outside of the US, I mean.

Jamis Buck: Not really. Last year I went to London for the first time, for RailsConf there, and this year I went to the Czech Republic. But aside from that, I’m really a homebody. I’d kind of like to do more traveling, but I don’t like to travel alone and having kids puts a damper on the spontaneous “get up and go” aspect of travel. We do occasional road trips and stuff, though, which is fun.

AkitaOnRails: Do you hear what’s going on the Ruby/Rails communities around the world? What do you feel about the meteoric rise of Rails in the US? 37signals, of course, was the fuel for all this and the reason we – both Rubyists now – are talking today.

Jamis Buck: I hear some news, but I’ve trimmed my newsfeed quit