Blog

Archive for 2010

JRuby 2010: Year In Review

By | December 30th, 2010 at 9:12AM

Hello friends! With 2010 wrapping up, we figured it might be interesting to publish a “year in review” post that summarizes key events, milestones, and people from this past year. It’s been a spectacular year for JRuby, with adoption rapidly increasing, folks accepting JRuby as both a top-notch Ruby implementation and a top-notch JVM language, and JRuby itself improving by leaps and bounds. Let’s dive in and see what happened to JRuby in 2010!

The People

JRuby has always been a project centered around bringing Ruby to more and more people. To that end, we’ve traveled the world, written blog posts, added contributors, accepted patches, and always tried to support users online. Here’s a few key folks that made a huge difference to JRubyists in 2010

Hiro Asari

Hiro had been a contributor to JRuby throughout 2009, and had become a regular fixture on the mailing lists and IRC channel, helping users through day-to-day issues running JRuby-based apps. In early 2010, Engine Yard needed to hire a JRuby support expert, and Hiro was the man for the job. He came on full time, we added him as a committer, and late in the year he even started presenting JRuby on the conference circuit.

Hiroshi Nakamura

“Nahi” is a longtime “Ruby core” (the C Ruby/MRI core) team member, specializing in crypto (OpenSSL), IO, and various other system-level features. If you poke around Ruby’s standard library, chances are you’ll see Nahi pop up several times. In mid-2010, Nahi started helping us with jruby-openssl, JRuby’s support for the “openssl” library. He took Ola Bini‘s epic port of OpenSSL features and brought it much closer to 100% compatibility with C Ruby’s version–a stunning feat, considering how low-level the “openssl” library actually is. Since then, he’s helped us with some of our trickiest subsystems, and become a great JRuby advocate.

David Calavera

David was also a heavy contributor in 2009, and he continued his contributions in 2010. He has worked hard on improving JRuby’s support for Ruby 1.9 features, fixed dozens of user-reported bugs, and helped support users on email and IRC. He also assembled the amazing Trinidad gem, a JRuby-based wrapper around embedded Tomcat that’s rapidly become a server of choice for JRubyists everywhere.

Joe O’Brien

Joe is one of the founders of EdgeCase, a Ruby/Rails (and more) consultancy based in Ohio. Joe has been a great advocate for JRuby, having dealt with the “enterprise” and knowing how difficult it can be to get them to adopt new technology. In 2010, Joe helped us host the first standalone JRubyConf, turning over his own eRubyCon to JRuby presenters and users from around the world. We’re thrilled to have had such an opportunity to spread the JRuby word…and thrilled with the amazing event Joe set up for us.

Engine Yard

Of course we have to thank Engine Yard for continuing to support us and the JRuby community. Engine Yard has provided a welcoming home, marketing help, travel and technical resources, and moral support to the core JRuby folks who work here: me, Tom Enebo, Nick Sieger, and Hiro Asari. We’ve been proud to launch JRuby support and professional services offerings, JRuby is in production for xCloud, and you can now trial JRuby on AppCloud through the beta program. It’s been great to work at Engine Yard, and even greater to help contribute to the bottom line!

Users and Contributors Like You

Of course JRuby would be nothing without users and contributors just like you. This past year, we’ve had dozens of new JRuby-based sites reported, Ruby gem authors have started to test and explicitly support JRuby, and David Heinemeier Hansson (creator of Rails) noted that Rails 3.0 was “designed to work with” JRuby, in addition to C Ruby. Twitter shows hundreds of JRuby tweets every day, the JRuby mailing lists fielded nearly 14000 messages, and we met thousands more users and potential users at dozens of conferences around the world. We thank our users, contributors, and Ruby library and application authors for making 2010 the best JRuby year yet!

JRuby Itself

Of course we’ve also done a tremendous amount of work on JRuby proper. In 2010, we logged over 2300 commits (on master), resolved 567 bug reports (with another 868 filed…work continues!), published eight JRuby releases (1.4.1, 1.5.0-1.5.6), and improved JRuby’s “RubySpec” pass rates to over 99% in 1.8 mode and over 90% in 1.9 mode. This work will culminate with a JRuby 1.6 release early in 2011…our biggest and most important release yet. Here’s a few of the top areas JRuby has improved in 2010. (more…)

Popularity: 2% |

Fat Free CRM: For the People by the People

By | December 29th, 2010 at 2:12PM

Recently we worked on creating a video to demonstrate how easy it is to deploy a Rails application on Engine Yard AppCloud. We decided to use the open source application Fat Free CRM as our sample application to deploy. Fat Free CRM is an open source, Ruby on Rails-based customer relationship management application. We thought it would be interesting to talk to Michael Dvorkin, the creator of Fat Free CRM, to learn more about the history and intended use behind Fat Free CRM, and to discuss how he got involved in the Ruby on Rails community.

