Interesting Ruby Tidbits That Don’t Need Separate Posts #30 »
Created at: 19.04.2010 21:47, source: Ruby Inside, tagged: Compilation Posts Elsewhere
The latest installment of our series of roundup posts, covering some of our latest findings in the world of all things Ruby. These items wouldn't make it in as separate posts, but they should be of enough interest to Rubyists generally to make it a worthwhile browse for most readers.
Camping 2.0 Released
Back "in the day", a gentleman and scholar called Why The Lucky Stiff built a teeny, tiny webapp framework called Camping. It was like an extremely light mix of Rails and Sinatra, except that Sinatra didn't even exist at the time. In late 2009, Why went missing and still hasn't reappeared, but Magnus Holm picked up the torch and has released Camping 2.0. It retains Camping's original flavor and hardcore spirit (it's only 3072 bytes in size!) but adds Rack support and simpler routes, amongst other things.
JRuby 1.5.0 RC1 Released
The JRuby team has announced the release of JRuby 1.5.0 release candidate 1. It comes 5 months after JRuby 1.4.0's release and features the most fixes of any of JRuby's development cycles. There are also a handful of new features and improvements, including better Windows and UNIX-specific support, standard library and RubyGems updates, Rails 3 focused fixes, performance improvements for Ruby-to-Java calls, and JIT compilation caching.
Ruby There: Ruby Events Listings
Ruby There is a new Ruby and Rails events listing site from Scottish Rubyist, Keavy McMinn. You can already submit events of your own or just check out what's coming up. We'll do a full post about it soon once Ruby There's listings have been integrated with Ruby Inside, as we plan to show Ruby event listings on all our pages. As an aside, Keavy is a great Rails developer and is currently taking on new work.
Isy: Yet Another Ruby Webapp Framework
Whenever I post about a new Ruby webapp framework on Ruby Inside, I typically get a response or two along the lines of: "Who cares? Yet another Ruby webapp framework? What's wrong with Sinatra and Rails?" Well, if that isn't you, you might be interested in Isy, a new webapp framework that's component-based and stateful.
Psych: Event-Based JSON and YAML Parsing
Aaron Patterson (a.k.a. tenderlove) of Nokogiri fame has written a blog post about building an event-bsased Twitter stream parser with Ruby 1.9.2 and Psych. Typically in Ruby, JSON and YAML parsing are done in an "immediate" fashion where you pass in the data and you get a Ruby representation back out. Event-based parsing instead uses callbacks to process JSON and YAML asynchronously.
PDF::Writer Deprecated - Prawn 1.0 Under Development
Prawn is a pure Ruby PDF generation library that abstracts away a lot of the PDF-specific nonsense into a form that makes it easy to produce PDFs from Ruby code. Its creator, Gregory Brown, has retired the older PDF::Writer library in order to focus on the development of Prawn 1.0. Gregory is keen to lay down a spec for Prawn 1.0's API and he's put a draft spec out there for everyone to comment on. If generating PDFs from Ruby is important to you or your app, you might want to get involved in this effort, as Prawn is sure to remain the #1 PDF generation library available to us for some time.
For Sale: RubyPlus.org
Bala Paranj is selling his much-celebrated rubyplus.org Ruby screencasting site. He claims it has 12,000 members and he's selling the site to fund the growth of his Zepho Inc company (which is focusing on a British accent training iPad app). Questions and offers can be directed to Bala at bala.paranj at zepho.com.
While we're in a mercantile mood, perhaps I should also mention I own rubyonrailswebhosting.com, railswebhosting.com, rorhosting.com, railstraining.co.uk, rails-training.co.uk, and ruby-training.co.uk.. and if anyone has any serious or semi-serious offer for any of them (I'm more than happy to sit on them, so it'd have to be worth it), contact me (see the Anything else section for my e-mail address).
more »
How To Find Ruby User Groups »
Created at: 09.03.2010 16:31, source: Ruby Inside, tagged: Elsewhere events
Ruby User Groups (RUGs, for short) are typically informal organizations put together to encourage Ruby developers with certain areas to get together, share ideas, and, often, to have some fun. If you're lacking for inspiration or want to get to know some Rubyists within certain parts of the world (or just around the corner, if you're lucky), heading to a Ruby User Groups' meeting can open a lot of doors. But how can you find them?
RubyUserGroups.org

