Ruby5: A Twice-Weekly 5 Minute Ruby News Podcast

ruby5-itunes-logo.pngRuby5 is a new twice weekly podcast dedicated to Ruby and Rails news. It’s headed by Gregg Pollack (formerly of the RailsEnvy podcast which Jason Seifer has now taken over) and Nathan Bibler. They aim to cover several bits of Ruby and Rails news in five minutes. You can also leave comments about the stories on their site as you listen. As of today, there are 7 episodes in the archives if you want to catch up, all in the 5-6 minute range.

I’m not a big fan of listening to news, but Ruby5 has done a great job of also making it possible to learn about what they’ve featured without listening to the audio if you don’t want to.

Why’s “Try Ruby” (Web Version of irb) Back Online

Screen shot 2009-09-02 at 19.19.38.pngTry Ruby was a Web site by Why The Lucky Stiff that provided a Web-based version of irb (the interactive ruby prompt) and a 15 minute tutorial for people to learn and play with Ruby. With Why’s disappearance, however, the site went down and an invaluable Ruby community resource was lost.

Luckily, Andrew McElroy has made a great effort in getting Try Ruby back online. It’s not precisely the same, but it’s as close as you’re going to get for now (one key difference is that the irb process is not persistent – instead the history is re-run on each new line). There’s even the 15 minute introductory Ruby tutorial! An extra bonus is that Andrew has released all of the code he has for Try Ruby in a Github repository. Why’s code was never open sourced but Andrew has done a good job in starting to rebuild the backend.

Note that this is not a Why-approved project (yet). To the best of my knowledge there is still no further information on Why’s disappearance.

bbox.pngSupport from: Brightbox – Europe’s leading provider of Ruby on Rails hosting. Brightbox is currently looking for a Senior Developer to take a lead developing their customer control panel and other backend systems. They want a great coder and project manager with experience of RSpec and Capistrano.

Magazine 3, Final vote

PragPub the magazine, with a feature article by XP’s Kent Beck and all manner of other goodies; vote for your favorite programming language

Devver: Run Your Tests or Specs 3 Times Faster (On A Cloud Of Servers)

devverflow.png

Devver is a new Ruby testing service that lets you run your tests in parallel on their cloud of servers. This means your tests (or specs, both Test::Unit and RSpec are supported) could run in a third of the time as usual (depending on your setup) and it’s as easy as copying a Rakefile into your project and entering a few settings. Devver stresses that “you won’t have to alter a single line of your code.” Devver is currently in public beta.

devver-dudes.png

I got in touch with Devver cofounder Benjamin Brinckerhoff (pictured first in the image to the right) to get some background on the service, the reason for it being created, and how the whole thing works:

How did you guys come together to build Devver?

Back in 2007, my co-founder and I were building a product review site in Rails. We wrote a lot of tests, which had all the benefits you’d expect. However, we found that once the test suite took over about ninety seconds to run, it became significantly less useful. We started developing all these bad habits: we’d only run a small portion of tests before committing and then let CI handle the rest, we’d get distracted and check email while tests were running, we’d run tests less often, and we started to write fewer tests.

We realized that since testing best practices advocate creating completely independent tests, it would be possible to significantly improve performance running them in parallel. That was what led us to create Devver.

How did you build the prototype of Devver?

We had a week where we didn’t have anything really scheduled and were discussing what we should work on. We decided that it might be interesting to try to build a prototype of the distributed testing idea we had.

We actually completed the first version in a little over a week. It ran on the eight computers that we had in our house (our various servers, laptops, and a bunch of old computers we found in our closets). It was incredibly hacky – you had to manually log in and set up a ton of stuff on each computer. There was no automatic code distribution, our communication between components was a hugely inefficient system we built on top of Rinda, and it only worked for our specific code base. But it did speed things up! Even that early version cut around 60% of the time off our big functional test suite.

What convinced you that Devver was worth going ahead with full-time? It’s not the usual sort of developer service..

