April 30, 2008
The Insoshi Open-Source Social Networking Platform project was just launched yesterday! Logical Reality designed both the Insoshi logo, and landing/informational site that leads new users to the project itself.
Insoshi is built with Ruby on Rails, and is the first major social networking tool to be released completely open-source. Here’s an article on Insoshi and the launch at TechCrunch.
The site was a rapid-development Web-2.0 style project, developed using the blueprint CSS framework and other standards-compliant techniques. The logo was chosen to represent Insoshi’s core functionality in social networking: communication between people. The lowercase i’s on the ends invoke iconified people, with the “broadcast” arcs indicating communication from one to the other.
April 30, 2008

Which book should a beginning rails developer choose?
I want to plug the book I learned Rails from: RailsSpace by Michael Hartl and Aurelius Prochazka. Most people in the rails community recommend Agile Web Development, but I’m going to disagree. Strongly. I think most people who recommend AWD aren’t familiar with RailsSpace, and having studied from both I think RailsSpace is the better book by far.
I tried AWD first, and found that while it’s a decent introduction to Rails, it does a poor job of explaining basic Ruby concepts to programmers who are not used to it. (I was coming to RoR from a background in PHP, Java, and Javascript). As one example, it used the Ruby :symbol syntax consistently, without ever explaining just what the heck that was. I went through a couple of chapters copying down code and making minor modifications trial-and-error style, but I lacked a thorough understanding of what was going on because I was coding in an unknown language. I am used to learning languages very quickly, and AWD just wasn’t delivering.
When it just got too frustrating, I tried RailsSpace. I had both books available but tried AWD first because the title of RS suggested to me that it was for experienced rails developers looking specifically to making social networks. Not so: it starts from the beginning, for new developers who have never touched Ruby before, and is much more thorough in its explanations. Every time a new construct or concept gets used in the course of an example, the authors set up a nicely formatted sidebar explaining that concept with its own examples. This gives you the explanation you need to avoid getting lost, without interrupting the flow of the main narrative. In the first two chapters it answered all the confusions that I had suffered while reading AWD, and I felt like I gained a solid understanding of Ruby fundamentals as well as Rails technique.
Yes, the example they build is a social network, but I felt like that was only as a functional example, analogous to the shopping cart AWD uses. The techniques are expandable to any site you’d want to build, and because you understand them better with RS you’ll be able to apply them to other types of sites more easily.
Though fewer people are aware of it, I think it’s really a better book for the Rails beginner.
A note: the current version of RS uses Rails 1.2.3 instead of the newer Rails 2.x. However, I actually think that’s a good place for a beginner to start: in my opinion, most of the stuff changed or added in Rails 2 is great for a developer who knows rails, but actually harder for a beginner who’s never used Ruby before.
April 30, 2008
My plan is to use this space to post challenges I’ve faced (or am facing) in the course of Ruby on Rails development, and my solutions to them, when found. I have switched mostly to Ruby on Rails for web applications development these days. While I enjoy the power and capability of the system, I find that the documentation and community resources still leave something to be desired, so this is my way of contributing back to the community.
When posting an example or technique, it’s my intention to include both the code and the tests I wrote for it. In my experience many of the otherwise lovely Rails blogs out (e.g. the indispensible RailsCasts by Ryan Bates) there rarely include tests, and often it’s not obvious how to test a feature correctly. The close integration of testing is, in my opinion, one of the most enticing features of Rails as a webdev framework. So I’d love to see testing become a more integral part of community technique examples and tutorials.