Cloudflare Is Breaking My SVGs?
Fixing problems that shouldn't exist
Common Google XSS
A simple XSS in Google application
Dmv.org
The majority of US states have something called a "Department of Motor Vehicles," or DMV. Actually, the universality of the term "DMV" seems to be overstated. A more general term is "motor vehicle administrator," used for example by the American Association of Motor Vehicle Administrators to address the inconsistent…
Things engineers believe about Web development
I wrote most of this post sometime in 2022 but I think it holds up alright in 2024 so I decided to publish it for posterity. I don’t really like doing posts like this—I’d much rather share some innocuous learnings or tips but it turns out I have opinions too 😓 Sorry! 2024-02-21: I’ve added a few reflections at the end…
Cool URIs can be ugly (2023)
Around last year this blog, a simple static site, was running on GitHub pages, together with Cloudflare in front of it due to (perceived) unreliability with GitHub’s SSL provisioning for custom domains. In order to simplify my stack, I tried running it on Cloudflare Pages .
The Karma connection in Chrome Web Store
A bunch of malicious extensions in Chrome Web Store have hidden affiliate fraud functionality, collect users’ browsing profiles, or both. These extensions appear to be connected to the Karma shopping assistant, developed by Karma Shopping Ltd. which is not a small company.
Just because you can doesn't mean you should: the <meter> element
A very frustrating brownie recipe illustrates why a semantic element may actally NOT be the right tool for the job.
Video with Alpha Transparency on the Web
It's better to do it yourself.
Writing HTML by hand is easier than debugging your static site generator
As someone who has used a static site generator every day at work for years I am on the threshold of believing “actually just writing HTML by hand is probably easier” This becomes obvious when you …
Web scraping with your web browser: Why not?
You can find plenty of tutorials on the Internet about the art of web scraping (for example, here and here ) and the first things you will learn about are Python and Beautiful Soup. There is no tutorial on web scraping with Javascript in a web browser though you will find browser extensions that claim to do it all…
WordPress Alternatives
Alternative WordPress options that you can drop onto a server and get running with
Minifying HTML for GPT-4o: Remove all the HTML tags
tl;dr; if you want to pass HTML data to GPT-4o, just strip out all the HTML and pass raw text, it’s cheaper and there is little to no performance degradation. Source code and demo available.
Trainwreck Design
trainwreck design 2024-08-14 the year is 2024, and i want to know my disk space usage. i recall a simple command i've used probably tens of thousands of times. df -h the year is 2024. instead of sensible output, i get... this: Filesystem Size Used Avail Use% Mounted on dev 7.7G 0 7.7G 0% /dev run 7.8G 1.5M 7.8G 1%…
Building Bubbletea Programs
In the words of its authors Bubble Tea is a “powerful little TUI framework” for Go. It may be little but I found it had a steep learning curve before I could get truly comfortable with its power. I spent many a late night wrangling with broken layouts and unresponsive keys before learning the hard way where I had gone…
Htmy – Async, pure-Python rendering engine
Unleash your creativity with the full power and Python, without the hassle of learning a new templating language or dealing with its limitations!
Swift sucks at web serving or does it?
A few weeks ago, Axel Roest published a simple web server comparison , that turned out to not be doing what it was thought to be doing. Figuring that out was a very interesting discussion that warrants a retrospective, to look at which parts were particularly helpful and which not so much.
Dynamic translation of Smalltalk to WebAssembly
continuing with the DNA theme… In Catalyst, a WebAssembly implementation of the OpenSmalltalk virtual machine, there are three linguistic levels in play: Smalltalk, JavaScript (JS), and WebAs…
Why Google Takeout is sooo bad
Author: IdeogramAI Prompt: The image shows a typical Google Takeout interface with a large error message indicating that the service is unavailable. In the background, there are frustrated users trying to download their data with unsuccessful attempts, represented by repeated “Failed” and “Retry” notifications. My…
Taming the beast that is the Django ORM – An introduction
The Django ORM, how it compares to raw SQL and gotchas that you should be aware of when using it
Analyzing the OpenAPI Tooling Ecosystem
Diagram of the OpenAPI Specification tooling ecosystem, focusing on how tasks relate to the specification
Building the new hypermedia systems
A shiny new edition of Hypermedia Systems is out! Apart from incorporating typo and grammar fixes sent in by readers, the book was completely redesigned inside with a new layout. To achieve a much higher fidelity of design, we ported the book to Typst --- the hot new LaTeX replacement.
Insiders Stealing Instagram Usernames?
My computer on the net
Threads on Mastodon and the bright future of the Fediverse
This is my journey that started as an experiment to see how my Threads feed would look like on Mastodon and ended with me finding experiences that went above and beyond my expectations.
Google now defaults to not indexing your content
Picture this: It’s ten years ago, and you’ve just launched a new WordPress blog. Within hours, sometimes even minutes, your content is indexed by Google. You search for a unique sentence from your…
From Gatsby gridlock to Astro bliss: my personal site redesign
Jacob Wenger's online garden
CSS adds vertical centering in 2024
CSS finally adds vertical centering in 2024