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

By Peter Cooper / October 18, 2011

In Rubyists Already Use Monadic Patterns, Dave Fayram made a passing reference to using ||= to set a variable’s value if its value were ‘Nothing’ (false or nil in Ruby). The resulting Reddit quickly picked up on his definition (which was fixed later) and argued about ||=’s true meaning which isn’t as obvious as many Rubyists think. This spread to Freenode’s awesome #ruby-lang IRC channel where I picked it up.

Abstract (or the TLDR Version)

A common misconception is that a ||= b is equivalent to a = a || b, but it behaves like a || a = b

In a = a || b, a is set to something by the statement on every run, whereas with a || a = b, a is only set if a is logically false (i.e. Read More

By Peter Cooper / October 17, 2011

Back in 2008 and 2009, Ruby Inside had a long line of “Interesting Ruby Tidbits That Don’t Need Separate Posts” posts, aimed at sharing a collection of news and libraries in one hit. In the last year, I’ve shifted Ruby Inside to focusing on less frequent tutorials or investigative features and have been putting all of the news on Ruby Weekly, my weekly newsletter.

There are still many, though, who would prefer to read the news in their RSS readers or on the Web, so I’m going to be taking the things I find for Ruby Weekly each week, doing a little reformatting, and sharing them here on Ruby Inside too. Read More

By Peter Cooper / October 11, 2011

Ruby Inside wouldn’t be what it is without you but it’s time for me to thank the companies who also help to keep Ruby Inside going by sponsoring my work. Thanks!

I take care not to accept sponsors who have little of interest to the Ruby scene so hopefully you’ll find something useful below – it’s not a roster of faceless companies, these folks are doing great stuff.

Gauges – Simple, Sexy Real-time Analytics

Gauges is a tool for collecting and analyzing the Web traffic for all your sites in real-time using a fast, reliable, hosted system. You can even see overview data for all your sites on a single page. Read More

By Peter Cooper / September 23, 2011

On August 1, 2011, Ruby 1.9.3 preview 1 was released. The final version isn’t yet out (as of September 23) but Ruby 1.9.3 is going to be the next, full production-level release of MRI Ruby. But what’s the deal with 1.9.3 (and its successors, Ruby 1.9.4 and 2.0)? Keep reading!

The Summary

Ruby 1.9.3 is a relatively minor improvement on the Ruby 1.9.2 we already know and love. In short:

  • a focus has been placed on performance with file loading, File and Pathname all significantly improved
  • Ruby 1.9.2 mostly fixed down the language specification for 1.9; 1.9.3 is mostly work on a ‘better implementation’
  • you can tune the garbage collector via environment variables (more on this in a post coming soon!)
  • Ruby’s license changes from dual Ruby + GPLv2 to dual Ruby + 2-clause BSD
  • improved GC performance with a lazy garbage collector
  • a ‘better strategy’ for the GIL / GVL
  • test/unit supports parallel testing
  • Random.rand tweaks (and rand() now accepts ranges)
  • io/console, a new library in the stdlib
  • 4 new encodings (so far) – cp950, cp951, UTF-16, and UTF-32
  • extra String methods
  • a number of tweaks to formatting strings
  • Module#private_constant and Module#public_constant
  • a smattering of other bits and pieces, but this is the TLDR overview!
  • Read More

By Peter Cooper / September 20, 2011

In a presentation about Ruby 1.9.3, Yuki Sonoda notes that Ruby 1.8 has “no future” and its “end of life” is being discussed pretty seriously. Ruby 1.8 is becoming history, but what’s the alternative? Why, Ruby 1.9! :-)

Even amongst the groups I’m involved with, I’ve seen a lot of resistance to Ruby 1.9. Sometimes it’s because of deployment or library concerns, but often there’s a hesitancy over what’s changed, what’s new, or what has been flat out removed from 1.9. So I’ve been working on something to help out.. because I think Ruby 1.9 is awesome and everyone should be taking it seriously ASAP. Read More

By Peter Cooper / September 2, 2011

Despite RSpec‘s awesomeness, Test::Unit remains the most popular Ruby testing tool out there outside of Rails apps. I’ve recently been code walking through a lot of Ruby libraries for my Ruby Reloaded course and the typical arrangement is Test::Unit, sometimes coupled with Shoulda or Contest for some extra syntactic sweetness.

Part of the reason for Test::Unit’s enduring popularity is its presence in the Ruby standard library but, also, its general ‘lightness’ and speed. When you’re writing a large app, using a powerful full-featured system like RSpec has significant benefits (particularly stakeholder involvement in writing the specs). But when you’re working on a library that might spread far and wide and is aimed solely at developers, the pros of Test::Unit shine through. Read More

By Peter Cooper / August 27, 2011

jobs.pngIt seems the Ruby and Rails job scenes are on fire! I don’t remember running so many jobs across a single month before. 22 Ruby and Rails jobs are here and they’re spanning the world. US West Coast, East Coast, England, Scotland and Germany are all represented. It’s definitely not the common “San Francisco or nothing” roundup :-)

Also fresh this time around is the mention of “all levels” or “junior” roles. At least a few of the jobs listed here today are open to all skill levels or are explicitly junior in nature. I’ve had a lot of readers get in touch requesting more listings like these so I’m glad they’ve come along. Read More

By Peter Cooper / August 16, 2011

