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

Author Archives: Peter Cooper

By Peter Cooper / April 13, 2009

redcarss.png Redcar is a programmer’s text editor for GNOME, written in Ruby and Vala (a curious C# like language for use with GNOME), by Daniel B Lucraft.

Redcar probably isn’t going to be your next editor, at least not yet. It’s still in its early stages with version 0.1 only being released a week ago and you have to get it running from source (no binary distributions yet). Despite all of this, it already boasts compatibly with Textmate highlighting, snippets, and quite a lot of Textmate bundle commands. It’s GPL2 licensed, too. The code is available in a Github repository.

Despite the focus on GNOME, it should be possible to get Redcar running on both Windows and Mac OS X as well as Linux, but I’ve personally found the dependencies for Ruby-GNOME2 to be an absolute beast to install on OS X. Read More

By Peter Cooper / April 9, 2009

rabbitmq.png When it comes to developing large systems with many interdependent parts, it’s common nowadays to use “queues.” A queue is, for the most part, just a list that you can add items to and remove items from. Apps can use queues to despatch jobs / tasks to other apps or to shuttle logs and status information around.

RabbitMQ is a fast, reliable, open source queueing option. It’s not developed in Ruby, though, but in Erlang, a functional language with a reputation for distributed, high availability, fault tolerant apps. It presents itself as a separate daemon – much as Apache, Passenger, memcached, or MySQL aren’t written in Ruby. Read More

By Peter Cooper / April 9, 2009

rack.png If you’ve developed a Web application using Ruby lately, you’ve probably used Rack in one way or another. Rack calls itself a “Ruby Web server interface” and I tend to think of it as an abstraction between the messy world of HTTP and the potentially just as messy world of your code.

Rack became a key element of Rails as of Rails 2.3, and has been of importance in deploying applications built on alternate frameworks (such as Sinatra). Put it this way, Rack has become a very big deal.

Taking perhaps the tiniest of cues from our articles like Merb 1.0′s 44 Links and Resource to Get You Going and Rails 2.2′s 27 Links and Resources To Get You Going, Rails Envy star Jason Siefer has put together the splendid.. Read More

By Peter Cooper / April 5, 2009

octacat.pngWhat’s Hot on Github is a monthly(ish) post highlighting interesting GitHub-hosted Ruby-related projects that are new or updated within the past month.

Github has become an extremely popular place for Ruby and Rails developers to congregate in the last year, so we want to raise awareness of some of the new projects, and some of the updated ones, that we have found interesting.

This month’s picks:

Haddock (github.com/stephencelis/haddock): A “more memorable password generator.” Basically require in Haddock and use the Haddock::Password class to generate passwords with the length that you want. You end up with some gems like ghost85.Etta, barse4%atlas and Hussitism3(sweet. Read More

By Peter Cooper / April 2, 2009

rubyminebeta.pngFive months ago JetBrains (the company behind Java IDE IntellJ IDEA) released a “public preview” of RubyMine, a new Ruby and Rails IDE. Now, they’ve released the beta of version 1.0, the precursor for a final 1.0 launch later this month. You can download it right away – it came in at about a 75MB download for OS X, but Windows and Linux versions are also available.

When I posted about the preview of RubyMine five months ago, several people raved about how great they thought JetBrains’ IntellIJ IDEA IDE was (which RubyMine is built upon). I don’t have any personal experience with IntellIJ so you’ll need to make your own mind up, but in casual testing RubyMine worked well. Read More

By Peter Cooper / April 1, 2009

macruby.png It was just several months ago that we first began to mention MacRuby on Ruby Inside, but it’s been coming on by leaps and bounds since then. MacRuby is a Mac OS X-based Ruby implementation that works on the Objective C runtime. It’s based on Ruby 1.9 and uses the YARV VM (as Ruby 1.9 does) but will be switching to LLVM at the next major release. MacRuby is attempting to make Ruby a first class OS X development language.

The developments so far have been very promising and a lot of MacRuby news has come out in the past few weeks, which I’ll try to summarize:

MacRuby 0.4 Released

MacRuby 0.4 was released a few weeks ago. Read More

By Peter Cooper / March 26, 2009

james-britt-ruby-superstar.gif The always popular MountainWest RubyConf took place again this year on March 13-14 and the always awesome Confreaks team was on hand to record all of the presentations. Already they have 31 videos of MWRC 2009 up and ready to view in both HD (720p) and 640×360 MPEG4 formats. This is a goldmine of viewing and even if you don’t get to a single Ruby conference this year, these videos could do 90% of the work for you.

So what rocked? Well, I haven’t had time to watch all 31 videos, but from what I’ve heard and from those I have seen, here are some recommendations:

James Britt: Wii Ruby: All work and no play just won’t do. Read More

By Peter Cooper / March 24, 2009

twitterauth.jpgTwitter – the lifestreaming-meets-microblogging social site – has exploded in the last year and lots of applications have been developed that can take advantage of Twitter accounts. The downside is that many have required users to put their own Twitter username and password credentials into the third party apps.. a security minefield!

Luckily, Twitter has recently implemented OAuth, an open protocol that allows third parties to gain authorized access to APIs without giving up all of your credentials (you basically “approve” them to gain access on an ad-hoc basis). And.. there are already two options for rapidly putting together Ruby applications that can take advantage of the new OAuth feature to roll out secure, third party Twitter apps: TwitterAuth and Sinitter. Read More

By Peter Cooper / March 20, 2009

somesearchthing.jpegSau Sheong Chang works at Yahoo!’s Singapore office. Yahoo! isn’t implemented in Ruby, of course, but Sau’s made an attempt at implementing a basic search engine in Ruby and has written a pretty interesting, indepth article about the whole process. Sau’s search engine is formed of a crawler, indexer, and query system, and uses Hpricot, DataMapper, and Sinatra to get things done. Lots of code, lots of explanations – go read it.

If you want to grab Sau’s code for yourself, check out the saushengine repository on Github. You can also attempt to try a live version of the engine for yourself at http://saushengine.saush.net/ – it’s down at the time of writing though and Sau warns its availability will be poor. Read More

By Peter Cooper / March 19, 2009

tmvideos.png

Are you a OS X dwelling, TextMate wielding, Rubyist? I am, but I’m next to useless with all of the advanced features (and by advanced I mean anything beyond Cmd+R). Lucky, then, that Derek Neighbors has started a super-duper series of TextMate Tip screencasts!

So far there are three videos, but I suspect he has more on the way, so if you like the look of them, subscribe to his feed:

  • TextMate Tip #1 (Hashes) – Derek demonstrates how TextMate can make your life easier when dealing with Ruby hashes, primarily shortcuts to produce a hashrocket (=), key value pair shortcut, a new hash, etc.
  • Read More

By Peter Cooper / March 19, 2009

monster-with-torch.jpgThere’s plenty of stuff in Ruby that I’ve either not noticed before, noticed but forgotten about, or otherwise failed to realize the utility of. Add to that all the awesome Ruby tricks and techniques I’m seeing in people’s code over on Github lately and.. we need a new series here: Ruby Techniques Revealed!

Disclaimer: I’m not promising you won’t already know about anything I “reveal.” A lot of you are far better than me at knowing all of Ruby’s dark corners. I’m just going to shine a spotlight in the direction of things I don’t see used very often that I think are cool. Read More

By Peter Cooper / March 19, 2009

If you’re a Ruby developer, the current recession needn’t be too hard.. depending on where you live, of course. There are some good jobs going out there and if you’re on the hunt for one, we’ve recently had several Rails-focused positions come by our Ruby jobs board in both the US and UK:

gobalto.pngSenior Web Applications Developer (San Francisco, CA): Gobalto is a startup developing a social media portal for the pharmaceutical development industry. They’re looking for someone with significant Rails experience (with Python/Java) and several years professional development experience. In return, the compensation package is in the $100-$120k range.

scribd.pngBack-End Rails Engineer (at the largest Rails site on the Web) (San Francisco, CA): They might not like the comparison but Scribd is, to me, the “YouTube for documents.” Scribd is one of the biggest Rails sites out there (the largest, they claim) and they need a back-end Rails engineer in downtown San Francisco. Read More

By Peter Cooper / March 16, 2009

twitter.pngTwibot is a Sinatra-esque “micro framework” for building Twitter bots (somewhat like Isaac is for IRC).

If you’re not familiar with Twitter, it’s a lifestreaming-meets-microblogging type service with a few million users who constantly post about what they’re doing or experiencing (I find it’s very much an acquired taste and makes little positive sense to anyone until they’ve used it a while, alas – a bit like beer or driving stick shift). If you want to learn more, Wikipedia has a good summary.

As well as individuals, there are a lot of automated services on Twitter, pumping out content from feeds, responding to people automatically, monitoring what people are saying, and so forth, and Twibot provides a great mechanism for you to more easily develop such services yourself. Read More

By Peter Cooper / March 16, 2009

xmlresults.gifDisclaimer: Every time we’ve run a piece about benchmarking or performance numbers on Ruby Inside, a retraction or significant correction has come out shortly thereafter. Benchmarking is hard, ugly, and quite often wrong or biased. It is not useless, however, but if you depend on the results in any way, you should certainly try to do your own benchmarking to confirm.

Last week, libxml-ruby 1 was released – a significant achievement since it had been under development for seven years. I suspected that it might just pip Nokogiri to the “fastest way to parse XML in Ruby” post and invited people to benchmark them. Read More

By Peter Cooper / March 12, 2009

xml.gifTry this:

gem install libxml-ruby

And prepare to be shocked as you see libxml-ruby 1.1.1 installed (at the time of writing). Yes, libxml-ruby has, seven years on, made it to version 1! It’s a long history involving a lot of people, initially Sean Chittenden, then Trans Onoma, Ross Bamford, Dan Janowski, and now Charlie Savage who has pushed the library to its 1.1.1 state.

libxml-ruby is, essentially, a set of bindings to libxml2, a ridiculously fast and complete C-powered XML parser. It passes all 1800 OASIS XML Test Suite tests, it’s fast (depending on the C library as it does), and, finally, reliable. Read More