Letting AI agents drive a GUI app with -dbg-control
How to let AI agents drive a GUI app via a named pipe control channel instead of fragile UI automation.
Krzysztof Kowalczyk writes practical, experience-driven posts on software engineering, spanning Go, C++, JavaScript, and modern UI frameworks. His blog covers performance optimization, desktop and web app development, and lessons learned from building products like SumatraPDF and Edna.
27 articles from this blog
How to let AI agents drive a GUI app via a named pipe control channel instead of fragile UI automation.
A script to find active GitHub forks with ahead commits, sorted by recent activity, using the command line.
Optimizing a JavaScript isCJK() function using AI assistance and benchmarking techniques for faster text rendering.
A guide to setting up the MSVC cl.exe compiler directly in PowerShell by reverse-engineering the Visual Studio environment variables.
Explores a novel, anonymous web login system using secret keys instead of email or social logins, highlighting its trade-offs.
A performance benchmark comparing JSON serialization to the TOON format in Go, analyzing speed and usability of different libraries.
Introduces TOON, a compact and readable alternative to JSON for data exchange, especially useful for AI tokens and general programming.
How to remap Zed editor's debugger keybindings to standard Windows shortcuts like F10 and F11 for stepping through code.
A developer shares practical techniques for speeding up the web development iteration cycle, focusing on simulating errors and UI states.
A guide to configuring the Zed editor for simultaneous debugging of a Go backend server and a Svelte frontend application.
A developer's experience and guide to using Stage Manager, a window management feature in macOS, for organizing development tools like editors and terminals.
AltTab brings Windows-style Alt+Tab window switching to macOS, solving a key workflow difference for users switching between operating systems.
Explains how to implement lazy loading of JavaScript modules to improve web app performance by splitting bundles and loading code only when needed.
Explains how to use async/await and abort outdated fetch requests in Svelte 5 components, with practical code examples.
Explains how to use Rollup's manualChunks in Vite to split JavaScript bundles for lazy loading, improving web app performance.
Article on boosting software sales by improving registration incentives and shareware conversion strategies for developers.
A developer discovers that calling os.File.Sync() in Go drastically slows down file appends and makes it an optional feature.
The author announces a new feature for Edna, a note-taking app: the ability to create, switch, and manage multiple notes with keyboard shortcuts.
Explores niche desktop UI frameworks created by solo developers as alternatives to Electron and traditional toolkits like QT.
A developer details the iterative UI design process for the 'Ask AI' feature in their note-taking app, Edna, focusing on API key clarity.