Blog

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....

Goed en wel gearriveerd

De verhuis is vlot verlopen, en deze site draait nu vanop de Dreamhost servers. Yaheej! Er is wel nog iets niet in orde met de quota instellingen, waardoor enkele emails niet zijn aangekomen. Wie mij mail stuurde en een 'bounce' terug kreeg : probeer aub nog eens.

Een paar tips voor wie zijn wordpress site wil migreren:

Meer Ruby voor de Java-minded

In mijn vorige post bezong ik reeds het lof van de dynamische programmeertaal Ruby. Tijdens mijn studies tot informaticus heb ik kilometers Java code voortgebracht. Het is dus een beetje mijn digitale moedertaal. In deze post leg ik de twee programmeertalen naast elkaar.

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.