Dedicated to joy, simplicity and kindness in software and its organisations. Open Source and startup leader/founder/advisor. #Emacs guy (melpa.org). Past and current obsessions include dancing ballet, singing, acting, playing guitar/ukulele, qigong, cycling, climbing, cooking, street photography, mountain running and moving house internationally. Currently based in west Ireland. 🇬🇧🇱🇺🇩🇪🇳🇿🇫🇷🇮🇪 * This account is managed in part by a social media team composed only of cats
Public Key
npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Profile Code
nprofile1qqsxdkecappjfymvjg33wjkghrdu8kedvpv8mh99kmlhfd4ft2p5eycpz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qv2l4mh
Show more details
Published at
2026-08-17T13:25:00Z Event JSON
{
"id": "acadfad27d724aa880cf8d9f6e4b9950d7163b6cd4b9c2e43a0870970c271f45" ,
"pubkey": "66db38e84324936c9223174ac8b8dbc3db2d60587ddca5b6ff74b6a95a834c93" ,
"created_at": 1786973100 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://hachyderm.io/users/sanityinc",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Steve Purcell\",\"about\":\"Dedicated to joy, simplicity and kindness in software and its organisations. Open Source and startup leader/founder/advisor. #Emacs guy (melpa.org).\\n\\nPast and current obsessions include dancing ballet, singing, acting, playing guitar/ukulele, qigong, cycling, climbing, cooking, street photography, mountain running and moving house internationally. Currently based in west Ireland.\\n🇬🇧🇱🇺🇩🇪🇳🇿🇫🇷🇮🇪\\n\\n* This account is managed in part by a social media team composed only of cats\",\"picture\":\"https://media.hachyderm.io/accounts/avatars/109/364/087/630/588/838/original/fb5c6b8ebfab469b.jpg\",\"banner\":\"https://media.hachyderm.io/accounts/headers/109/364/087/630/588/838/original/5dcb04c2f845edd2.jpg\",\"nip05\":\"[email protected] \",\"fields\":[[\"Neglected blog\",\"https://sanityinc.com\"],[\"GitHub\",\"https://github.com/purcell\"],[\"LinkedIn\",\"https://www.linkedin.com/in/stevepurcell/\"],[\"Photos, mostly B\u0026W\",\"https://www.purcellimages.com\"]]}" ,
"sig": "130b5605f571d4b5ecd54be1fb9f522805cf05c8cfdc2073a0bd2528ee4549ee8746f38190f910eac3cd347f3352821aad5334fa88f5900fa5c8d32b3166be0f"
}
Last Notes npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Mastodon tip that I saw someone post recently: you can use the search term "in:library" to specifically search among your own posts, likes and bookmarks. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…snss @nprofile…nthd omg, this was why they wanted the photo? npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Literally the only indication that the current page is an "Issue" in Linear is that `/issue/` is in the URL. I am not even joking. Every life-force-sapping grey page looks the same and there's no navigation or hierarchy, and also the search is bad. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Do you remember when clickable things and interactive controls on the web had a design that distinguished them from plain text? Outright angry at Linear today, which is an issue tracker with pretty charts but no visible buttons to close an issue. Turns out you click on a plain status label and it magically turns into a dropdown. I expect you're supposed to tell an agent to figure it out. No highly esteemed deed of design is commemorated here. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Successfully upgraded my mail server after a long hiatus, zero issues thanks to #nixos and nixos-mailserver from @nprofile…tnyh 🙏 https://nixos-mailserver.readthedocs.io npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…l2h8 @nprofile…r0xq I am one of several committers on terraform-mode and recently blocked a vibe-rewrite by another committer. Tricky times, tbh: I wouldn't have minded as much if LLMs had been used to help make small fixes, but I don't think anyone is helped by the new official maintainership being transferred to Claude. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Found Hermes in a bedside table drawer today. He had made my wife take it out for him. #catsofmastodon #dork https://media.hachyderm.io/media_attachments/files/116/653/520/386/823/062/original/a6effee10e18faba.jpg npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…v9wr you're still stuck with their clients, though: how long before they stop supporting custom servers? @nprofile…5h37 @nprofile…wkpv @nprofile…8d0x npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…3src GitHub dropped their Actions pricing this year to get people off 3rd party runners, so it's weird for them to complain about foot pain after they pulled the trigger npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell If you're #Lisp-curious, this new quick-start IDE could be a fun playground: https://coalton-lang.github.io/20260424-mine/ (From the author of Coalton, a haskell-like language that embeds in Common Lisp.) npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…zxj6 petrodollar is absolutely over at this point npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…yxlh Hetzner handle a subset of TLDs, and I expect that's a good option. I'd move domains there myself except I don't want all my eggs in one basket npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…wfat how are you getting on with splitting, ie. hacking a bunch then trying to separate the changes into multiple logical commits, particularly when there are unrelated changes in the same file? I do this lots with magit in Emacs, but am otherwise very jj-curious. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Power just flickered out for 2 seconds... 38 hours into a big off-site backup run over a slow internet connection. 😭😭 npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell No surprise that the deeply misguided fuel protests in Ireland right now are the result of US big tech and global far right manipulation. https://www.thebriefing.ie/who-is-funding-the-fuel-protests-online-campaign/ npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…2d25 umamimaxxing! npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…dmr0 I also wonder whether this can even be GPL'd, and/or use GPL code like the existing elisp — afaik, LLM-generated code cannot (yet?) legally be copyrighted, and I don't know whether it has generally been decided to be GPL compatible. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…t05x Yes! Been doing this for a couple of years now and it's totally workable. I usually get a family member to check the back for anomalies. 😂 npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…t05x to be fair, percona sounds like a German coffee company npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…auef @nprofile…6qrf what are the two lucky guitars? npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Programmers! Did you know you can fairly choose a random item from a list in a single pass, without knowing the total number of items in advance, and in constant, minimal space? This delightful method has lived rent-free in my head since I learned it from the Perl gods in the 90s: https://csg.sph.umich.edu/chen/Perl/cookbook/ch08_07.htm npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell If there's one place I can go for high-availability shitposting when big corporate internet platforms are down, it's here. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…f6r2 the best part of that screenshot is the symmetrical speeds npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…auef how do you do, fellow kids? npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Technically Ireland is in Europe, but flying to Vienna today is 13 hours of transit, from where I live. 😭 npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell These shoes look like H.R. Giger just got hired by Crocs https://media.hachyderm.io/media_attachments/files/115/056/539/731/922/788/original/7738f342f567f596.jpg npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Just invoked the primordial gods of willpower in a cursed ceremony and did a super uggo bureaucratic paperwork thing that I've been shamefully avoiding for many months. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell If you are fortunate enough to have a lawn, I can highly recommend literally never mowing it yourself, and then very occasionally getting a local farmer to do it for you in bulk with his tractor. A similar principle applies to haircuts. https://media.hachyderm.io/media_attachments/files/114/745/611/432/546/216/original/6be54f8b76f36718.jpg npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell It's #caturday, which is also grocery day, and Hermes loves grocery bags https://media.hachyderm.io/media_attachments/files/114/677/304/017/933/783/original/ac33a0054553dec1.jpg npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Just received this wonderful #needlepoint gift from my daughter. Need to frame it for my office wall. https://media.hachyderm.io/media_attachments/files/114/433/909/479/959/739/original/c5c3eeafd0045e7f.jpg npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…jcj3 yeah, definitely, the visualisation doesn't tell you *what* to try, so you need to apply experience once you can see the bottleneck clearly. The LLM could be a substitute for some of that experience, if you're lucky. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…jcj3 fwiw, I usually find that using this site to analyse the query plan tells me enough about the bottleneck that I can try some targeted variations: https://explain.dalibo.com/ npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @nprofile…h9qy haha, absolutely no way 98% of IT shops are using kubernetes npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell I dunno, man, it seems somewhat suboptimal to outsource a big chunk of humanity's global creative output, work processes and interpersonal communication to the handful of mostly-US companies that can afford the gigantic datacenters necessary for it. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub1sys…ckr3 Great idea! I bought the tiny Garmin rather than a big one, but could just log rides to my watch and skip the distracting display tbh. It's nice to have some record. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub1sys…ckr3 yeah, seriously. Just getting out the phone to adjust the derailleur trim. Ugh! npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell There's an entertaining trend in cycling whereby, in the name of progress, people pour special liquid sealant into special tyres on special wheels instead of using regular inner tubes, and then when they get punctures it often sprays everywhere, and they have to carry special repair tools and spare tubes anyway. This is how modern software development works too. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell "Tech has become all Jobs and no Woz. As Dave Karpf rightly identifies, the hacker has vanished from the scene, to be replaced by an endless array of know-nothing hero founders whose main superpower is the ability to bully subordinates (and half of Twitter) into believing they are always right." 👏 https://ianbetteridge.com/2024/09/14/founder-mode-hackers-and-being-bored-by-tech/ npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub18yv…xxyn you won't believe how we pronounce "Metallica" 😜 npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub18yv…xxyn what amp did you get? npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub1qdm…f00z old school cool npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub1qdm…f00z would you consider something like Rails poorly suited for ②? IMO it's well-suited, but obviously still complex. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Utterly heartbroken to have said goodbye to our old cat. When we brought him home from the shelter in 2018, abused and already a decade old, it was an explosion of love, and this sadness was planted at the same moment. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell The greatest trick the devil ever pulled was convincing software engineers that AWS would make anything easier. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Help, we assembled our #cat wrong! https://media.hachyderm.io/media_attachments/files/112/571/592/806/372/306/original/a58c27794acc8c77.jpg npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell For #caturday, here's our old boy out for a walk with my daughter, wearing a sweater she made for him https://media.hachyderm.io/media_attachments/files/112/540/540/178/882/097/original/90cf96401b61f615.jpg npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub16u7…uend If Fuji made a monochrome x100, I'd be all over it, just to more fully recover the Leica B&W experience. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub18yv…xxyn you might be interested in jj, aka "Jujutsu": https://martinvonz.github.io/jj/v0.13.0/ npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub18yv…xxyn also fedetwitter.com! npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub1t5m…9guy just catch that exception and print "got an error" npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell I'll forever be frozen in this unusual shape on YouTube 😂 @npub1u2r…4urs https://media.hachyderm.io/media_attachments/files/112/016/174/050/215/758/original/22698f6ca4c5b521.png npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub1t5m…9guy Highly recommend qigong — we never realise how internally twisted desk work and modern life make us until the wheels start falling off, and that can happen even while exercising and being outwardly fit/healthy. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell The #ocaml platform roadmap is such a grown-up and well-written plan. Great example for other language communities. https://ocaml.org/docs/platform-roadmap npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell @npub18yv…xxyn It's great, but it's even better if you're well rested😁 npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Uh-oh -- just realised it has been forty years since I wrote my first computer program! Hope to get the hang of it one day. npub1vmdn36zryjfkey3rza9v3wxmc0dj6czc0hw2tdhlwjm2jk5rfjfseh60wu Steve Purcell Once or twice I've been asked in tech interviews, "tell us about a very complex system that you built." This question reliably stumps me, because I don't feel like I've built complex stuff, even though I've shipped large, profitable, efficient and reliable systems. I've stuck to simple but effective designs and methods. And that's the whole trick, really.