The Programmer's Paradox

Blog URL:
Blog Tags:prgramming, software, software development, computers, users, algorithms, internet, developers, technology

In depth discussions of programming and software development issues.

Latest Blog Posts


on Nov 19, 2016

It is easy to get lost when tackling a difficult problem. It is easy to go off on a dead end, wasting a lot of valuable time. When we are presented with a lot of choices, it is very difficult to pick the right one.For whatever reason, most people are...


on Sep 3, 2016

How we go about building complex software is often called ‘methodology’. To be complete, a methodology should cover every step of the process from gathering all necessary information about the problem to deploying and operating the solution in a...


on Jul 10, 2016

As I said in my last post on Quality, the ‘real’ world is a very messy place. So messy that we are designed with filters to obscure the details for stuff we are not willing to accept. These filters are relative to how we internally model the worl...


on May 6, 2016

On the outside is the irrational world of the users, that has evolved chaotically over generations. It is murky and grey, with a multitude of intertwining special cases. It is ambiguous. It is frequently changing, sometimes growing, other times just...


on Apr 22, 2016

If I had a lot of money I’d create a new website. It would be similar to Wikipedia, but instead of descriptive text it would only contain cold, hard facts. Explicit relationships between specific things relative to time.Structurally, the underlying...

Thinking Problems

on Jan 10, 2016

What’s most interesting about reading lots of code is that you get a fairly deep insight into how people think. Building software solutions involves decomposing a bunch of related problems into discrete pieces and then recomposing them back into a...

Routine Software

on Dec 19, 2015

As our knowledge and understanding of software grows, it is important to keep track of what are ‘trivial’ and ‘routine’ software projects. Trivial means that something can be constructed with only the bare minimum of effort, by someone whose...