Blog Archives

Perils of Copy-Paste Programming

Double oops

Interestingly, my change “solved” the perceived bias in the shuffling code, but it actually introduced real bias in an otherwise correct implementation of the Knuth-Fisher-Yates shuffle algorithm.

This was pointed out to me yesterday (11 March 2017) in the comments on the answer I copy-pasted by Steve Marx.

Read more ›




Three reasons why it is hard to get people to adopt better practices

1. Simple <> Easy

Good practices often revolve around making things simpler, making them less convoluted and complicated, putting everything in its own place instead of letting stuff spread around.

Simple does not mean easy though.

Making something simpler is hard work. Untangling a big complicated mess takes significant cognitive effort.

Read more ›




Test Driven Development: stacking bricks or turning on lights

After all the good things you heard about it, you have taken the plunge and are taking your first steps in test driven development. You thought about what your Splendiforous class is supposed to do, wrote the tests and grew the implementation for all its methods.

This TDD thing really makes sense.

Read more ›




Sorry, just questions, no answers

Lately it has been happening more and more often.

Someone writes a blog post articulating an idea that has been stewing in my mind for some time…

Now Uncle Bob has done it.

Over the years it has never ceased to amaze me that software developers are not held to higher standards.

Read more ›




How do you know your software works? And keeps working?

Which scenario do you like better?

You wake up in the morning. The sun shines brightly through your window, but for all you care it might as well be pouring with rain. The bug reports are stacked high and low on your desk. The minute you walk in someone from support will be on your back about clients X,

Read more ›




Show Buttons
Hide Buttons