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

Author Archives: Peter Cooper

By Peter Cooper / June 22, 2009

The latest installment of the series of posts crammed with random Ruby links, articles, and resources to kick off your week!

gogaruco.png

17 High Quality Videos from GoGaRuCo

Earlier this month, the videos from the GoGaRuCo (Golden Gate Ruby Conference) conference that took place back in April went online. The talks are all available in MPEG 4 video and MP3 audio formats. Video and audio quality are really good overall (no annoying humming or reverb that often plague such undertakings).

Talks include Using Ruby to Fight AIDS, MacRuby and HotCocoa, Building Custom Web Proxies in Ruby, and Sinatra: The Framework Within, although there are 17 to check out overall. Read More

By Peter Cooper / June 19, 2009

cthuluoooo.pngThis post is by Matt Sears of Littlelines.

Rdoc.info is simple web service that uses YARD (a documentation generation tool for Rubyists) to generate documentation for Ruby libraries hosted on Github. If you’re not familiar with YARD, it allows you to add metadata to Ruby documentation similar to other languages such as Java and Objective-C. Another cool thing about YARD is its extensibility and allowing you to plug in custom handlers and output.

Rdoc.info, announced in April, was launched as a side project by Nick Plante. Nick leveraged Github’s post-receive-hooks to automatically generate and host Ruby documentation each time a Github project receives a commit. Read More

By Peter Cooper / June 17, 2009

  perftools.png

Ilya Grigorik has written an interesting article called Profiling Ruby with Google’s Perftools about using a port of Google’s Perftools (perftools.rb) to build graphs showing the results of profiling sessions on your Ruby code. As with all of Ilya’s great posts, it’s punchy and to the point.

Ilya starts by explaining what Perftools is and shows how to use its regular profiling features from Ruby, which are impressive enough, but then moves on to showing how to generate graphic profiling charts that graphically demonstrate where your application is spending most of its time. Aman Gupta, the developer of Perftools.rb, has produced such graphs for RubyGems, Merb, Rails, and EventMachine, which you might find interesting. Read More

By Peter Cooper / June 12, 2009

rip.pngEarlier this week, Rip quietly made its way into the world. It’s a “next generation” Ruby packaging system, clearly meant to both work around some of the problems with RubyGems and also introduce some fresh ideas of its own. If you want to immediately jump and learn more, check out the official About us page for a tour.

Rip comes from the Github and Sinatra stables with the primary contributors being Chris Wanstrath, Jeff Hodges, Tom Preston-Werner, John Barnette, Blake Mizerany, Ryan Tomayko and Pat Nakajima. This is no “crazy renegade” project, although the developers are keen to stress the existing version is only a “development alpha” to be tested and built upon – not used in production. Read More

By Peter Cooper / June 9, 2009

clock.png It has always been a trend with Rubyists to take things that have poor interfaces and give them better ones. Javan Makhmali from Inkling Markets has lived up to this trend, and given us Whenever, a library that wraps cron’s syntax with a Ruby API (cron being a UNIX task scheduling tool).

Whenever can be tightly integrated with Rails (providing application specific commands such as “rake” and “runner” from the API – see an example here), but can also be run as a standalone program. Whenever outputs valid crontab syntax, and can even write the crontab file for you! Read More

By Peter Cooper / June 5, 2009

larubyconf-logo.jpg.jpeg

LA Ruby was a single track Ruby conference that took place in Los Angeles (Orange County really, but we’ll let them off..) at the start of April. The crack conference recording team Confreaks was in attendance and they’ve released 14 awesome videos from the event. Most of the videos are about 30 minutes long and you can watch them directly in your browser, download HD or SD MP4 files, or subscribe to the iTunes video podcast or Miro feed.

The overall set list:

The only downside to these videos compared to most Confreaks efforts is there’s a lot of reverb and buzzing on the audio tracks, but the picture quality is great and ultimately the content wins out. Read More

By Peter Cooper / June 4, 2009

rbp.pngIt’s pretty rare I recommend new blogs to follow on Ruby Inside. Not because I don’t like them – I link to their posts all the time! – but because it’s hard to tell if a new blog is going to keep going and be worth your while.

Well, the Ruby community has a new blog in its midst that’s proving to be a must-read – Ruby Best Practices. It’s a must-subscribe (RSS feed) for Rubyists who want to get a good overview of what a collection of Ruby gurus believe and think about Ruby and how she should be written. Read More

By Peter Cooper / June 2, 2009

wal15.png At the last regular London Ruby User Group meetup, James Coglan gave a talk on how to implement a Scheme interpreter in 15 minutes. He recorded a video of the coding in progress beforehand so he could focus on the narration so unfortunately the video (available in a higher resolution here from Vimeo) is without sound. There is, however, a ZIP file of HTML slides available to help you follow along.

Naturally, building an arbitrary interpreter from scratch without having a design in mind in 15 minutes is impossible (except for the most trivial of cases) but James’ demo is nonetheless impressive. Read More

By Peter Cooper / May 30, 2009

blueprint.pngA handful of random Ruby links, articles, and resources to end off the week..

jruby.png

