Are you passionate about your job? Do you enjoy programming? Do you think you're any good at it? One of the things that make me productive as a developer are the tools and products I use. However, these tools seem to try and grab all my attention. When I go to a conference, or read a blog entry, I'm bombarded with them: Windows 8, Visual Studio 11, ......

We had a crisis in our team last week. One of our teammates left. It all started off with a discussion while pairing on a task with John (not his real name). I found a method did not belong in a certain class, while John didn't care, but didn't want to change it. We started a discussion that ended up into a heated debate about code quality. The two ......

I had fun writing this one My current client asked me to allow users to paste text into textboxes/textareas, but that the pasted text should be cleaned from '<...>' tags. Here's what we came up with: $(":input").bind('paste', function(e) { var el = $(this); setTimeout(function() { var text = $(el).val(); $(el).val(text.replace(/&lt... ......

I recently bought Call Of Duty: Black Ops for the PC. It's a really realistic and challenging game, and my kids love it. However, if you want to share a gaming experience, you want to have different profiles for each player in the family. No luck with CoD:BO though. The game doesn't support mutliple profiles. I started looking around on the internet ......

Have you ever tried google trends? It's a fun utility to see trends in search keywords typed in google. You can go as far back as 2004, so there's plenty of data available. You can even compare different trends. One of these interesting trends Pascal once pointed out is c# vs ruby. Back then, this is what it looked like (c#, ruby) The blue line is c#, ......

While preparing the code for my previous post, I decided to try NU to get the OSS I needed for the demo. I must say it was a blast. Ruby is required to run NU. For those who don’t have ruby on their machine, get the ruby installer. It won’t slow your system down or pollute it in any way. It’s just creating a directory of your choice for ruby, and adds ......

Since I published the state of my project goals, I got a few questions about my repository implementation, so here goes… The ‘classic’ repository interface looks like this: public interface IRepository<T> { T GetById(int id); IEnumerable<T> GetAll(); T SaveOrUpdate(T entity); void Delete(T entity); //... } This interface has some issues ......

Time for me to evaluate the progress on the original goals of our project. In januari, I started on a new project and set myself/the project a few goals. These goals were explicitly written down in a previous post. We've now finished phase 1 of the project, and I took the time to see what's left of my new year's resolutions.What's the point?I believe ......

I've been using the application launcher Quicksilver on my Mac for about a year and a half now. It was the first app I installed. However, with Quicksilver, I've never been able to go further than the basic launching of applications. Maybe it's because I didn't put much effort in learning the tool. Maybe it's because I'm too used to the windows-based ......

I recently got the opportunity to teach a 3 day course on the subject of "Principles, Patterns and Practices in .net". I must say it was a fun and enriching experience. I have never taught a course before, so I decided to go off the beaten path and do a little experiment in format. No need to copy existing formats that can be found everywhere else in ......

I recently realized the many parallels you can draw between the theory of evolution and evolving software. Evolution is not the proverbial million monkeys typing on a million typewriters, where one of them comes up with the complete works of Shakespeare. We would have noticed by now, since the proverbial monkeys are now blogging on the Internet ;-) ......

We just did our third coding dojo today. Just to keep things interesting, we did it in Ruby this time. The whole thing has been done on a Mac with TextMate. The topic we set off to implement was a game of darts. More specifically, what combination of throws gets you to win if you have to throw a 2, or a 3, or a 4, ... The constraints are: - a single ......

In our new project, we've decided to use FitNesse with slilm. All in all, slim is an improvement over fit. The thing I like most is the error messages when running tests. These are now much clearer than with fit. The fixtures are now plain old objects (that's poo -- you can call them pojo, poco or even pono for all I care). So no dependency anymore ......

We're nearing the end of our second iteration on a new project. I started out by setting myself a few goals to explore. I'd like to write them down here, so I can come back in a few months to see what remains of them. You're welcome to comment on these goals.Overall- readable, intent revealing software- DRY, YAGNI, BOYSCOUT et all...Entities:- IAggregate ......

Note to the one reader I have (Hi mom!): I accidently deleted this post, so this is a repost. I’ve just started a new initiative in our company: a coding dojo. I first saw this last week at the XP days, and I loved every minute of it. Emmanuel Gaillot introduced us to this idea with a simple challenge: compare poker hands. The implementation was written ......