Archive for the 'Rails' Category
For the past two years, RubyLearning has been promoting the Ruby language world-wide, by conducting its Free Online Ruby Programming Course. 1000s of participants have either completed or are in the process of completing the course. Most Ruby course participants have a plethora of questions related to the language; opportunities in Ruby; Ruby’s future; Rails etc.
Satish Talim of RubyLearning talked to BuildingWebApps, to get their views and opinions.
BuildingWebApps is a project of Collective Knowledge Works, Inc. They create platforms for organizing and sharing the knowledge of a community. The first community upon which they have focused is their own: Ruby on Rails developers..
We are pleased to have with us, BuildingWebApps’: Michael Slater President of Collective Knowledge Works, Inc. He would give us his perspective on the various questions facing the course participants - the would-be Ruby developers.
Satish>> A warm welcome to you. For the benefit of the course participants, could you tell us something about your self?
Michael Slater>> I’ve been working in high technology for more than 30 years. I started out as a hardware engineer at Hewlett-Packard developing microprocessor-based test equipment. I spent several years as a consultant building embedded microprocessor applications, and I ended up writing a lot of assembly and C code. In 1987, I created the Microprocessor Report newsletter and the Microprocessor Forum conference, and that began a 12-year adventure in the publishing and conference business that led me away from engineering. In early 2000, I left this business, after selling it first to Ziff-Davis and then to Cahners, to launch a venture-funded startup in the digital photo space. We sold that company, Fotiva, to Adobe in late 2001. The software we built become Photoshop Album, and then the Organizer mode of Photoshop Elements (on Windows only). I spent five years at Adobe managing a research team doing advanced photo management work. During the time I was at Adobe, I built a resource site for San Francisco Bay. I build this in PHP, and learned a lot about how painful that can be. I learned that I love the interactivity and immediate feedback that the web offers. And the experience with PHP, and with building a fairly complex application without any framework, really set me up to appreciate Rails. I tried unsuccessfully to get Adobe into the online world several times, and eventually left to build web applications on my own. I had started a Rails project at Adobe in early 2006, but it never saw the light of day. When I left in November 2006, I began working as an independent Rails developer. While working with Rails, I became frustrated with the lack of any cohesive on-line resource. The framework changes too quickly for books to remain up-to-date; the Rails wiki isn’t adequately maintained; and although there are lots of great articles scattered around various blogs, they can be hard to find. So with the combination of my experience building Microprocessor Report and BoatingSF, and my interest in the Rails world, I decided to launch BuildingWebApps.com, which I hope to build into the best online resource for Ruby on Rails developers. In mid-2007, one of my Adobe colleagues, Christopher Haupt, left the company and joined me in forming Collective Knowledge Works, Inc. Chris led the online services group in Adobe’s digital imaging operation and is a real expert in web technologies. We’re taking the platform we’ve built for BuildingWebApps.com and are evolving it into a hosted offering for anyone who wants to build similar sites on other topics, combining a rich database of information with community features. Our goal is to create the leading next-generation platform for community sites that are focused around a specific body of knowledge.
Satish>> You run a Free Online Ruby on Rails Course which is complementary to the course we run at RubyLearning. Could you tell us more about this course?
Michael Slater>> One of the first things we did when we were launching BuildingWebApps.com was to create the Learning Rails podcast to help spread the word about Rails. We want to demystify Rails and help web developers, who may not come from a software engineering background, to get started with Rails. For people who don’t have experience with object-oriented programming or model-view-controller architectures, the learning curve can be very steep if you try to learn from the existing books.
When we began adding screencasts, we decided to set it up as an online course. People can sign up to receive the course via email (www.BuildingWebApps.com/learning_rails), and every three days we send them the next lesson. There’s eight audio podcasts, and we expect to have about ten screencasts. We solicit feedback and respond to questions via comments on the lesson pages.
Satish>> Is it important to learn Ruby on Rails for a Ruby programmer? If yes, why?
Michael Slater>> It depends on what you want to create with Ruby. If you don’t want to build web applications, there is no need to learn Ruby on Rails. But if you want to build web applications using Ruby, you should learn Ruby on Rails. It provides a tremendous amount of infrastructure that makes it much easier to build a web application. It really wouldn’t make sense to build a web application in Ruby without using some sort of framework.
There are other frameworks for building web applications with Ruby, of which Merb is the most interesting. But there’s a vastly larger community working with Rails, and much more information available on using it.
Satish>> What do you like / love about Ruby on Rails? Why?
Michael Slater>> Once you’ve climbed the learning curve and are comfortable with Rails, you can be incredibly productive. One person can build an application in a month that would take a team of three people several months in Java. Smaller teams are more efficient, which multiplies the productivity gain. Ruby on Rails makes web development fast and fun, and most important, makes it easier to evolve and meet user needs.
Rails makes it easy to make changes, which is important for iterative development. For example, suppose you want to add another field to your database table. It’s easy — there’s no SQL to write, no XML configuration files to update, and the Rails migrations handle the updating of your database schema.
This flexibility is crucial for web applications, in which the old-fashioned “waterfall” design approach really doesn’t make sense. You need to first build something simple, then use it, get other people using it, find out what works and what needs improvement, and iterate rapidly. Rails is very well suited for this kind of development.
Because Rails includes “helpers” that support the Prototype and Scriptaculus JavaScript frameworks, it’s easy to add Ajax capabilities to your application. You can build sophisticated Ajax interfaces with virtually no JavaScript programming. I like being able to do everything in Ruby.
Although the Rails community is still small compared with that of PHP or .NET or Java, it is now reasonably large and has reached critical mass. There’s more than a dozen Rails books, several very active online forums, and an assortment of conferences and seminars. When you need to do something, there’s a good chance someone else has already done it and written it up, which can save lots of time.
Satish>> What are the attributes of really good Ruby on Rails developer?
Michael Slater>> First, a good Rails developer needs to know Ruby. You can get started with Rails with only a bare minimum of Ruby knowledge, but as you go deeper into Rails development, being comfortable with Ruby is essential. The better your Ruby knowledge, the more you can do with Rails, and the more efficiently you can do it.
Second, a good Rails developer needs to know the Rails framework thoroughly. There’s a lot there, and it takes time to learn. There’s no substitute for experience.
Third, a good Rails developer needs a good sense for user experience. Rails is most effective when the developer can also play the role of interaction designer, at least to some degree.
Finally, a good Rails developer needs to have the testing religion. Rails includes extensive built-in facilities for incorporating tests into your application, but nothing forces you to use them. You need to understand the value of testing and develop good testing habits.
Satish>>How do you keep your skills sharp and keep up-to-date with the latest developments?
Michael Slater>> I read a lot. I’ve at least skimmed most of the Rails books that are out there, and when new books come out, I always buy them. I’m something of a book nut. I also keep up with quite a few blogs (some of which are listed below).
Colleagues are invaluable. I’ve learned a great deal from my partner, Christopher Haupt, and from other developers I’ve worked with. Pair programming is a great way to learn.
I like screencasts too. Geoffrey Grosenbach’s Peepcode.com has produced a lot of great screencasts, and Ryan Bates has produced an amazing stream of short, focused, free screencasts on specific Rails techniques at railscasts.com.
I also go to seminars, conferences, and user groups. I’ve been to the introductory and advanced studios from Pragmatic Programmers, and they are excellent. RailsConf is always a fire-hose of new ideas and inspirations. And I participate in my local Ruby users groups.
The most important thing, though, it to keep building applications. Every time I want to implement some feature, I dig in and learn about what others have done, and experiment on my own. There’s no way to just methodically go through all of Rails and learn it — it takes a back and forth, learning and building, learning and building.
Satish>> Which sites / blogs do you recommend, so that the participants are always abreast of the latest developments in Ruby on Rails?
Michael Slater>> Well, I’d be remiss if I didn’t point out my own site, BuildingWebApps.com! We aggregate the best content from all around the web, as well as publishing our own original articles, podcasts, and screencasts.
In the Ruby world, I like Peter Cooper’s rubyinside.com. For Rails, there’s nothing better than Jamis Buck and Michael Koziarksi’s writing at therailsway.com. Other excellent blogs include Jay Field’s blog.jayfields.com and Josh Susser’s blog hasmanythrough.com. And there’s many more — there’s an extensive list at BuildingWebApps.com.
The Rails Forum site (railsforum.com) is also a great resource, and the rubyonrails-talk group is sometimes helpful (though the level of traffic and noise can be overwhelming).
Satish>> What according to you is the future of Ruby on Rails?
Michael Slater>> I believe Ruby on Rails is poised to become one of the most important web application frameworks, and to hold that position for quite a while. It won’t dominate — there are other worthy frameworks and languages, developers may prefer different solutions depending on their background and experience, and it isn’t the best solution for every application.
But for the vast majority of new web applications, I believe Ruby on Rails is an excellent choice — maybe even the best choice. I expect many developers to shift from PHP (with or without a framework) to Rails, as well as from Java-based frameworks to Rails. There will always be a strong following for .NET, but many developers will follow the lure of open source and end up using Rails.
There’s a tremendous amount of energy and expertise being devoted to the ongoing development of Rails. Look how far it has come in the past two years — and there’s far more people working on it now than there were two years ago. I expect to see steady improvements in the Rails framework, making it an even better solution to common web developer needs in coming years.
Satish>> It has been fun interacting with you and thank you for sharing your views with the RubyLearning participants.
Technorati Tags: Advice For Ruby Beginners, Michael Slater, Ruby Beginners, Ruby Interviews
Posted by Satish TalimDarren Rowse, as usual, has come up with a lovely idea “Today is Blogger Appreciation Day [UNOFFICIAL]” - that certainly fosters the sense of community, which I love about blogging. In Darren’s words:
We’re in it together, blogging is about collaboration and together going further than we can by ourselves - so why not help another blogger today by shooting them a word of encouragement, a pep talk, a congratulations, an idea to help them improve or some other positive constructive message. Better still, do it publicly on your blog and tell the world about another blogger who you appreciate.
In keeping with this spirit, I’d like to appreciate (in no particular order) the Ruby related blogs of:
- Fabio Akita
- Peter Cooper
- Pat Eyler
- Obie Fernandez
- Dr Nic Williams
- Ola Bini
- Peat Bakke
- Jamie van Dyke
May their tribe increase!
Technorati Tags: Bloggers appreciation day, Ruby bloggers, Ruby programming
Posted by Satish TalimIt was fun being interviewed by FiveRuns Blog. FiveRuns exists for the express purpose of delivering affordable and radically simplified tools for monitoring applications and their supporting infrastructure with a focus on Ruby on Rails.
Every Friday, FiveRuns interviews Ruby/Rails enthusiasts and it was an honor to be amongst luminaries such as Chad Fowler, Peter Cooper, Pat Eyler to name a few.
Technorati Tags: FiveRuns, Rails Interview, Rails, Ruby
Posted by Satish Talim
Sunil Kelkar is an Indian Rails enthusiast and has been working with Rails for the last two years. With the number of Rails based projects booming in India, Sunil decided to pass on his Rails experience to would-be Rails enthusiasts by offering a Free Online Introductory ROR Course. This course starts from 12th April 2008 and going by Rails popularity, I am sure 100s would join.
I am helping him set up the course using Moodle software, based on my experience with the same, for my Ruby Programming course.
Sunil, my best wishes for the course.
Technorati Tags: Ruby on Rails Free Course, Sunil Kelkar
Posted by Satish TalimPune is now increasingly becoming the hot-bed of Ruby on Rails activity in India and Josh Software Pvt. Ltd. are strongly making a mark in this field. Satish Talim of RubyLearning.com recently talked to Gautam Rege, one of the founders of this company.