We did a demo of that early prototype for TechStars and were fortunate enough to be accepted into the program for the summer of 2008. Once we got accepted into TechStars, we knew we wanted to work on developer tools that were based in the cloud, but we weren’t sure our idea of test acceleration was interesting by itself. The thing that convinced us was a talk we gave at Pivotal Labs. The project was still in its infancy, but the feedback we got was clear – many Ruby developers really wanted a tool that would enable them to run their tests quickly so they could run them more often.

What surprises have have you found with Devver so far?

We always expected Devver to be a challenging project, but making it as compatible as we’d like has been even more difficult than we anticipated. Early on, we had a plan (which, at the time, we considered extremely clever) to make Devver work on a ton of open-source projects in order to improve our compatibility. We got many open-source projects working and thought we were in good shape. Of course, as soon as we started bringing on additional closed-source projects, we quickly learned they were quite different from open-source ones!

One nice surprise has been the degree to which Rubyists write highly independent tests. Early on, we expected that many test suites would contain hidden dependencies – that is, you’d have to run the tests in a certain order. It’s really easy to miss these dependencies when your tests always run in the same order on your local machine. But in practice, we’ve seen virtually zero suites that have interdependent tests. As a result, the tests parallelize well and we can run them very quickly, which is great.

What stack are you using for Devver? (i.e. Ruby version(s), libraries, daemons, anything like that)

We run on Amazon EC2 instances running Linux and use their SimpleDB for our storage. We currently run Ruby 1.8.6 (but we’d eventually like to let the user determine if we run their tests using 1.8.6, 1.8.7, or 1.9). We use Beanstalkd for our job queues. We have components built on top of EventMachine and Sinatra, and some that are entirely custom.

Where do you see Devver going in a year’s time?

First and foremost, we want to make our core experience as awesome as possible. That means making Devver even easier to set up and compatible with more projects. As a quick example, we don’t currently support Cucumber, but we’d like to. After that, we’d like to beef up our web site to display some metrics that individual developers and teams would find useful. For instance, we’d like to track code coverage over time or give you a report that lets you view your slowest tests.

But of course, we’ll stay flexible and keep listening to what our users want. We love any and all feedback. If there is a reason that a user or team can’t or won’t use Devver, or a feature they’d like to see, we’d love to know about it so we can continue to make Devver better!

Disclaimer: You might have seen a couple of footer ads on Ruby Inside advertising Devver – though this writeup is in no way dependent on that; it’s a cool tool!

Rails Rumble Voting Is Go – 22 New Ruby Webapps To Check Out!

rrumble.png Rails Rumble is an annual Ruby (and Rails) development contest where developers attempt to build a working web app in 48 hours. This year it took place between 22-23 August and you can now vote on the top 22 applications (as ranked by an expert paneldisclaimer: I was on the panel). Despite its name, Rails Rumble is not only for Rails applications – this year, any application that uses Rack could be entered. I wasn’t aware of this before the contest took off, but hopefully with this in mind many more Sinatra and Ramaze entries could join the fold next year.

Your votes will ultimately decide the winners so if you want to check out 22 awesome Ruby and Rails powered web apps, go and get voting on the entries!

My Top Picks

I don’t really want to sway the voting but there are a couple of apps that jumped out at me and that I think you’d like to learn about even if you don’t want to go and vote:

hurl.png

Hurl: Hurl is a Web equivalent of HTTP request tool curl. It lets you make HTTP requests from a Web page and then analyze the results in detail (including headers, etc). It comes from Github’s Chris Wanstrath and Pownce’s Leah Culver.

Lazeroids: Lazeroids is a Web version of arcade classic Asteroids. It’s multiplayer and is pretty fun to play with even if it has a few quirks.

hmc.png

How’s My Code?: How’s My Code is a Git-based lightweight code review app. You don’t get much of an idea from the front page, but sign up and log in and you’ll see this is a well designed and useful tool. If you work in a remote team environment and use Git at all, check it out. Basically you can comment on any commits made on git repositories of your choice.

Hosting Statistics

One of Rails Rumble’s main sponsors is virtual private server provider (and Ruby Inside sponsor) Linode who provide free servers for Rumble participants to use and they put together a page with statistics about how their machines were used during the contest. It turns out 80% of participants used their Linode in some way or another, that 81% of those then chose to use Ubuntu, and 68% of users went with Phusion Passenger to deploy their app.