How did you get into web development?

My technical background is in low-level systems programming, primarily in C, both Windows and UNIX. I started exploring web development around 1997 and my stack of choice was LAMP. I felt incredibly empowered by PHP: it was fun, it was easy, and I had to write a lot less code to get the job done. Back then PHP was a new kid on the block with lots of arguing of why PHP doesn’t scale. The same kind of arguments we have been hearing about Ruby on Rails 10 years later.

What got you involved in the Ruby community?

PHP was addictive, so it took me a while ;-). I first learned about Ruby sometime in 2004. I was not particularly impressed initially: small one-line functions felt unnecessary, the usage of yield was not exactly obvious, and block syntax seemed to be a lot better that Perl, but still pretty weird. Famous Rails screencast did not impress me either: the code generator looked unconvincing and scaffolded forms seemed barely usable.

A revelation came sometime later when I learned that in Rails you can write: yesterday = 1.day.ago. It was like “hey, that’s super cool, how do they do that?!”. For the next year or so I was tinkering with Ruby and Rails trying to convert my existing Perl and PHP code over. It was pretty amazing to watch how my code base was getting smaller and smaller as I was converting more code to Ruby.

I am a big fan of writing less code, not more. The less code I have to write the better I understand it and the less bugs I make. That is probably the main reason I love programming Ruby: it is incredibly deep and expressive language in very succinct form factor.

Why create an open source CRM?

That’s an interesting question. One can rationalize whether creating open source CRM makes sense, but in my mind it was largely irrelevant. I had been involved in building CRMs at one of my previous startups so I felt pretty confident I could leverage Ruby on Rails to build a lightweight CRM platform of my own, something that required a substantial team effort only a few years ago. Besides, getting something done is usually more productive than rationalizing and doing nothing.

What sets Fat Free CRM apart from the other commercial CRM software packages out there?

Well, most of the existing commercial CRM systems over time have turned into monstrosities where 90% of the users use 10% of the features. I believe with Fat Free CRM these numbers are closer to 90% and 90%. In any case, my personal theory is that any sufficiently sophisticated CRM and project management system ends up being run by Excel attachments.

Seriously though, I am not trying to build yet another CRM application. I find more value in building an open CRM platform with relatively small and lightweight core and the ability to extend basic functionality by developing plugins. I have no plans to turn Fat Free CRM into a kitchen sink of mishmash features to make everybody happy and to support all possible use cases.

Why do users select Fat Free CRM to help them manage their customers?

I am getting a lot of positive feedback from all over the world. It sounds like most of them are getting tired of increasing software complexity. They demand something that “just works”. In that sense Fat Free CRM is no different from other software products people choose to rely upon: they like what they see, they like how it works, and it seems to serve their needs well.

What else are you currently working on?

Well, I work on Fat Free CRM in my spare time and sometimes I just take a break to play with some latest technologies and learn something new. I have started studying Erlang: it is a fascinating software with some amazing concepts implemented at the language level.

You’ve been at six startups in Silicon Valley. What lessons have you learned over the years from your involvement with these startups?

Right now I am at my seventh, still working in my spare time on Fat Free CRM and loving it! I moved to Silicon Valley back in 1993. My first web browser was NCSA Mosaic compiled on Sun SPARCstation 10. I have been extremely fortunate to live and work in the Valley.

Lessons learned are too numerous to list so I am going to mention just a few:

  1. What sets a successful startup apart is a sustained “do whatever it takes” mindset amplified by each individual employee. “We will give it a shot” or a “we will do our best” attitude is simply not enough — everybody does that.
  2. For Founders: Almost all your initial assumptions about the startup will prove to be wrong. You better be ready for some frantic emotional roller-coaster rides.
  3. Learn to have fun in the process — it is not your last startup after all, right? :-). As my 7-year-old daughter Laura puts it, “Dad, your MacBooks and iPads will be there when you are 90 years old, but I won’t”. She is one smart kid!

Check out Fat Free CRM at http://www.fatfreecrm.com/ and fork the repo and contribute on GitHub at https://github.com/michaeldv/fat_free_crm. Spread the joy of Fat Free CRM and open source to all your friends!

Popularity: 7% |

Honey, I’m Home!!!

By | December 28th, 2010 at 11:12AM


I recently installed Windows on a VM in order to get a baseline generated Rails application running. I have had no real Windows experience since the days of Windows 98. As such, I approached the problem the same as anyone who was new to developing Rails on Windows would, I googled it! Keep in mind that I am by no means a Ruby and Rails beginner; I know what every piece of the stack is, how it works and how to utilize it. After following the first three search results with lots of confusion, I finally pieced everything together. It still took a full 90 minutes to go from a fresh Windows install to a generated Rails application running using search result directions. Does it always take 90 minutes? No. Once you know what to do it only takes 10 or 15 minutes to set everything up. Setup should not take even that long the first time!!!

