Goodbye blogger!

My first attempt at blogging started in 2001, with a web-site entirely hand-made in HTML. It was crude, it had no commenting, and it was very difficult to maintain it, so it was necessarily tiny. Back then, finding a web host that was both free and would allow you to use your own domain name for free was quite difficult, so I had no option but to go with various questionable free hosting places.

  • First it was united.net.kg. (Where kg is the top-level-domain of Kyrgyzstan.) One day, it just disappeared.
  • Then, it was digitalrice.com. It had the same fate.
  • Starting from 2007 and lasting until yesterday, my blog was hosted on blogger.com (formerly blogspot.com)

Blogger had several advantages:

Read more »

Technical debt

Introduction

The term "technical debt" refers to messy source code, data, or architecture in a software system. It is commonly understood to represent a vague acknowledgement that the mess should probably be fixed by someone, somehow, sometime.

People hearing the term "technical debt" for the first time are likely to guess what it means, in broad terms, and to understand that it is undesirable; however, the real detriment lies in a concept which, although alluded to by the term, is not spelled out, and therefore hidden. As a result, people often fail to grasp the grave implications of technical debt.

This post sheds light at the hidden concept and shows the real problem with technical debt.

Read more »

Refactoring: strong vs weak

Abstract

Two distinctly different widely used meanings of the term code refactoring are identified and named:

  • Refactoring in the strong sense: Changing how code is expressed, without changing how it works.
  • Refactoring in the weak sense: Changing how code works, without changing the requirements that it fulfills.
Read more »

The perils of whiteboards

Summary

Building upon the realization that conventional means of software design today amount to nothing more than fancy whiteboards, we examine the pitfalls, disadvantages, and consequences of designing software using such tools.

This post is support material for Towards Authoritative Software Design.

Read more »

On the Tired Light Hypothesis

The Static Universe

The first model of cosmology that I was exposed to, as a small child, was that of the static universe, because that's all my father knew. According to that model, the universe is infinite in all directions, it is eternal, and it is not going anywhere. Of course I accepted it, because that is what kids do: accept everything presented to them as fact.

The Expanding Universe

Then, during elementary school, I heard of the Big Bang and the expansion of the universe; this new model of cosmology made me feel a bit uncomfortable, but again I accepted it, because a) that's what the scientists said, and b) I could go to my father and tell him that he is wrong.

Read more »