56,966 blogs · [ { "id": "01a08793-c69e-700d-b02b-554dbd11c253", "title": "I prefer Djot over Markdown", "url": "https://www.karl.berlin/djot.html", "published_at": "2026-05-14T14:28:08+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dbd379e6b", "title": "Can We Make Simpler Software With LLMs?", "url": "https://www.karl.berlin/simplicity-by-llm.html", "published_at": "2026-02-28T18:20:48+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dbdc76277", "title": "Raising Notifications From Terminal", "url": "https://www.karl.berlin/terminal-notifications.html", "published_at": "2026-01-17T13:01:35+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dbe55aeab", "title": "Stack Traces are Underrated", "url": "https://www.karl.berlin/stacktraces.html", "published_at": "2025-03-08T08:41:27+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dbf35ca9b", "title": "Easily Entering Umlauts With a US Keyboard Layout", "url": "https://www.karl.berlin/umlauts.html", "published_at": "2024-08-29T09:58:59+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc002deb4", "title": "Consistent Handling of Git Repositories With Different Default Branches", "url": "https://www.karl.berlin/git-default-branch.html", "published_at": "2023-09-17T07:32:14+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc0d2bd2d", "title": "Simple Testing with `git diff`", "url": "https://www.karl.berlin/testing-with-diff.html", "published_at": "2022-07-30T14:14:20+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc0de7b16", "title": "`make` as a Static Site Generator", "url": "https://www.karl.berlin/static-site.html", "published_at": "2022-06-14T12:30:11+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc121aa19", "title": "When Is Complexity OK?", "url": "https://www.karl.berlin/complexity.html", "published_at": "2022-04-03T07:54:28+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc1bf1a32", "title": "Formatting Numbers of Unknown Order of Magnitude", "url": "https://www.karl.berlin/formatting-numbers.html", "published_at": "2021-05-01T13:07:39+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc2a0480e", "title": "Adding Gemini Support With Just a Few Lines of Code", "url": "https://www.karl.berlin/gemini-blog.html", "published_at": "2021-01-31T10:33:01+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc3062c88", "title": "Tcl as a Shell Scripting Replacement", "url": "https://www.karl.berlin/tcl-blog.html", "published_at": "2021-01-06T12:23:57+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc3f88dfd", "title": "My Simple Custom Blog Software", "url": "https://www.karl.berlin/blog.html", "published_at": "2020-08-30T14:35:19+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc43f8cf2", "title": "Hacking on \"smu\", a Minimal Markdown Parser", "url": "https://www.karl.berlin/smu.html", "published_at": "2020-05-06T15:26:23+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc4f90886", "title": "Suckless Software on My Desktop", "url": "https://www.karl.berlin/suckless-desktop.html", "published_at": "2020-04-28T17:37:01+00:00" }, { "id": "01a08793-c69e-700d-b02b-554dc575447d", "title": "Exercises in Simplicity", "url": "https://www.karl.berlin/simplicity.html", "published_at": "2020-04-19T12:00:55+00:00" } ] posts Claim your blog
Back to karl.berlin
Blog · corpus.blog/blogs/karl.berlin/posts

karl.berlin

karl.berlin

2026

2025

2024

2023

2022

2021

2020