bbox.pngSupport from: Brightbox – Europe’s leading provider of Ruby on Rails hosting. Brightbox is currently looking for a Senior Developer to take a lead developing their customer control panel and other backend systems. They want a great coder and project manager with experience of RSpec and Capistrano.

O’Reilly’s “The Ruby Programming Language” Ebook for $9.99 – Limited Offer

rubyprogramminglanguage.gifI’ve just had word from David Flanagan – co-author of The Ruby Programming Language, published by O’Reilly – that O’Reilly are running a temporary sale on the e-book edition. The PDF e-book is now just.. $9.99 for a limited time only. That’s a pretty good deal considering O’Reilly are selling the print book for $40 (though it’s only $26.39 on Amazon).

Actually.. make that $5.99? Reader Mike Hodgson claims: If you use the LREL40 coupon code you can get an additional $4.00 off, bringing it down to $5.99 – Not tried it myself, but it’s worth a go.

The Ruby Programming Language is the canonical Ruby book covering both Ruby 1.8 and 1.9. It’s by David Flanagan and Yukihiro Matsumoto (Matz!) so you know it’s authoritative. When we reviewed it in 2008, we billed it “the new most important Ruby book.”

David also mentions that there’s a new iPhone edition available too for a mere $5. A great opportunity to get a great book on the cheap, whatever your budget.

jslab.pngJumpstart Lab is running a JavaScript Master Class for Javascript & UI programmers with Thomas Fuchs (Scriptaculous, Prototype Core) and Amy Hoy (UI Expert) on 9/12 in Washington, DC. Save 10% with code “rubyinside”!

“Why The Lucky Stiff” Is Missing

why-so-serious.png

Long-time Rubyist and the community’s own resident crazy genius, whytheluckystiff (a.k.a. _why) seems to have gone missing. Not only has he deleted his Twitter account (@_why) but his Github repositories and all of his great Ruby related Web sites – poignantguide.net, hackety.org, whytheluckystiff.net, and shoooes.net are all down and not even resolving at DNS level.

The Poignant Guide, Hpricot, Markaby, RedCloth, Shoes, Camping, and Try Ruby (a Web version of irb) are considered important by Rubyists not only for their usefulness but for their significant contribution to Ruby’s culture, and if _why has truly fallen off the grid, it’s a big deal. That said, this appears to be either a deliberate attempt to disappear or a major hack and not just a bunch of coincidental outages. In either case, hopefully he’ll be back soon.

What’s the motive? We have nothing definite, but Hacker News user fizx quoted a recent tweet from why before he deleted his account:

programming is rather thankless. u see your works become replaced by superior ones in a year. unable to run at all in a few more.

Meanwhile, Twitter users are going bonkers over the news:









Do you know anything or do you just want to show some appreciation to why (he used to read Ruby Inside so he might see this)? Leave a comment! Lastly, if you’re reading _why, I hope everything’s okay and if you want to release any sort of statement through us, just get in touch.

Agile Coaching, Project Portfolios, 7 Languages

Agile Coaching now in print, Manage Your Project Portfolio now in print, help us pick which Seven Languages to learn.

Upcoming Late 2009 Ruby and Rails Events (With Tickets Ready To Buy)

Here’s a list of some prominent forthcoming Ruby and Rails events scheduled through to the end of the year. Only events with tickets ready to buy right now are included – events which have already sold out are not included.

lsrc.png

Lone Star Ruby Conference 2009 (Austin, Texas; August 27-29, 2009)

The third annual Lone Star Ruby Conference (LSRC) is heating up and right around the corner, running for three days, August 27-29 in Austin, TX. LSRC 2009 offers a full day of advanced training on Thursday in addition to the two days of Ruby-packed, dual-track speaking sessions on Friday and Saturday. And, back again for an encore performance, is the author of Ruby, Yukihiro Matsumoto

Registration is $350 for the conference (meals includes) and an additional $300 for the advanced training. A full outline of available training sessions and presentations is available.

RubyRX (Washington DC; September 10-11, 2009)

