30 September
{bug, feature} → {regression, improvement, flaw}

(Original title: “There’s no such things as bugs or features”)

These concepts are still fuzzy enough that I expect to find a flaw, but I don’t see any regression, so this classification scheme seems like a strict improvement.

tl;dr version:

regression
it worked before but not anymore
improvement
it didn’t work before, we tried to make it, and now it does
flaw
it doesn’t work now because we didn’t try to make it, but it didn’t work before either

One further improvement is to consider intent and outcome separately for each set of functionality changes (changeset). A single changeset can be a mix of intended and actual improvements and regressions (intended regressions are usually intended as tradeoffs for more important improvements). A change has a “flaw” when there was an improvement that some party intended that just didn’t occur. (Of course, it’s important to keep in mind that different involved parties may have different intents or expectations, whether you realize this or not. But I’ll assume a single “intent” for now.)

If you consider these three parts of functionality changes separately, here are the possibilities (note that in order to use common parlance vocabulary, the change type descriptions are assuming the aspect in question is desirable, although you don’t need that assumption to use this kind of breakdown, though, and the last column doesn’t use it):

worked before was intended to work after worked after change type description (assuming desirable functionality) what you did
yes yes yes refactor or unrelated change (functionality-preserving) kept function intentionally
yes yes no accidental regression removed function accidentally
yes no yes accidental non-regression kept function accidentally
yes no no intentional regression removed function intentionally
no yes yes intentional improvement added function intentionally
no yes no uncompleted improvement (“flaw”) kept non-function accidentally
no no yes serendipitous improvement added function accidentally
no no no refactor or unrelated change (non-functionality-preserving) kept non-function intentionally
27 September

(Source: vimeo.com)

I felt like updating my site/blog a little today, so I did.

9 October
The Jeblog turned 5 today! Good thing it’s not a child because I sure have been neglecting it.
(If you can’t tell, Tumblr automatically suggested this post. Actually “The Jeblog” as a general entity had a couple of previous incarnations. I wonder when its real birthday is?)

The Jeblog turned 5 today! Good thing it’s not a child because I sure have been neglecting it.

(If you can’t tell, Tumblr automatically suggested this post. Actually “The Jeblog” as a general entity had a couple of previous incarnations. I wonder when its real birthday is?)

(Source: assets)

1 January
19 June
7 June
The connection between Google Street View and driverless cars

Eulerian Video Magnification for Revealing Subtle Changes in the World, allowing (for instance) reading a person’s heart rate from a video of them.

Another Programming Idiom You've Never Heard Of