It has been a busy day, characterised by delightful adventure. You have spent the day doing many of your favourite things, and trying new things, too. Night has fallen on the busy city and you find yourself in the heart of town: the place where you can find any cuisine that you seek. Your feet and legs are tired from the day. You walk one street...
Sweet Caroline, ba ba ba. Good times never been so good., sang, passionately, a group of friends who had just disembarked a London Underground train. I was at the foot of the escalator to go back to street level. As I went up, I saw people glancing, with joy, at the people singing who were down at the bottom of the escalator – the busker, with...
Every so often, the web development community gets into a tizzy about something, usually web components. I find these fights tiresome, but I also see them as a good opportunity to reach across “the great divide” and try to find common ground rather than another opportunity to dunk on each other. Ryan Carniato started the […]
Notion sat down on the curb, crushed his cigarette into the pavement, put his face into his hands, and sobbed. It felt good to finally let it out.He thought back on the good times. 2020. Sure, a lot of people were dying, but with everyone working from home, it was a real heyday for guys like him.He got married to a hot, young startup. This was...
Random number generators are subtle. Unless the generator is some physical device, random number generators (RNGs) are usually technically pseudorandom number generators (PRNGs), deterministic algorithms designed to mimic randomness. Suppose you have a PRNG that produces the digits 0 through 9. How might you test the output to see whether it...
I’m not a fan of talking about action items during incident reviews. Judging from the incident review meetings I’ve attended throughout my career, this is a minority view, and I wanted to elaborate here on why I think this way. For more on this topic, I encourage readers to check out John Allspaw’s 2016 blog … Continue reading Why I don’t like...
I playfully quipped about changelogs, and Sumana Harihareswara thoughtfully responded with Changelogs and Release Notes. I agree with her on some things, and disagree on others.My point with the meme was that people should put effort into a hand-crafted description of what has changed in each release of their product. It should be focused on...
Hello dear readers. I wish I could say I've got a restful weekend in front of me, but today we're driving to New Orleans to pick up our eldest who has been in Germany for a year, and tomorrow we fly to Las Vegas for the Adobe ColdFusion Summit. Both are things I'm quite happy about, but it's going to be a lot. I'm currently sitting, drinking...
A long, long time ago in a galaxy far away I had to give an impromptu presentation about something I didn’t know much about. The goal of the task was to see how well we could ad-lib a presentation under pressure. Everybody in the room had to think of a topic whilst waiting for our turn. The person next to me couldn’t think of anything and asked...
A few friends recently asked the question: “What do you do with your old batteries?”
Why do Venn diagrams almost always show the intersections of three sets and not more? Can Venn diagrams be generalized to show all intersections of more sets? That depends on the rules you give yourself for generalization. If you require that your diagram consist of circles, then three is the limit. As John Venn put […] The post Limitations on...
I got Lasik 2 years ago and here’s who it’s going.
Lee Peterson: Sometimes It Takes Just One Random Post to Grow Your BlogThis was completely random and it shows that sometimes you don’t need some sort of plan, just write what comes to mind and that you want to share. You’ll get found and readers
Blog post: 27 Sep 2024 Blog post: 27 Sep 2024Learning about font rendering, I was looking at text closely Learning about font rendering, I was looking at text closely last timelast time, and I noticed another issue. The shadows of each letter overlap the previous letter. That’s because I’m drawing one letter at a time. So for example in the fl, I draw the f’s letter, outline, and shadow, , and I noticed another issue. The shadows of each letter overlap the previous letter. That’s because I’m drawing one letter at a time. So for example in the fl, I draw the f’s letter, outline, and shadow, thenthen I draw l’s letter, outline, and shadow. So l’s shadow is... I draw l’s letter, outline, and shadow. So l’s shadow is...
How to turn your non-traditional background into your biggest asset
G’day! This month I wanted to start off working on something short, sweet and fun; something more akin to a typical weekend project that can be “completed” in a reasonable amount of time. I found inspiration from Devine’s personal wiki, XXIIVV, on a page that contained a grid-based clock with lines scanning across the screen as time progressed....
The Screen Studio giveaway has ended, and I have a winner to announce! The winner! Congratulations to Graham Hall! You should have received an email with details, please let me know if you didn’t hear anything! But I didn’t win! If you didn’t win, sorry, but Screen Studio is still worth checking out. If you do any kind of screencasting or video...
Nick Heer on the ever-increasing user-hostile demand for your attention from the biggest social platforms #
Linus Åkesson just casually being amazing again #
a technically-playable (but just barely) hack using iOS Shortcuts to download remote screenshots compiled into videos #
I was just talking to a colleague about edit distance because it came up in a project we’re working on. Technically, we were discussing Levenshtein distance. It sounds more impressive to say Levenshtein distance, but it’s basically how much editing effort it would take to turn one block of text into another. Edit distance is […] The post Edit...
AVerMedia Live Gamer Portable 2 Plus - Can't record to microSD I recently purchased an AVerMedia Live Gamer Portable 2 Plus to help record screens on devices I test at my desk. It's claim to fame is being able to record to a microSD card standalone (at resolutions up to 1080p60), without having a separate computer attached. For my 4K...
It was super windy last weekend, and I was a bit agitated. I was on my way out to join my family at the playground. But as I was stepping past the wooden gate (I built it myself, and I'm a bit proud of it), I decided to go back and grab a football.Four steps away from the gate. That was far enough for me to be too far to catch it as the wind slammed it shut.Well, it did more than that. It ripped off the plank that was supposed to stop the gate. I looked in...
The birthday problem is a party trick with serious practical applications. It’s well known to people who have studied probability, but the general public is often amazed by it. If you have a group of 23 people, there’s a 50-50 chance that at least two people have the same birthday. With a larger group, say […] The post Birthday problem...
As I retreat from the socials, something I have been wondering about is how much of the frenetic, restless, too-much feeling I get from them is a product of the algos and the corporate incentives, and how much of it might just be something *we’re* doing.
After all the Wordpress drama this week I tooted the following: We really need a new, easy to use, CMS written in PHP to compete with Wordpress. Why PHP? Because you dump files on a server, any server, and it just works. Loads of people jumped into my mentions to point me to alternatives that exist and here they are. ClassicPress - This one is...
I spent a lot of time in the past couple of weeks working on a website in Go that may or may not ever see the light of day, but I learned a couple of things along the way I wanted to write down. Here they are: go 1.22 now has better routing I’ve never felt motivated to learn any of the Go routing libraries (gorilla/mux, chi, etc), so I’ve been...
Journal for October 2024Journal for October 2024 October 2024 October 2024 catskull.netcatskull.net 0101TT 0202WW 0303RR ... ...
Elizabeth Lopatto writing for The Verge: X blocks links to hacked JD Vance dossierX is preventing users from posting links to a newsletter containing a hacked document that’s alleged to be the Trump campaign’s research into vice presidential candidate JD Vance. The journalist who wrote
Users don't care how elegant your code is. They care if it solves their problem.
Writing code for a computer is hard enough. You take something big and fuzzy, some large vague business outcome you want to achive. Then you break it down recursively and think about all the cases until you have clear logical statements a computer can follow.
This might be the longest quote ever on Birchtree, but stick with me here. This is Matt Mullenwerg, CEO of Automattic, writing on the official WordPress blog (emphasis his):WordPress is a content management system, and the content is sacred. Every change you make to every page, every post, is
What would you say if I told you that it was possible to (a) eliminate a lot of “inter-method borrow conflicts” without introducing something like view types and (b) make pinning easier even than boats’s pinned places proposal, all without needing pinned fields or even a pinned keyword? You’d probably say “Sounds great… what’s the catch?” The...
What's a ktls I started work on ktls and ktls-sys, a pair of crates exposing Kernel TLS offload to Rust, about two years ago. kTLS lets the kernel (and, in turn, any network interface that supports it) take care of encryption, framing, etc., for the entire duration of a TLS connection... as soon as you have a TLS connection. For the handshake...
How to create essential documentation that actually gets read and used.
Almost a month ago, I created a telegram channel with the g
Some months ago I wrote a post about open source docs contributions. My dear colleague Scott Abel (The Content Wrangler) found that to be a good topic for a webinar, so today I hosted Contributing to Open Source Documentation Projects, where I expanded my thoughts on the topic and provided some practical guidance. You can also download the slides...
“I keep running into the function f(z) = (1 − z)/(1 + z).” I wrote this three years ago and it’s still true. This function came up implicitly in the previous post. Ramanujan’s excellent approximation for the perimeter of an ellipse with semi-axes a and b begins by introducing λ = (a − b)/(a + […] The post (1 − z) / (1 + z) first appeared on John...
As an extension of last week’s A Historical Summary of My Music Tastes, I kept thinking about the many ways hip hop and other genres I started getting interested in intertwined. You’ve got your conventional hard rap tracks and the more gentle ones I already laid out a few years ago and for some reason keep going back to, meaning it must somehow...
In practice this already happened a couple of years ago, now we are just making it official. For those who don’t know, Hawkpost is a side project that I started while at Whitesmith back in 2016 (8+ years ago). I’ve written about it here in the blog on several occasions. To sum it up, it […]
I’ve always been a Richard Rutter fanboy, so seeing my CSS reset cited in their new reset fills me with pride. When it comes to web typography, Richard knows more than most and shares this vast knowledge really well with TODS. There’s a near 100% guarantee (unless you’re actually Richard) that you will learn at least one new thing about OpenType...
Hey all, I had a fun bug this week and want to share it with you.numbers and representationsFirst, though, some background. Guile’s numeric operations are defined over the complex numbers, not
over e.g. a finite field of integers. This is generally great when
writing an algorithm, because you don’t have to think about how the
computer will actually represent the numbers you are working on.In practice, Guile will represent a small exact integer as a
There’s a joke about a writer and her therapist that I’ve seen various versions of over the years. The writer complains about how terrible the writing is, how difficult it is to show up each day, how the writing is blocked, the writing is bad, she can’t sleep or eat or think.
Vertical Tabs in Safari 2024-09-26 I use Firefox as my main browser (specifically the Nightly build) which has vertical tabs built-in. There are instances where I need to use Safari, such as debugging or testing iOS devices, and in those instances I prefer to have a similar experience to that of Firefox. Luckily, Apple has finally made it fairly...
Flexing the Windows RRAS BGP implementation At this point I am a bit of a BGP protocol implementation connoisseur thanks to
You can create your own holidays! On this page I share some of mine. Backup Day January 5th Security Audit Day February 5th Digital Organization Day March 5th Physical Organization Day April 5th Cancel Subscriptions Day May 5th Habit Breaking … Continue reading →
Good luck with that. My next TV might still be an LG (just because I usually like their hardware and price points), but like the current one, it will be blocked at my router from accessing the Internet (HomeKit still works, of course, and I use my Apple TV and NVIDIA SHIELD for media). But this is something the EU should really look into and...
The timing for this is great, as I’m starting to get back to shoving LLMs into single-board computers. The 128K token context length seems to be becoming a standard of sorts (which is also nice), and I might actually try the vision models as well (with the usual caveats about SBC NPUs being quite limited in both TOPS and data formats). And, of...
If you've used modern web frameworks like React, Angular, or Vue, you've probably encountered CSS-in-JS tools like Styled Components, Emotion CSS, or JSS. These tools let you write CSS using JavaScript, which can be handy. However, CSS-in-JS has a big drawback: it's slower than
Today is the day I became radicalized in my Jewish and Zionist identities. Uhhh, you thought that had already happened? Like maybe in the aftermath of October 7, or well before then? Hahahaha no. You haven’t seen nothin’ yet. See, a couple days ago, I was consoling myself on Facebook that, even as the arts […]
The Rust programming language feels like a first generation product. You know what I mean. Like the first iPhone - which was amazing by the way. They made an entire operating system around multitouch. A smart phone with no keyboard. And a working web browser. Within a few months, we
In my last blog post, Evolution of Logical Replication, I mentioned the future development of a feature to allow "upgrades of logical replication nodes." The upcoming release of PostgreSQL 17 includes this feature. Previously, after major version upgrades (via pg_upgrade), users couldn't immediately connect and write data to logical replication...
Qualcomm Snapdragon Dev Kit for Windows Teardown (2024) In late July, a week after ordering the Snapdragon Dev Kit, I wondered where it was. Arrow's website said 'Ships tomorrow' when I ordered, after all. Many developers eager to test their code on Windows on Arm, on the premiere new 'CoPilot+' PCs that would revolutionize computing...
Create comprehensive, engaging documentation by adopting journalistic techniques for research and storytelling
Should you diversify your skills or specialize?
Earlier this month I was exploring Devine’s public wiki, XXIIVV, and I landed on the entry about time. This page contains a mesmerizing clock displaying time as a grid of lines scanning across the screen. Figure 1. Screenshot of Devine's Arvelie-Neralie grid clock. I was unfamiliar with the format of this clock, shown in figure 1 as “18T03...
Post, Repository Clock representing time as a grid of lines sweeping across the screen. Inspired by Devine’s Arvelie-Neralie clock.