Programming

Let's plant some UML

UML class diagram

Are you using UML? The Unified Modeling language is a very useful notation, especially when it comes to explaining the structure and behavior of object-oriented systems. It is language-independent and offers a wide range of models/diagrams that cover the different aspects (static, dynamic, …

Don't use a real …

I like Prolog. I think that it’s a brilliant tool. And not purely educational, unlike what many people think. You can actually use it to build real, useful, and practical applications: sudoku solvers, adventure games, formal logical systems, and a lot more. It might not be the best tool for …

One catch to rule them …

When writing code, we need to handle errors. What happens if you are trying to read a corrupt file? Or if the network goes down while receiving data? The programming language runtime will try to give you an error message that makes sense, but that doesn’t mean that this is what you want to …

Playing with …

The last training course that I followed was about programming microcontrollers. The course was given by Leon van Snippenberg, who has very good expertise in microcontrollers.

For the practical part of the course we used the Microchip dsPIC33F, a 16-bit architecture 40 MHZ microcontroller (system on …

Joy of Coding 2014 - My …

I haven't been to a conference for years, but this year I decided to join Joy of Coding. And I don't regret it!

The conference started with a keynote by Dan North: "Accelerating Agile: hyper-performing without the hype". Dan described what he learnt about Agile while working in the trading …

Numerical string sorting …

The problem: You have an unsorted array of strings (product codes, area codes, etc.) containing both letters and numbers (for example 'A28', 'A3', 'A1', etc.) and you want to sort them numerically (that is, 'A1', 'A2', ..., 'An'). Ruby offers a sort method, so let's see what it does...

Nope, that's …

Data Structures and …

Definition

Think of a queue as a line of people waiting to buy a ticket for an event (music concert, film, etc.).

Photo Credit: Bryan Bedder/Getty Images for Tribeca Film Festival

In the queue shown at the picture, a person who just arrives to buy a ticket goes to the left side (unless cheating) and a …

Interview question: …

Let's assume that we are asked to solve the following problem in a programming interview: "Write a function that removes all duplicate characters from a string". Piece of cake, you might think. Surely they are not asking us to write a Web Browser but there must be a reason for that.

Test first

The …

Data Structures and …

Rationale (boring)

I decided to write down some notes about common (and maybe less common) Data Structures and Algorithms. This is the first part, covering stacks.

Definition

Think of a stack as a pile of books.

A stack looks like a pile of books
If I want to study "Modern Operating Systems", I first …

What we can learn from …

The software in space podcast (by se-radio) put me into thoughts about finding ways to improve code quality. First of all, I think that using void methods in languages that support exceptions is not very useful. Instead, I prefer using idioms like the boolean return value and single exit point. …