Blog

The Nitro documentation buzz

I'm finding myself slowly emerged in the Nitro community. Nitro is a ruby framework for the rapid development of web applications. Another such framework, Ruby on Rails, has gotten a lot of press. The alternatives are less known :

  • Camping
  • IOWA
  • Ramaze
  • Nitro

Equality in Ruby

Just so you know:

  • == a.k.a. value equality
  • eql? a.k.a. value and type equality
  • equal? a.k.a. object identity
  • === a.k.a. case equality

Object identity should never be overridden. It compares object ids, always.

When overriding, start with value equality. If you're not doing type conversions then you can simply add "alias :eql? :==". I was surprised to learn that eql? doesn't call == or vice versa (by default).

Boyer-Moore string search algorithm in ruby

Update: I cleaned the code up a bit and added more comments.

I was looking for a fast algorithms to search for matching strings. Boyer-Moore seems to be a good choice. It has the peculiar property that it gets faster once you're looking for longer strings. Wikipedia: Boyer–Moore string search algorithm. This site also has a good explanation with graphical examples: Boyer-Moore algorithm

Pinyin and unicode in ruby

I'm seriously looking into unicode stuff in ruby. Ruby strings are essentially just arrays of bytes, so they're not very encoding aware. Many have been asking for proper unicode support in ruby, but....

Me loves Ruby

Mijn meest recente hobby draagt de ronkende naam Ruby. Deze uit Japan afkomstige programmeertaal is snel de wereld aan het veroveren dankzij het populaire (en gi-gan-tisch gehypte) webframework Ruby On Rails. In de hoop een stukje van mijn enthousiasme over te brengen een kort overzicht van enkele typische Ruby features.

Recommended reading

A few months ago I, full of ambition, started a series of posts about how the web is evolving, titled 'The Emerging Web', you can find them in my archives. I never got around finishing it. Basically the scope was a bit too broad. I started way back with how ARPANET became the Internet, and was planning to finish with all the current and exciting developments. There's enough material there to fill a book with.
What those developments of the contemporary web are is wonderfully explained in an article I couldn't have written in a million years.