Category Archives: Software development

Let’s settle on a newline standard

We’re, what, 70 years into the “computer revolution?” By the late ’70s, we’d pretty much settled on one of two different character sequences to denote the end of a text file line. Either a single line-feed (LF) character, or a … Continue reading

Posted in Software development | Tagged | Leave a comment

Re-thinking the retry

(Originally posted October 30, 2018) A common pattern used when communicating with external services is to retry a call that fails. Stripped of bells and whistles, the typical retry loop looks like this: We can quibble about the specific implementation, … Continue reading

Posted in Software development | Tagged , | Leave a comment

Ask an AI: whittling or wood carving?

A friend of mine asked a generative AI (Nova: Powered by ChatGPT & GPT 3.5 Turbo) about the difference between whittling and wood carving. This is the response she got: Wood carving and whittling have been practised for thousands of … Continue reading

Posted in Software development, Wood carving | Tagged , , , | Leave a comment

A fun little puzzle

I ran across this puzzle about 10 years ago. Although it didn’t take me long to come up with the optimum solution, I find the puzzle interesting because it just might be a good interview question for programmers at different … Continue reading

Posted in Software development | Tagged | Leave a comment

Birthdays, random numbers, and hash keys

You’re probably familiar with the Birthday Paradox, either from your introductory statistics class or from hanging around computer programmers for too long. Briefly, the math shows that the odds of any two people in a group having the same month and … Continue reading

Posted in Software development | Tagged | Leave a comment

Subtraction is not the same as comparison

(Originally posted in somewhat different form on 11/21/2016.) All too often, I run across integer comparison functions that work, but have a latent bug. It’s not a bug that you’ll run into very often but when you do run into … Continue reading

Posted in Software development | Tagged | Leave a comment

Computer programs are not cats

(Originally published February 1, 2013) I see questions like this fairly regularly: I’ve said before that Thread.Sleep is a red flag indicating that something is not quite right. And when a call to Sleep is in a loop, it’s a near certainty that there is a … Continue reading

Posted in Software development | Tagged | Leave a comment

Bit twiddling for the win!

(I don’t recall if I wrote about this before. I really need to resurrect my old blog entries.) This was an interesting puzzle to work on. Some of the programmers I subsequently explained it to just got that glazed look … Continue reading

Posted in Software development | Tagged | Leave a comment

It really isn’t that difficult

I’ve been contributing to Stack Overflow for 14 years: pretty much ever since it started. And every year there are Computer Science students who come up with novel ways of screwing up parsing and evaluating arithmetic expressions. It’s a problem … Continue reading

Posted in Software development | Tagged | Leave a comment

But that’s the way we’ve always done it!

Some years back I did a lot of research on and experimentation with the binary heap data structure. During that time I noticed that publicly available implementations placed the root of the heap at array[1], even in languages where arrays … Continue reading

Posted in Software development | Tagged | Leave a comment