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

Author Archives: Peter Cooper

By Peter Cooper / October 1, 2008

compilers-dragonbook.pngBack in March 2008, Vidar Hokstad – a London based Norwegian developer – began to write a series of blog posts on writing a compiler in Ruby from the ground up. Early on, I took objection to some elements of his approach, but it still stands as a great series of posts. Vidar recently reached post 11, providing enough of a landmark to introduce the series as a whole (which is already scheduled to go up to at least 20 posts).

It’s worth noting that there are many different approaches to writing compilers of all types – so don’t take the series as a definitive way to develop a compiler. Read More

By Peter Cooper / September 26, 2008

jsclass.png JS.Class is an attempt at making JavaScript more Ruby-like. More specifically, it’s a library that makes object oriented development easier in JavaScript (in comparison to JS’s prototype technique, at least) by implementing Ruby’s core object, module, and class systems as well as some of Ruby’s meta-programming techniques.

As well as ports of Enumerable, Observable, Comparable, and Forwardable, you get subclassing, mixins, reflection, late-binding arguments, singleton methods, method binding, and Ruby-like inheritance. Of course, JavaScript gives access to many of these elements already, but JS.Class presents things with a Ruby flavor.

The official JS.Class site is particularly well done and each main area is well documented. Read More

By Peter Cooper / September 24, 2008

puzzle_lock.jpgGarry Dolley has developed a Ruby module called “Immutable” (Github repository). It allows you to make your methods immutable. As Gary says, “provide it a list of methods you don’t want touched and it’ll make sure they can’t be redefined.” Effectively, it’s a smack-down against monkeypatching.

Gary developed immutable to ensure that ActiveSupport wouldn’t interfere with his attempts to improve Rails’ loading time by reimplementing some ActiveSupport methods in C (by redefining his own changes). Read More

By Peter Cooper / September 22, 2008

rubyfringevids.png Remember RubyFringe, the avant-garde Ruby conference held in Canada this September? According to most reports, it went down as possible the best Ruby conference ever and spawned some very interesting presentations – that those of us who didn’t go wouldn’t have seen..

Luckily, in conjunction with InfoQ, videos from RubyFringe are making it online – so far there are four to check out:

Obie Fernandez – Do The Hustle : Obie Fernandez of HashRocket looks at how to sell and price development services. How do you deal with proposals, contracts, RFPs? How do you close deals? It’s all in here. Read More

By Peter Cooper / September 19, 2008

rubyology.pngRubyology is a Ruby-based podcast chaired by Chris Matthieu. Its focus is on interviewing interesting Ruby (and Rails) developers – finding out about their projects, what makes them tick, and extracting their insights into the Ruby and Rails worlds.

For some reason, Rubyology hasn’t had a lot of love in the Ruby blogosphere, and after listening to several great interviews over the past few months, I’ve decided this is a great time to recommend you check it out if you’re not already a subscriber.

Recent highlights include:

Of course, don’t forget about Geoffrey Grosenbach’s Rails Podcast either – it’s not all Rails focused these days. Read More

By Peter Cooper / September 17, 2008

panda.png

Panda (Github repository) is an “open source solution for video uploading, encoding and streaming” developed by British Rails developers New Bamboo.

Supplied primarily as an Amazon EC2 AMI (a virtual server machine image), Panda combines a Merb application and FFmpeg to offer an all-in-one video uploading and conversion system. It uses REST throughout, so is easy to integrate with your other applications. The system is offered under a BSD-esque license.

Panda would be ideal if you want to offer video uploading and streaming features on your site, but you haven’t got the time to implement a lot of the “back end” functionality. Read More

By Peter Cooper / September 16, 2008

You might have missed the announcement, but a couple of months ago I launched Rails Inside in order to allow Ruby Inside to focus more on Ruby-specific news. Due to the obvious crossover between the audiences, I promised that I’d start a regular series of Ruby Inside posts highlighting some of the most interesting Rails news from Rails Inside – just in case you’re into Rails but not so into it that you want to subscribe to Rails Inside! This is the first post of that series.

Recent highlights have included:

railsmanualsss.jpgAwesome Fresh Rails Documentation to Enjoy

Fresh from the participants of the Rails Guides Hackfest come the first results… Read More

By Peter Cooper / September 14, 2008

terminator.png

Terminator is a new library developed by Ara Howard and Mikel Lindsaar that solves the problem of Ruby’s own “timeout” feature not actually being up to the task of terminating code. timeout is supposed to terminate the execution of a block of code if it’s not finished within a certain amount of time, but due to Ruby’s threading model it doesn’t always work that way!

Initially, Mikel considered SystemTimer – another replacement for timeout. SystemTimer is based upon UNIX alarm signals and, for some reason, still didn’t resolve the main problem (although SystemTimer has ridiculously good documentation and is clearly working well for someone). Read More

