If you're thinking of making a confirmation dialog, stop, and please implement an undo instead. If the confirmation dialog is for exiting the program, save your state instead and implement a restore function so people can undo quit.

Confirmation dialogs are fine for things that affect other computers (sending a message, for instance). But if it's all happening locally, undo should replace any confirmation dialog.

Look up translations on with ! More than 6.6 million translations across 20 languages are available

Source code at

It's quite an early release, but if there is interest, I will improve on it.

I just noticed that did not archive my repos in any visible way. I expected them to keep at least the repo discriptions up (which contained a link to the new git repo in my case). Instead, the repo links 404 and my account looks completely empty. Not the nicest way to handle such a change.

Old: web.archive.org/web/2016122016

After more than six year on Google , I finally moved my simple multiplayer auction game over to my local server.

I really liked the service back then, but the classic app engine only got worse over time and never got an update to python3, and the newer offerings never got as attractive as the classic app engine for me (no ndb, no spending limits, more complex). 😢

I always wanted my volume keys to change the volume logarithmically. Actually getting it was easier than expected:

pactl set-sink-volume @DEFAULT_SINK@ $(pacmd list-sinks | awk '/volume:/ {print int($3 * 1.2); exit}')

I just bound this to the volume up key via xbindkeys.

The more articles I see about supposedly simple blogging setups, the happier I am about my primitive setup described at karl.berlin/blog.html .

If anyone wants clearer instructions on how to use it yourself, let me know!

is a really nice reader application for e-readers:

It can't fetch my pocket articles, but can be used with it. I don't want to spend much time switching tools right now, but I will consider this at a later time.

I just updated , my todo list for recurring tasks. It fixes some display problems that accumulated over the last years and the code is updated to 0.19.1.

Go to github.com/karlb/doagain for the readme and code or to static.karl.berlin/doagain/ to launch it right away.

Let me know what you think!

Get 's new offline dictionaries at wikdict.com/page/download !

It's a bit sad that Android does not have a built-in dictionary and iOS does not allow users to add custom dictionaries. How am I supposed to bring free dictionaries to the masses?

As part of , I want to provide downloadable bilingual dictionaries. I'm not sure which formats I should provide, yet. Help me decide! What is your favorite offline dictionary software?

The free (as in freedom) bilingual dictionaries at got an update. In addition to the usual improvements, the Swedish dictionaries got major improvements.

See blog.wikdict.com/2020/08/updat for more details on the update or go to directly to wikdict.com to try out the dictionaries.

I finally managed to update to the latest react-scripts version. With all versions between 2.0 and 3.2 I had problems getting the sqlite.js working in the production build.

Let me know how these slightly faster SQL-Spreadsheets work for you: litespread.com.

Don't hesitate to ask when encountering problems. Documentation is mostly missing and error handling needs some more work, too.

Whereclaus: Ever since he has been bitten by a wherewolf, he's really good at writing SQL queries.

Now that BitBucket stopped the support, I'll admit that has won. I'm moving all my projects to git and github.

I still prefer mercurial, but I'm tired of using different VCSs for different projects.

I can really recommend hypothesis.works/ for code! It makes discovering edge cases in tests so much easier!


Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.