RubyUserGroups.org is a new site by Joe Pym and Karl Doody (who run the West Midlands RUG) that presents you with a map (centered on your current location) with all of the local Ruby user groups located. If you're starting a RUG or your favorite one isn't listed, you can sign up an add it. There's also a giant list on the front page of all of the RUGs worldwide if you'd rather scroll through. There are RUGs as far afield as Tunisia, Cambodia and Madagascar!
Ruby.Meetup.com
Ruby.Meetup.com lists 104 RUGs, and the benefit of using Meetup.com is that many of them use the site to co-ordinate their events, so you find out when the next meetup is occurring, etc. Meetup's indexing of previous attendees also gives us an insight into the most popular RUGs: San Francisco, Silicon Valley, Los Angeles, East Bay, and NYC coming in top with 700-2000 registered followers apiece.
Rubyists.EU - European Rubyists Unite!
Rubyists.EU is an attempt to unite European Rubyists. It's a well designed site and as well as showing all of the known European RUGs on a map, there are FaceBook, LinkedIn, and Twitter feeds to keep track of, as well as an IRC channel and mailing list.
more »
How Ruby Manages Memory and Garbage Collection »
Created at: 24.02.2010 02:33, source: Ruby Inside, tagged: Elsewhere Tutorials
Garbage Collection and the Ruby Heap is a presentation given by Joe Damato and Aman Gupta at the recent LA Ruby Conference. You only get the slides for now (all 70 of them!), but they're very detailed and can almost work as a standalone concise e-book on Ruby's garbage collection system.
Joe and Aman take a look at C memory management vs Ruby and show the difference between the stack and the heap. As a garbage collected language, Ruby takes the easy route by putting everything on the heap and the presentation demonstrates how the MRI (Matz's Ruby 1.8) does this, as well as how objects are tracked within memory (right down to the underlying C structs).

MRI's garbage collection scheme isn't particularly well optimized (though Phusion's Ruby Enterprise Edition has made some tweaks) and the presentation demonstrates the viability of some other garbage collection schemes (as always, the issue is compatibility with native extensions).
The presentation finishes off with a interesting walkthrough of using memprof (a Ruby memory profiler) to debug a memory leak in Rails 3.
[e-book] The Rails 3 Upgrade Handbook by Jeremy McAnally is a 120 page guide on migrating your apps from Rails 2.x to Rails 3.0. There's a review of it on Rails Inside if you want to learn more.
more »
5 Chapters of O’Reilly’s Ruby Best Practices – Free! »
Created at: 24.02.2010 01:03, source: Ruby Inside, tagged: Cool Elsewhere
Ruby Best Practices is a book by Gregory Brown (and published by O'Reilly) that looks into the "Ruby way" of doing things in the Ruby language and, specifically, why Rubyists tend to write Ruby the way they do. It's an engaging book and we took a look at it and interviewed Gregory Brown about it just over a year ago.
Gregory always wanted to be able to give away his book with a Creative Commons license eventually and O'Reilly have kindly allowed him to start doing that, a chapter at a time. So far, the first five chapters are available to download at GitHub (in PDF format). Specifically:
- Chapter 1 - Driving Code Through Tests
- Chapter 2 - Designing Beautiful APIs
- Chapter 3 - Mastering the Dynamic Toolkit
- Chapter 4 - Text Processing and File Management
- Chapter 5 - Functional Programming Techniques
However, it's not just a free for all! If you read these chapters, Gregory (the primary author of the book) implores you to comment and offer any advice or insights you might have on the relevant posts on the RBP blog.. he also suggests that if you really like it, you should buy a copy of the book somehow, if only to convince O'Reilly that this publishing model is a "Good Thing." Gregory claims that the book hasn't even made its advance back yet (how!?), which makes this gesture all the better.
To buy a copy, head over to O'Reilly for e-book and print copies or go to your usual bookselling site (Amazon.com are probably the cheapest as usual).
Kudos to Gregory and O'Reilly for this move.
more »
11 New Ruby Delights (For If/When You’re Tired of Rails 3.0) »
Created at: 12.02.2010 00:40, source: Ruby Inside, tagged: Compilation Posts Elsewhere Miscellaneous
Sick of Rails 3.0 yet or still enjoying your Sinatra, Rango, Ramaze, Cramp, or totally non-Web-based development? OK - I've sniffed out 12 new, interesting Ruby related libraries or blog posts just for you! with no Rails whatsoever!
Buzzr: Google Buzz Library For Ruby
A few days ago, Google unveiled Buzz - its latest attempt to compete with Twitter and Facebook. Buzzr is a Ruby library by Conor Hunt that helps you interact with the Atom feeds that Buzz puts out.
VirtualBox Gem
VirtualBox is a popular, free and open source virtualization system that allows you to run multiple operating systems under your existing one (think VMware Workstation) and VirtualBox (same name) is also a Ruby library that you can use to control the eponymous program. From Ruby you can launch instances, query them, and deal with hard drive images.
JRuby-Complete
JRuby Complete takes the "vendor everything" idea to extremes by providing an entire Ruby implementation in a Java-land JAR archive that you can use even in Java environments where a Ruby isn't already installed. This could be handy for those of you trying to sneak Ruby into the enterprise!
37 Reasons To Love Ruby
Hal Fulton, of The Ruby Way fame, has written a list of 37 reasons he loves Ruby. It did pretty well on the social bookmarking sites last week and.. it's a good list. Mostly obvious stuff if you're a Rubyist, but it could be useful if you want to swing some opinions somewhere. Related to this is Why You Should Be Grateful For Coding in Ruby by Ruby Inside alumnus Hendy Irawan.
Defining Methods, JavaScript-Style
Sasa Brankovic has come up with a clever little hack to allow you to define methods "JavaScript style" in Ruby. Essentially, you can define a method with a line like obj.method = proc { puts "hello" } and call it with just obj.method. I can't see this catching on, but it's a nice idea.
SafariRSS - A Safari RSS Handler for OS X
Isaac Kearse has twisted some MacRuby and HotCocoa into SafariRSS, a handler for RSS feeds that Safari will recognize (meaning that when you click the "RSS" button in Safari, it'll launch your app and do whatever you like with them).
D'Note - Developer Notes from Ruby Code
D'Note is a tool that scans your source code for specially made "notes" and turns them into a document in either plain text, RDoc, Markdown, SOAP, XOXO, XML, HTML, YAML, or JSON format (or you can even specify a custom ERB template). This could be handy for keeping track of your TODOs, FIXMEs, and similar.
Gem In A Box - Simple Internal Gem Hosting
Seemingly taking a little influence from Gemcutter, Gem In A Box is a new tool for hosting your own RubyGems internally/in-house. It's easy to install and the presentation is nice.
Shoulda Textmate Bundle
If you're using the OS X editor TextMate and the Shoulda Ruby testing library, Shalva Usubov has put together a handy Shoulda TextMate bundle to make your life a bit easier.
Net::DAV - WebDAV a la Net::HTTP
Net::DAV describes itself as "a WebDAV client library in the style of Net::HTTP." If you're a WebDAV user, you'll know how useful that could be. Essentially, WebDAV is a set of extensions to regular HTTP that allow you to remotely lock and edit files on HTTP servers (among other things). Net::DAV is a few months old, but is being updated regularly.
Using Gemcutter's API from the Command Line
Gabriel Horner gives us a walkthrough of using GemCutter's API from the command line, specifically relying upon his Boson command/task framework.
Want More Ruby Stuff?
Don't forget to check out our community-driven sister site, RubyFlow. There are lots of cool new Ruby projects and links posted every day!
[job] Snapizzi is currently looking for a Ruby and Rails developer to join their team in Santa Barbara, CA. Alternatively, check out one of the other 11 jobs on our Ruby jobs board!
more »

