Screenshots as the Universal API
With advancements in machine learning, screenshots are quickly becoming a universal data format. It's now (relatively) easy to extract meaning (image-to-text), layout information (object recognition), text (optical ch...
The technical merits of Wayland are mostly irrelevant
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
The Federated App Problem
Federated applications have a few problems. And I really wish it weren’t the case, I love the idea and philosophy of these applications. But I can’t see them being mass adopted.
Clean front end architecture with SvelteKit
A practical guide for craftspeople seeking to avoid the most common pitfalls when designing modern frontend applications.
How to Do a TypeScript Conversion
Addressing a very common question: do-it-as-you-go or follow the dependency graph?
Writing a chat application in Django 4.2 using async StreamingHttpResponse
StreamingHttpResponse now supports async iterators when Django is served via ASGI.
Another cluster of potentially malicious Chrome extensions
I discovered a cluster of at least 109 extensions in Chrome Web Store. A few are committing affiliate fraud or spying, most are simply hoarding overly wide privileges before abusing them.
What I want from the internet
Connection and intimacy are still possible on the internet today.
Writing HTML by hand
Behind the scenes - how I'm making redblobgames.com - interactive explanations of game development algorithms and math
Live2D Is a Security Trainwreck
derailed by dangling pointers
Designing Good Interfaces
Technician: Welcome to Custom Lube, how can I help you? Me: I need an oil change. Technician: OK, you can hop on out. Where is the oil you want to use? Me: I didn’t bring any oil. I expected you would supply that. Technician: That’s a common misunderstanding. At Custom Lube, we don’t supply oil or anything else. We…
Haskell WebAssembly in the Browser
As far as I know this is the first Haskell program compiled to Webassembly (WASM) with mainline ghc and using the browser DOM.