DISCLAIMER: This site is a mirror of original one that was once available at http://iki.fi/~tuomov/b/

1. As you may have noticed, from anomalous feeds, etc., I have switched away from nanoblogger as the site generation engine. It was simply too unbearably slow under Cygwin – mind you, it's unbearably slow on any system, but ten times that on Cygwin. Since all the static site generators I tried, failed, I had to write my own very simple one in a couple of evenings. Maybe I'll release it one day, if I get around to cleaning it up.

In any case, the URLs of the posts are nicer now. There are redirects in place, but please update feed locations in your reader, etc., to avoid unnecessary traffic. (As if that amounted to anything, with all the spam…)

2. Next, I'm going to report a few updates on the software situation at the refugee camp, Windows. First of all, as pointed out by a reader, a new version of Colibri is very fast indeed, so I'm back to using it as a rather nice application launcher (replacing the worthless Start Menu).

I was also made aware of AutoHotkey as a hack for attempting to automate Windows with the keyboard. So I wrote a hack that auto-generates a Compose key script from an X Compose map file. (The AutoHotkey language itself is too primitive to comfortably read, store, and access this data from an efficient structure.) The script turns out to work nicely enough, although it demands the AutoHotkey_L fork for Unicode support.

• compose.ahk. This is all you should need, unless you want to change the definitions. Just load it in AutoHotkey_L. You will probably also want to make any dead keys undead by editing your keyboard layout in MSKLC.
• Compose.txt. The X Compose definitions, provided here for the benefit of those without immediate access to them.
• make-compose.lua. This is the Lua generator script (filter). You will need Lua, and probably also Cygwin with iconv to run it.

This is actually the third attempt, that was the most laboursome to implement, completely emulating a conventional compose key. My first simple attempt was using AutoHotkey's “hotstrings”, which would be nicer, with the composing characters being shown until all have been entered, after which the string would be replaced with the composed character. But this did not work so well in all programs. A second attempt was opening a dialog showing the characters, but this also has problems with programs that lose focus of internal widgets when the top-level window loses focus. So I ended up writing a generator for more complicated input processing, that more closely emulates traditional Compose key behaviour.

As some of the audience may never have experienced the Compose key, sticking in agony to the more popular limited crap known as dead keys, here's how it works. Since I do not have completely free keys at a convenient location on my laptop keyboard, I have chosen the Win-C combination the Compose key in my setup. By pressing this and then typing a few more symbols, this will produce a composed symbol. Some examples include:

 Combination Result Win-C 'a ⇒ á Win-C "u ⇒ ü Win-C ~n ⇒ ñ Win-C ,c ⇒ ç And so on, for the common accent symbols and letters found on keyboards. Win-C cs ⇒ š This is actually one symbol that is not found at all on standard (dead key based) Finnish keymaps, although is used in modern spelling in various loan words as a phonetically correct translation of 'sh': šakki (chess), šamaani (shaman), etc. Likewise with ž. Win-C ss ⇒ ß Compose ist nicht scheiße. Win-C oc ⇒ © Win-C ?? ⇒ ¿ Win-C .. ⇒ … etc.

With all these symbols, and more, behind the Compose key, it is possible to temporarily write most languages based on the Latin alphabet comfortably enough without having to set up and change keymaps, as well as producing other occasionally useful symbols. Also, although not in the usual X Compose map, it is, of course, possible to add Greek letters behind Compose, say, as, Win-C ga for α, etc., for use in mathematical formulæ. (For actually writing Greek you want to change the layout, though.) I, however, prefer writing \alpha, etc., the LaTeX way.