Vancouver.rb Q&A with Adam Palmblad on Startup TeamPages.com, Ruby on Rails, Tips and Tricks on Getting Started, and More
Posted by Gerald on June 12, 2008
Welcome back to the Vancouver.rb Q&A series. Today let’s welcome Victorian and soon Vancouverite Adam Palmblad – the cofounder and dev lead of startup TeamPages.com.
Our photos and uploads are handled with Rick Olson’s
attachment_fu. Emails were initially problematic, but betweenar_sendmailand some improvements I’ve made to it (maybe open-sourced one day), that problem is solved.We run Mongrel and Nginx, and I’m happy with that setup, despite knowing some people who are quite happy with LiteSpeed.
On a big development branch we’ve just switched to Rails 2.1 and I’m pretty happy with that –
named_scopehas been good fun to work with.
Q: Can you tell us a little bit about yourself?
Adam Palmblad: I’m a cofounder and the lead developer at TeamPages, and I’ve been with them since the beginning, 18 months ago.
I’ve been developing websites since high school – first with Perl back when 5.004 was new, and later with PHP. I think I remember a project using both MySQL and PHP 3.
I’ve got a degree in computer science from the University of Victoria.
In my spare time, I love to get outside. I enjoy rockclimbing and mountaineering – one of the things I’m looking forward to, with respect to moving to Vancouver, is being closer to Squamish.
Q: How did you get start with Ruby on Rails? Any commentary what makes Ruby or Ruby on Rails a great choice for developing web applications?
Adam Palmblad: I kind of jumped into Ruby on Rails with TeamPages. Initially, when we were starting TeamPages, we weren’t sure what language to implement it in. Rails was getting a lot of hype back then, and I played around with it a bit, and it felt good. Scaling was a bit of a concern, but we figured we’d be okay. There were blog posts going either way, and scaling is one of those things where you need a working application and users to figure out the hotspots.
I loved how fast it was to get going in it. The Rails Domain Specific Language (DSL) bits were easy to pick up and made a lot of sense. Ruby, once I got used to it, was a lot of fun, and made a lot of sense. Ruby’s definitely replacing Perl as my quick hack language of choice.
Q: Can you tell us a little bit about TeamPages.com?
Adam Palmblad: TeamPages is the brain child of our CEO, Mike Tan. Mike was finishing up school at University of Victoria (UVic) and playing intramural sports. His team had a really tough time getting players to show up, and ended up forfeiting a playoff game because no one on his team knew to show up. Solving that problem is a foundation of our business.
Fast forward a little bit, and we’re a venture backed corporation moving to Vancouver. We’ve been going strong for the past year and a half. Watch for exciting new developments at the end of the summer (August-September).
Q: Inside TeamPages.com – Can you tell us a little bit about the architecture of TeamPages.com and highlight some libraries (gems), plugins or other (open source) building blocks that get used for TeamPages.com?
Adam Palmblad: I have to give a shout out to Engine Yard. I love having a solid IT team on hand to deal with things like that – be it power, equipment failure, network connectivity, poorly configured system software (other hosting companies have done unexpected upgrades causing breakages), even the occasional late night software glitch.
As far as gems go, I don’t think we’re running anything really interesting. Our photos and uploads are handled with Rick Olson’s attachment_fu. Emails were initially problematic, but between ar_sendmail and some improvements I’ve made to it (maybe open-sourced one day), that problem is solved.
We run Mongrel and Nginx, and I’m happy with that setup, despite knowing some people who are quite happy with LiteSpeed.
On a big development branch we’ve just switched to Rails 2.1 and I’m pretty happy with that – named_scope has been good fun to work with.
Q: Can you tell us some challenges you faced while developing TeamPages.com using Ruby on Rails?
Adam Palmblad: My biggest problem is rendering time. I’ve got around that by trying to be really careful with the code, doing more with JavaScript, and cutting down on queries and object initialization with fancier queries.
I kind of like tossing custom stuff into a :select on an active_record find – we have some complex relationships in our data and sometimes that’s the fastest way to do it.
Q: Any tips, tricks or advice for developers getting started with Ruby or Ruby on Rails?
Adam Palmblad: Just dive in. That’s basically what I did. Started with an example app, and then played around with a domain I had some experience with. Early on, I found the PeepCode Screencasts really helpful. I’ve got “Agile Development with Rails”, but I’ve never finished it. I’ve hacked around a bit, and played with different plugins, read some of the source code.
I found the local Victoria Ruby User Group helpful as well. Especially starting out, they recommended a lot of gems, blogs, and all-round good stuff. Why’s guide is a classic, although apparently not for everyone.
I still keep a browser tab open to www.gotapi.com as well – face it, the Rails API docs aren’t that great, especially for searching, and gotapi just makes it easy to search the Rails API, the Ruby standard libraries, DOM methods, Prototype, and JavaScript.
Thanks Adam Palmblad for your time and insight and welcome to Vancouver. TeamPages.com is hiring! See the Joint Vancouver Job & Gigs Board (running on Ruby on Rails and Passenger) for postings.
Questions? Comments? Send them along to the Vancouver.rb Forum/Mailing List. Thanks!