41554 blogs · [ { "id": "01a0874d-752f-71ac-b58b-1c1aae0b8263", "title": "Optimizing memory use in a Markdown parser", "url": "https://blog.kowalczyk.info/a-n8wf/optimizing-memory-use-in-markdown-parser.html", "published_at": "2026-08-22T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1aaebbfdc4", "title": "Letting AI agents drive a GUI app with -dbg-control", "url": "https://blog.kowalczyk.info/a-kf3p/debugging-gui-apps-from-ai-agents.html", "published_at": "2026-06-20T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1aaec75e94", "title": "Finding active GitHub forks from the command line", "url": "https://blog.kowalczyk.info/a-6qmq/finding-active-github-forks-from-the-command-line.html", "published_at": "2026-06-18T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1aaf2fd383", "title": "Speeding up JavaScript function with AI help", "url": "https://blog.kowalczyk.info/a-mjpn/speeding-up-javascript-function-with-ai-help.html", "published_at": "2026-03-29T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab005b6de", "title": "How to run msvc cl.exe from command-line (powershell)", "url": "https://blog.kowalczyk.info/til-how-to-run-msvc-cl.exe-from-command-line-powershell.html", "published_at": "2026-01-16T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab0686ec5", "title": "Novel login system for web apps", "url": "https://blog.kowalczyk.info/til-novel-login-system-for-web-apps.html", "published_at": "2025-12-22T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab1386ed6", "title": "Benchmarking JSON vs TOON in Go", "url": "https://blog.kowalczyk.info/til-benchmarking-json-vs-toon-in-go.html", "published_at": "2025-12-15T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab1a43b2a", "title": "From JSON to TOON", "url": "https://blog.kowalczyk.info/til-from-json-to-toon.html", "published_at": "2025-12-15T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab274b142", "title": "Fixing Zed's debugger keybindings", "url": "https://blog.kowalczyk.info/til-fixing-zeds-debugger-keybindings.html", "published_at": "2025-07-22T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab2828eec", "title": "Ideas for faster web dev cycle", "url": "https://blog.kowalczyk.info/til-ideas-for-faster-web-dev-cycle.html", "published_at": "2025-07-22T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab36b05a7", "title": "Zed debug setup for go server / Svelte web app", "url": "https://blog.kowalczyk.info/til-zed-debug-setup-for-go-server-svelte-web-app.html", "published_at": "2025-07-21T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab3af0d7c", "title": "Stage manager in Mac OS", "url": "https://blog.kowalczyk.info/til-stage-manager-in-mac-os.html", "published_at": "2025-07-21T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab44a3939", "title": "AltTab for Mac OS", "url": "https://blog.kowalczyk.info/til-alttab-for-mac-os.html", "published_at": "2025-07-21T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab5105352", "title": "lazy import of JavaScript modules", "url": "https://blog.kowalczyk.info/til-lazy-import-of-javascript-modules.html", "published_at": "2025-07-20T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab5240773", "title": "Using await in Svelte 5 components", "url": "https://blog.kowalczyk.info/til-using-await-in-svelte-5-components.html", "published_at": "2025-07-20T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab6011e4b", "title": "vite /rollup manualChunks", "url": "https://blog.kowalczyk.info/til-vite-rollup-manualchunks.html", "published_at": "2025-07-19T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab61cb8e4", "title": "Increase software sales by 50% or more", "url": "https://blog.kowalczyk.info/a-tm7o/increase-software-sales-by-50-or-more.html", "published_at": "2025-07-18T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab7018edc", "title": "File sync is very slow", "url": "https://blog.kowalczyk.info/til-file-sync-is-very-slow.html", "published_at": "2025-07-17T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab7b7295e", "title": "Evolving Edna Ask AI UI", "url": "https://blog.kowalczyk.info/article/d-2025-07-09/evolving-edna-ask-ai-ui.html", "published_at": "2025-07-09T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab7f0eac1", "title": "Desktop UI frameworks written by a single person", "url": "https://blog.kowalczyk.info/a-yyvi/desktop-ui-frameworks-written-by-a-single-person.html", "published_at": "2025-07-09T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab872ac1c", "title": "Implementing UI translation in SumatraPDF, a C++ Windows application", "url": "https://blog.kowalczyk.info/a-vn0v/implementing-ui-translation-in-sumatrapdf-a-c-windows-application.html", "published_at": "2025-07-08T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab8e457b7", "title": "Calling Grok, OpenAI, Anthropic, Google, OpenRouter API from the browser", "url": "https://blog.kowalczyk.info/til-calling-grok-openai-anthropic-google-openrouter-api-from-the-browser.html", "published_at": "2025-07-08T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1ab9ab31ce", "title": "Case study of over-engineered C++ code", "url": "https://blog.kowalczyk.info/a-aiow/case-study-of-over-engineered-c-code.html", "published_at": "2025-07-07T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1aba34e990", "title": "Increase open file limit on Ubuntu Linux", "url": "https://blog.kowalczyk.info/til-increase-open-file-limit-on-ubuntu-linux.html", "published_at": "2025-07-07T00:00:00+00:00" }, { "id": "01a0874d-752f-71ac-b58b-1c1abaac6a42", "title": "Explaining nil interface{} gotcha in Go", "url": "https://blog.kowalczyk.info/a-d9qh/explaining-nil-interface-gotcha-in-go.html", "published_at": "2025-07-06T00:00:00+00:00" } ] posts Claim your blog
Back to Krzysztof Kowalczyk – Programming Blog
Blog · corpus.blog/blogs/blog.kowalczyk.info/posts

Krzysztof Kowalczyk – Programming Blog

blog.kowalczyk.info

2026

2025