My website has been static since — checks new search index — at least July 2014! I’ve gone through so many static site generators and custom build scripts I’ve lost track. In that time I’ve amassed quite a big blog. Finding old articles has become harder than it should be. I need … | Continue reading
My social media posts have been boring on the visuals. Not anymore! I now auto-generate a nice typographic preview. Scroll down to see an example. This is what shared links to my website looked like before: I love my origami crane mascot but three copies is a little excessive! [… … | Continue reading
Last week I refreshed my website to take advantage of new baseline 2024 stuff (and one old thing). Another change I made was a move from rem to px units. I pondered this change back in August. The idea being: keep rem for font size and use px elsewhere. This is a big change for m … | Continue reading
Have you ever added this CSS? What’s the deal with that? I’ve always tried to avoid this CSS because a long time ago Dmitry Fadeyev asked us to Please Stop “Fixing” Font Smoothing. “The antialiasing mode is not a “fix” for subpixel rendering – in most cases it’s a handicap. […] | Continue reading
My 2024 end-of-year resolution — it’s like a New Year’s resolution but better — is to return to the front-end! I’ve been neck-deep in server-side JavaScript this year. I’ve had a blast but my true speciality and passion lies in the browser. Front-end web standards have never move … | Continue reading
Saturday morning I attempted to code an SSH server in JavaScript and gave up quickly when e = g^x mod p. On Sunday morning I regrouped — I am a real coder 😤 — and I wrote an HTTP tunnel to prove it. An HTTP tunnel or HTTP proxy is used to forward web requests. […] | Continue reading
Over the weekend Matt Mullenweg — creator and would-be destroyer of WordPress — has seemingly released malware upon two million innocent websites. Every WordPress website I have ever built may be victim. For ongoing WordPress vs WP Engine updates visit: mullenweg.wtf Malware?! [… … | Continue reading
Deno 2.0 launched with an announcement video that opens like an episode of Silicon Valley. I have to admit I do enjoy a bit of cringe acting. Following the intro is an Apple-esque keynote that I skipped through, like an Apple keynote. Bun 1.0 did it better and kept it shorter. [… … | Continue reading
Despite better judgement I decided to code a basic HTML parser. Not the full HTML spec but enough to create a tree of nodes and attributes. I’ve already written a streamable XML parser that has been working for my podcast web app. Parsing (most) HTML isn’t as complicated as it so … | Continue reading
CSS container queries are spectacular! And I keep being mislead by the same mistake. It’s starting to irritate me! In this blog post I document a bad code pattern to avoid. The Mistake Consider this example with a and two elements inside: With the CSS below I’ve made box a […] | Continue reading
My “smart home” has gotten progressively dumber. Can you remember a time before the AI-pocalypse? The tech trend of yesteryear was to give everything with a digital pulse an IP address and a dubious 2.4GHz radio. The “Internet of Things” is what they called it. What a heap of gar … | Continue reading
The Tailscale magic ✨ is starting to wear off. I gave positive opinions on Tailscale back in August 2022: “Basically Tailscale does one thing extremely well and the accompanying features aren’t bad either. The free tier suits me very well too! […] | Continue reading
I rolled my own Markdown library! It’s called Hmmarkdown on GitHub. It’s published on both JSR and NPM too. I’m testing in production on my own website! That might be a mistake but it’s too late now. ⚠️ Work in progress! ⚠️ Hmmarkdown is bad code and full of bugs. Okay, well it d … | Continue reading
Docker is great! Docker networks are grand. I know, controversial opinions! Docker and Docker networks are not easy to understand and often table-flippin-infuriating for newcomers. Trouble is they don’t get much easier for experienced users either. I’m by no means a Docker expert … | Continue reading
With my first impressions and second look of JSR (the JavaScript Registry) I tried to be positive and optimistic. I saw the potential that JSR could offer something more than NPM. Half a year after public launch, how is JSR looking now? Well… not good. But let’s start on a high n … | Continue reading
Deno packaging is now a fragmented mess. It didn’t start that way. This is what Ryan Dahl — creator of Deno and Node — is now saying. Contrast this to Dahl’s 2018 JSConf talk in which NPM and package.json were regrettable mistakes. To fix this Deno would use ESM imports with URLs … | Continue reading
Back in March I shared my spring self-hosted update. I had a new ZimaBlade to play with. I bought a cheap GeForce GT 710 just to try the PCIe. It worked. That graphics card is terrible (more on that later). The ZimaBlade is also, frankly, terrible. The CPU thermal throttles itsel … | Continue reading
Captain’s log: it’s been 10 days since I entered the Git LFS rabbit hole. Following an emergency in-prod GitHub replacement I got nerd sniped by the Git Large File Storage API. Git Granary 🌾 Git Granary is the end result. I coded my own LFS server! I plan to self-host Gra … | Continue reading
For years now both my website source code and content have lived side by side in harmony within a public GitHub repository. This was convenient for the various build and deploy scripts I’ve monkeyed with. Fast-forward to July 2024 where I was forced to replace GitHub LFS with alt … | Continue reading
GitHub sent me a scary email notification: 80% only one week into a monthly quota — oh dear! You might have seen my microblog note — this is the full article I promised. Basically GitHub’s free LFS is trash and you can do much better using any S3-like storage. Reminder that Git a … | Continue reading
David is on board. Who else? adactio.com/links/21280 | Continue reading
I stealth launched a new microblog on this here website last week. You can subscribe to my microblog RSS feed — do it! My main blog is for longer, more considered content. I don’t want to drown the good stuff in mid takes, so to speak. That’s not to say my microblog isn’t worth f … | Continue reading
Yesterday I blogged about how Google and others ruined email. They act as gatekeeper, hamstring smaller email providers, and make self-hosting practically impossible. Email is not the only slice of the internet Google want control over. They’re after the web too using their searc … | Continue reading
I listened to Mostly Technical episode 42 — great podcast btw — Aaron Francis talks about the struggles of sending an email newsletter. Google are quick to rate limit new domains to prevent spam. Spam sucks, but it concerns me just how much authority big players like Google and M … | Continue reading
It’s quite amazing just how dead Twitter is in my follows. It’s a real ghost town over there. Now I get more engagement from a few on Mastodon and nothing from thousands on Twitter. Twitter is dead. Like super dead. I joined Mastodon with uncertainty last April. It’s taken me a w … | Continue reading
I’m blogging this quick tip because the old technique is so ingrained I keep forgetting there is a new way. You ever used that no-js class? The one that gets replaced by js as early as possible? Maybe not, it seems like few do nowadays. Maybe it’s just assumed that JavaScript is … | Continue reading