By Guus , 19 March 2008

For everybody living in the Triangle: the Full Frame Festival is starting soon. This year it will be from April 3 to April 6, in downtown Durham.

Last year I saw more than 10 documentaries in a few days and it was an amazing experience -- very enriching.

The schedule was sent out tonight; it should be on the Full Frame website tomorrow: http://www.fullframefest.org

Topic
By Guus , 18 March 2008

Tonight I was at the March meeting of the Raleigh-area Ruby brigade. It was the first time I went and found it quite interesting. There were 'lightning talks': everybody was invited to give a short presentation on technical subjects. Most of them were only a few minutes, and a broad variety of topics was presented, very cool.

- Larry presented http://soundmanager2.rubyforge.org, a small library that makes embedding MP3 sounds on a website really easy and pretty
- Quick example of combining Ruby and Silverlight. Silverlight is "Microsoft's Flash" and is based on an ActiveX object. According to the presenter a runtime environment for the Mac and Linux is available also.
- Probably my favorite talk of the evening: http://talklikeaduck.denhaven2.com. A concise overview of where these three languages are different in how they deal with instance variables. Insightful and funny.
- Fixture Freedom. How to get rid of fixtures in test cases (and why that's useful). http://fixturebusters.com
- CTAGS and RTAGS. I had heard of CTAGS before but never really dug into it. It's a way to make an index of important symbols in your source code. Maybe I'm naive here, but if you want code insight wouldn't it be time to move to an IDE like Eclipse instead of using VIM? (/ducks...)
- Data tables for Ruby -- similar in purpose to Matt Raible's display tag library for Java
- A 'public service announcement' -- a plead to not use MySQL
- A comparison of Subversion with git. Git allows you to have the version history locally on your development machine. It also allows you to make local commits, and works together with Subversion nicely. This looks like a really interesting tool.

The order in which the topics were presented was based on their duration: the shorter the talk, the earlier you were scheduled. A fun and useful evening.

Topic
By Guus , 17 March 2008

Something that seemed quite unlikely only a few months ago is now true: the primaries in North Carolina will be quite important.

The race for the Democratic nominee is still not concluded, and after Pennsylvania the largest remaining state will be the Tarheel State. Mr. Obama has agreed to a debate in North Carolina, Mrs. Clinton has not committed to one yet.

For all North Carolian readers: today is the first day you can apply for an absentee ballot, and you have until April 11 to register, change your party affiliation or your address. More details on WakeGOV.com.

Topic
By Guus , 15 March 2008

This week it's been busy at work as we have a release coming up. I'm learning some new technical stuff, mainly around Ruby, and I did some Javascript work. To my surprise that wasn't too bad and I even enjoyed it -- Javascript used to be my least favorite language but tools like prototype and script.aculo.us make it a lot nicer than what it used to be a few years ago.

Today's been an easy day. I've been organizing some paperwork and I'm preparing to file taxes.

Topic
By Guus , 11 March 2008

This Sunday we switched to daylight saving time, so as I'm writing this it's 7.10 am and still dark outside.

In the evening it's staying light longer which is nice, especially for running. In the Netherlands the clock hasn't changed yet so the time difference is 5 hours instead of the usual 6, for a few weeks.

Topic
By Guus , 9 March 2008

Three weeks ago Drupal 6 was officially released. There are lots of improvements in the new version such as better anonymous commenting, but my main reason for upgrading is to make sure I'll always have the best security fixes in place.

Stuff that I used to have a plug-in for, such as 'Pretty signatures' and the very useful 'Update status module' are now part of the standard distribution.

However, some major modules that I use do not have a 6.0 version yet. Most critically, CiviCRM, CCK and the Views module are still in development. These are modules I use extensively, so I'll defer upgrading until versions of those modules for Drupal 6.0 become available.

Topic
By Guus , 6 March 2008

Lighthouse on the beach.One of the most famous books in my profession is The Mythical Man-Month by Frederick Brooks. I've read chapters from it during my study and loved those, but I never read the entire book.

I bought a soft cover version of the book on Amazon this week. It turns out Mr. Brooks is a professor at the university in Chapel Hill, the University of North Carolina.

The first chapter starts with an image of a prehistorical tar pit, as well as a Dutch proverb: "Een schip op het strand is een baken in zee.", translated to: "A ship on the beach is a lighthouse to the sea."

As if through some sort of mysterious father-son connection, Jaap did a blog post about a slight variation on this Dutch proverb today.

Topic
By Guus , 4 March 2008

Rainy night.Another Tuesday night, another political nail biter. Ms. Clinton had her first two wins in over a month and the campaigns keep going on.

It's a raining quite a lot tonight, a welcome supply of water. There was even a tornado warning in effect for central North Carolina.

Rainy night.

Topic
By Guus , 1 March 2008

Odie.I was bitten by a dog today. A big one. I'm fine.

The weather today was great. It was really sunny and I went for a run in the late afternoon without my watch, just for fun. After 20 minutes I reached Whole Foods, and there was a girl walking two big dogs. I stopped and warned her: "on your left". She pulled the leashes so I walked past the three of them but one of the leashes wasn't pulled in close enough.

The big gray dog thought I wanted to play a game and cheerfully up jumped against me and bit me in the arm. Luckily the bite isn't too deep, and the doctor said I shouldn't really worry about it, just keep it clean and watch it over the next days.

Three weeks ago a quick sprint helped me escape a furious little dog that was tied to the house with an overly long leash and wanted to bite me in the ankles.

I like dogs but I could do without their attention while running.

Topic
By Guus , 27 February 2008

One of the most difficult decisions I make in my job is deciding on hiring a candidate. Make the decision well, and the team will grow with a productive team member and everybody's happy. Make a bad decision, and I'm in for a potentially long, difficult and distracting track.

There are many things I look for in a candidate, but for software engineers programming skills are obviously key. Over the years I've had good luck and bad luck when hiring new people, but I quickly learned that doing a good job interview is a lot harder than it looks. Now, years later, I feel competent, but finding a good candidate still requires a lot of attention and energy.

I always incorporate a little bit of coding during interviews, even during the phone interview. No matter how senior the job and no matter how many years of experience a candidate has, I'll always do it. It's amazing how a simple programming assignment can give you insight in how people think and write code. It's even more amazing that lots of candidates don't even pass a basic coding question. One of my favorite questions is this:

Given an array of integers, write a method that will return the largest number (the maximum value) in the array. The integers are: 4, 6, 2, 4, 11, 5, 3.

Yes, this is a real simple question, and yes, it has a real simple solution. I always make sure I carefully explain the problem, clearly state the assignment and ask the candidate if they understand my question. They can code it in Java or C or in the rare case that they know neither any other language. And yet, lots of them fail!

Clearly, this is only a first check. Beyond the first phone conversation and the simple coding questions there's a whole layer of other questions and coding assignments, but as a quick screening tool questions like this are hard to beat. If you're interviewing for technical positions, I strongly recommend you always incorporate such a quick test for basic coding skills.

Interviewing is hard, and it's an art I'm always working to improve. A book that helped me early on, and gave me a better understanding of the theoretical and practical aspects of interviewing is Hiring the Best by Martin Yate. I still occasionally re-read parts of it and I highly recommend it to anyone who wants to improve his or her recruiting and interviewing skills.

(If you're in the market right now and are interviewing at my company soon: bonus points for reading my blog and mentioning it during the interview. Another thing I look for in a candidate is a genuine interest in the company and team that you may work with for the next years of your life).

Topic