Rails 3 App Deployment Observations
I already have two Rails 3 apps that are in production. While deploying these, I observed the following.
- Painfully obvious, you need to add a task to perform bundle install in your Capistrano script.
- When deploy hangs, it’s usually because Bundler is prompting for password.
- Haven’t found anything significant different from Rails 2.x.
- Ruby 1.9.2 really is much faster.
- While it solves a ton of problems, Bundler manages to piss me off on regular basis.
- Having multiple Ruby versions with Passenger is not a good idea. Besides, VPS’s are cheap these days.
I’m sure you guys are feeling the Capistrano screencast coming. However, the reason why I’m holding up the screencast is that PeepCode has that subject covered rather thoroughly. Check out Geoffrey’s good work, it’s only $9 and if you can’t invest that little in yourself, then I have nothing good to say.
Working From Home vs. Onsite
Since I use pomodoro, I decided to see how many pomodoros I can get done between working from home vs. in the office. For my experiment, I wanted to do it over a period of several days since in the course of human events… well, you get the idea.
I’ve heard some stories where people just couldn’t get anything done at home, especially with a wife and kids. Sure, they can be distracting, but I wouldn’t think about working at home unless I have a quiet office and sheltered from my personal life. I have my office in the basement where it’s quiet and somewhat sound-proofed from upstairs.
Well, to make the long story short, here’s the result. On average, I get little less than twice pomodoros done at home than in the office. You also have to be aware that I have two hour commute each way to NYC, so that’s 4 hours total that I can put to good use. Here are some of the factors I observed.
- At the office, I have very interesting conversations with others and get insights to other areas of development.
- I can bounce off ideas and get immediate feedbacks.
- When I’m home, I can get things done without much interruption and can take shorter breaks.
- I’m more comfortable at my home office. Usually puts me in good, productive mood.
- There are less meetings at home.
- The concentration level is extremely high at home.
- I miss people at home.
- People should turn on the video when using Skype.
I now firmly believe that companies should not choose just one over the other. Instead, there should be a balance between facetime and working remotely. Considering how expensive office spaces are, especially in NYC area, I think it’s silly to have a large offices for technology-related positions. We have Skype, IM, GoToMeeting/WebEx/Yugma, and VNC among other tools.
Rails 3.0.0 Now Official
Ok, so DHH announced that Rails is now 3.0.0. What this really means that I don’t have to use that annoying –pre to do install Rails, just gem install rails. I’ve been using Rails 3 on just about all my projects, so hopefully this just means they fixed the bugs.
Ruby 1.9.2 Released
Ruby 1.9.2 is now without beta or rc tag, but officially released. The only thing that I noticed that affects my code is that $: no longer includes current directory. Other than that, I’ve been using it for quite some time and love it.
Here’s the content from the release announcement:
Ruby 1.9.2 is mostly compatible with 1.9.1, except the
following changes:
* Many new methods
* New socket API (IPv6 support)
* New encodings
* Random class that supports various random number generators
* Time is reimplemented. There is no longer the year 2038 problem.
* some regexp enhancements
* $: no longer includes the current directory.
* dl is reimplemented on top of libffi.
* new psych library that wraps libyaml. You can use the library instead
of syck.
Daughter 3.0
Just became a father of a lovely girl for the third and final time. Will try to produce some cool stuff coming weeks when the dust settles.
I wonder how others deal with the fatherhood and geekery…
Rails 3 Documentation: Generate Your Own
In this screencast, I show you how to generate the api and guides for offline viewing.
Rails 3 Documentation: Generate Your Own from Joon You on Vimeo.