Skip to: site menu | section menu | main content

Narnach's Notes

Personal homepage, blog, whatever...
Currently viewing: » About Me

About Me

Who am I?

My name is Wes (Wesley) Oldenbeuving, though on the internet people know me as Narnach. I’m a 22 year old Dutchman and I live in Amsterdam. I grew up in a small village called Ens

Currently, my time is spent divided between sleeping, working and doing other things. Of those other things, playing computer games, reading, watching movies and programming are my favorites.

Professionally, I am Lead Software Developer at yoMedia, a small company with large ambitions. I have written more about our projects on the Projects page. I have been working at yoMedia since we started in March 2006.

Ruby

I have been programming in Ruby since february 2006. At first this was mostly using the framework Ruby on Rails, but my balance has shifted away from Rails and towards plain Ruby. Since late 2006 I have started using automated tests to make my code more reliable. At first I used Ruby’s Test::Unit, but later I switched to RSpec due to its syntax and built-in mocking framework.

The lightweight MVC web framework Merb has caught my attention when it was between its 0.3.x and 0.4.0 stage. It makes it very easy to use alternative libraries for database interaction and for rendering your html/xml/whatever, so you just have to check out what is available.

The X(HT)ML templating language Haml is really nice. Using this almost guarantees you have valid XHTML templates, which should make web pages at least not die because you forgot to close a div somewhere. It comes with SASS, which is a nice way to generate CSS stylesheets using a HAML-linke format.

Besides the Rails ORM ActiveRecord, there are two other database frameworks supported by Merb: DataMapper and Sequel.

DataMapper offers at least one really cool feature: automatic database migrations. In your model you specify which database fields should exist and DataMapper will just create them for you if they do not exist. Lazy loading of fields and thus selectively writing fields is also really nice when contrasted to Rails.

Sequel is much more SQL focused than the other Ruby ORMs. Instead of working with a model concept and wrapping its SQL around that, Sequel just works with queries and has optional model support if you want it. Due to its query-centric approach, it is really nice for interacting with legacy databases or with databases you have absolutely no control over. Try using Rails’ ActiveRecord on a database without any kind of unique primary key.

Linux / system administration / hosting / etc.

Gentoo Linux is my favourite distribution. The level of control you have over your system is great. I have tried a number of different Linux distributions; starting with Redhat in ‘99, then SuSe in ‘00, Gentoo in ‘02, Ubuntu in ‘04 and since ‘06 I am back with Gentoo.

My main frustration with non-Gentoo distributions is that you are stuck using whatever packages they make available using their package management system. RPMs in RedHat/SuSe/CentOS, DEBs in Debian/Ubuntu. If they offer package ‘foo’, but it was not compiled with the optional feature ‘bar’ which you need, you are either stuffed or you need to compile it yourself. The downside of compiling it yourself is that from there on, you have to monitor the package’s website for updates.

In Gentoo you can just change the ebuild file, which describes how a package should be built, and store your version in a local overlay. When Gentoo developers release a new version of the package you changed, you will see that the installed version would shift from your local overlay back to the official release, so you can inspect the updated ebuild file to see if you have to change it again or if you can start using the official release again.

Deploying Ruby and Rails applications was made a lot easier when Capistrano was released. I came late to the party, around version 1.4.x, but just in time to know that Capistrano 2 is even nicer to work with than Capistrano 1.

The latest fashion in webservers to use with Rails these days is Nginx, a light-weight yet feature-rich webserver from Russia. A low memory footprint, simple vhosting and built-in proxy support make it ideal for Rails hosting.

As application server, Mongrel is the default these days. Thank Zed Shaw for that one. Before Mongrel, you could either use Webrick or FastCGI. Both of them were not really ideal.

Apache had a problem with its FastCGI, so Lighttpd was the webserver of choice in Rails’ FastCGI era. When Mongrel was released, people actually went back to Apache for its mod_proxy_balancer. Lighttpd’s proxy balancer was a bit broken.

This website is hosted on Nginx, but it has no backend with Mongrel and Rails or Merb. It was generated using webgen, which generates plain HTML once and then leaves all the work to the webserver.

In April 2008 mod_rails was launched by the amazing guys at Phusion and it looks really interesting. I am not running production websites with it yet, but so far it has been really stable and nice to work with on my development machine, running the many different local deployments I have for the projects I work on. This might bring Apache back into the picture from wherever Nginx chased it.

Education

I completed the Dutch Gymnasium, which is the highest level of high school education you can get. In my opinion it was way too easy, but I guess it is hard enough for the everage student. Even without learning for my final exams, I still scored nice with an average of about 80% on my final test scores. I think I was in the top 5 of my year.

After this I went to the University of Amsterdam, where I studied Artificial Intelligence for less than a year. My expectation was that the university would be a real challenge, but instead it was so easy I did not even have to read most of my books to get very good test scores. If I would have finished my first year, I would have been in the top 3 of best students for that year.

Halfway through the second semester my disappointment and frustration reached a high enough level that I decided to drop out. My point of view is that I was paying a lot of money just so I could have my teachers summarize books for me during lectures and then make tests to show I paid attention during class. I could just as well buy and read the books without going to a university.

Jobs

After I stopped my education I had a nice vacation, did some temp work and then got a job as Junior Software Developer at yoMedia I have never looked back since, because working as a software developer/designer has given me plenty of challenges and opportunities to learn. I recently (august ‘07) got promoted to Lead Software developer, and I’m loving it.

I plan on expanding my book collection with books on various topics that I would be learn about during my University courses, just to acquire the knowledge. More knowledge is never a bad thing.

Back to top