I’m Chanpory, and this is my site on how to live and work better as a designer.

You should follow me on Twitter here.

For more, check out the archives.

I just got done with day four of Rails Bootcamp, and I’m exhausted. But Rails is so cool, it makes up for the drain and pain. Sarah Allen also continues to impress with her teaching acumen.

In today’s class, we learned about Controllers, the C in an M-V-C application model. In short, Controllers are like traffic cops. They take requests from a user and then work with the Model and View to bring information back to the user.

We also learned about “associations” or how to make separate database tables relate to each other. For example, if you’re making a contacts application, you’d probably want a People table to relate to an Addresses table. Dealing with tables and associations were traditionally a huge pain in technologies like PHP, but Rails makes it so easy.

What works

In my previous diaries, I focused a lot on the class rather than the content. Today, I’ll spend a little more time talking about Rails itself.

Less typing

The beauty of Ruby on Rails is its conciseness. It’s as if Rails read The Elements of Style as a pimply teenager in high school and took it to heart while growing up. The resulting D-R-Y philosophy is so apparent in Rails, I found myself asking, “Really? That’s all I have to type?” The answer was, “Yes!”. I even heard a classmate say, “In Java, this would have taken ten times more code to write.” For lazy and dumb programmers like me, this is awesome.

Getting real

The best part of learning Rails is making applications that do real things. After years of faking things in Photoshop and Illustrator, it’s so much fun to make something work in a short period of time. I just feel like I’m really creating, not just imagining. It’s also great to gain insight into how web applications are put together. It’s like getting to look under the hood of a BMW, and knowing how all the parts fit together and why.

What doesn’t work

Lack of good documentation for beginners and designers

Sarah recommends Agile Web Development with Rails and Rails Pocket Reference as resources for more on Rails, but admits she hasn’t found a good guide for absolute beginners yet. (Open-sourced software is notorious for poor documentation.) I suppose you’ll have to take her bootcamp class.

Yellow Cab fiasco

Two students had to wait two hours for a cab to get to class. What is up with taxicabs in San Francisco!?

The bottom line

Rails is fun to learn and to use. For designers who are serious about designing for the web, a class like this is a must. Even if it’s just to know how applications are built.

All Bootcamp Diary Entries

Rails Bootcamp Diary: Day 1

Rails Bootcamp Diary: Day 2

Rails Bootcamp Diary: Day 3

Rails Bootcamp Diary: Day 4


  • Michael Buckbee

    gravatarSep 24, 2010
    12:53 am

    I’ve always found Rails to have really strong documentation. For overall / getting started stuff, checkout: http://guides.rubyonrails.org/

    Another resource you might not be familiar with if you haven’t programmed before is http://www.stackoverflow.com – Almost any question you ask on there will be answered within minutes.

  • Graham Charles

    gravatarSep 27, 2010
    9:59 am

    I can’t speak to the programming stuff, but Yellow Cab in San Francisco does terrible phone dispatch, especially if you’re anywhere but downtown (where you could probably have caught a cab anyway).

    I’ve had luck with De Soto and Veteran’s, and there’s a City Wide Dispatch run through Big Dog Cab.

  • Jacob Reiff

    gravatarSep 29, 2010
    7:19 am

    Learn to Program by Chris Pine is a solid “absolute beginner” book that focuses on overarching programming concepts and uses Ruby for all of its examples.


  • Kedron

    gravatarOct 7, 2010
    9:10 am

    I’d love to take a class like this! Thanks for posting the recaps!

  • Diane Ladd

    gravatarOct 10, 2010
    8:16 pm

    Great post. I’ve been interested in Rails for some time now. In the past, I’ve primarily developed using .NET with javascript for client side scripting. I’ve also played around with PHP a bit. I really like the apparent simplicity and focus on efficiency of Rails. I really need to give it a try. Cheers.