41554 blogs · [ { "id": "01a0b68b-4ccd-7049-8d37-eee50d24d02f", "title": "Beat Hagenlocher", "url": "https://beathagenlocher.com", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a08738-280f-7211-9420-220cdaea8904", "title": "Project Commonplace", "url": "https://beathagenlocher.com/project-commonplace/", "published_at": "2026-08-15T01:27:42+00:00" }, { "id": "01a08738-280f-7211-9420-220cdbe8d617", "title": "The Ultimate Keyboard", "url": "https://beathagenlocher.com/the-ultimate-keyboard/", "published_at": "2026-07-22T21:48:16+00:00" }, { "id": "01a08738-280f-7211-9420-220cdc3ffbb2", "title": "Poems I like: Do Not Go Gentle Into That Good Night", "url": "https://beathagenlocher.com/do-not-go-gentle-into-that-good-night/", "published_at": "2026-05-28T14:07:33+00:00" }, { "id": "01a08738-280f-7211-9420-220cdc7d484c", "title": "Poems I Like: The Road To Wisdom", "url": "https://beathagenlocher.com/the-road-to-wisdom/", "published_at": "2026-05-28T13:55:24+00:00" }, { "id": "01a08738-280f-7211-9420-220cdd432f9e", "title": "GNOME Wayland Desktop Portal/Nautilus/Screen Sharing Issues", "url": "https://beathagenlocher.com/stream/#00135/", "published_at": "2026-04-10T14:49:17+00:00" }, { "id": "01a08738-280f-7211-9420-220cdd9e0b97", "title": "Details that make interfaces feel better", "url": "https://beathagenlocher.com/stream/#00134/", "published_at": "2026-04-04T18:52:18+00:00" }, { "id": "01a08738-280f-7211-9420-220cde08ab66", "title": "Nutrient Ranking Tool", "url": "https://beathagenlocher.com/stream/#00133/", "published_at": "2026-03-26T18:00:58+00:00" }, { "id": "01a08738-280f-7211-9420-220cde5c8e73", "title": "UnoCSS", "url": "https://beathagenlocher.com/unocss/", "published_at": "2026-03-14T17:55:12+00:00" }, { "id": "01a08738-280f-7211-9420-220cdf48d241", "title": "Fluid (Type) Scales", "url": "https://beathagenlocher.com/fluid-type-scales/", "published_at": "2026-03-14T17:52:18+00:00" }, { "id": "01a08738-280f-7211-9420-220ce028f653", "title": "Fluid Scales in Tailwind", "url": "https://beathagenlocher.com/stream/#00132/", "published_at": "2026-03-14T17:48:53+00:00" }, { "id": "01a08738-280f-7211-9420-220ce0f457c0", "title": "Size Textarea to Content", "url": "https://beathagenlocher.com/stream/#00131/", "published_at": "2026-03-14T17:30:34+00:00" }, { "id": "01a08738-280f-7211-9420-220ce1574fb3", "title": "Wasm", "url": "https://beathagenlocher.com/wasm/", "published_at": "2026-03-09T18:43:43+00:00" }, { "id": "01a08738-280f-7211-9420-220ce1675b65", "title": "Lean and Wasm", "url": "https://beathagenlocher.com/stream/#00130/", "published_at": "2026-03-09T18:40:48+00:00" }, { "id": "01a08738-280f-7211-9420-220ce1d31116", "title": "Lean and WASM", "url": "https://beathagenlocher.com/lean-and-wasm/", "published_at": "2026-03-09T14:06:42+00:00" }, { "id": "01a08738-280f-7211-9420-220ce2460881", "title": "Better Computer Use", "url": "https://beathagenlocher.com/stream/#00129/", "published_at": "2026-03-06T11:56:52+00:00" }, { "id": "01a08738-280f-7211-9420-220ce3066517", "title": "Window Switching Made Simple | Part 2", "url": "https://beathagenlocher.com/window-switching-made-simple--part-2/", "published_at": "2026-03-06T09:21:19+00:00" }, { "id": "01a08738-280f-7211-9420-220ce326c2c3", "title": "Async Link Fetching in Emacs", "url": "https://beathagenlocher.com/stream/#00128/", "published_at": "2026-03-04T23:16:25+00:00" }, { "id": "01a08738-280f-7211-9420-220ce33a84d6", "title": "SolidJS", "url": "https://beathagenlocher.com/solidjs/", "published_at": "2026-03-04T21:46:13+00:00" }, { "id": "01a08738-280f-7211-9420-220ce42c85e0", "title": "Lean", "url": "https://beathagenlocher.com/lean/", "published_at": "2026-03-04T21:31:17+00:00" }, { "id": "01a08738-280f-7211-9420-220ce5176941", "title": "AI", "url": "https://beathagenlocher.com/ai/", "published_at": "2026-03-04T21:22:10+00:00" }, { "id": "01a08738-280f-7211-9420-220ce5665851", "title": "New notes", "url": "https://beathagenlocher.com/stream/#00127/", "published_at": "2026-03-03T16:39:46+00:00" }, { "id": "01a08738-280f-7211-9420-220ce5aa388c", "title": "AI And Formal Methods", "url": "https://beathagenlocher.com/ai-and-formal-methods/", "published_at": "2026-03-03T13:13:50+00:00" }, { "id": "01a08738-280f-7211-9420-220ce5d42b2b", "title": "LLM Usage", "url": "https://beathagenlocher.com/llm-usage/", "published_at": "2026-03-03T13:10:09+00:00" }, { "id": "01a08738-2810-729a-b82d-deb189a36d74", "title": "Functional Programming", "url": "https://beathagenlocher.com/functional-programming/", "published_at": "2026-03-03T00:26:48+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18a954604", "title": "AI Agents", "url": "https://beathagenlocher.com/ai-agents/", "published_at": "2026-03-03T00:15:12+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18b0961d7", "title": "Oxide", "url": "https://beathagenlocher.com/oxide/", "published_at": "2026-03-03T00:05:33+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18bb8b80f", "title": "Bryan Cantrill", "url": "https://beathagenlocher.com/bryan-cantrill/", "published_at": "2026-03-03T00:03:20+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18bd6ff40", "title": "Slidev QRCode Addon", "url": "https://beathagenlocher.com/stream/#00126/", "published_at": "2026-03-02T23:42:12+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18ca27cc9", "title": "package.json postinstall scripts", "url": "https://beathagenlocher.com/stream/#00125/", "published_at": "2026-02-27T09:49:44+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18d8fba79", "title": "TypeScript", "url": "https://beathagenlocher.com/typescript/", "published_at": "2026-02-27T09:40:13+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18dbe8384", "title": "Monitoring", "url": "https://beathagenlocher.com/monitoring/", "published_at": "2026-02-22T21:52:31+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18e089cdc", "title": "(Fuzzy) Search on The Frontend", "url": "https://beathagenlocher.com/fuzzy-search-on-the-frontend/", "published_at": "2026-02-21T01:43:28+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18e338191", "title": "JavaScript Code Snippets", "url": "https://beathagenlocher.com/javascript-code-snippets/", "published_at": "2026-02-20T17:04:10+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18e3cb01a", "title": "JS range()", "url": "https://beathagenlocher.com/stream/#00124/", "published_at": "2026-02-20T17:03:06+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18e6d144e", "title": "Desktops in the browser", "url": "https://beathagenlocher.com/stream/#00123/", "published_at": "2026-02-16T09:53:34+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18f56cae6", "title": "Harness Engineering", "url": "https://beathagenlocher.com/harness-engineering/", "published_at": "2026-02-15T23:11:43+00:00" }, { "id": "01a08738-2810-729a-b82d-deb18ff4ac4a", "title": "Cognitive Debt", "url": "https://beathagenlocher.com/cognitive-debt/", "published_at": "2026-02-15T17:11:44+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1194b05f", "title": "litecli", "url": "https://beathagenlocher.com/stream/#00122/", "published_at": "2026-02-15T16:56:14+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f12814b66", "title": "Auth", "url": "https://beathagenlocher.com/stream/#00121/", "published_at": "2026-02-12T19:46:35+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f134599e6", "title": "Trader/Non-trader in Chrome Web Store", "url": "https://beathagenlocher.com/stream/#00120/", "published_at": "2026-02-12T19:14:54+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f13a51fbe", "title": "Setting A DNS Record On A Domain", "url": "https://beathagenlocher.com/setting-a-dns-record-on-a-domain/", "published_at": "2026-02-11T01:33:56+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1496f165", "title": "Setting Up A Server (with NixOS and Clan)", "url": "https://beathagenlocher.com/setting-up-a-server-with-nixos-and-clan/", "published_at": "2026-02-11T01:15:59+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f151dbf6e", "title": "Diffing two directories", "url": "https://beathagenlocher.com/stream/#00119/", "published_at": "2026-02-08T22:35:28+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f15b2ba7b", "title": "Setting Up Immich On NixOS with Clan", "url": "https://beathagenlocher.com/setting-up-immich-on-nixos-with-clan/", "published_at": "2026-02-08T22:18:18+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1674df76", "title": "New stuff", "url": "https://beathagenlocher.com/stream/#00118/", "published_at": "2026-02-08T12:05:39+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f17576605", "title": "OAuth Playground", "url": "https://beathagenlocher.com/stream/#00117/", "published_at": "2026-02-05T17:09:12+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f181d14da", "title": "in HTML", "url": "https://beathagenlocher.com/stream/#00116/", "published_at": "2026-02-05T12:52:41+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f18f5e8ea", "title": "Dynamic Scoping", "url": "https://beathagenlocher.com/dynamic-scoping/", "published_at": "2026-02-05T00:14:20+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f195d7ebc", "title": "TypeScript Macros", "url": "https://beathagenlocher.com/stream/#00115/", "published_at": "2026-02-04T23:07:15+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f19c8fe56", "title": "selfhostblocks", "url": "https://beathagenlocher.com/stream/#00114/", "published_at": "2026-02-04T22:24:45+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1a80366d", "title": "Bun", "url": "https://beathagenlocher.com/bun/", "published_at": "2026-02-03T14:33:56+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1b3f6dbb", "title": "Bun ❤️ sqlite", "url": "https://beathagenlocher.com/stream/#00113/", "published_at": "2026-02-03T11:41:10+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1b4905c1", "title": "Auth", "url": "https://beathagenlocher.com/auth/", "published_at": "2026-02-03T10:49:36+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1bebc10a", "title": "Clan", "url": "https://beathagenlocher.com/clan/", "published_at": "2026-02-03T10:04:48+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1cd4d3fe", "title": "How People Learn", "url": "https://beathagenlocher.com/how-people-learn/", "published_at": "2026-01-28T11:16:36+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1cfdd186", "title": "Screen Freezes on Framework 16 with AMD and GNOME", "url": "https://beathagenlocher.com/screen-freezes-on-framework-16-with-amd-and-gnome/", "published_at": "2026-01-27T16:09:45+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1da16377", "title": "Domain Name System", "url": "https://beathagenlocher.com/domain-name-system/", "published_at": "2026-01-26T15:26:50+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1e02e0c5", "title": "Using dig", "url": "https://beathagenlocher.com/stream/#00112/", "published_at": "2026-01-26T15:23:23+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1e3c0aab", "title": "Backing up my stuff from Github", "url": "https://beathagenlocher.com/stream/#00111/", "published_at": "2026-01-19T22:15:01+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1e746fa4", "title": "Threading Macros And Pipes", "url": "https://beathagenlocher.com/threading-macros-and-pipes/", "published_at": "2026-01-17T18:03:05+00:00" }, { "id": "01a08738-2811-70af-80d6-b37f1f3fbb2c", "title": "Macros", "url": "https://beathagenlocher.com/macros/", "published_at": "2026-01-17T17:41:59+00:00" }, { "id": "01a08738-2812-718f-819e-718fb8e006a5", "title": "dash.el for nice list operations", "url": "https://beathagenlocher.com/stream/#00110/", "published_at": "2026-01-17T17:38:46+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e2314770", "title": "Emacs Unicode Input Doesn't Work Correctly: IBus Errors", "url": "https://beathagenlocher.com/ibus-emacs-input-errors/", "published_at": "2026-01-16T17:55:20+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e2ee9239", "title": "Typing Emojis with :shortcodes: in Emacs", "url": "https://beathagenlocher.com/stream/#00109/", "published_at": "2026-01-16T17:01:11+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e324cf1b", "title": "22. Tü.λ-Meetup: Property Testing", "url": "https://beathagenlocher.com/stream/#00108/", "published_at": "2026-01-16T14:46:52+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e4214b11", "title": "Emacs Custom Completion", "url": "https://beathagenlocher.com/stream/#00107/", "published_at": "2026-01-12T18:10:06+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e4650760", "title": "curl Converter", "url": "https://beathagenlocher.com/stream/#00106/", "published_at": "2026-01-10T00:40:32+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e513611f", "title": "elysia", "url": "https://beathagenlocher.com/stream/#00105/", "published_at": "2026-01-10T00:29:58+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e52592b5", "title": "Kanidm", "url": "https://beathagenlocher.com/stream/#00103/", "published_at": "2025-12-31T18:38:35+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e5488058", "title": "Extism", "url": "https://beathagenlocher.com/stream/#00102/", "published_at": "2025-12-31T18:24:01+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e5e12704", "title": "clan.lol Backups", "url": "https://beathagenlocher.com/stream/#00101/", "published_at": "2025-12-18T10:09:58+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e6bdea09", "title": "Vimium NixOS", "url": "https://beathagenlocher.com/stream/#00100/", "published_at": "2025-12-15T15:54:13+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e76bf350", "title": "Spritely's new stuff", "url": "https://beathagenlocher.com/stream/#00099/", "published_at": "2025-12-12T16:09:35+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e786bc0c", "title": "Finitary and Infinitary", "url": "https://beathagenlocher.com/stream/#00098/", "published_at": "2025-12-12T15:38:46+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e7e92e8a", "title": "Excluding Tailwind Classes From Being Generated", "url": "https://beathagenlocher.com/stream/#00097/", "published_at": "2025-12-11T17:12:53+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e851ec8c", "title": "Unmap Return in company's completion menu", "url": "https://beathagenlocher.com/stream/#00096/", "published_at": "2025-12-10T17:20:27+00:00" }, { "id": "01a08738-2813-7308-8021-d0a2e90ae323", "title": "Design Your Code From The Output On", "url": "https://beathagenlocher.com/stream/#00095/", "published_at": "2025-12-10T15:12:51+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79f7669632", "title": "The Four Document Model for Writing Documentation", "url": "https://beathagenlocher.com/stream/#00094/", "published_at": "2025-12-10T14:51:54+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79f796f9f0", "title": "nixpkgs: Number of Packages", "url": "https://beathagenlocher.com/stream/#00093/", "published_at": "2025-12-04T11:04:00+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79f878e661", "title": "On the Effectiveness of FIXMEs", "url": "https://beathagenlocher.com/stream/#00092/", "published_at": "2025-12-01T17:08:09+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79f974255d", "title": "Lix installer", "url": "https://beathagenlocher.com/stream/#00091/", "published_at": "2025-12-01T16:48:34+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fa6a261b", "title": "Setting up a Win 11 VM on NixOS", "url": "https://beathagenlocher.com/setting-up-a-win-11-vm-on-nixos/", "published_at": "2025-12-01T02:11:17+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fa8ec249", "title": "nix-portable", "url": "https://beathagenlocher.com/stream/#00090/", "published_at": "2025-11-30T22:41:27+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fb151755", "title": "kitty & tmux", "url": "https://beathagenlocher.com/stream/#00089/", "published_at": "2025-11-26T19:41:18+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fb86508b", "title": "kitty", "url": "https://beathagenlocher.com/kitty/", "published_at": "2025-11-26T19:32:48+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fb915af4", "title": "evil mode", "url": "https://beathagenlocher.com/evil-mode/", "published_at": "2025-11-26T16:59:39+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fbeaa8f0", "title": "magit/evil interaction weirdness", "url": "https://beathagenlocher.com/stream/#00088/", "published_at": "2025-11-26T16:57:03+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fc54ce58", "title": "Github: Public ssh keys", "url": "https://beathagenlocher.com/stream/#00087/", "published_at": "2025-11-26T13:38:45+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fcc1462d", "title": "mu4e", "url": "https://beathagenlocher.com/mu4e/", "published_at": "2025-11-25T12:36:05+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fd738f65", "title": "mu4e: Show the time in email list", "url": "https://beathagenlocher.com/stream/#00086/", "published_at": "2025-11-25T12:34:36+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fd9843a8", "title": "Nix", "url": "https://beathagenlocher.com/nix/", "published_at": "2025-11-24T01:26:28+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fdb90293", "title": "clan.lol", "url": "https://beathagenlocher.com/stream/#00085/", "published_at": "2025-11-24T01:24:25+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79fe7e0137", "title": "Law as Coding", "url": "https://beathagenlocher.com/stream/#00084/", "published_at": "2025-11-20T16:55:50+00:00" }, { "id": "01a08738-2814-71b5-81df-9f79ff63b523", "title": "Frontier Tower", "url": "https://beathagenlocher.com/stream/#00083/", "published_at": "2025-11-18T17:17:43+00:00" }, { "id": "01a08738-2814-71b5-81df-9f7a0003e219", "title": "just parallel", "url": "https://beathagenlocher.com/stream/#00082/", "published_at": "2025-11-15T17:09:37+00:00" }, { "id": "01a08738-2814-71b5-81df-9f7a00fdd789", "title": "Today I learned", "url": "https://beathagenlocher.com/stream/#00081/", "published_at": "2025-11-14T12:13:44+00:00" }, { "id": "01a08738-2814-71b5-81df-9f7a01c032ad", "title": "Adjusting transient menus in Emacs", "url": "https://beathagenlocher.com/stream/#00080/", "published_at": "2025-11-13T16:04:52+00:00" }, { "id": "01a08738-2814-71b5-81df-9f7a02869f9e", "title": "git ssh command", "url": "https://beathagenlocher.com/stream/#00079/", "published_at": "2025-11-13T12:59:52+00:00" }, { "id": "01a08738-2814-71b5-81df-9f7a02b7ecbb", "title": "NeoVim", "url": "https://beathagenlocher.com/neovim/", "published_at": "2025-11-12T21:44:04+00:00" } ] posts Claim your blog
Back to Beat Hagenlochers Digital Garden
Blog · corpus.blog/blogs/beathagenlocher.com/posts

Beat Hagenlochers Digital Garden

beathagenlocher.com

2026

4 Mar 2026
12 Feb 2026
3 Feb 2026

2025

25 Nov 2025
24 Nov 2025