Interesting Ruby Tidbits That Don’t Need Separate Posts #17
JRuby 1.1 Release Candidate 2 Released
The latest release candidate of JRuby 1.1 has been released. 260 issues have been fixed since RC1 and a number of memory and IO improvements have been made. JRuby developer Charles Nutter gives some interesting background to JRuby's current state. Nutter explains that JRuby's performance now regularly exceeds that of Ruby 1.8.6 and even Ruby 1.9 in places. Meanwhile, other developers have been doing benchmarks.
A Single File Rails Application
Pratik Naik has done the unthinkable and made... a single file Rails application. Clever stuff. He then created a tiny wrapper for this nugget of joy called tinyrails which makes things even easier.
Sending Ruby to the Jail: An Attempt at a Haml "Safe Mode"
Sven Fuchs has been working on a "safe mode" plugin for the Haml templating engine. This would allow regular users to supply Haml code for use on public Web sites, but without the risk of malicious code causing issues on the server. I picked some holes in Sven's initial approach, and he went back to the drawing board. Essentially he's trying to use Ryan Davis' Ruby parsing libraries to make any Ruby code "safe" without relying on running code in an actual sandbox. I'm still not entirely convinced his latest approach is 100% safe but it managed to succeed with all of the initial "hacks" I could think of, so I'm happy to mention it.
Sven is hoping that by releasing his work so far to the public, someone will come up with a clever method for getting it to break. If Sven's efforts succeed, of course, then his technique may be useful for non-Haml applications and allow us to "sandbox" Ruby code in yet another way.
Radiator: Your build statuses on a giant LED display
A bit of fun this one. "The Hammer" wrote in with news of Radiator, a handy Ruby-based service for blasting your build messages to a USB BetaBrite LED display.
Ruby MySpace Platform and YouTube APIs
Shane Vitarana has released two libraries. The first is a new one called Spacer and implements a Ruby API for the "MySpace Platform"'s REST API. The second is an update to an existing library, YouTube-G, an API for YouTube's GData API.
February 18, 2008 at 4:21 pm
Thanks for the mention! Just to clarify, YouTube-G is a totally new library which implements YouTube's new API based on Google's GData format. The previous library, youtube, has been deprecated, and I believe YouTube no longer supports that API.
February 19, 2008 at 2:06 am
Thanks to the Hammer, I was able to hack USB support in to my betabrite gem. I even added an autotest plugin to show your autotest results on the betabrite!
http://tenderlovemaking.com/2008/02/11/autotest-and-betabrite/
February 22, 2008 at 2:43 pm
Hey, thanks for posting about tinyrails :)