Koterpillar

Lambda Jam

There is a distinctly higher concentration of ThinkPads vs. MacBooks than on non-functional conferences.

English teacher conspiracy

It looks like English teachers have some kind of a conspiracy to lead their students astray.

I remember clearly a lesson where half of the class had to be taught to pronounce "data" as /ˈdeɪtə/ (first "a" like in "fate"). Everyone learned well, thanks to the famous lieutenant... and now it turns out about half of the native speakers naturally say /ˈdɑːtə/ (first "a" like in "cut").

And yesterday I learned the capital of the United Kingdom doesn't have to be /ˈlʌn.dən/ (first "o" like in "some") - saying just like everyone read it the first time in a textbook - /ˈlɔn.dən/ (both "o" sound the same) is also okay.

Sunscreen

Will buy credit card sized sunscreen packets, to put into wallet just in case.

Thinking on different meta levels

Sometimes you are solving a problem, whether by yourself or talking to someone, and realize you actually want to operate on a different meta level. For example:

  • How do we fix this?
  • How did this happen?
  • How do we prevent this from happening in the future?

If a problem is urgent, you focus on level one. However, once it's over, you want to revisit it and answer the other questions too.

Last week I've found myself twice having to bring the counterpart to the correct meta level. Once it was from "who is to blame" to "how to fix this" and once from "how to fix this" to "how to future-proof this".

I am not sure whether the "levels" actually have total ordering and aren't simply aspects. Anyway, it would be nice to be able to tell someone, "Hey, up one meta level" to quickly shift the discussion focus. (Of course, if they disagree, the whole discussion turns into a meta-discussion.)

P.S. "Who is to blame" is usually not the question to ask anyway.

P.P.S. "Gödel, Escher, Bach" is a good read. Even if some parts are outdated or wrong.

Haven't touched C++ for a long time

When did it absorb Agda?

test_graph.cpp:40:61: error: no match for 'operator<=' (operand types are 'Catch::STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison' and 'int')

Language advice

Dear sir or madame,

I saw the job posting you made for a Haskell software engineer. May I propose that you instead rewrite your software in PHP, which will guarantee more robustness and stability? Also, please use Javascript, as it is web scale.

Source

Stir count

Whenever I'm stirring tea or shaking a bottle of milk, the number of stirs is a power of two.

First post

Finally, the blog is up and running. As usual, I fell through the gaps in the feature lists of pretty much everything. So here's a list of what I want:

  • Version-controlled content;
  • Markdown or other nice text format;
  • RSS;
  • Cross-posting to social aggregators;
  • Some light page management (e.g. "About");
  • Tags;
  • And finally, proper localization.

All the static blog generators, by definition, get the last one wrong since they cannot even see your Accept-Language header. So, even though very little is implemented of the other aspects, multiblog is released and powering this site.

Hopefully this even displays properly - I have not yet tested this in production at the moment I'm writing this.