Karl Bartel’s Website

I’m a Software developer in Berlin, Germany. I like free software, open data and keeping things simple.

Contact me via email[1] or find me on GitHub[2], Mastodon[3], LinkedIn[4]. Subscribe to the Atom feed[5] to get all new posts on this site.

1: email

2: GitHub

3: Mastodon

4: LinkedIn

5: Atom feed

Blog Posts

2026-05-14 - I prefer Djot over Markdown

2026-02-28 - Can We Make Simpler Software With LLMs?

2026-01-17 - Raising Notifications From Terminal

2025-03-08 - Stack Traces are Underrated

2024-08-29 - Easily Entering Umlauts With a US Keyboard Layout

2023-09-17 - Consistent Handling of Git Repositories With Different Default Branches

2022-07-30 - Simple Testing with `git diff`

2022-06-14 - `make` as a Static Site Generator

2022-04-03 - When Is Complexity OK?

2021-05-01 - Formatting Numbers of Unknown Order of Magnitude

2021-01-31 - Adding Gemini Support With Just a Few Lines of Code

2021-01-06 - Tcl as a Shell Scripting Replacement

2020-08-30 - My Simple Custom Blog Software

2020-05-06 - Hacking on "smu", a Minimal Markdown Parser

2020-04-28 - Suckless Software on My Desktop

2020-04-19 - Exercises in Simplicity

Projects

Active Projects

=> http://www.wikdict.com 1: WikDict.com

=> https://github.com/karlb/karl.berlin 1: blog.sh

=> https://github.com/karlb/smu 1: smu

=> https://github.com/karlb/dotfiles 1: dotfiles

=> https://github.com/karlb/sqlite-sqlean 1: sqlean python package

=> https://github.com/karlb/calced 1: calced

Old Projects

=> http://landrush.karl.berlin/ 1: Land Rush

=> http://karlb.github.io/nuclearchess/ 1: Nuclear Chess

=> https://github.com/karlb/doagain 1: Do Again List

=> http://www.linux-games.com/ 1: Lots of games

=> http://www.linux-games.com/sfont 1: SFont

Experiments

=> https://github.com/karlb/termstack 1: TermStack

=> http://www.litespread.com 1: Litespread

=> https://github.com/karlb/iprefer 1: iprefer.to

=> https://github.com/karlb/zerosum 1: TrackMyOwe.com

Reachable via Gemini Protocol

=> gemini://gmi.karl.berlin 1: gmi.karl.berlin

=> gemini://gmi.wikdict.com 1: gmi.WikDict.com

Proxied content from gemini://gmi.karl.berlin:1965/ (external content)

Gemini request details:

Original URL
gemini://gmi.karl.berlin:1965/
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.