By Peter Cooper / September 14, 2008

Here’s the latest events news in the Ruby and Rails worlds! Please make sure to post a comment if you have events to mention or tell us via the Contact page.

vtmpr.png Voices That Matter: Professional Ruby Conference – November 17-20, 2008 – Boston, MA, USA

The Voices That Matter: Professional Ruby Conference will “provide practical, people-oriented and in-depth information about using Ruby and the Rails platform to create dynamic technology solutions.” Obie Fernandez is the conference’s technical chair, and heads a solid speaker list including Ruby and Rails luminaries like Giles Bowkett, Thomas Enebo, Hal Fulton, Chad Pytel, Tammer Saleh, Ezra Zygmuntowicz, and others. Read More

By Peter Cooper / September 11, 2008

It’s time to thank those great companies and individuals who help keep Ruby Inside going – and some parts of the Ruby world itself. We all need hosting, screencasts, and developers! Note: All blurbs and descriptions are written by me and not directly influenced or specified by the sponsors. As such, any opinions stated are mine and not necessarily shared by the sponsor!

Linode – Xen Virtual Servers

linode.pngLinode is a well-established provider of virtual private server hosting – some five years now. They’re very competitive and have recently redesigned their site. Their entry level package is $19.95 and gives you 360MB of RAM, 12GB of storage, and 200GB bandwidth. Read More

By Peter Cooper / September 9, 2008

aizzz.png

Ola Bini (of JRuby fame) is starting a series of blog posts about artificial intelligence programming in Ruby, based off of the landmark textbook “Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp” by Peter Norvig (currently the Director of Research at Google). PAIP is a significant work in the artificial intelligence world, and despite being published in 1992 it still has a lot of relevance.

Ola is working through the book and rewriting the examples to suit Ruby developers (with Norvig’s permission) – this code will be available from a Github repository as soon as it’s written/updated. Read More

By Peter Cooper / September 5, 2008

jslilimg.pngThis week you may have heard about “Chrome,” a new Web browser being developed by Google (if you haven’t, read this online comic book that demonstrates its worthiness). Associated with Chrome is V8, a new open source JavaScript engine that’s designed to execute JavaScript code at never-seen-before speeds.

All this reminded Marc-André Cournoyer (of Thin fame) of HotRuby (see previously on Ruby Inside), an experimental JavaScript-based virtual machine that can run YARV-compiled Ruby code, and he set out to test the performance of Ruby code running on HotRuby on top of V8. The results are far from scientific and many commenters have pointed out flaws, but Marc’s observations are a great first step toward seriously considering the possibility of using JavaScript as an execution route for Ruby. Read More

By Peter Cooper / September 5, 2008

If you thought August’s job post was hectic, this month will blow you away! The focus is still heavily on Rails – and most of these jobs are in the United States (there’s one in the UK – keep an eye out for it). The Ruby Inside Job Board (costs $99 for a 60 day listing – and you get featured on Ruby Inside like this) is the source for most of the positions.

This month’s interesting opportunities:

mckinsey.pngWeb Architect for McKinsey & Company (New York, NY): McKinsey & Company is, perhaps, the world’s best-known global management consulting company and they’re looking for a Web architect with experience in a number of open source areas – such as Apache, MySQL, Linux, Ruby and PHP – as well as a good feel for Web 2.0 technologies and principles and how best to leverage all of these things in the enterprise. Read More

By Peter Cooper / September 3, 2008

bm11.png

Recently we posted about NeverBlock, a Ruby 1.9-specific library that eases the development of apps that use non-blocking IO. eSpace, the company behind the library, have now come along with another surprise… MySQLPlus – a non-blocking MySQL driver for Ruby 1.8 and 1.9! There’s more information here in the official announcement.

MySQLPlus is billed as a new general-purpose MySQL driver that supports “threaded access and async operations,” offering developers a robust tool to streamline their database interactions. Imagine the same principle applied to optimizing platforms with high traffic and demand for seamless user experiences, like casino sites not on Gamstop, which rely heavily on low-latency solutions to provide uninterrupted services. Read More

By Peter Cooper / August 31, 2008

Configatron is a new Ruby library that makes it easy to have persistently accessible configuration data available through your Ruby application. It bears some similarities to the Rails pluginSimpleConfig, but being distributed as a gem, is suitable for non-Rails applications. To install: gem install configatron

Once configatron is installed, the following code will get things going:

configatron do |config|
config.app_name = “My Awesomely Jazzy App”
config.database_url = “postgres://localhost/somedb”
# etc…
end

And then you can access these configuration variables throughout your application, like so:

configatron.app_name # =”My Awesomely Jazzy App”
configatron.database_url # =”postgres://localhost/somedb”

Note that this only gives a very cursory look at what Configatron offers, however, as it has many other features – including namespacing and nested configurations. Read More