In Getting Code Ready for Ruby 1.9, James Edward Gray II is attempting to put together a comprehensive blog post on the various things you need to do to migrate your Ruby 1.8 code over to working on Ruby 1.9. So far, James only looks at a handful of potentially sticky areas, but commenters have already started chipping in with suggestions, including how to rewrite the BlankSlate class for Ruby 1.9.
There have been a bunch of interview related links coming in over the past week, so it makes sense to put them all together to give you a nice pre-Christmas injection of interesting interviews to read. Enjoy!
We're taking a brief break from the regular "Interesting Ruby Tidbits" posts to focus on Rails™ only for a change. Rails has just made it to version 2.0 so there's been plenty of action in the community. Here are some of the highlights:
The following article is a guest article written by John Philip Green ofSavvica, a Toronto based educational technology company whose development efforts are focused on Ruby and Rails.
The TIOBE "Programming Community Index" chart for November 2007 has been released and Ruby has climbed one place from #10 to #9, overtaking JavaScript in the process. The TIOBE chart is not a particularly accurate chart of programming language use, but it provides a data point used by many. Over the last two years we've watched Ruby scale quite a few places.
Ramaze is a simple, light weight (in a good way!), modular Web framework developed in Ruby. Like Rails, and unlike some of its newer competitors, such as Sinatra, Ramaze sticks to the MVC (Model, View, Controller) paradigm, making it more like a lighter, more modular Merb-alike. Ramaze is already a year old, and one thing that the official Ramaze Web site does right is provide lots of example code and documentation. The framework has also seen four releases in the last six months, a sure sign that someone cares about it.
Wuby, developed by Chris Matthieu, is a new light-weight Ruby Web application framework, much in a similar vein to Sinatra or Camping. One of the differences of Wuby is that no third party applications or gems are required to run Wuby apps, and the Wuby library itself contains everything necessary to run an HTTP daemon and start serving requests. The wuby.org site itself is running on the Wuby system and certainly seems to serve up pages extremely quickly. No database connections are required (although MySQL and SQLite are easily usable), and data can be stored in a persistent hash for ultra simplicity.
Eivind Uggedal has written in with a note about a new blog system he's built using the lightweight Sinatra framework. It's about 100 lines long including the inline templates! An example of the finished software powers Eivind's own blog. Sinatra is looking to be an absolutely excellent mini-framework for running up basic non-MVC applications, and you can learn more about it here.
As long time readers will know, Ruby Inside has its own jobs board at jobs.rubyinside.com. It doesn't just have jobs posted only by Ruby Inside readers, but also jobs scraped from all over the Web with many Ruby and Rails related jobs being picked up every day (e.g. how does being a Ruby Engineer in Los Angeles take your fancy?).
In "How the Ruby heap is implemented," Hongli Lai looks at how Ruby manages its memory and stores your objects. It's reasonably technical but a very interesting read for those with the stomach for it.
Note: Ruby Inside service will be slow until Thursday as I'm on vacation. The flow will then return to regular levels! Thanks!Sinatra - A New Ruby Web App FrameworkIt's still in its infancy but Sinatra is an interesting looking new Ruby Web app framework. It relies very heavily on a custom DSL but is otherwise in a similar niche to Merb or Camping.PackR - Ruby JavaScript CompressionPackR is a port of a Javascript compressor originally developed by Dean Edwards. The interesting thing about PackR is that it comes as a Rails plugin to enable you to have the JavaScripts associated with your Rails apps "packed" on the fly. Packing isn't a sure-fire way to stop someone ripping off your code, but it makes it significantly harder.Great resource on Rails' sessions and cookiesThe guys at QuarkRuby have put together a great guide to lots of other sites that show how sessions and cookies are managed in Rails and how you can work with them.
Mailtrap is a "dummy" SMTP server developed in Ruby by Matt Mower. The main use for Mailtrap is to act as an SMTP server that runs locally and can be sent mail which can be inspected for debugging purposes. For example, your Rails application running locally might need to send mail using ActionMailer, and while you want it to go through all of the SMTP motions, you don't want the mail to really be sent.. enter Mailtrap! In this blog post, Matt goes into more details about how Mailtrap works, why it's a good idea, and the motivation behind its development.