RubyRX is a professional Ruby conference covering what you’d expect at a professional Ruby conference, namely: Ruby development, Rails, JRuby, Ruby tools, frameworks, testing, best practices, and so forth. You get a two-fer with this conference as the AgileRX conference is taking place at the same time at the same place!

windy_city_rails.png

WindyCityRails (Chicago, Illinois; September 12)

WindyCityRails is a one-day conference taking place in Chicago (home of better pizza than New York, 37signals and, of course, Rails creator, David Heinemeier Hansson) in September. You get seven sessions and two tutorials for your money with Ryan Singer (37signals), Noel Rappin, Ben Scofield, John McCaffrey, Dean Wampler, Yehuda Katz, and David Elsinger to keep you entertained.

rubyfoo.png

RubyFoo (London; October 2-3, 2009)

RubyFoo is a Ruby conference taking place in London in October, 2009. It’s being put on by Trifork, the company behind the successful JAOO developer conferences. RubyFoo is a sort of follow up to the RubyFools conference they put on in Copenhagen, Denmark last year. Speakers lined up so far include Sam Aaron, Ola Bini (JRuby), Aslak Hellesoy, and Matz.

aloha.png

Aloha On Rails (Hawaii; October 4-6, 2009)

Aloha on Rails is a brave new entry to the Rails conference circuit, taking place in Hawaii in early October. If you’ve always wanted to try and get a Hawaii vacation on the company dime, this is the time to build up your powers of persuasion. The conference bills itself as “the premier destination event for Ruby on Rails and Web development” and promises three unique days (2 for conference, 1 for tutorials) of Ruby and Rails related fun.
The speaker list for Aloha is pretty significant. Names include Chad Fowler, Obie Fernandez, Gregg Pollack, Desi McAdam, Charles Nutter, Yehuda Katz, Sarah Mei, Tammer Saleh, Chad Pytel, Blake Mizerany, Pat Maddox, and Ezra Zygmuntowicz.. and that’s only the start of it – see all of them.

rsla.png

Rails Summit Latin America 2009 (São Paulo, Brazil; October 13-14, 2009)

Rails Summit Latin America comes back for a second run in 2009 – taking place between October 13-14 in sunny São Paulo, Brazil. Last year’s event attracted 550 attendees, so for a regional Ruby/Rails conference it did amazingly. This year it costs 400 Brazilian Real to attend (about $200).

Speakers lined up to speak so far include Bryan Liles, Carlos Brando, Chad Fowler, Gregg Pollack, Ilya Grigorik, Jason Seifer, Matt Aimonetti, Obie Fernandez, Pratik Naik, Rich Kilmer, and several prominent South American Rubyists. It’s a bit of an all-star affair!

railscamp.png

Rails Camps (Margate, UK and Melbourne, Australia; October / November 2009)

Rails Camps is a series of Rails related get-togethers, run in a lo-fi style in, usually, Australia and the United Kingdom. Two Rails Camps are on the calendar for late 2009. The first in Margate, UK (an interesting seaside resort, to say the least) on October 16-19 and the second in Melbourne, Australia on November 20-23. Previous reports show that these events seem to go down really well, especially if you want to get away from it all for a few days and hang out with fellow geeks – so check it out.

Ruby Cocoa in print; PragPub Magazine #2 for August

Programming Cocoa with Ruby is now in print and shipping, the August issue of PragPub now available in PDF, mobi, and epub.

Interesting Ruby Tidbits That Don’t Need Separate Posts #27

Yep, it’s the latest installment of the series of posts crammed with random Ruby links, articles, and resources:

php-logo.png

Phuby – A PHP Runtime from within Ruby

Aaron Patterson (a.k.a. tenderlove), creator of Nokogiri, has recently been working on Phuby – a library that “wraps PHP in a loving embrace.” In short, Phuby exposes a PHP runtime in Ruby so you can eval stuff in PHP from Ruby, etc.

hash.png

Hash Mapper – A “Hash to Hash” Converter

The guys over at New Bamboo (a UK Rails shop – looking for a new team member, by the way..) have recently unveiled Hash Mapper, a “hash to hash” converter. They describe it as a module that “gives you a little DSL to map which keys in an input hash should map to which keys” in an output hash. Their own use case was for “translating” a messed up response from a JSON API into something more sanitized.

