My friend Mel Chua died this week.I'm middle-aged now. I started this weblog as a young adult, and now it's been more than twenty years, and today I'm really feeling that change.Nearly eleven years ago, …
This week, US Presidential candidate Kamala Harris announced that her choice to join her on the ballot as running mate is Tim Walz, who's currently governor of Minnesota.A number of people on Bluesky, in the …
My friend Ned Batchelder posted, "A list of commits is not a changelog!" and spurred this post.Summary: We'd all benefit from restoring the distinction between a detailed changelog and brief release notes, but that's hard …
On a weekend morning many years ago, the constant low-level radiation of mailing list fracas led me to idly fantasize of sending a beseeching plaintive-yet-rousing post to one of them:Do you think there is no …
A fictional example:You're in a volunteer group that does a public service chore, like sprucing up a local park or maintaining a health information website. It's been around for many years. Most people treat each …
A few months ago I noticed the banner image of Mastodon user @emacsomancer@types.pl: I had two questions about this. First where is it from and is there more? @emacsomancer pointed me to the source Github repository and also to this magnificent hand-lettered interpretation of it by artist Michał "phoe" Herda, who is also an author of books...
Last week I received a widely circulated email that began: With tall apartment buildings being erected all around, we feel it is ever more important to preserve our community. I sent this reply. I have been a Spruce Hill homeowner for 16 years. I had to miss the June 26 meeting because I was out of the country. But I think the historic...
Looking at license plates the other day I noticed that if you have a four-digit number with digits , and , then will always be a multiple of . For example, and . Mathematically this is uninteresting. The proof is completely trivial. (Such a number is simply , and .) But I thought that if someone had pointed this out to me when I was eight...
Toph and I were discussing the story of Loki and Skaði, one of my favorites. (Previously.) The Æsir have killed Skaði's father, and owe her compensation. She has been sad since her father died, she says, and demands that the Æsir make her laugh. Loki rubs his hands together and says "Leave this to me!". He takes a rope, ties one end to a...
Like almost everyone except Alexander Grothendieck, I understand things better with examples. For instance, how do you explain that $$(f\circ g)^{-1} = g^{-1} \circ f^{-1}?$$ Oh, that's easy. Let be putting on your shoes and be taking off your shoes. And let be putting on your socks and be taking off your socks. Now is putting on your...
When I was a kid, the Beatles’ seminal 1966 album Revolver was 20% shorter. The original release was not a long album: 14 tracks, totaling 34:45. But the version I grew up with had 11 tracks, totaling only 27:31. Three tracks, all by Lennon, were omitted by Capitol from the North American release because they had previously been released on...
[ Thanks to John Wiersba for noticing that I forgot to publish this. ] A few weeks ago I wrote a letter to my neighbors about why I thought it was a bad idea to oppose building more housing in our neighborhood. I didn't write this paragraph: In the past it has often happened that a group of wealthy landowners conspired to hold onto what they...
Benjamin Franklin wrote and published Poor Richard's Almanack annually from 1732 to 1758. Paper was expensive and printing difficult and time-consuming. The type would be inked, the sheet of paper laid on the press, the apprentices would press the sheet, by turning a big screw. Then the sheet was removed and hung up to dry. Then you can do...
If you're an annoying know-it-all like me, I suggest that you try playing the following game when you attend a conference or a user group meetup or even a work meeting. The game is: If someone asks you a question, and you say “I don't know”, you score a point. That's it. That's the game. “I don't know” doesn't have to be perfectly...
(Source: XKCD “Exam numbers”.) This post is about the bottom center panel, “Game Theory final exam”. I don't know much about game theory and I haven't seen any other discussion of this question. But I have a strategy I think is plausible and I'm somewhat pleased with. (I assume that answers to the exam question must be real numbers — not — and...
Marnanel Thurman reported the following item that they found in an 1875 book titled How to Entertain a Social Party: To Make a Loaf of Bread Dance on the Table. — Having a quill filled with quicksilver and stopped close, you secretly thrust it into a hot roll or loaf, which will put it in motion. (Bottom of page 46.) No further...
[ Previously: [1] [2] [3] ] A couple of years back I wrote: I live in southeastern Pennsylvania, so the Pennsylvania-New Jersey-Delaware triple point must be somewhere nearby. I sat up and got my phone so I could look at the map, and felt foolish. As you can see, the triple point is in the middle of the Delaware River, as of course it must be;...
I was able retire an old #Heroku site by copying the content to a completely #static #website. Instead of resurrecting the source project and rewriting it, I used the #WebOrigami crawl command to retrieve the static files. The @crawl picked up all but a few exotically-referenced resources that I copied over by hand. I dropped it all on Netlify....
Apple's Knowledge Navigator concept video (1987) I learned about this video today while engaged in my irresistible bad habit of arguing about whether or not "agents" means anything useful. It turns out CEO John Sculley's Apple in 1987 promoted a concept called Knowledge Navigator (incorporating input from Alan Kay) which imagined a future where...
This prompt can make an AI chatbot identify and extract personal details from your chats Matt Burgess in Wired magazine writes about a new prompt injection / Markdown exfiltration variant called Imprompter, described in the new paper Imprompter: Tricking LLM Agents into Improper Tool Use. The paper describes an exfiltration attack against...
A while ago some Rust / Linux drama hit the news because of tension between people who are pushing for more Rust in the kernel, and those who seem to be opposed to the idea.A while ago some Rust / Linux drama hit the news because of tension between people who are pushing for more Rust in the kernel, and those who seem to be opposed to the idea.Reading the opinions of those involved, and looking at the “evidence”Reading the opinions of those involved, and looking at the “evidence”, you can see that people are feeling strong emotions and so it becomes less clear to what extent this is a technical disagreement, a political..., you can see that people are feeling strong emotions and so it becomes less clear to what extent this is a technical disagreement, a political...
Chris Welch for The Verge: Apple’s AirPods Pro hearing health features are as good as they soundBeing able to use Apple’s $250 earbuds as a hearing aid is a huge deal for those who can benefit from this capability. That’s substantially less expensive
Blooper Team’s Jacek Zieba, who just released the Silent Hill 2 remake, in an interview with GameSpot: Bloober Team Says It's Done Making "Shitty" Games And Silent Hill 2 Remake Wasn't A Fluke[P]eople in the studio were like, 'Okay,
I always get tripped up by Docker’s different mount types and their syntax, whether I’m stringing together some CLI commands or writing a docker-compose file. Docker’s docs cover these, but for me, the confusion often comes from how “bind” is used in various contexts and how “volume” and “bind” sometimes get mixed up in the documentation. Here’s...
One pernicious thing with writing about productivity and knowledge systems: you only change systems that aren’t working, and you tend to write about things during times of change. So most writing about productivity systems stem from people whose systems have failed them. It is with this ironic prologue that I answer a question I've received from...
One pernicious thing with writing about productivity and knowledge systems: you only change systems that aren’t working, and you tend to write about things during times of change. So most writing about productivity systems stem from people whose systems have failed them. It is with this ironic prologue that I answer a question I've received from...
In my previous post I argued that Go has exceptions because of panic/recover. Some people understood the message, some others had objections that roughly amounted to “you’re just being pedantic, there’s no practical consequence to it”.In my previous post I argued that Go has exceptions because of panic/recover. Some people understood the message, some others had objections that roughly amounted to “you’re just being pedantic, there’s no practical consequence to it”.Oh man, if only.Oh man, if only.The The talktalk that I linked in the other post goes over this point with exemplary clarity but, since I’m bothering to write a follow up post, I will just go through the... that I linked in the other post goes over this point with exemplary clarity but, since I’m bothering to write a follow up post, I will just go through the...
A guide to catching and preventing credential leaks in your code using Secretlint
This is an example workflow of how to integrate LLMs into your software dev. First script (prompt.sh) does one thing: dumps your entire codebase context into a text file. It first appends the file tree while ignoring what you tell it to ignore (node_modules, files not needed contextually, etc), and recursively finds and auto includes what you...
When I moved to my current Portland neighborhood back in late 2018, I opted to switch my banking to a credit union half a block from my front door. This decision today made what otherwise would have been an exhausting problem into a minor headache. Early this morning, I received two texts and a voicemail purporting to be a declined transaction...
An acquaintance was feeling what could have been early symptoms of illness, but wanted to run a 10k race later that day. They approached me because they sensed there was a statistical problem in there: how should they react to symptoms getting worse during the race? Is that a sign to quit, or is it likely to be a false positive? An acquaintance was feeling what could have been early symptoms of illness, but wanted to run a 10k race later that day. They approached me because they sensed there was a statistical problem in there: how should they react to symptoms getting worse during the race? Is that a sign to quit, or is it likely to be a false positive? The conclusion was surprising and interesting, so for this article, I’ve recast the problem in terms of site reliability... The conclusion was surprising and interesting, so for this article, I’ve recast the problem in terms of site reliability...
I am enjoying a nice editing session here. Hope you like it too. I have to do one of these test messages every time I make a major change. Just to see if it still works for the basic stuff. I’m also going to prepare a tester’s guide. Do this do that, look at this, […]
Spam is everywhere. If you have an email account, a mailbox, a website with comments, a cellphone, a social media account, a public form, etc. We all know it, it is a plague. Over the years, there have been multiple attempts to fight spam, with various degrees of success, some more effective than others, some […]
A flood of users left X and moved to Bluesky over the weekend. I’ve written a bunch of times in the past about Bluesky, and have gone from grumpy frustration to general acceptance of the service. I’m happy that people are moving away from X, and I think Bluesky is a reasonable replacement. That said, I think new users should understand a bit how...
I joked on Mastodon: If anyone endeavors to write a book about what went wrong with tech, I have a great suggestion for the title: “Enabled by Default” It seems there really are two hard problems in tech: Naming things Setting good defaults Keeping to scope Anyhow, a little while later I found this Hacker News comment (courtesy of Terence Eden)...
sudoku-in-python-packaging Absurdly clever hack by konsti: solve a Sudoku puzzle entirely using the Python package resolver! First convert the puzzle into a requirements.in file representing the current state of the board: git clone https://github.com/konstin/sudoku-in-python-packaging cd sudoku-in-python-packaging echo...
Mersenne numbers have the form 2p − 1. A Mersenne prime is a Mersenne number that is also a prime. A new Mersenne prime discovery was announced today: 2p − 1 is prime for p = 2136279841. The size of the new Mersenne prime is consistent with what was predicted. For many years now, the […] The post New Mersenne prime found first appeared on John D....
There is a popular presentation of the exponential distribution that goes through the geometric distribution. The geometric distribution arises from flipping a weighted coin until you see a heads, and reporting how long it took. It can be simulated with this code: def geo(p): count = 1 while rand() < p: count++ return count The...
There is a popular presentation of the exponential distribution that goes through the geometric distribution. The geometric distribution arises from flipping a weighted coin until you see a heads, and reporting how long it took. It can be simulated with this code: def geo(p): count = 1 while rand() < p: count++ return count The...
Just a quick note to my faithful readers out there - tomorrow, October 22nd, at 12PM CST (Cool Standard Time), I'll be hosting my next episode of :https://www.youtube.com/watch?v=EbJuB7irJMwIn the previous stream, I talked about charting with JavaScript, specifically using Chart.js. In this followup, I'll attempt to use another library so we can...
we must unite, good and kindhearted developerspeople, against the balrog of corporate hackathons once more
we fought hard to vanquish the corporate hackathon in ages past but as prophecy has foretold they have returned—clawing back up from the depths of hell to claim many an unpaid hour of labor in service of insatiable marketing KPIs
I've often been building single-use apps with Claude Artifacts when I'm helping my children learn. For example here's one on visualizing fractions. [...] What's more surprising is that it is far easier to create an app on-demand than searching for an app in the app store that will do what I'm looking for. Searching for kids' learning apps is...
Machine learning (ML) has the potential to advance the state of the art in technical writing. No, I'm not talking about text generation models. The ML technology that might end up having the biggest impact on technical writing is embeddings. What embeddings offer to technical writers is the ability to discover...
Okay this is a post that has never been published (of course when you see it, it will have been published). I want to see how categories work in this weird edge case. Okay we learned something. WordPress does not include uncategorized among the categories. So we don’t need to include it in the list […]
Reading breaking changes in a JavaScript framework’s release notes and thinking about all of the web components I published that will just keep working without any upstream third-party maintenance burden.Web components pay dividends.
I'm a huge fan of Claude's Artifacts feature, which lets you prompt Claude to create an interactive Single Page App (using HTML, CSS and JavaScript) and then view the result directly in the Claude interface, iterating on it further with the bot and then, if you like, copying out the resulting code. I was digging around in my Claude activity...
if you aren’t involved in how it works, you’ll never truly appreciate it when it does
This little cat was a bit concerned about how loud the neighbour’s dog was being. (That dog would be Jökull, which I know because his owner keeps shouting at him whenever he’s barking too much. “Jökull! Hættu að gelta!”) The redpolls came for another seed raid yesterday. They were quite lively and would not stand still 🙂 My sister sent me a...
“Someone edited my photo to unbutton my blouse and reveal a made-up hint of a bra or something else underneath. 🤨” “Claims that ‘AI can replace teachers’ betray a very poor understanding of teachers’ work”. “All the hype around ‘AI will replace teachers’ is as unfounded as with any other profession, and the teachers in our research project are...
I’m excited to offer the next giveaway, 5 licenses ($14.99 value each) for Typora. Want to write Markdown without seeing Markdown? Typora offers a full Markdown editing experience that hides the symbols and syntax of Markdown, making your work easily readable and distraction free. It’s the ease of Markdown combined with a What You See Is What You...
Installing OpenBSD on Linveo KVM VPS 2024-10-21 I recently came across an amazing deal for a VPS on Linveo. For just $15 a year they provide: AMD KVM 1GB 1024 MB RAM 1 CPU Core 25 GB NVMe SSD 2000 GB Bandwidth It’s a pretty great deal and I suggest you look more into it if you’re interested! But this post is more focused on setting up...
This weekend I pointed out what I felt was a funny local news story here in Iceland: “AI” models are suffused with US values and, occasionally, those are quite shocking to us non-Americans An Icelandic police force used a generated image to promote a public notice People were absolutely horrified Why? Because the cop in the image had a gun, in a...
Last week I was helping a friend of mine to get one of his new apps off the ground. I can’t speak much about it at the moment, other than like most apps nowadays it has some AI sprinkled over it. Ok, maybe a bit maybe more just a bit – depends on the way you look at it, I suppose. There is a Retrieval-augmented generation (RAG) hiding somewhere...
To Whom It May Concern: Pursuant to the California Public Records Act, I hereby request the following records: Any and all available audio recordings of announcements - i.e. RE schedules, health notices, schedule interruptions, promotions, emergencies - and other audio material created to be broadcast to transport patrons on trains, buses, light...
Dashboard: Tools I used Django SQL Dashboard to spin up a dashboard that shows all of the URLs to my tools.simonwillison.net site that I've shared on my blog so far. It uses this (Claude assisted) regular expression in a PostgreSQL SQL query: select distinct on (tool_url) unnest(regexp_matches( body, ...