Oct 23 2006

RubyConf: Iron Mongrel – Fuzzing

Zed Shaw, author of Mongrel, got an applause when introduced for this talk at RubyConf 2006. During this presentation, Zed talked about fuzzing. I am new to the ideas of fuzzing and I found this talk extremely interesting. One quick definition of fuzzing is to break a software system by handing it nasty maliciously crafted random input and events. One simple way of fuzzing is to always enter ‘yes’ on a console application and watch out for errors and exceptions. The basic theory behind fuzzing is that programmers will test using what they thing are valid inputs, but the programmer can’t predict user input out in the world. Unit tests are predicatable since a developer wrote the system, knows what to expect, and wrote test based on that. A fuzz test has no idea of your system. According to Zed, fuzzing is a great way to finalized vendor selection of two closed source third party software packages.

Zed has made available a Ruby fuzz gem known as RFuzz. RFuzz is made up of a randomness engine, data collection, and statistical analysis. When fuzzing a software system, you will usually need to do some analysis of the results to verify if a fix actually worked. After this talk I felt that maybe I should try to use RFuzz in JRuby to try to blow up our Java application.

Technorati Tags: , , , , , ,


Oct 23 2006

RubyConf: Life After mkmf

Continuing with my coverage at RubyConf 2006, Kevin Clark presented on his Google Summer of Code project, mkrf. The intent of mkrf is to provide a rake replacement to mkmf. For those that don’t know, mkmf is the current “defacto standard for building C extensions to Ruby.” At the design level adheres to the kiss principle and will provide a simple and clear OO way to define Ruby extension make files. The work that went into mkrf will make it that much easier to develop Ruby extensions, which hopefully will provide a catalyst for more developers to get involved.

Technorati Tags: , , ,


Oct 23 2006

RubyConf: Dynamic Graphics with Ruby

This RubyConf 2006 session provided a quick overview of a few libraries available to create and manipulate images in Ruby. Geoffrey Grosenbach, from the Rails Podcast, provided brief introduction to Scruffy, Gnuplot, MRPlot, PNG library, and Gruff Scene.

Scruffy is a pure Ruby library that produces attractive and powerful SVG graphs. MRPlot is a pure Ruby plotting library. The PNG is a pure Ruby library put out by the Seattle.rb peeps. I found Gruff Scene a bit interesting. Gruff Scence allows you to define different versions of a set of images which depending on some given state can combine a set of images into a scene that can visualize information. And of course you can always use RMagick, the Ruby interface to ImageMagick.

Now everybody has an opinion, and my opinion is that graphs are not sexy. A bar chart on top a line graph on top of a scatter plot is boring. But my hope is to use the pure Ruby PNG library to create some cellular automata, fractals, and other ‘gnarly visualizations’, as Professor Rudy Rucker would say.

Technorati Tags: , , , , , , ,


Oct 23 2006

RubyConf: Rubinius – Hardcore Ruby

This was the second session of RubyConf 2006. I have to be honest, this session went a bit above my head, and from the ‘glaze’ of the audience, it went above a few of the other attendants. Well, it wasn’t so much that it went above my head as it had no code and no demo. This was the second session of the day and I still had not had an ‘WTF OMG’ moment but this is of no fault of the speakers.

Rubinius is a really hardcore academic, experimental, proof of concept fork of Ruby. A key question asked by Evan Phoenix, the speaker and Seattle.rb memeber, was why would any sane developer do this? What is wrong with the current implementation? According to Evan, he started the Rubinius implementation because he found it to be fun. He also stated that RubyCLR and JRuby are pushing Ruby in new directions. In Rubinius, Evan, wants to provide a simple architecture, a simple core, a simple implementation. Evan stated that Rubinius is “so simple, it’s almost naive.” Rubinius is a partial port of the Smalltalk implementation provided by the Smalltalk blue book. Evan stated, “Genius stand on the shoulders of giants, not that I am a genius, I am just trying to stand on as many shoulders as possible.”

Technorati Tags: , , , , , ,


Oct 22 2006

The History of Ruby

For this RubyConf2006 session, the history of Ruby was broken down into five periods which include pre-history, ancient age, middle age, modern age, and contemporary.

The pre-history of Ruby was dated circa 1993 and it is an age of myth and epic legends which only Matz and his friends know. According to the speaker, Masayoshi Takahashi, Ruby was baptized before it was born, that is to say, before any code had been written. According to Masayoshi-san, a normal name would lead to a normal language, a great name would make a great language. But in a bizarro world, Ruby could have been known as Coral. The name Coral was proposed in a chat session between Matz and an early contributor. But I feel that a rose in any other name would still smell as sweet and that a Ruby in any other name would still bring joy to program.

The ancient age of the Ruby programming language was carbon dated to 1995. At this time, Ruby 0.95 was available to the public, that is Japanese netnews users. At this time the ruby-list ML was launched with the first email: ruby-0.95 test failed.
Continue reading


Oct 22 2006

Welcome To RubyConf 2006

RubyConf began with a simple welcome from Rich Kilmer. There was no keynote presentation just a simple welcome speech. The speaker took a quick impromptu survey to see how many of those in attendance today where present at last year’s RubyConf, and the year before that, and before that, etc. In the end only four people still had their hands up when the speaker asked who had attended the first RubyConf. The speaker noted, “great to see the growth in Ruby, not just in Rails.”

It is interesting to note that only a few female programmers where in attendance, in fact, I have only seen two. The speaker made an announcement that “they are flipping a lady’s room for us, …, but they haven’t told us which, so you have a 50% chance of getting slapped.”

I had lunch with John Long, lead developer of Radiant content management system, and fellow Java and Rails developers. From the conversation, we all spoke of Radiant plugin development, WordPress.com, self employment, developing online services, and startups. Lunch felt, in terms of content, like presentation only more more personal. The talk between sessions and in the hall are great. Rubyist hotly debate issues, such as documentation and the solution for the lack of documentation.

Technorati Tags: , , , , , ,