My personal RVM goals have always been to create an environment manager, which enables developers to install and manage all of their Ruby/Rails environments with minimal effort. Even though it is not my preferred platform, I cannot sit idly by and allow my fellow developers to experience unnecessary pain in their workflows and environments! I am thus applying my fundamental RVM goals to developing Ruby/Rails on Windows.

Wait, what? Windows? Really? Why? The above-mentioned experience aside, let us think about this briefly. As of December 27, 2010 Rails has had a total download count of 2,316,209 on rubygems.org. This is an impressive number! That said, if we look at the number of downloads of the ‘Instant Rails’ project on RubyForge.org we see the number there is 5,173,159. These are the download counts for InstantRails alone, excluding anyone who used the RubyInstaller as a base and then installed the Rails stack.

I believe that if we can simplify and streamline the process for bootstrapping a complete Rails development environment up and running on Windows, then we can attract a great number of new developers. I also believe that currently the vast majority are turned away due to this bad initial experience. As our community grows, a small percentage of this large number of people will decide to get involved in the community and contribute back. This has a massive benefit for our unique and awesome community. The larger our community, the more help we have, and the more we can collectively smooth over any rough edges that exist!

I have rejoined Engine Yard in order to help grow our awesome community (I completed a tour of duty at the ‘Yard from January 1, 2008 through July 31, 2009). I am now working at Engine Yard with Dr. Nic on Open Source initiatives. This will enable me to pursue my passion of ensuring that developing Ruby & Rails applications is enjoyable with as few impediments as possible!

Will this be my only focus at Engine Yard? Absolutely not! This is but the first project of many to help our community grow and prosper. And for those that are wondering, yes, my employment at Engine Yard will be giving me the freedom to continue helping you all out in #rvm on irc.freenode.net!

And now to tell you the first part of the plan… wait… it is family time, I will fill you in on another post!

Smile!!!

~Wayne
Popularity: 4% |

Welcome Back Wayne

By | December 27th, 2010 at 2:12PM

I am very happy and excited to announce that Wayne ‘Mr. RVM‘ Seguin has joined the Engine Yard team. Starting today, Wayne will be helping our Rails/Ruby community to ensure we get Ruby on Rails onto every developer’s machine in the world. I hope he’ll have this complete by next Christmas, but world domination can take time so I don’t want to put too much pressure on him too soon.

First stop, [REDACTED].

Wayne didn’t want me to steal his thunder and write about his plans in my post. So, stay tuned. He wants his own post to explain in more detail. Wayne…we’re waiting!

Welcome…back?

Wayne is joining Engine Yard for the second time which makes this all the more exciting. He’s back! Wayne first joined Engine Yard on January 1, 2008, back then he was employee number 20-something. Today he returns as Engine Yarder number 86.

The world of hosting, automation and managing Rails applications in the cloud has changed dramatically since 1/1/2008 (or 1/1/2008 for people who prefer the alternate date format). In Engine Yard’s early years we pioneered a full Rails stack on our own hardware. Today, we’re forging ahead into new territory, leading the way with a Rails stack on multiple ‘clouds’ — currently Amazon’s AWS and Terremark’s eCloud, which pair up with our AppCloud and xCloud offerings. As Tom Mornini says, Engine Yard is no longer in the hardware business. Our hardware has been sold. Probably on Groupon or some other service.

Wayne is far too wise for us to allow him to roam the streets without scooping him up and asking him to join the Engine Yard team. He’s well versed in supporting and managing Rails applications from his days in Engine Yard Support. He knows the ins and outs of our stack and automation layers from his last year as “the RVM guy” and as a consultant for our customers. He knows so much about Ruby and our Ruby community that we’re all very excited to have a prototypical Engine Yarder like Wayne return. He’s awesome.

Welcome back!

Popularity: 3% |

Ruby Jobs

By | December 23rd, 2010 at 1:12PM

In case you haven’t heard, we’ve recently launched Ruby Jobs, a job board of sorts that we hope will serve as a useful resource for the Ruby community. If you’re a developer looking for a job, browse through the listings. If your company or team is on the hunt for a great hire, you can create a listing to advertise the opening. The best part: Ruby Jobs is a free service.

If you’re looking for work, check out some recently post from hiring companies like Badgeville, Partnerpedia, Bleacher Report, and Shopify.

To check out Ruby Jobs visit http://jobs.engineyard.com/.

Popularity: 1% |