Dennis' blog

On Technology and Business

The Paradox of Targeted Advertising

What is the last time you saw an ad or targeted article that was really helpful for you? What was the last time you was one that was not? Most likely, your experience with ads is that all of them are bad. At best they are ads for things you have already bought. At worst, they’re clickbaity ‘try this one crazy trick to get [insert hard to obtain thing]’. Yet, the advertising industry has the deepest customer profiles it has ever had.

Read On →

Syncthing: the good side of open source

I switched from Dropbox to Syncthing today. Much better experience than I expected. Within a hour I had several devices perfectly syncing my folders. I’m amazed at how much better it is than Dropbox. I loved dropbox when I started with it 12 years ago. It solved a problem I had - syncing my files across devices - and did so while staying out of my way. The daemon was efficient, it did one thing and did it well.

Read On →

Knowing AI vs Applying AI

Why everyone talks about AI, but only few really apply it

By now, almost all companies see AI and advanced analytics (AA) as transformational technologies. McKinsey estimates a annual potential between $9.5 and $15.4 trillion. Let that sink in. That’s somewhere between 250 and 450 times the net income of Google. AI represents over a third of this just by itself.┬áThus, the case for investing in AI and analytics is clear. And with such clarity, investments are being made. O’Reilly’s 2019 AI survey showed 79% of companies planning to spend at least 5% of their IT budget on AI.

Read On →

Advent of code 2018 - Day 2

I’m trying to keep up with the Advent of Code this year in Go. Day 2 - part 1: finding IDs with duplicate or triplicate characters And here we go, we’re given a set of IDs looking like srirtfyzlognvxwctqmphenbkd and have count the number of IDs that contain 1 or more characters exactly two or three times and then calculate the result of #duplicates * #triplicates. Our approach will be to go ID by ID and iterate across each character in the ID and count how many times the ID contains this character.

Read On →

Advent of code 2018 - Day 1

I’m trying to keep up with the Advent of Code this year in Go. Day 1 - part 1: Calculating the frequency from a set of plus and minus inputs Our first exercise doesn’t seem too difficult. We’re given a list with rows like +20 and -14 and are asked to calculate the sum across the full list. My - working but probably not optimal - solution below, which iterates over the file line by line, converts the input to an signed integer, sums the resulting values and provides the total.

Read On →

Is your core competence managing a database?

When you have time to spare, managing your own IT infrastructure feels like saving money. It’s not. We started in 2012. We had a single group of dentists using our tool, and lots of time to support both the development of the tool as well as the onboarding of our users. We decide to host our application on a VM that we managed ourselves. We resized a few times over the next years as load grew and other applications were added.

Read On →

Buying a car online

I’ve been driving the same VW Polo for 8 years. A few weeks ago it finally retired because of a worn-out crankshaft bearing. I was suddenly in de market for a new car and decided to see if I could buy a car online. Buying the Polo in 2010 was a traditional experience. I had visited the dealership a few times to discuss and configure the car. This as followed by a discussion about a similar car that was already in production.

Read On →


I’m a management consultant banker by day, a hobbyist ruby/go programmer by night, and a dad to two little girls. At ABN AMRO, I am responsible for Artificial Intelligence. I am optimistic about the increasing use of AI, but I also think AI is the wrong name. It is better called Cognitive Automation. However we call it, I am optimistic it will make companies more efficient, customer contact more personal, and decisions more data-driven.

Read On →

Non-optimal routing for high-traffic Heroku applications

NOTE: This article was written in 2013, things may have changed since then, although Heroku’s devcenter still describes random allocation of requests to Dynos. I’m also a happy user of Heroku. My product doesnt come close to the workload that would be a problem for this routing setup. However, I wanted to share the (outdated) analysis below for those that are interested I’m a big fan of Heroku. For everything from really small projects to medium sized projects it has helped me focus on the development of the applications rather than how I deploy it.

Read On →