Satish>> Could you tell us something about yourself - your background, where you are based?
Gautam>> I was born in India. I have been in Pune, one of the busiest IT hubs in India. I have done my computer engineering from Pune Institute of Computer Technology (PICT) and have passed out in the year 2000. After working for a few services based companies like Zensar and Cybage I got exposure to product companies like Veritas (now Symantec). It was always my aim to be self-employed and when I found the right partner in my friend Sethupathi Asokan, we both started Josh Software Pvt. Ltd. As is in India, you just have to love cricket. Sethu (as he is lovingly known as) and I played cricket for Veritas and the bond did not stop there. We went on to become good friends and now partners in business.
My father served in the Indian Army for 20 years before taking pre-mature retirement. He and my elder brother have started an environment friendly firm called Mailhem Engineers Pvt. Ltd. which has been working in the Waste Management area for the past 15 years. The determination and grit I have seen in my brother and father has greatly helped me in my software business.
Satish>> Could you tell us a little more about Josh Software Pvt. Ltd.?
Gautam>> Josh Software Pvt. Ltd. is a one and half year old company. We are primarily into software product development. This is quite a different area. We are neither a product company nor a services based company. We build software products for others. Our claim to our success has been our ideology: “You bring to the table your domain knowledge, we bring our software skills and together we build a software product”. Josh Software Pvt. Ltd. was earlier Josh Consultants Pvt. Ltd. but Sethu and felt to change our name to showcase our software development abilities.
We are based in Pune and have core skills in Ruby On Rails, .NET, C++ and Java. Given our personal work experience we have worked on virtually all UNIX, Linux and Windows platforms. Cross platform development is our forte and we aspire to be one of the top software product development companies in India.
Satish>> Why did you choose Ruby on Rails (RoR) as a framework?
Gautam>> Ironically, we did not choose RoR; RoR chose us! For a major part of our career, Sethu and I had both been exposed to the traditional languages and frameworks. Having worked with functional languages like C and object oriented languages like Java, C++, Python came as a revelation to me. The concept of an object oriented scripting language fascinated me. Ruby was still not in the picture until a couple of years back when we were building our first product. Judging the very tight deadline to get the product done, we started turning our heads towards new emerging web frameworks. There was RoR, which we adopted and have not fallen ‘out of love’ since then!
The open source world, the seamless coding of Ruby and the ease of use, drove us crazy. I preach that if one writes about 100 lines in C, it can be done in about 50 lines in Perl and about 25 lines in Python. But Ruby could well do it in 15 lines. This is not based on any theoretical or practical grounds but simply based on my personal experience in using these various languages.
Satish>> Were there any surprises in working with RoR?
Gautam>> What would be an open source tool / language without surprises? Surprisingly there were very few in Ruby. However, after getting familiar with newer and newer Rails plugins like ActiveScaffold, I did find some unknowns, some surprises and some bugs. Lack of documentation was sometimes frustrating but the lean mean and simple Ruby code of the ActiveScaffold plugin, put our doubts to rest. There is still some way to go in RoR core APIs too, but at the pace it’s moving it will be only a matter of time before it becomes the de-facto tool for web development (unless it already has!)
Satish>> Getting back to Josh Software, what are your future plans?
Gautam>> We plan to expand our horizon into various industry sectors. Currently we have been developing products in the Financial, Engineering, Medical and IT sectors. We do intend to drive RoR into these sectors with more vigor. We are also building our own Medical Software in the Critical Care domain for which I do ask you to stay tuned.
Thank you Gautam for taking out time from your busy schedule and talking to us.
Technorati Tags: Gautam Rege, India, Josh Software, Pune, Ruby on Rails, Sethupathi Asokan
Posted by Satish Talim


