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

Partial Knowledge

on Dec 6, 2016

We live in an amazing time. Collectively our species knows more about the world around us than any one individual could ever learn in their lifetime. Some of that knowledge is the underlying natural complexity of our physical existence. Some of it is...


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...