New
The latest blog posts to take off on Hacker News. 437 posts.
Adding keyboard shortcuts to a 24 year-old government website with userscripts
Writing userscripts to optimize my data entry workflow with the FDA's 510k database.
AI your home on street view
Maps Mania is a blog dedicated to tracking the very best digital interactive maps on the internet and the tools used to create them.
Translating OpenStreetMap data to HTML5 Canvas with Rust and WebAssembly
Using the Overpass API to read OSM data, parsing the data with Rust, and then drawing the map onto HTML5 canvas.
WebKit switching to Skia for 2d graphics rendering
In recent years we have had an ongoing effort to improve graphics performance of the WebKit GTK and WPE ports. As a result of this we shipped features like threaded rendering, the DMA-BUF renderer, or proper vertical retrace synchronization (VSync). While these improvements have helped keep WebKit competitive, and…
Building a hybrid native application with Gleam and Tauri
I took a few hours this weekend to experiment with building a hybrid native app with Gleam and Tauri. This post is a summary of that project. If you’d just like to see the code, I have published that at: https://forge.wezm.net/wezm/gleam-tauri-experiment Screenshot of the application.
Union, intersection, difference, and more are coming to JavaScript Sets
The JavaScript Set was introduced to the language in the ES2015 spec, but it has always seemed incomplete. That's about to change with the addition of functions like intersection, union and difference.
Tailwind CSS marketing and misinformation engine
The origins of Tailwind and how it is framed to solve the proposed issues of CSS
It’s Official, Apple Kills Web Apps in the EU
If you ship a Web App in the EU and will be impacted by this, please sign our open letter to Tim Cook. It is critical that we gather as much evidence as possible to prevent Apple from breaking Web Apps in the EU.
UI = f(statesⁿ)
“UI is a function of state” is a pretty popular saying in the front-end world. In context (pun intended), that’s typically referring to application or component state. I thought I’d pull that thread a little further and explore all the states that can effect the UI layer…
Making my bookshelves clickable
You can make regions of an image clickable with a number of techniques, from overlaying an SVG that contains onclick JavaScript handlers all the way to using image maps. I love this idea. I started to think about how I could create an image of my bookshelves that you could click to learn more about each book I am…
A love letter to Apache Echarts
In the world of software development, I believe the 7th circle of hell is called “NPM”. It’s a place where you can find Javascript libraries that make great promises only to disappoint you once you actually import them. I know this because I even wrote one .
How to center a div in CSS
Back in the day, centering an element was one of the trickiest things in CSS. As the language has evolved, we’ve been given lots of new tools we can use… But how do we pick the best option? When do we use Flexbox, or CSS Grid, or something else? Let's dig into it.
Original WWW proposal is a Word for Macintosh 4 file from 1990, can we open it?
The W3C has a page with the original WWW proposal from Tim Berners-Lee. One of the downloads says The original document file (I think - I ...
Security flaws in an SSO plugin for Caddy (2023)
We identified 10 security vulnerabilities within the caddy-security plugin for the Caddy web server that could enable a variety of high-severity attacks in web applications, including client-side code execution, OAuth replay attacks, and unauthorized access to resources. During our evaluation, Caddy was deployed as a…
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 .
Nextdoor's Heisensubscribe (and Other Dark Patterns)
Nextdoor's notification settings are hostile. This is not an isolated incident.
2024: The year of the OpenStreetMap vector maps
OpenStreetMap will take a large leap forward with the introduction of vector tiles on openstreetmap.org this year. This is the first of a series of blog posts where we will share our progress.
RSS is still pretty great
What the **** does that mean?
Keycloak SSO with Docker Compose and Nginx
A personal code notes blog
React has grown beyond its original promise and it's causing more harm than good
PR-007 - Why you don't need React - Thoughts and Ideas
What happened with the Web Monetization API?
I was pretty hot on it for a minute. I wanted it to succeed and thought it had the bones to make it. Coil was the main startup trying to push it. They did the right thing by just making it work fir…
Browser extensions are underrated: the promise of hackable software (2019)
In a world of closed platforms, browser extensions are the rare exception that let users modify the apps that we use.
Write code for the web
The story is personal, but I hope readers find something they can relate to in their own life stream.
TCC RISC-V Compiler Runs in the Web Browser (Thanks to Zig Compiler)
Today we're running Apache NuttX RTOS inside a Web Browser. What if we could compile and test NuttX Apps in the Web Browser? Let's explore with TCC 64-bit RISC-V Compiler, compiled to WebAssembly with Zig Compiler.
Why isn't the <html> element 100% supported on caniuse.com?
I saw a Mastodon post that made me laugh this morning. It seemed sort of crazy that the html element wouldn’t have 100% support on CanIUse.com. Heck, I’ve been using it since 1994 and it worked just fine back then! This led me down a bit of a rabbit hole.
Google has another secret browser
another hidden browser which is accessible by a link