Sunspot – Solr-Powered Search for Ruby Objects

Sunspot describes itself well without me messing it up, so… “All the power of the Solr search engine; all the beauty of Ruby. Sunspot exposes all of Solr’s most powerful search features using an API of elegant DSLs. That means robust, flexible fulltext search with no boolean queries and no string programming.” Sunspot’s homepage has a couple of code snippets demonstrating the overall idea. If you’re not familiar with Solr, it’s a stand alone search server built upon Lucene (Ferret being a Ruby port of Lucene – so Ferret == library, Solr == stand alone server).

terminal-icon-512x512.png

Mutter – A “Tiny” Ruby Command Line Interface Library

Mutter is a “tiny command-line interface library” with, supposedly, lots of style. So far it’s primary function seems to be to simply produce command line output with various styles (bold, underline, blinking) and ANSI colors – no groovy input stuff or curses type interface doodads. But for what it is, it’s cute.

RubyConf 2009 Call For Proposals

RubyConf 2009 is taking place in San Francisco in November and the call for speaking proposals is now out. You might want to be quick though; you have only until August 21 to get your proposal in.

ODF-Report: Generate Open Document files with a template + data

ODF-Report is a new Ruby library for generating .odt files (OpenDocument text files – should be familiar to OpenOffice users) by substituting strings in a previously created template .odt file. The idea is that with this functionality you can use ODF-Report to automatically produce reports in an OpenDocument format.

bbox.pngSupport from: Brightbox; – Europe’s leading provider of Ruby on Rails hosting. Now with Phusion Passenger support, each Brightbox server comes with access to a managed MySQL cluster and redundant SAN storage. Brightbox also provides managed services for large scale applications and dedicated clusters.

Metaprogramming Ruby in beta

Metaprogramming Ruby now available in beta.

Programming Scala, Security on Rails, more

Programming Scala now shipping; Security on Rails now available in Beta; new screencast covering Map Kit on the iPhone 3.0.

PragPub: The First Iteration

Welcome to the first issue of first issue of PragPub, our newest monthly excuse to hang out at the virtual water cooler with you. Hosted by Michael Swaine.

Modular Java; iPhone interview; twitter news and a surprise

Modular Java in print, the Radical Career Success in a Down Economy webcast, iPhone SDK interview, Twitter features, and a surprise.

iPhone SDK 3.0; Debug It! in beta

iPhone SDK Development, now updated for the very latest 3.0 SDK release from Apple, Debug It! now available in Beta.

Rip: A Next Generation Ruby Packaging System – Watch Out RubyGems!

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.

Rip has a number of compelling features that make it worth considering for the future. Firstly, it provides another level of abstraction above existing RubyGems, Git repositories, and file structures, in the form of packages. It also supports the creation of virtual environments that can exist simultaneously but wherein different sets of libraries can be installed. Taking a cue from Git, Rip is also decentralized. There’s no canonical server for Rip packages – they’ll be retrieved from wherever the library developer specifies. This means you won’t be able to do anything quite as simple as gem install library, but we’re already used to using URLs for other forms of content, so why not library files?

Basically, Rip’s a new tool with a whole new way of looking at Ruby packaging and library distribution, but it has a killer team behind it, some solid ideas, and it could well supersede RubyGems in many ways in the near future. We’ve had rapid tool switches before in the Ruby world (think how quickly Git became entrenched) so I wouldn’t be surprised if Rip becomes a big deal over the next several months..

rupho.pngAlso worth seeing.. Beginning iPhone Programming Workshop For Rubyists. A companion class to the FutureRuby conference. Toronto, July 9-10, $1200 $699.

Agile Coaching now avail; Land the Tech Job in print/shipping

Agile Coaching now available in eBook; Land the Tech Job You Love now in print and shipping.

Language Design Patterns, the Seed of Hope

Language Design Patterns: Techniques for Implementing Domain-Specific Languages and fiction from Pragmatic Life: The Seed of Hope

Grails, Clojure, New Android Updates

Grails: A Quick Start Guide is now available in beta and Programming Clojure is now in print and shipping. Updating Hello, Android for 1.5 Cupcake.