Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

Author Archives: Peter Cooper

By Peter Cooper / March 10, 2009

futureruby.png 2008′s RubyFringe conference, put on by Canadian Rails consultancy Unspace, was heralded as a landmark in Ruby conferences and set a benchmark that has only recently been approached by the fervor around events like Ruby Manor. After the event, Unspace rapidly said that there wouldn’t be another RubyFringe, but…

Unspace has decided to do it all again with FutureRuby. Like RubyFringe, FutureRuby is a single track, small (150 attendees max) conference with a focus on high energy, high quality presentations (see some videos from RubyFringe, and remember that Giles Bowkett was named our top presenter of 2008 for his RubyFringe show!) and lots of extracurricular activities (i.e. Read More

By Peter Cooper / March 9, 2009

jobs-briefcase.jpg

Despite whatever’s going on in the bigger world, there doesn’t seem to be a shortage of jobs in the Ruby and Rails worlds – at least, not in certain cities. There also doesn’t seem to be a shortage of Ruby and Rails developers, but employers are still desperate to find people to fill positions. A few employers complained to me that the quality just wasn’t there and that there were a lot of tire kickers about. However, it’s crucial to be prepared for unexpected situations, such as losing employment for no apparent reason, by staying informed about your rights and seeking appropriate support if needed. Read More

By Peter Cooper / March 9, 2009

blogoguys.jpgBlogo is a Mac / OS X blogging client developed by Brainjuice – the business name of Benjamin Jackson and Ivan Neto, Rio based Ruby developers and Web designers – and born out of their frustration with existing commercial blog editors.

Brainjuice believe Blogo is the first commercial OS X Ruby app (though the first cross-platform one goes to someone else – see the footer of this post for info!). Rather than use Objective C (which they found to be a serious time hurdle), they tried out RubyCocoa and discovered the beauties of Cocoa (other than the rather gangly method names!) in that way instead (along with MacRuby). Read More

By Peter Cooper / March 6, 2009

rom.png Vidar Hokstad is the writer behind the fine Writing a Compiler in Ruby series, but he’s taken a break to explain the structure and semantics of the Ruby object model. It’s a fine walkthrough.

Vidar takes us through what objects really “are” (a bundle of things, such as a reference to a class, a table of instance variables, and a set of flags) but also explains the exceptions (for example, FixNums, nils, true, false, and symbols are represented “natively” in the 32-bits where a pointer to an object’s metadata would usually be stored – this is one of the reasons why symbols are so efficient). Read More

By Peter Cooper / March 4, 2009

speed.png

Brian Dainton, a developer at FiveRuns, demonstrates “how to speed up gem installs 10x.” I don’t buy that it’s ten times faster, but disabling the generation of ri and rdoc documents does have a significant effect nonetheless.

Brian demonstrates that you can try it on an ad-hoc basis by adding –no-ri –no-rdoc to your gem install lines, or you can add gem: –no-ri –no-rdoc to your ~/.gemrc file.

Sometimes it’s the smaller, throwaway tips that can really brighten your day. Got any time-saving .irbrc or .gemrc tips to share?If we get enough, we could run a post full of them. Read More

By Peter Cooper / February 27, 2009

ubuntu.pngWant to install Ruby, RubyGems, and a collection of common gems on Ubuntu 8.10 (Intrepid Ibex) in just a few minutes? Here’s the skinny.

If you want, you could use something like Passenger-Stack to do the legwork for you, but I prefer doing manual installations so I know the full score. There are several “how to install Ruby on Ubuntu Intrepid” guides out there but none of them got it totally right for me. I’ve just used these instructions twice in a row so I know they work. Another bonus is you get ImageMagick and rmagick installed which some people get really frustrated with.. Read More

By Peter Cooper / February 26, 2009

guis.pngIn late 2008, 399 Ruby developers took part in the 2008 Ruby GUI Survey, conducted by Alex Fenton. The results are now available. There’s a brief summary of the results, as well as an excellent 20 page report (!!) and a separate 16 page PDF giving the per-question totals.

Ruby’s not well known for being used to develop regular desktop applications. Part of the reason has been, until recently, a lack of good GUI-related libraries. Tk, which is included with Ruby’s standard library, can be used to develop desktop apps, but they’re frightfully ugly and the API is from the stone age (it also received the lowest scores in the survey for how well it met users’ requirements). Read More

By Peter Cooper / February 25, 2009

heist-in-progress.pngHeist is a Scheme interpreter by James Coglan written in Ruby. Scheme is a programming language that’s a dialect of Lisp, was an influence upon Ruby, and still a popular choice for learning functional programming (such as in the classic Structure and Interpretation of Computer Programs).

As well as being used as a stand-alone Scheme interpreter, Heist can also be used as a Ruby library for executing Scheme / Lisp code within Ruby applications.

Other than being of interest to programming language and Lisp nuts, Heist is a great example of not just a complete, well written Ruby app, but a well formed language interpreter too. Read More

By Peter Cooper / February 24, 2009

Looking for a job where you can work on Ruby and Rails apps? You’re in the right place! Recently we’ve had several Rails-focused positions added to the Ruby jobs board.

February’s interesting opportunities (they’re all Rails ones this time..):

newbamboo.png

Experienced Rails Developer (London, UK): New Bamboo, one of the UK’s top Rails development teams, is looking for a Ruby and Rails expert to join their London-based team.

viscape.pngSenior Software Engineer (Telecommuting): Viscape, an innovative travel site for vacation properties and second homes, is looking for a software engineer to design, develop, test, repair and maintain site features and functionality as required by a Web 2.0 application based on Ruby on Rails. Read More

By Peter Cooper / February 21, 2009

stack.png

Passenger-Stack is a set of scripts for the provisioning tool Sprinkle that make installing a full Ruby, Apache and Passenger-based stack almost a one-line task. It’ll take almost any UNIX-y (correction: Ubuntu / Debian) server of your choice from a generic install through to deploying Rack-based apps (including those built with Rails, Merb, Sinatra, and Ramaze).

The Sprinkle scripts behind Passenger-Stack were developed by Ben Schwarz and the best introduction is his five minute screencast showing how it works (on Ubuntu 8.10 hosted with Slicehost). Ben is very keen for people to fork the scripts on Github and customize them further. Read More

By Peter Cooper / February 18, 2009

passengerlogo.pngCan you remember what a hideous chore it was to deploy Ruby-based apps (Rails apps being a key example) before early 2008? FastCGI, proxying schemes, plain old CGI – it was all a bit of a mess. It was so bad, in fact, that in January 2008 we posted No True “mod_ruby” Is Damaging Ruby’s Viability On The Web and kicked off a major discussion about it (115 comments!)

A couple of months later, an as-then unknown Dutch company called Phusion (headed by Ninh Bui and Hongli Lai) released mod_rails (a.k.a. Passenger), an Apache module that automatically handles server processes for Ruby apps and makes it a snap (just upload and touch a file) to deploy any Rack-based Ruby webapp with Apache – everyone has benefitted, including Sinatra, Merb and Ramaze development. Read More

By Peter Cooper / February 17, 2009

Jamie.jpgIf you read a lot of Ruby blogs, you might see people talking about testing (or its behavior driven equivalent) as if it’s the holy grail, yet most Ruby books and online tutorials fail to cover it in much detail at all. Last year, Jamie Van Dyke wrote an article for The Rubyist called Building A Gem Using BDD to put things right (the article was licensed exclusively to the magazine until recently).

In the article, Jamie walks through creating a Ruby library (to ultimately be distributed in gem form) from scratch using behavior-driven development (BDD) techniques (specifically, with RSpec). Read More

By Peter Cooper / February 16, 2009

rubyinsidebrasil.png Bom dia to all of Ruby Inside’s Brazilian (and Portuguese) readers! You can now, if you prefer, read (and subscribe to) the Portuguese language edition of Ruby Inside at http://www.rubyinside.com.br/ (if you’d rather just subscribe to the feed, it’s here, or check it out on Twitter @rubyinside_br)

Ruby Inside Brasil (Brazil) is an initial step into localizing Ruby Inside by “franchising” to trusted editors and translators in different parts of the world (there will also be unique content over time). Ruby Inside Brasil’s editor is Carlos Brando of Surgeworks, Inc, who is well known in the Brazilian Rails community for his blog Nome do Jogo. Read More

By Peter Cooper / February 13, 2009

tinyrb.jpg Marc-André Cournoyer has proven that almost anything is possible by developing a small, functional, and surprisingly “unslow” Ruby VM called TinyRB. Some basic testing shows that it’s faster than 1.8 on a Fibonacci benchmark, though slightly slower than JRuby, Rubinius, and YARV (Ruby 1.9).

Coming in at just 1541 lines of code so far, TinyRB is not going to be replacing your usual Ruby interpreter anytime soon. While it supports most of the keywords and some base classes including Class, Object, Fixnum, Symbol, and String, there’s no support for Array, Module, Float, and a whole ton of essential stuff.

TinyRB, in its current state, is a playground for you to mess around in. Read More

By Peter Cooper / February 11, 2009

couchdb.pngApache CouchDB is a “distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API” that has received quite a bit of publicity in developer circles in the past year. It’s written in Erlang, so has all of the scalability and flexibility the Erlang environment brings to the table, but as a RESTful service, you can use it from pretty much anywhere.

George Palmer, a UK-based Rails developer, wanted to use CouchDB but found the existing libraries (such as RelaxDB, CouchREST, ActiveCouch and CouchPotato) lacking – not that they are, as such, but they didn’t fit George’s needs. Read More