rbenv is a new lightweight Ruby version management tool built by Sam Stephenson (of 37signals and Prototype.js fame).

The established leader in the Ruby version management scene is RVM but rbenv is an interesting alternative if you want or need something significantly lighter with fewer features. Think of it as a bit like Sinatra and Rails. It’s not about which is the best, it’s about which is better for you and your current requirements.

What’s the deal with rbenv?

Compared to RVM, rbenv is light. For example, it doesn’t include any mechanism to install Ruby implementations like RVM does. Its sole job is to manage multiple Ruby “environments” and it allows you to quickly switch between Ruby implementations either on a local directory or default ‘system-wide’ basis. Read More

By Zach Inglis / August 10, 2011

Between August 19—20, 2011, Madison, Wisconsin plays host to thirty-seven speakers and panelists to discuss Ruby, OSS, and community in the form of Madison Ruby Conference. Speakers include Jeff Casimir, Giles Bowkett, Bryan Liles, Sven Fuchs, Steve Klabnik, Brian Hogan, Jacqui Cox, Lori Olson, Gerred Dillon, Barry Hess, and Chad Pytel amongst others.

I sat down with Jim Remsik, the driving force behind the conference, to discuss what awaits attendees.

Zach Inglis (for Ruby Inside): Hi Jim. So why Madison?

Is there a large Ruby community in Madison?

What will surprise attendees the most about Madison Ruby?

Madison Ruby is during the weekend of August 19th-20th. Read More

By Peter Cooper / August 5, 2011

In the past couple of months I’ve seen situations arise where developers aren’t entirely sure how Ruby has chosen to interpret their code. Luckily, Ruby 1.9 comes with a built-in library called Ripper that can help solve the problem (there’s a 1.8 version too, see later). Here, I give the 30 second rundown on what to do.

A Mystery To Solve

I’ve seen this confusion appear twice in the last month (the second time was what inspired me to write this post):

Despite thinking that we should be seeing Hash appear, we don’t. We get a blank line and NilClass in response. Read More

By Peter Cooper / August 3, 2011

Official project sites should set the benchmark for standards relating to that project in terms of the best quality and most up to date news updates, documentation, download links, tutorials, and so forth. On this front, Ruby’s official site at ruby-lang.org is doing a bad job (in the English language variant, at least).

Update: Since making this post, people have begun to volunteer and existing volunteers have started to update the site. The Download page now lists alternative implementations :-) Congratulations to everyone who stepped up. This means this article may progressively become out of date, so please read it in that context, since the problems may get fixed soon :-)

The site’s footer says it’s “proudly maintained by members of the Ruby community” and links to the homepage of the rather anonymous Ruby Visual Identity Team who redesigned it 5 years ago. Read More

By Jon Frisby / August 2, 2011

A few months ago, Ruby Inside wrote about using Spork with RSpec 2 and Rails 3 in order to get a more sprightly spec run. Unfortunately, using the techniques in the article with our fledgling codebase’s test suite left us with somewhat disappointing results, so I decided to dig deeper and see if I could do better.

Note: This is a guest post by Jon Frisby of Cloudability. See the post footer for more info.

With and Without Spork

First, let’s see what things look like with and without Spork running on our raw test suite.

Note: The machine I’m using is a spanking-new 15″ MacBook Pro with the 2.2Ghz quad i7 and running Ruby 1.9.2-p180. Read More

By Peter Cooper / August 1, 2011

Over on the ruby-talk mailing list, Yuki “Yugui” Sonoda announced the release of Ruby 1.9.3 Preview 1:

It’s important to note that this is not the latest production release of Ruby 1.9 (that remains Ruby 1.9.2-p290 for now) but is a preview release so you can try out your libraries and other important code ahead of the full production release of Ruby 1.9.3-p0.

Pick up the tarfile of the release at http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-preview1.tar.gz if you fancy a crawl about. If you want to check it out with RVM, instructions follow.

Key Updates

Let’s waltz through some of Ruby 1.9.3 preview 1′s key updates over the existing Ruby 1.9.2:

By Peter Cooper / July 18, 2011

I don’t like being negative on Ruby Inside without good reason. Trivia like DHH’s test library preferences can provide a fun talking point but pointing out specific flaws in someone’s work is rarely insightful.

I wasn’t going to publish a review of this book but when I discussed the issues with people on IRC, Twitter and e-mail (to find second opinions), I was pressed to push on, primarily to serve as a warning to newcomers who may pick up this book. So, let’s tread carefully..

What is The Book of Ruby?

The Book of Ruby is a new Ruby book published by No Starch (who, as a publisher, I love – The Linux Programming Interface is one of the best books I’ve ever read) and written by Huw Collingbourne. Read More

By Peter Cooper / July 16, 2011

Over at the always-riveting official Ruby blog, Shota Fukumori has announced the release of Ruby 1.9.2-p290, the latest ‘patchlevel’ release of the current production release of Ruby MRI.

If you’re still on 1.8, check out The Ruby 1.9 Walkthrough, a mega screencast aimed at Ruby 1.8.7 developers who want to learn all about what’s new, what’s gone, and what’s different in Ruby 1.9.2 and 1.9.3.

Patchlevel 290 is the first production-level patchlevel release of MRI since patchlevel 180 back in February so it’s worth upgrading if you’re on 1.9.2. The release post duly notes:

So what changed? And how can you upgrade? Read More

Recently Popular Posts