Is It JRuby? – Track which gems work on JRuby

Is it JRuby? is a “fork” of Brightbox’s Is It Ruby 1.9 that focuses on JRuby. As with the Ruby 1.9 site, Is It JRuby lets you track gems, allowing you to mark them as either working or not working with JRuby (yet) or to track reports from others. Remember that since these sites are community driven, the reports should never be taken as gospel and simply used as guidelines.

Ruby Enterprise Edition’s 3rd Sponsorship Campaign

The Phusion guys (behind the awesome Passenger / mod_rails) are looking for contributions to their third sponsorship campaign for Ruby Enterprise Edition. Read More

By Peter Cooper / May 27, 2009

rubymine.png

Back in April, we posted about the release of the beta of RubyMine 1.0, an IntelliJ IDEA based Ruby and Rails IDE. This month, the final RubyMine 1.0 was released for public consumption. It’s a great IDE – check out the free 30 day trial to get a feel for it.

The Quick-Fire Feature List

RubyMine has a pretty crazy feature set. Just some of the biggest points to whet your appetite:

rm2.png

  • Code completion
  • Automatic code inspections – basic errors pointed out with one-click quick fixes.
  • Advanced navigation – including seeing overridden methods on the fly
  • Version control integration – SVN, Git, CVS, and Perforce
  • Integrated gem manager
  • IRB and Rails consoles
  • Assisted unit testing – supporting RSpec, Test::Unit, and test/spec
  • Quick documentation lookups
  • Suitable for use with MRI Ruby 1.8.x, JRuby, IronRuby, and MacRuby.
  • Read More

By Peter Cooper / May 21, 2009

Fixing Threads in Ruby 1.8: A 2-10x Performance Boost

Joe Damato has been on a roll lately, first with a 6 line EventMachine fix that yielded impressive results, then a configure.in fix to give 30% more performance, and now by getting a 2-10x performance boost with a fix to Ruby 1.8′s threading.

If you’re on Ruby 1.9, don’t worry, as Ruby 1.9′s threading is still faster even after this tweak, but if implementation optimization interests you, check this article out. Joe has a great way of describing the usually technically-dry innards of Ruby.

Employment.nil? – A Ruby jobs fair in Toronto, Canada

Pete Forde of Unspace (also responsible for FutureRuby) wrote in to tell me about Employment.nil? Read More

By Peter Cooper / May 18, 2009

Toolbox_Red-256x256.pngThe Ruby Toolbox gives Ruby developers a categorized overview of 100 or so different libraries ranked on how commonly used they are. It’s not perfect as it only pays attention to projects hosted on Github and the ranking system is based on the number of watchers and forks they have, but it’s enough to give you a basic overview of the activity within a certain area.

For example, in the Browser testing section, webrat picks up the #1 spot with 750 watchers and 147 forks, while watir is down at #3 with only 42 watchers and 18 forks. Whether this is a fair assessment or not is down to you. Read More

By Peter Cooper / May 14, 2009

irbism.pngThe Interactive Ruby Shell, more commonly known as IRB, is one of Ruby’s most popular features, especially with new developers. You can bash out a one-liner, try a method you’ve just learned about, or even build a small algorithm or two without going the whole way to writing a complete program.

I’ve not posted much about IRB before and it doesn’t tend to get a lot of love generally, so while I’ve been digging through some of the best content I can find on IRB learning all about its internals and ways to get more out of it, I thought I should share:

Demystifying Irb’s Commands – An awesome look at the hidden internals, special methods and features within IRB and the impetus for starting this post. Read More

By Peter Cooper / May 13, 2009

fibers.pngNew to Ruby 1.9 is the concept of fibers. Fibers are light-weight (green) threads with manual, cooperative scheduling, rather than the preemptive scheduling of Ruby 1.8′s threads. Since Ruby 1.9′s threads exist at the system level, fibers are, in a way, Ruby 1.9′s answer to Ruby 1.8′s green threads, but lacking the pre-emptive scheduling.

Now that Ruby 1.9 is becoming more important with each passing month, I’ve rounded up some of the best articles about Ruby 1.9′s fiber functionality so that you can be up to speed with all of the major concepts in perhaps 10 to 15 minutes. If you’re getting interested in Ruby 1.9, you’ll want to read on:

Fibers & Cooperative Scheduling in Ruby – Ilya Grigorik hits it out of the ballpark with perhaps the best overview of fibers. Read More

By Peter Cooper / May 13, 2009

typhon.jpgPaul Dix, of Feedzirra fame, strikes again! This time with Typhoeus (Github repo), a high-speed, parallel HTTP request library for Ruby. At first glance, you could be forgiven for wondering what the point is when we already have John Nunemaker’s awesome HTTParty to build simple HTTP clients, but Typhoeus is, in many ways, like HTTParty on ten cans of Red Bull.

Typhoeus was built because Paul wanted to make numerous simultaneous HTTP requests at a time from his Ruby code. He didn’t want any blocking and the whole setup had to be as fast as possible. To do this, he’s interfaced with libcurl and libcurl-multi to pull off high speed concurrent HTTP requests and then laid a tidy Ruby API over the top. Read More