Print out the maximum depth of recursion allowed

Karl Seguin tweeted the following earlier this week: “An interview question I sometimes ask: Write code that prints out the maximum depth of recursion allowed.” This question is interesting for a couple of reasons. First, it’s a shorter FizzBuzz; can the candidate open an IDE, write a few lines of code, compile and run them? And second, does he know what recursion is? Now let’s say, the interviewee knows how to write code and is familiar with the concept of recursion. If he had to do this exercise in C#, he might come up with something along these lines. ...

October 19, 2014 · 2 min · Jef Claes

Read an Event Store stream as a sequence of slices using F#

I’m slowly working on some ideas I’ve been playing around with whole Summer. Since that’s taking me to unknown territory, I guess I’ll be putting out more technical bits here in the next few weeks. Using the Event Store, I tried to read all events of a specific event type. This stream turned out to be a tad too large to be sent over the wire in one piece, leading to a PackageFramingException: Package size is out of bounds. ...

October 5, 2014 · 2 min · Jef Claes

The road to Großglockner

Sixteen days after leaving home, we’re now on our way back to Antwerp. After Croatia, we’ve driven through Slovenia, Italy, Austra and Switzerland, arriving in France to meet up with my parents for a few days. France offered us the typical vineyards and chateaux. What, next to the good company, will stick with me the most is the High Alpine road in Austria. We paid 34 euros to be allowed on the road, but the surroundings of that piece of asphalt are extraordinary. The drive is rough, maybe even more so coming down than going up. No wonder car manufacturers use it to test drive their close to production-ready prototypes. ...

September 14, 2014 · 1 min · Jef Claes

Northbound again

Leaving Plitvice behind us, we crossed the country heading for the sea. We didn’t need to cover a lot of distance, to discover how diverse the Croatian landscape and climate is. In only two hours we went from the cold, foggy lakes and waterfalls to green meadows to dusty mountains to sunbathing coasts. We followed the coastline for a little while, strolling through old coast towns, eating seafood, drinking something cold. Driving up North and more inland, we spent two days in Motovun, a picturesque town high on a mountain. ...

September 10, 2014 · 1 min · Jef Claes

Tolkien's inspiration

The next morning we woke up to another rainy day. We caught up with the rain in Austria and we have been following it ever since. Or the other way around. Even the locals can’t seem to stop talking about how much rain is falling. Between showers, we were able to hike the Vintgar trail. The one hour hike takes you along dangerous rapid waters, bringing you to a big waterfall. If I ever wondered how J.R.R. Tolkien came up with inspiration for his famous novels, now I have a good idea. ...

September 7, 2014 · 1 min · Jef Claes

Porsches and a setting that sells them

With the Belgian ‘Summer’ ending, we are exploring South Eastern Europe. This trip will take us through Germany, Austria, Slovenia and Croatia. On Saturday, we stopped in Stuttgart to complete our list of visits to the three most popular European sports car museums, after visiting Lamborghini and Ferrari two years ago: the Porsche museum. In my teens, my affinity to fast cars was ignited by spending rainy afternoons at one of my best friends’s, attempting to crush each other’s track records playing Need For Speed Porsche Unleashed. The brand has succeeded in making its way into my subconscious early on. It would still be a Porsche I’d buy today, if I would have too much money to spend. ...

September 2, 2014 · 2 min · Jef Claes

Solomon, the architect

Two junior developers who started working for the company at the same time, had been quite competitive with each other from the get-go. They had once been assigned to the same team, but because of the constant bickering, which had put a serious amount of stress on the team, one of them was pulled off the project and reassigned. A good year later, just the two of them were assigned to a new smallish, but interesting in-house project. When management assigned them to the same project again, they had just been shuffling resources around, and had no idea of the history these two had. An architect was also assigned to the project, but this was not more than a formality. As soon as the enterprise architecture diagram was updated and the paper work was out of the way, he would do an official hand over, but he would only occasionally check in on the project from then on. ...

August 26, 2014 · 4 min · Jef Claes

Thinking No Computers

The other day I happened to see a curious exchange in one of our businesses. The cashier swapped a torn, but carefully restored by taping it together again, Euro bill for a new one with the manager. Inquisitive, I asked the manager what he was planning to do with that Euro bill. “Once a month, I take all those ripped up or badly worn bills to the National Bank, and trade them for new ones. All you need is one piece of the bank note for them to give you a newly printed one.” ...

August 19, 2014 · 3 min · Jef Claes

Paper notes: A Study and Toolkit for Asynchronous Programming in C#

The .NET framework mainly provides two models for asynchronous programming: (1) the Asynchronous Programming Model (APM), that uses callbacks, and (2) the Task Asynchronous Pattern (TAP), that uses Tasks, which are similar to the concept of futures. The Task represents the operation in progress, and its future result. The Task can be (1) queried for the status of the operation, (2) synchronized upon to wait for the result of the operation, or (3) set up with a continuation that resumes in the background when the task completes. ...

June 8, 2014 · 2 min · Jef Claes

Not about the UI and the database

When you ask an outsider which components an average application consists of, he will most likely be able to identify the user interface and the database. He will also recognize that there is something in between that takes the input from the user interface, applies some logic and persists the result in the database. In the past, trying to make sense of what goes on the middle, we started ...

June 1, 2014 · 2 min · Jef Claes