2006 Ruby Advent Calendar Roundup




Given the audience that Ruby Inside has, I think there's a potential for us to make some big changes in the Ruby world. I propose accepting some advertising and sponsorship on Ruby Inside, and in return I will publicly disclose the amounts and give all of the money back (minus any forced costs, such as tax) to the Ruby community as donation to Ruby-related projects, offered as bounties, and/or pay for even better articles and tutorials. Rest assured, it will not be money that will sit in a big pot waiting for decisions to be made. The choice of where the money will go will be influenced by Ruby Inside readers, naturally.
Dhaka is a set of tools written in Ruby by Mushfeq Khan that can generate tokenizers, parsers, and evaluators of context-free grammars (my own shabby contribution in this field was posted to RubyInside recently!). Dhaka's ultimate goal is to make a pure Ruby, flexible parser generator. From the official site:




Evan Weaver has leaped to the rescue with a hotfix (installable as a gem) for the cgi.rb DoS vulnerabilities. This hotfix is ideal for those who don't want to install Ruby or patch again. Evan's site has been having some DNS issues (related to the EveryDNS outages) so I hope he doesn't mind me repeating part of his post here:
I keep getting e-mails about job sites, Ruby jobs, and so forth, so I decided it's time for a bumper "here are all the Ruby and Rails job sites" post! Enjoy..



Mauricio Fernandez continues to extend his Ruby God status with this excellent article about a search library he just developed using pure Ruby. It's simple (mere hundreds of lines), fast (queries in the milliseconds), and practical (he's already using it to index Ruby documentation).
Sometimes strange things happen. I've been developing a small, basic recursive descent parser for Ruby called RDParse. Just before writing this post I decided to Google that name, and lo and behold the first result is a Ruby recursive descent parser called RDParse, created by Dennis Ranke, that I posted to Code Snippets for posterity several months ago. Since both of these libraries are unlikely to be used at once and that Dennis doesn't seem to be maintaining his version, I've decided to stick with RDParse as the name of mine for now.

(Disclaimer: I'm no Java wiz, so if I get anything wrong about Java or its libraries, post comments!)
The SWT (Standard Widget Toolkit) is a GUI widget toolkit for the Java platform. Unlike AWT and Swing, it uses the local operating system's own controls. This means you can develop Java apps that 'look native' on multiple platforms. The popular Eclipse IDE uses SWT to work and looks graphically native on multiple platforms (as does Azureus). SWT is also, reputedly, faster than the other alternatives. Sounds great for developers, right? Java developers.. sure.
I'm creating a library that sorely needs a 'debug mode' where each step of what the library does is printed to the screen for developers to check out. I wanted the debug mode to be easy to set and for the debug messages to be as non-intrusive as possible. Initially I arranged it in such a fashion:



Burnalytics is a new library just released by Alex MacCaw (the developer also behind the popular Juggernaut plugin for Rails) that makes it easy to retrieve statistics from both FeedBurner and Google Analytics. As well as making it easy to retrieve statistics from these two sources, it also makes it a one line operation to produce graphs from the data retrieved as demonstrated by the screenshot above.
Ruby genius Mauricio Fernandez has been playing with an attempt at processing Prolog using Ruby found on a Japanese coding site and has come up with tiny_prolog.rb.

I don't think the Ruby Jobs site at RubyNow gets enough link love from the community, and I want to put that right. If you haven't been there for a while, you'll be surprised. In just the last two weeks there are 30 new Ruby and Rails jobs available. That's even more than on the 37signals Jobs Board. Even better, if you're an employer you can post to the RubyNow jobs board for free, so check it out.




Some user mail from Nathan Murray:
Following on from his original interview with Charles Nutter and Thomas Enebo of the JRuby team, Pat Eyler has interviewed the team again (read part 1 then part 2), with the addition of Ola Bini. Both parts are quite long and go into a lot of detail about JRuby and Ruby's existence under the Java umbrella.
Austrian development agency, Sparkling Studios, look at how to use the Akismet anti-spam system to check data submitted to your site and protect your application from spam. It works by signing up for a key from Akismet and using a Ruby Akismet library. Then whenever you want to check your data, you make a simple call and Akismet returns a true or false based on whether the system believes the data to be spam.