Shellsharks Blogroll - BlogFlock 2026-06-03T00:40:57.445Z BlogFlock Adepts of 0xCC, destructured, fLaMEd, Aaron Parecki, Trail of Bits Blog, James' Coffee Blog, Westenberg, gynvael.coldwind//vx.log (pl), joelchrono, Evan Boehs, Kev Quirk, cool-as-heck, Posts feed, Sophie Koonin, cmdr-nova@internet:~$, <span>Songs</span> on the Security of Networks, Werd I/O, Johnny.Decimal, Robb Knight, Molly White, Hey, it's Jason!, Terence Eden’s Blog Link Dump: May 2026 - The Weblog of fLaMEd https://flamedfury.com/posts/link-dump-may-2026/ 2026-06-03T10:38:11.000Z <p>What’s going on, Internet? In true fLaMEd style, I missed the April update, so here are all the <a href="https://flamedfury.com/bookmarks/">bookmarks</a> from April and May 2026.</p> <ul class="list"> <li><a href="https://thehistoryoftheweb.com/prepping-for-the-endgame/" rel="noopener">Prepping for the endgame of the open web - The History of the Web</a> Jay’s been thinking about this longer than most. The open web has survived worse, but it still needs us to show up.</li> <li><a href="https://darthmall.net/2025/attenuating-web/" rel="noopener">Attenuating the Web - The Darth Mall</a> An interesting pushback — RSS readers strip so much of what makes a website actually worth visiting.</li> <li><a href="https://www.coryd.dev/posts/2026/the-conditionally-open-web" rel="noopener">The conditionally open web</a> Cory puts into words something I keep circling back to. The open web was never really open, just conditionally so.</li> <li><a href="https://timemachiner.io/2026/04/14/my-quest-to-be-the-scrobble-king/" rel="noopener">My Quest to be the Scrobble King</a> Reaching back to scrobbling to fix what streaming broke about music discovery.</li> <li><a href="https://ctrl-c.club/~loghead/zine/Ctrl-ZINE.Issue.24.pdf" rel="noopener">Ctrl-ZINE Issue.24</a> Stoked my flossing piece landed in this one alongside ~loghead’s proper smol web rallying cry — issue 24 is a good one.</li> <li><a href="https://jamesg.blog/2026/05/01/joyful-web-design" rel="noopener">Joyful web design</a> Treating playfulness on the web as the point, not a frivolous extra you tack on later.</li> <li><a href="https://forkingmad.blog/who-knows-that-you-blog/" rel="noopener">Who knows that you blog?</a> That weird gap between blogging publicly and never bringing it up with people you actually know</li> <li><a href="https://www.otherstrangeness.com/2026/03/14/have-a-fucking-website/" rel="noopener">Have a Fucking Website</a> “The internet was built on websites that linked to one another”, don’t rent your space inside the walled gardens.</li> <li><a href="https://www.0xsid.com/blog/wont-download-your-app" rel="noopener">No, I Won’t Download Your App. The Web Version is A-OK. | Sid’s Blog</a> I will avoid your app if I can</li> <li><a href="https://newsletter.ownyourweb.site/archive/own-your-web-issue-18-curators/" rel="noopener">Own Your Web – Issue 18: Curators</a> Is curation the personal web’s superpower now that half the web is AI-generated, or has it always been? 😃</li> <li><a href="https://www.raptitude.com/2025/06/how-to-surf-the-web-in-2025-and-why-you-should/" rel="noopener">How to Surf the Web in 2025, and Why You Should</a> Algorithmic scrolling killed surfing, but David Cain reckons the old web is still there if you go looking.</li> <li><a href="https://blog.clew.se/posts/secret-web/" rel="noopener">A Secret Web</a> The indie web isn’t secret, just hidden by commercial search. Benjamin Hollon on the tools we already have to find it.</li> <li><a href="https://roytang.net/2025/06/web-explorer/" rel="noopener">the web as a space to be explored · roytang.net</a> The web isn’t dying. Roy Tang reckons the indie web is still alive and explorable</li> <li><a href="https://inclusivefront.neocities.org/" rel="noopener">Join the Inclusive Front</a> Sara Joy’s manifesto for web folks who reckon building inclusively is just doing the job properly</li> <li><a href="https://mtwb.blog/posts/2026/tech/your-ai-hate-is-showing/" rel="noopener">Your Ai Hate Is Showing - Matt’s Blog</a> Blanket AI-hate misses the target. The problem is the corporations weaponising it, not the tools.</li> <li><a href="https://aetheranne.ca/blog/social%20media/the-joys-of-a-small-social-feed/" rel="noopener">The Joys of a Small Social Feed</a> How deliberately following a small number people on Mastodon leads to a more peaceful experience. Has me contemplating my own following count.</li> <li><a href="https://www.gordonmclean.co.uk/2026/04/21/why-i-still-like-the-internet/" rel="noopener">Why I Still Like the Internet</a> Gordon on how blogs are quietly winning again</li> <li><a href="https://www.gordonmclean.co.uk/2026/04/28/the-bloggers-manifesto/" rel="noopener">The Blogger’s Manifesto</a> Eight principles for blogging that go against the “build an audience” playbook. Staying small and honest is the point.</li> <li><a href="https://stevedylan.dev/posts/how-to-hate-ai/" rel="noopener">How to Hate AI</a> There’s a lot of AI hate going around these days, and Steve’s take is where I think it should actually be aimed. AI is out of the bag. It’s happening. Rather than directing hate at people who are curious, learning, and already using the tools, we could focus that energy on learning, understanding, and educating on the best and safest ways to use them.</li> </ul> <p>Want more? Check out all my bookmarks at <a href="https://flamedfury.com/bookmarks/">/bookmarks/</a> and subscribe to the <a href="https://flamedfury.com/feeds/#bookmarks">bookmarks feed</a>.</p> <p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Link Dump: May 2026">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/link-dump-may-2026/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p> Post cards, completing games and books - W22 - Joel's Log Files https://joelchrono.xyz/blog/w22 2026-06-02T14:00:00.000Z <p>Honestly, this week went by in a flash, I am not sure of what even happened with it, but either way, time continues moving forward, and some things changed during such an event, here are some notes I got from it.</p> <ul> <li> <p>📬 I finally received my pair of post cards from NantucketLit’s <a href="https://nantucketlit.com/postcards.php">First-Class Fiction</a>! The mailing system in my country isn’t the best, but they arrived nice and safe. One of them was written by <a href="https://benjaminhollon.com">Amin</a>, which is a reason why I subscribed to the service, but both were really nice, and I should get more for three months before I see if I renew my subscription.</p> </li> <li> <p>🎧 While cleaning my room, I returned to <strong>Wolf 359</strong>, I listened to the special episode <em>Change of Mind</em>, which is a story that happens between the events of the current timeline connecting to how the next session will start. It was more than two hours of greatness. Listen to that podcast guys, from the beginning, you won’t be dissappointed.</p> </li> <li> <p>🚲 A neighborhood close to my own recently got brand new asphalt streets, and as I passed by, I couldn’t help but notice <em>dozens</em> of kids going out in bicycles and scooters all over the place. On the weekend, I decided to bike in all of the new streets of the neighborhood. It is a flat area so I didn’t do as much excercise, but it was enjoyable and zig-zagging around the place meant I still did quite the distance! 14 kilometers this time, I also went a bit late and had to cut the session short.</p> </li> <li> <p>🎮 I would like to completely blame <a href="https://brainbaking.com">Wouter</a> for the fact that I ended up purchasing another videogame. I am talking about <em>Animal Well</em>, a metroidvania that saw quite a bit of fame, although things kind of died out as the year of 2024 went by. It still seems to be awesome though and I would like to play it soon… the backlog keeps growing…</p> </li> </ul> <p><img src="/assets/img/blogs/2026-06-02-week.webp" alt="2026-06-02-week" /></p> <h2 id="gaming">Gaming</h2> <h3 id="completed">Completed</h3> <ul> <li> <p><strong>Monument Valley</strong> - Remember when I said I had completed this one? Well, it was true, but I now completed an extra set of levels, in a special chapter called <em>Ida’s Dream</em>, they were just as awesome and full of mind-bending mechanics! It was a short return, but a nice one nonetheless. Perhaps I should write a short post about this game now.</p> </li> <li> <p><strong>Hades</strong> - My Summer Game Challenge is off to a great start! I have managed to reach credits on Hades’ at last! This game is absolutely terrific, and I am really looking forward to play a bit more of it on a more chill pace, I kind of want to see if I can reach the second ending it seems to have given what I learned from the finale.</p> </li> </ul> <h3 id="ongoing">Ongoing</h3> <ul> <li> <p><strong>Minecraft</strong> - We finally resurrected the server! Everyone is making their own houses again, looking to survive and thrive among this land. Good stuff!</p> </li> <li> <p><strong>Tomodachi Life: Living the Dream</strong> - I checked on some of my Miis again and some incredible things happened. Some of them involve irl friends, some of them involve online friends I made into Miis, it’s been quite dramatic, let’s say.</p> </li> <li> <p><strong>Full Metal Furies</strong> - We returned to this game for a little bit. The current level is actually a bit of a stealth section, but it has proven to be quite challenging with four players.</p> </li> <li> <p><strong>Super Smash Bros Ultimate</strong> - We had a few rounds of Ultimate and one of the young ones in the group actually started to get good at it and I feel my hands getting rusty and old as I lost a bit more than I want to admit.</p> </li> </ul> <h3 id="started">Started</h3> <ul> <li><strong>Metroid Prime Remastered</strong> - Although these weeknotes are from Tuesday to Monday week to week, I often skip what I did on Monday—while I write these—but I already played like 5 hours of this game today and I may as well mention it. The good thing about Metroid is that saying I got the double jump is not a spoiler, just a tradition of the game at this point!</li> </ul> <h2 id="reading">Reading</h2> <h3 id="completed-1">Completed</h3> <ul> <li><strong>Strange Dogs (The Expanse #6.5) by James S.A. Corey</strong> - A novella that takes place before the seventh novel starts. I started reading it a while back, but left it on hold to read <em>Tiamat’s Wrath</em>, however, some names were brought up in that novel, and I decided to return here. I am so glad I did so, the second half of the novella was fantastic—all of it was to be clear—a short review is coming soon, perhaps.</li> </ul> <h3 id="ongoing-1">Ongoing</h3> <ul> <li> <p><strong>Tiamat’s Wrath (The Expanse #8) by James S.A. Corey</strong> - Up to chapter 39. I keep saying how high the stakes get on these novels, but I just don’t have any other way to talk about them without spoiling things. It really is an amazing series and some epic stuff has been happening. There have also been heavy losses, which is something that really got me crying a bit. I’m definitely looking forward to the conclusion of this epic journey.</p> </li> <li> <p><strong>Clarkesworld #211</strong> - I compelted another short story: <strong>The Arborist by Derrick Boden</strong>. I have to admit I was probably distracted at the beginning, each page kind of came and went, but as I read through, things started to click a bit more, and I really enjoyed this one. It had some interesting themes like space colonization, terraformation and the like. Definitely an interesting concept.</p> </li> <li> <p><strong>Smoking Behind The Supermarket With You</strong> - Up to chapter 62. Oh no, oh no! They are doing the thing, where we get so close to finally have a love declaration, and some long-forgotten memory of the character’s past returns at last, and now everything is a mess! I can’t believe it and I can’t stop reading but I have to wait a whole month again!</p> </li> <li> <p><strong>Heavenly Delusion</strong> - Up to chapter 79 - I am only three chapters behind now, and this story has been a roller coaster of mystery and dangers on every corner. I think I’ll leave it here for now because it has been a couple months and I assume the author is on a bit of hiatus, I am loving this a lot right now. Looking forward to more.</p> </li> </ul> <h2 id="around-the-web">Around the Web</h2> <h3 id="blog-posts">Blog posts</h3> <ul> <li> <p><a href="https://blog.lauramichet.com/the-mandalorian-and-grogu-should-have-been-a-mostly-puppets-movie/">The Mandalorian and Grogu should have been a mostly-puppets movie</a> - I was very skeptical and kinda cringed a bit at the idea of the title here but then I thought about it and I agree whole-heartedly.</p> </li> <li> <p><a href="https://discardpile.pika.page/posts/where-everybody-knows-your-name">Where everybody knows your name</a> - This is an interesting idea and I have a similar concept. Just hanging out in a place where people you know show up here and there and conversations and interactions naturally spark. I agree than some healthier social media spaces have become that very thing, but it’s harder in real life.</p> </li> <li> <p><a href="https://smallcypress.bearblog.dev/lookiehere/">I want everybody to live very close</a> - I didn’t realize this at the time but this and the last post are actually kind of similar! A walkable neighborhood of close friends sounds like such a nice thing. I wonder if it could be possible in today’s world.</p> </li> </ul> <h3 id="youtube">YouTube</h3> <ul> <li> <p><a href="https://youtu.be/VZgxZb7rAmg">all the pixels in new york are freezing</a> - This is one of those videogame essays that really do change your outlook in life and gaming as an artform. It is absolutely beautifully made and I really recommend you giving it a watch. This is the one video I would love to hear your thoughts about.</p> </li> <li> <p><a href="https://youtu.be/PhVBCMPx4W4">I Tried The Internet’s Favorite Browser… I Get It Now.</a> - I like to see some of the love for Zen Browser out there, this is a pretty simple video which talks about many things that may be obvious for most Linux users, but I love seeing these alternative browsers get the spotlight.</p> </li> <li> <p><a href="https://youtu.be/B7_6VnpaPw8">Viva La Derivada - (Coldplay Calculus Parody)</a> - A musical parody video on this day and age? This video feels like we traveled back to 2014 or something, and I would welcome that with open arms.</p> </li> <li> <p><a href="https://youtu.be/L2hqgiW6NXw">We Recreated a 47 Year Old Effect: How Hard Could It Be?</a> - Last year I had an absolute blast revisiting the old and new Alien films, and this video from Corridor made me smile quite a bit. I also feel old knowing this effect was made almost fifty years ago.</p> </li> </ul> <p>This is day 70 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p> <p> <a href="mailto:me@joelchrono.xyz?subject=Post cards, completing games and books - W22">Reply to this post via email</a> | <a href="https://fosstodon.org/@joel/idcomments">Reply on Fediverse</a> </p> Using FourSquare's API to post location checkins to social media - Terence Eden’s Blog https://shkspr.mobi/blog/?p=68230 2026-06-02T11:34:51.000Z <p>What is this, 2016?</p> <p>I like sharing my location with my pocket friends sometimes. If I'm in a cool bar that they know, perhaps they can recommend a drink. If they live nearby, maybe they want to come for dinner. Not everyone has FourSquare's SwarmApp, so it is handy to automatically share its updates with other people.</p> <p>Of course, Swarm doesn't cross-post to social media because walled-gardens are the most profitable. This is my attempt to open it back up again.</p> <p>Here's what they look like on BlueSky and Mastodon:</p> <blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:i6misxex577k4q6o7gloen4s/app.bsky.feed.post/3mmlb3yva3b2x" data-bluesky-cid="bafyreifyyuioy5zwpghfyqcdx7pjippygsg3o3nr3svtvf7owqsdjlygxy" data-bluesky-embed-color-mode="system"><p lang="en">Checked in to Hamburger Fischmarkt, Große Elbstr. 9 (Fischmarkt), Germany Probably a *bit* early for a breakfast beer. See on Swarm<br><br><a href="https://bsky.app/profile/did:plc:i6misxex577k4q6o7gloen4s/post/3mmlb3yva3b2x?ref_src=embed">[image or embed]</a></p>— Terence Eden (<a href="https://bsky.app/profile/did:plc:i6misxex577k4q6o7gloen4s?ref_src=embed">@edent.tel</a>) <a href="https://bsky.app/profile/did:plc:i6misxex577k4q6o7gloen4s/post/3mmlb3yva3b2x?ref_src=embed">24 May 2026 at 07:45</a></blockquote> <script async="" src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script> <blockquote class="mastodon-embed" data-embed-url="https://mastodon.social/@Edent/116642179645011519/embed" style="background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;"> <a href="https://mastodon.social/@Edent/116642179645011519" target="_blank" style="align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 79 75"><path d="M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z" fill="currentColor"></path></svg> <div style="color: #787588; margin-top: 16px;">Post by @Edent@mastodon.social</div> <div style="font-weight: 500;">View on Mastodon</div> </a> </blockquote> <script data-allowed-prefixes="https://mastodon.social/" async="" src="https://mastodon.social/embed.js"></script> <h2 id="tldr"><a href="https://shkspr.mobi/blog/2026/06/using-foursquares-api-to-post-location-checkins-to-social-media/#tldr">tl;dr</a></h2> <p>You can <a href="https://gitlab.com/edent/swarmtosocial/-/blob/main/swarmtosocial.py">get the SwarmToSocial code from my GitLab</a>.</p> <p>At the moment, developers get <a href="https://foursquare.com/pricing/">10,000 API calls for free each month</a>. That's probably more than enough for most personal uses.</p> <h2 id="documentation"><a href="https://shkspr.mobi/blog/2026/06/using-foursquares-api-to-post-location-checkins-to-social-media/#documentation">Documentation</a></h2> <p>I was pleasantly surprised that <a href="https://docs.foursquare.com/developer/reference/create-a-checkin">FourSquare's CheckIn documentation</a> was fairly easy to use and understand.</p> <p>Once you've <a href="https://foursquare.com/developers/home">signed up for a developer account</a> you can create an OAuth app. That will generate a Client ID (<code>ABC123</code>), Client Secret (<code>XYZ789</code>), and you supply a Project URL.</p> <p>Once done you can <a href="https://docs.foursquare.com/developer/reference/personalization-apis-authentication">follow the Authentication documentation</a>. Or just visit:</p> <pre><code class="language-_">https://foursquare.com/oauth2/authenticate? client_id=ABC123 &amp;response_type=code &amp;redirect_uri=https://example.com/ </code></pre> <p>Sign in with your FourSquare account. It will redirect you to:</p> <p><code>https://example.com/?code=456QWE</code></p> <p>Use that code to construct the final URl:</p> <pre><code class="language-_">https://foursquare.com/oauth2/access_token? client_id=ABC123 &amp;client_secret=XYZ789 &amp;grant_type=authorization_code &amp;redirect_uri=http://example.com/ &amp;code=456QWE </code></pre> <p>That will respond with the Access Token:</p> <pre><code class="language-json">{ "access_token":"asdfghjkl123456" } </code></pre> <p>Hurrah! Posting a new checkin is <em>relatively</em> simple. POST to this URl with a header of <code>accept: application/json</code></p> <pre><code class="language-_">https://api.foursquare.com/v2/checkins/add? v=20260223 &amp;venueId=13600425 &amp;shout=This%20is%20a%20test &amp;oauth_token=asdfghjkl123456 </code></pre> <ul> <li><code>v</code> is, rather confusingly, a date. <a href="https://docs.foursquare.com/developer/reference/versioning">The versioning documentation</a> has more details but, basically, set it to the date you deployed your app.</li> <li><code>venuId</code> you'll need to find yourself (more on that later).</li> <li><code>shout</code> is up to 140 characters (!) of URl encoded text.</li> </ul> <p>That will send back rather a lot of JSON. Here are the important bits:</p> <pre><code class="language-json">{ "meta": { "code": 200, "requestId": "123456789" }, "response": { "checkin": { "id": "987654321", "createdAt": 1771843820, "type": "checkin", "visibility": "closeFriends", "shout": "This is a test of the API", "timeZoneOffset": -300, "editableUntil": 1771930220000, "user": { "id": "56367", "firstName": "Terence", "lastName": "Eden", "relationship": "self", "displayName": "Terence Eden" }, "venue": { "id": "QWERTYUIOP", "name": "My Birthday Party!", "contact": {}, "location": { "isFuzzed": true, "lat": 39.123456789, "lng": -84.987654321, "cc": "US", "city": "Cincinnati", "state": "KY", "country": "United States", "formattedAddress": [ "Cincinnati, KY", "United States" ] } }, "checkinShortUrl": "https://swarmapp.com/user/56367/checkin/987654321?s=wRZ7ByNfCW1DNrOIpsRcytPZelE" } } } </code></pre> <p>For my purposes, the <code>shout</code> and <code>checkinShortUrl</code> are the most important. You can view a sample check in:</p> <p><a href="https://swarmapp.com/user/56367/checkin/699c34b55bad6b7fb1695544?s=LA7jCaAtH-s9CwSpgQrQdHrP5-8">https://swarmapp.com/user/56367/checkin/699c34b55bad6b7fb1695544?s=LA7jCaAtH-s9CwSpgQrQdHrP5-8</a></p> <h2 id="venue-id"><a href="https://shkspr.mobi/blog/2026/06/using-foursquares-api-to-post-location-checkins-to-social-media/#venue-id">Venue ID</a></h2> <p>If you're already using <a href="https://shkspr.mobi/blog/2018/11/extracting-your-data-from-untappd/">a service like Untappd</a> you might be able to get the venue ID from that.</p> <p>If not, FourSquare provides <a href="https://opensource.foursquare.com/os-places/">100 million points of interest</a> for free - although with <a href="https://community.openstreetmap.org/t/foursquare-releases-100m-poi-dataset-under-apache-2-0/121883">questionable data quality</a>.</p> <p>Alternatively, you can <a href="https://docs.foursquare.com/fsq-developers-places/reference/place-search">search by location</a>:</p> <pre><code class="language-_">curl --request GET \ --url 'https://places-api.foursquare.com/places/search?ll=51.123%2C0.123&amp;radius=1000&amp;sort=POPULARITY' \ --header 'X-Places-Api-Version: 2025-06-17' \ --header 'accept: application/json' \ --header 'authorization: Bearer ABC123' </code></pre> <p>As far as I can see, the <code>Bearer Token</code> only exists <a href="https://docs.foursquare.com/fsq-developers-places/reference/place-search">on the documentation page</a>. I couldn't find it in my developer console. Weird!</p> <p>That gets you back:</p> <pre><code class="language-json">{ "results": [ { "fsq_place_id": "4be584ed2457a593ad8cab15", "latitude": 51.11783041264215, "longitude": 0.11219274871133413, "categories": [ { "fsq_category_id": "4bf58dd8d48988d1fa941735", "name": "Farmers Market", "short_name": "Farmers Market", "plural_name": "Farmers Markets", "icon": { "prefix": "https://ss3.4sqi.net/img/categories_v2/shops/food_farmersmarket_", "suffix": ".png" } } ], "date_created": "2010-05-08", "date_refreshed": "2025-11-01", "distance": 970, "extended_location": {}, "link": "/places/4be584ed2457a593ad8cab15", "location": { "address": "", "locality": "Hartfield", "region": "East Sussex", "postcode": "", "admin_region": "England", "country": "GB", "formatted_address": "Hartfield, East Sussex" }, "name": "Perryhill Farm Shop", "placemaker_url": "https://foursquare.com/placemakers/review-place/4be584ed2457a593ad8cab15", "related_places": {}, "social_media": { "twitter": "" }, "tel": "", "website": "http://www.perryhillorchards.co.uk/index.php?sec=4" }, { "fsq_place_id": "8896f77565e54a658585301d", "latitude": 51.11649, "longitude": 0.13131, "categories": [], "date_created": "2021-12-06", "date_refreshed": "2021-12-06", "distance": 909, "extended_location": {}, "link": "/places/8896f77565e54a658585301d", "location": { "address": "Priory Park, Beech Green Lane", "locality": "Withyham", "region": "East Sussex", "postcode": "TN7 4DB", "admin_region": "England", "post_town": "Hartfield", "country": "GB", "formatted_address": "Priory Park, Beech Green Lane, Withyham, East Sussex, TN7 4DB" }, "name": "Spectra Studios", "placemaker_url": "https://foursquare.com/placemakers/review-place/8896f77565e54a658585301d", "related_places": {}, "social_media": {}, "tel": "01892 487149" }, ], "context": { "geo_bounds": { "circle": { "center": { "latitude": 51.123, "longitude": 0.1234 }, "radius": 1000 } } } } </code></pre> <p>You can manually check a place using the Placemaker site: <a href="https://foursquare.com/placemakers/review-place/64eca80f0398c97ab52298ec">https://foursquare.com/placemakers/review-place/64eca80f0398c97ab52298ec</a></p> <h2 id="getting-existing-checkins"><a href="https://shkspr.mobi/blog/2026/06/using-foursquares-api-to-post-location-checkins-to-social-media/#getting-existing-checkins">Getting Existing Checkins</a></h2> <p>What if you've checked in to a place using the official Swarm app? How do you get your own recent checkin data?</p> <p>Again, there is <a href="https://docs.foursquare.com/developer/reference/get-user-checkins">documentation on getting user checkins</a>.</p> <pre><code class="language-bash">curl --request GET \ --url 'https://api.foursquare.com/v2/users/self/checkins?v=20260223&amp;limit=2&amp;offset=0&amp;oauth_token=asdfghjkl123456' \ --header 'accept: application/json' </code></pre> <p>Where it says <code>oauth_token</code> it <em>actually</em> means the <code>access_token</code>.</p> <p>The JSON that is returned is a bit verbose, so I've simplified it here:</p> <pre><code class="language-json">{ "meta": { "code": 200, "requestId": "699c6505b488565a31e315e3" }, "response": { "checkins": { "count": 2344, "items": [ { "id": "699c34b55bad6b7fb1695544", "createdAt": 1771844789, "type": "checkin", "visibility": "closeFriends", "entities": [], "shout": "Testing the API using an Untappd FourSquare ID.", "timeZoneOffset": 0, "editableUntil": 1771931189000, "venue": { "id": "64eca80f0398c97ab52298ec", "name": "Abbey Wood Fossil Pit", "contact": {}, "location": { "lat": 51.487514, "lng": 0.13048041, "postalCode": "SE2 0AX", "cc": "GB", "country": "United Kingdom", "formattedAddress": [ "SE2 0AX" ] }, "createdAt": 1693231119 }, }, </code></pre> <p>Annoyingly, there's no <code>checkinShortUrl</code> which means it can't easily be shared.</p> <p>For that, you'll need to <a href="https://docs.foursquare.com/developer/reference/get-checkin-details">use the <code>get-checkin-details</code> API</a>:</p> <pre><code class="language-bash">curl --request GET \ --url 'https://api.foursquare.com/v2/checkins/699c34b55bad6b7fb1695544?v=20250202&amp;oauth_token=asdfghjkl123456' \ --header 'accept: application/json' </code></pre> <p>Which will return this (truncated for brevity):</p> <pre><code class="language-json">{ "meta": { "code": 200, "requestId": "699c67de5f5c0a0e8ab234db" }, "response": { "checkin": { "id": "699c34b55bad6b7fb1695544", "createdAt": 1771844789, "type": "checkin", "shout": "Testing the API using an Untappd FourSquare ID.", "timeZoneOffset": 0, "checkinShortUrl": "https://swarmapp.com/user/56367/checkin/699c34b55bad6b7fb1695544?s=LA7jCaAtH-s9CwSpgQrQdHrP5-8", </code></pre> <h2 id="photos"><a href="https://shkspr.mobi/blog/2026/06/using-foursquares-api-to-post-location-checkins-to-social-media/#photos">Photos</a></h2> <p>If there's a photo with the checkin, it will be return in the JSON like this:</p> <pre><code class="language-json">{ "response": { "checkin": { "photos": { "count": 1, "items": [ { "id": "699f3a9f96799c05c0f16c9c", "createdAt": 1772042911, "prefix": "https://fastly.4sqi.net/img/general/", "suffix": "/56367_5VYox4Y-hs66wURVsYc1NLgOokfwBfcWhtKQrOlMdD8.jpg", "width": 1008, "height": 1344, </code></pre> <p>The URl for the image is <code>prefix width x height suffix</code> - in this case <a href="https://fastly.4sqi.net/img/general/1008x1344/56367_5VYox4Y-hs66wURVsYc1NLgOokfwBfcWhtKQrOlMdD8.jpg">https://fastly.4sqi.net/img/general/1008x1344/56367_5VYox4Y-hs66wURVsYc1NLgOokfwBfcWhtKQrOlMdD8.jpg</a></p> <p>You can adjust the width and height if you want a thumbnail or some other resolution.</p> <p>If there's no photo, the count will be 0.</p> <h2 id="putting-it-all-together"><a href="https://shkspr.mobi/blog/2026/06/using-foursquares-api-to-post-location-checkins-to-social-media/#putting-it-all-together">Putting it all together</a></h2> <p>Every 15 minutes, <a href="https://gitlab.com/edent/swarmtosocial/-/blob/main/swarmtosocial.py">the SwarmToSocial code</a> does the following:</p> <ol> <li>Get the most recent checkin.</li> <li>Read a local file to get the previously seen checkin ID.</li> <li>If the checkin ID hasn't been seen before: <ol> <li>Get the checkin details.</li> <li>Get the photo if it exists</li> <li>Post the checkin (plus photo) to Mastodon &amp; BlueSky.</li> <li>Save the checkin ID to a file.</li> </ol></li> </ol> <p>Enjoy!</p> <img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=68230&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager"> Wonders of Web Weaving, Episode 4 - James' Coffee Blog https://jamesg.blog/2026/06/02/www-4 2026-06-02T00:00:00.000Z <p><a href="https://web-weaving.jamesg.blog/4" rel="noreferrer">The fourth episode of Wonders of Web Weaving is out</a>:</p><blockquote>In Episode 4, I chat with <a href="https://marisabel.nl">Marisabel</a>, the author of <a href="https://marisabel.nl">Konfetti Explorations</a>. We talk about, among other things, websites as gardens, sharing art on one's personal website, and seasons of making our websites.</blockquote><p>I hope you enjoy the episode!</p><p><a href="https://web-weaving.jamesg.blog/subscribe/" rel="noreferrer"><em>Wonders of Web Weaving has an RSS feed</em></a><em> you can use to follow along from wherever you get your podcasts.</em></p><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a054dfad5838ff98',t:'MTc4MDM4NjY5NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&amp;&amp;(document.onreadystatechange=e,c())}}}})();</script> <a class="tag" href="https://marisabel.nl">Konfetti Explorations</a> <a class="tag" href="https://marisabel.nl">Marisabel</a> <a class="tag" href="https://web-weaving.jamesg.blog/4">The fourth episode of Wonders of Web Weaving is out</a> <a class="tag" href="https://web-weaving.jamesg.blog/subscribe/">Wonders of Web Weaving has an RSS feed</a> Deciding to work for myself - Johnny.Decimal https://johnnydecimal.com/blog/0214-deciding-to-work-for-myself/ 2026-06-01T04:06:48.000Z <blockquote> <p>Lucy here. I thought I&#39;d try writing about little things I&#39;ve noticed about being self-employed/having a small business. In case it helps anyone else who has, or is about to, take the leap. We&#39;ll see how this goes.</p> </blockquote> <p>I started doing extra freelance work early in my career to supplement my salary. So I gained a bit of experience at having a &#39;side hustle&#39;, although no one called it that yet. This continued for about 5 years alongside salaried jobs. But when I think about seriously <em>deciding to work for myself</em>, it&#39;s a specific time.</p> <p>I had a decade&#39;s worth of in-house experience with smaller local companies and large global networks. So I knew what working for other people was like. And I was tired. I knew I wanted a change and was contemplating going thermonuclear - retraining to something totally different.</p> <h2 id="i-dont-hate-what-i-do">I don&#39;t hate what I do</h2> <p>Fortunately, before enrolling in an expensive multi-year course I had a thought. I decided to commit to 100% self-employment in my current field, and to set myself up as a proper business. After a few months I had a revelation: I don&#39;t hate what I do. I just didn&#39;t really enjoy <em>who</em> I used to work for and the <em>way</em> I had to work.<sup><a href="#user-content-fn-manager" id="user-content-fnref-manager" data-footnote-ref="" aria-describedby="footnote-label" class="footnote">1</a></sup></p> <p>Which was a relief because retraining and starting from scratch is a lot of effort. I&#39;m not saying don&#39;t retrain, I fully endorse new adventures. But for me, I&#39;m glad I gave my career a second chance with self-employment. I didn&#39;t lose my hard-earned experience and contacts. And my new-found autonomy helped me enjoy work, without all the workplace stuff that drives people crazy getting in the way.</p> <p>There&#39;s not really any groundbreaking advice here, just some moral support. If you&#39;re good at something, earn a decent wage from it, but are sick of it, self-employment might be worth a try before walking away from everything. You can still enrol in that jet-ski-instructor course and make a gradual change if it&#39;s your true calling. ;-)</p> <div data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes</h2> <ol> <li id="user-content-fn-manager"> <p>If you&#39;re reading this and you used to be my manager and we liked each other, you know what I mean – it&#39;s the whole &#39;big workplace&#39; thing that I wasn&#39;t good at. If you used to be my manager and you got drunk in your lunch hour every day, you were part of the problem. <a href="#user-content-fnref-manager" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref footnoteBackLink">↩</a></p> </li> </ol> </div> This week at JDHQ – 2026-06-01 - Johnny.Decimal https://johnnydecimal.com/blog/0213-this-week-2026-06-01/ 2026-06-01T02:19:05.000Z <blockquote> <p>Originally sent to the <a href="https://johnnydecimal.com/support/contact-community/mailing-list-rss-social/">mailing list</a>.</p> </blockquote> <p>As we prepare for a Big Move tomorrow, I can feel the energy levels wane. This is how we work these days, our life measured in phases: we Move To A Place, there’s a time of Great Disruption, we get settled, then we Work Hard And Do Little Else For A Long Time. Coming to the end of that final phase – let’s call it 10 weeks of 6-days-a-week – is a relief. It’s needed.</p> <p>Tomorrow we fly to Taiwan. So we’ll spend a week Figuring Out The New Place: where to get a healthy, cheap breakfast. Where to buy the things we couldn’t bring with us: scissors, aerosols. How to get around; where to walk; where to work. It’s fun and, faced with a new place, I typically walk around wide-eyed with wonder as Lucy steers me out of the path of traffic.</p> <p>This is also the one-year anniversary of us living on the road. It’s both exhilarating, and exhausting. So we might stretch out next week and have a bit of a holiday. We need to see and walk in trees and grass and birds; take small regional trains to towns with no attractions. If this email doesn’t turn up next Monday, that’s why.</p> <h2 id="small-business-system-annual-calendar">Small Business System annual calendar</h2> <p>The big news this week is that we’re introducing an annual ‘maintenance calendar’ for SBS: the idea is that you ‘touch’ every part of your business over the course of a year, just giving it a look. Tidy it up, make sure that the essentials are there. Did your compliance certificate expire without you realising? Now’s the time to spot that and fix it up.</p> <p>This shouldn’t take more than 45 minutes every couple of weeks, but by this time next year you’ll have a really nice awareness of the entire business, and a comfort that can only come from knowing that you’ve at least looked at it all.</p> <p>To support this, there are now weekly sessions in the <a href="https://johnnydecimal.com/support/knowledge-base/sbs-events-calendar/">SBS events calendar</a> that run in perpetuity. They alternate Tuesday/Thursday (in my Asian timezone) and morning/evening each week. The first is on Thursday June 18th – this is the slot that’s best for the Europeans and Asia/Oceania, where it’s the morning/afternoon of that day. The following week’s Tuesday 23rd slot works best for the Americas, where it’s afternoon/evening on Monday 22nd. Over the course of a month, there should be a slot to suit everyone.</p> <p>I’ll be using the maintenance calendar to drive these meetings and, of course, you can bring any ad-hoc questions. See <a href="https://johnnydecimal.com/blog/0212-sbs-annual-calendar">the blog post</a> for more information, and let me know if you’d like to be in my trial group for the tracker shown.</p> <h2 id="what-we-did-last-week">What we did last week</h2> <ul> <li>Planned and launched the SBS calendar.</li> <li><a href="https://johnnydecimal.com/blog/0210-pikapods">Recommendation: PikaPods</a>.</li> <li>New JDU playlist: <a href="https://johnnydecimal.com/jdu/small-business/">Organising our small business</a>.</li> </ul> <p>j.</p> JUnited 2026 - James' Coffee Blog https://jamesg.blog/2026/06/01/junited-2026 2026-06-01T00:00:00.000Z <p>In recent weeks, I have been talking with a lot of people about personal websites. In so many of my discussions, I mention that one of the reasons I love coming back to my personal website is the community around the indie web: people all over the world sharing what interests them: slices of life, hopes and dreams, tutorials on how to do something, and more. Websites aren’t islands. Websites are houses in a town.</p><p>That brings me to <a href="https://robertbirming.com/junited-blog-love-letter/" rel="noreferrer">JUnited</a>. <a href="https://jamesg.blog/2024/06/07/junited-2024" rel="noreferrer">I first participated in JUnited</a>, a challenge that invites participants to share links to “blog posts or blogs you think deserve more love,” in 2024. I found out about the challenge via <a href="https://notes.jeddacp.com/junited2024/" rel="noreferrer">JCProbably</a>. I missed last year – I think I forgot the challenge was going on! – but I was delighted this morning to wake up to a post by <a href="https://kiko.io/post/Junited-2026/">Kristof that mentioned the challenge</a>. Inviting people to share links to blog posts they enjoy, JUnited so wonderfully embodies the essence of the indie web community.</p><p>With that in mind, I am excited to participate again in the challenge.</p><p>For each day in the month of June, I will update this post with a link to a blog post I really enjoyed reading. I invite you to peruse the links and see what interests you. And, if you have a website, I invite you to participate in the challenge, too.</p><ul><li><a href="https://britthub.co.uk/a-love-letter-to-creative-spaces/">A Love Letter To Creative Spaces</a> by Britt</li></ul><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a04d75700d62f07c',t:'MTc4MDMwODk0Mw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&amp;&amp;(document.onreadystatechange=e,c())}}}})();</script> <a class="tag" href="https://britthub.co.uk/a-love-letter-to-creative-spaces/">A Love Letter To Creative Spaces</a> <a class="tag" href="https://jamesg.blog/2024/06/07/junited-2024">I first participated in JUnited</a> <a class="tag" href="https://kiko.io/post/Junited-2026/">Kristof that mentioned the challenge</a> <a class="tag" href="https://notes.jeddacp.com/junited2024/">JCProbably</a> <a class="tag" href="https://robertbirming.com/junited-blog-love-letter/">JUnited</a> Creative spaces - James' Coffee Blog https://jamesg.blog/2026/06/01/creative-spaces 2026-06-01T00:00:00.000Z <p>In her <a href="https://britthub.co.uk/a-love-letter-to-creative-spaces/">love letter to creative spaces, Britt appreciates</a> “anywhere that is welcoming to the big table full of slightly chaotic artists who might make a mess of their carpet from time to time.” Reading through the article brought to mind memories of a table in my school that felt like a creative home for so long.</p><p>One of my “techie” teachers – the informal term we used at school to refer to technical design, woodworking, and metalworking – used to open their classroom at lunch times for people to drop in. I didn’t take technical design as a senior, but I was nevertheless welcomed into the room. In the heart of the room was a big table, what the teacher coined the “collaboration station.” The outside of the room was surrounded by computers which were used for CAD work.</p><p>I was there when the collaboration station was being designed. I don’t remember much, but the essence was that the room should have a big table where everyone can come around to collaborate; a retreat away from the isolating position of staring at screens. I remember many lunchtimes chatting about all things around the collaboration station – dreams, ornithology (one of our woodworking teachers loved bird watching!), and more.</p><p>It was in that classroom that I learned the word “ergonomics,” which was written on the wall alongside other words important to technical design. I also learned a lesson about accessibility. The aforementioned woodworking teacher was colour-blind and saw the world in greyscale. I had known them for at least a year before I learned this. Every coloured pencil was a different shade of grey, the shades being sufficiently differentiable to have meaning.</p><p>Looking back, the design of the table really made all the difference. About a dozen people could sit there at any one time. At lunch, people would pop by because the door was open, some saying hello, others staying to chat. We could eat lunch together if we wanted.</p><p>While I love to write in my own little corner, I love open spaces to collaborate. I think about space design enough that at a meetup I helped host last week I was thinking about how the layout of the table we sat at hindered communication because of how distant everyone was and how poor noise travels in the space. </p><p>Like Britt, I agree that we need more spaces for creative people of all ages to make things. Britt’s idea for “Co-working for creatives.” is enlightening. Imagine if there was a space you could go not only to collaborate with friends, but to meet new people who love making things too. Accomplishing this involves a mixture of being welcoming, building a strong community foundation, and more. Additionally, having a dedicated space – and a well-designed space at that – makes all the difference between a place that exists and a place that is well positioned to become a creative home.</p> <a class="tag" href="https://britthub.co.uk/a-love-letter-to-creative-spaces/">love letter to creative spaces, Britt appreciates</a> Be thou not pilled - Westenberg 6a1c9dfb32b7a70001972d99 2026-05-31T23:21:45.000Z <img src="https://www.joanwestenberg.com/content/images/2026/05/photo-1646736722278-2eed3d2c2159.jpeg" alt="Be thou not pilled"><p>A Scottish journalist named Charles Mackay published a book about the way crowds lose their minds. <em>Extraordinary Popular Delusions and the Madness of Crowds</em> (1841) catalogued tulip speculation, alchemy, the South Sea Bubble, witch hunts, and the slow-burn lunacy of people who grow so attached to an idea that they can no longer see around it. </p><p>It&apos;s worth a read. </p><p>A few of the ideas Mackay catalogued were stupid. But most of them weren&apos;t, and people got captured anyway. </p><p>People, in fact, get captured quite easily by any idea that arrives polished enough, at the right moment, to do their thinking for them. The quality of the idea barely matters next to the timing // need.</p><p>We have a word for this now, thanks to the Wachowskis, and that word is <em>pilled - </em>which seems appropriate. A pill is something you swallow; it dissolves into you and changes your chemistry, and after a while you can&apos;t point to where the substance ends and you begin. To be pilled is to hand a chunk of your perception to a belief system that runs without your supervision. You take the red pill, the black pill, the doomer pill, the trad pill, the e/acc pill etc. </p><p>I&apos;m not arguing against having strong views. </p><p>Strong views are how you get anything done. </p><p>But you run into all sorts of trouble when the view begins holding you instead of the other way around. </p><p>You can test for it, actually: when you meet a new fact, do you ask what it means, or do you ask what your framework says about it? If the framework answers first, every time, before you&apos;ve actually looked, you&apos;ve stopped using the idea, and the idea has started using you.</p><p>Eric Hoffer saw this in 1951. He was a longshoreman who wrote philosophy on the docks, and he understood how easily fanatics could move between opposing causes. A communist could become a fascist overnight, and a fascist could become a communist. The doctrine changed, while the appetite stayed the same: belonging to something total, surrendering judgment, and feeling the relief of never having to weigh the world again.</p><p>The strength of your conviction tells you almost nothing about whether you&apos;re wrong or right. Rather, it tells you about your appetite. Hoffer had watched it from up close, among dockworkers and drifters during the Depression. He understood the converts without sneering at them - the pull he described is the pull toward a self that finally makes sense. A loose, uncertain, contradictory person joins a movement and is made whole, with a villain to blame and a future to march toward. But the price of a self that makes sense is a self that can&apos;t change its mind.</p><p>The internet industrialised our appetites. A meme, in the sense Dawkins gave the word in The Selfish Gene in 1976, is a unit of culture that replicates by getting copied through human minds. The stickiest ideas spread furthest - and the truest go approximately nowhere. The winners simply grab onto some emotional circuit and ride it. Which means the ideas competing for room in your head are rarely selected for accuracy; they&apos;re selected for transmissibility, which is a different thing entirely. </p><p>Clever people who forget the difference end up sounding like a forwarded email chain from the late 90&apos;s. I&apos;ve watched it happen to folks a good deal smarter than me, and I&apos;ll watch it again. Someone reads a few good threads on a subject, and within a week they&apos;re deploying the vocabulary like they were born to it: the cadence, the in-group references, the ready-made counterarguments, the jargon etc. They sound incredibly fluent; but all they&apos;ve done is download a script. </p><p>But fluency in a worldview is not the same as understanding the world. </p><p>Frequently it&apos;s quite the opposite. </p><p>You can see it on every timeline. The same arguments arrive in the same order with the same emphasis. Thousands of people are convinced they reasoned their way to a conclusion that was (in fact) installed in them last week by an account they&apos;ve already forgotten - <em>but they&apos;ll defend that conclusion like it&apos;s in their blood</em>. </p><p>In Orwell&apos;s 1946 essay on politics and language he showed how a captured mind stops generating sentences and starts assembling them from prefab parts. The phrases come pre-stacked - you reach for the slogan before you reach for the thought. He&apos;d seen it on his own side, among people fighting for things he himself actually believed in. People fall for a &quot;good&quot; cause at the same rate they fall for a &quot;bad&quot; one. The test: can you state your own position in plain words you built yourself, right now, without any of the movement&apos;s stock phrases? If you can&apos;t, you may not actually hold the position. It may be holding you.</p><h1 id="a-few-things-help">A few things help. </h1><ol><li>Keep company with at least one person who disagrees with you and whom you still respect anyway. Not a strawman, and certainly not a useful idiot you keep around to feel superior. You need a sharp mind who still thinks you&apos;re wrong about something that matters and still pokes back. As long as they&apos;re in your orbit, you know the question is still open. Most of the pilled have purged everyone like that from their lives - which is why they feel so certain. Certainty is relatively easy to maintain, once you&apos;ve removed every voice that might puncture it. </li><li>Read the strongest version of the thing you reject - the book your smarter opponents cite, not the dumbest tweet you can find from the other side. If you can&apos;t argue their case well enough that they&apos;d nod along, you don&apos;t understand your own position either. You simply understand a cartoon of both. </li><li>Watch your own vocabulary. When you catch yourself reaching for the same five phrases your tribe uses, stop and force yourself to say it differently. If you can&apos;t, you might be borrowing the thought underneath. </li><li>And keep a record of what you predict. The captured mind never tracks its predictions, but it&apos;s the only way you discover that your beautiful framework has been wrong for two years. Write down what you expect to happen and check later. Nothing dissolves a pill faster than a record of its failures.</li></ol><p>I think it&apos;s worth remembering: <em>the un-pilled state isn&apos;t actually natural. </em></p><p>We didn&apos;t evolve to seek truth. We evolved to stay in the group, win arguments, and feel certain enough to act. You were never built to prize accuracy. You were built to prize belonging, and a totalising idea hands you exactly that.</p><p>You have to keep re-earning your state, daily, against your own wiring and against an information system built to capture you for profit. The platforms want you pilled, because a captured user is a predictable user, and a predictable user pays in a way a thoughtful one never does. Right now thousands of people whose whole job is to install a worldview in you and keep it running are aiming at your attention. Some sell politics. Some sell crypto or wellness or productivity or a well-honed flavour of nihilism. The pill varies from seller to seller. The business model underneath stays suspiciously stable.</p><p>Change your mind all you want, but stay the person who decides, whose judgment hasn&apos;t been subcontracted to a meme. People go mad in herds and recover their senses slowly, one by one. Mackay was right about the slowness and right about the one by one. No crowd recovers from capture all at once. You swallowed the pill to stop being one and join the herd.</p><p>Hold your ideas in your hand where you can see them, instead of letting them see for you. Learn to love a framework while staying willing to break it. And never mistake the cheap (and getting cheaper) relief of certainty for proof.</p><p>Be thou not pilled. The only conviction worth having is the kind you could lose tomorrow and survive the loss of it. </p> Who are the actors in the UK's 2015 passport? - Terence Eden’s Blog https://shkspr.mobi/blog/?p=70568 2026-05-31T11:34:08.000Z <p>I got <a href="https://xkcd.com/356/">nerdsniped</a> by a bloody <a href="https://www.reddit.com/r/AskUK/comments/1ssf943/">Reddit post</a>!</p> <p>In 2015, the UK Government launched <a href="https://www.gov.uk/government/news/new-uk-passport-design-launched">a new passport design</a>. It immediately attracted negative press for its designers' <a href="https://www.bbc.co.uk/news/uk-34710261">"sexist" decision to feature more men than women</a>.</p> <blockquote><p>The government has been accused of sexism over the new UK passport design, which commemorates the achievements of two women but seven men.</p></blockquote> <p>It's true that there are only two <em>named</em> women - but there is another <em>unnamed</em> woman on the passport! Here's the "Performing Arts" page:</p> <img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/Performing-Arts.webp" alt="Passport page, richly illustrated, featuring Shakespeare's Globe. There are three actors in the corner." width="2048" height="1455" class="aligncenter size-full wp-image-70569"> <p>Shakespeare stares down at his Wooden O. Half the page is a stage, and the men and woman merely players.</p> <p>Here they are in a bit more detail:</p> <img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/actors.webp" alt="Close up of the actors. They are dressed in period costume and are emoting." width="1600" height="1520" class="aligncenter size-full wp-image-70570"> <p>Who are they? They look like reasonably modern photos rather than portraits. They're not obviously famous. None of the press at the time mentioned who they were. No stock photography library had anything similar that I could see. Your favourite AI thought one of them was Doctor Who and the other a Congressman from Nantucket.</p> <p>The <a href="https://assets.publishing.service.gov.uk/media/5a7f516f40f0b62305b866a7/HMPO_magazine.pdf">official document describing the design</a> simply says:</p> <blockquote><p>On the left hand side there is an image of the interior of the theatre, with a play in progress.</p></blockquote> <p>I scanned in an old passport to get the faces in as much detail as possible. All three of them look like jobbing actors who you probably saw in a schools' production of Twelfth Night, don't they? <img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/actor-faces.webp" alt="Three faces in a row." width="699" height="233" class="aligncenter size-full wp-image-70575"></p> <p>I couldn't find anything about them online. I asked my investigative-minded friends but they drew a blank.</p> <p>I even sent a <a href="https://www.whatdotheyknow.com/request/images_used_in_2015_passport">Freedom of Information request to the Passport Office</a>.</p> <p>They refused on grounds of GDPR, but they did say:</p> <blockquote><p>However, we can disclose the photographs of the individuals appearing on the passport page captured by a photographer employed by a supplier contracted to HM Passport Office.</p></blockquote> <p>So, if you're one of the actors / models - or know who they are - please drop a note in the box below!</p> <img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=70568&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager"> The caramel log - James' Coffee Blog https://jamesg.blog/2026/05/31/the-caramel-log 2026-05-31T00:00:00.000Z <p>I have been a long-time lover of <a href="https://www.tunnock.co.uk/products/caramel-wafer/">Tunnocks Caramel Wafers</a>, made in Uddingston (near Glasgow), Scotland. Made with alternating thin layers of caramel and wafer and chocolate, Caramel Wafers are among my favourite biscuits. But today I learned of a Tunnocks product I had not yet tried that has now become another of my favourite biscuits: the caramel log.</p><figure><picture><img alt='A red packet that says "Tunnocks Caramel Log: Roasted coconut covered caramel wafer biscuit". The weight of the chocolate is 32g net.' loading="lazy" src="https://editor.jamesg.blog/content/images/2026/05/caramellog.png" style=" max-width: 130%;"/></picture><div class="alt"><label><input aria-label="Toggle image alt text on screen" type="checkbox"/>ALT</label><div class="content">A red packet that says "Tunnocks Caramel Log: Roasted coconut covered caramel wafer biscuit". The weight of the chocolate is 32g net.</div></div></figure><p><em>Image source: Cropped from the </em><a href="https://www.tunnock.co.uk/products/caramel-log/" rel="noreferrer"><em>Tunnocks website</em></a><em>.</em></p><p>The <a href="https://www.tunnock.co.uk/products/caramel-log/">caramel log</a> is made of wafer and caramel and “sprinkled with roasted coconut”. It is <em>delicious</em>. I am always a lover of anything that has chocolate and coconut. The wafer and caramel adds an extra bite of delight.</p><p>I was offered either a Twix or a caramel log today. I chose the caramel log because I love Tunnocks Caramel Wafers, but I almost took the Twix, another one of my favourite biscuits (on reflection, the intersection of the biscuits I love and the biscuits that are my favourite is quite high; there are so many delicious biscuits!).</p><p>Maybe the lesson for today was that trying something new can lead to wonderful results. Perusing the Tunnocks website, which I had not visited until today, also reminds me there are dark chocolate Caramel Wafers. I will try those next. But before then, I have a pack of caramel logs to eat.</p><p>Happy Sunday!</p><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a048432baa774799',t:'MTc4MDI1NDQ1NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&amp;&amp;(document.onreadystatechange=e,c())}}}})();</script> <a class="tag" href="https://www.tunnock.co.uk/products/caramel-log/">Tunnocks website</a> <a class="tag" href="https://www.tunnock.co.uk/products/caramel-log/">caramel log</a> <a class="tag" href="https://www.tunnock.co.uk/products/caramel-wafer/">Tunnocks Caramel Wafers</a> Milk chews - James' Coffee Blog https://jamesg.blog/2026/05/31/milk-chews 2026-05-31T00:00:00.000Z <p>Since I am thinking about <a href="https://jamesg.blog/2026/05/31/the-caramel-log">delicious Scottish treats</a> this evening, I thought this would be an apt time to write about another of my favourite Scottish sweets: milk chews.</p><figure><picture><img alt='A packet of milk chews. The left side of the tube of milk chews has a blue background with the label "Milk Flavour Chews"; the right side has a cow on a field next to a windmill and a lady.' loading="lazy" src="https://editor.jamesg.blog/content/images/2026/05/milkchews.png" style=" max-width: 130%;"/></picture><div class="alt"><label><input aria-label="Toggle image alt text on screen" type="checkbox"/>ALT</label><div class="content">A packet of milk chews. The left side of the tube of milk chews has a blue background with the label "Milk Flavour Chews"; the right side has a cow on a field next to a windmill and a lady.</div></div></figure><p><em>Image credit: Photo cropped from the </em><a href="https://goldencasket.co.uk/milk-chews/" rel="noreferrer"><em>Golden Gasket Group website</em></a><em>.</em></p><p>Manufactured by the Golden Gasket Group in Greenock, Scotland, <a href="https://goldencasket.co.uk/milk-chews/" rel="noreferrer">milk chews</a> – or, as they are named on the packet, “MILK FLAVOUR CHEWS” – are Starburst-sized sweets that have a simple, sweet taste. The Golden Gasket website describes the flavour of milk chews as:</p><blockquote>Reminiscent of old-fashioned milk bottle sweets, they offer a comforting, familiar flavour in a modern, plant-based format, making them suitable for vegans and vegetarians!</blockquote><p>Growing up, I loved milk chews. Only a few places sold them, and so getting a packet of milk chews was a treat.</p><p>Today, equally few places near me sell milk chews, but they are still available and just as delicious as I remember them. I had a packet last week that was gifted to me; the best possible sweet gift I could receive.</p><p>Milk chews may not have all of the accoutrements of the <a href="https://jamesg.blog/2026/05/31/the-caramel-log">caramel log</a>, for example, but milk chews have a special place in my heart and a resonance with my taste buds that echoes through the years.</p><p>I am so glad I finally wrote this blog post. I definitely want to keep some of my favourite things here. While I can't store a physical packet of milk chews on this website, I can store a little bookmark of them for me to look back on and to link to for whenever milk chews come up in discussion. Assuredly, I will try to speak of them more often: milk chews are <em>so</em> good.</p> <a class="tag" href="https://goldencasket.co.uk/milk-chews/">Golden Gasket Group website</a> <a class="tag" href="https://goldencasket.co.uk/milk-chews/">milk chews</a> <a class="tag" href="https://jamesg.blog/2026/05/31/the-caramel-log">caramel log</a> <a class="tag" href="https://jamesg.blog/2026/05/31/the-caramel-log">delicious Scottish treats</a> Notable links: May 29, 2026 - Werd I/O 6a1a56e96f75db000199a491 2026-05-30T03:27:54.000Z <img src="https://images.unsplash.com/photo-1614730321146-b6fa6a46bcb4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fGVhcnRofGVufDB8fHx8MTc4MDExMTY0Mnww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="Notable links: May 29, 2026"><p><em>Most Fridays, I share a handful of pieces that caught my eye at the intersection of technology, media, and society.</em></p><p><em>Did I miss something important? </em><a href="mailto:ben@werd.io" rel="noreferrer"><em>Send me an email</em></a><em> to let me know.</em></p><hr><h3 id="know-your-point-c"><a href="https://pointc.co/know-your-point-c/?ref=werd.io" rel="noreferrer">Know your Point C</a></h3><p>There&#x2019;s so much packed into this idea:</p><blockquote>&#x201C;You started at Point A. Now you&apos;re at Point B. To reach your big goal, you don&apos;t just need to paint a picture of the long-term vision. You need to sell Point C: the concrete, vivid destination you will take yourself, your team, and your company to over the next twelve to twenty-four months.&#x201D;</blockquote><p>I&#x2019;ve worked with so many teams where the Point C is essentially defined as: &#x201C;continue existing&#x201D;. And on one level, sure, it may be a good idea to find a sustainable path and keep plugging along. But how are you supposed to rally your team and community around that vision? It becomes an argument for treading water, and worse, a way to avoid making an opinionated decision about where the team should head.</p><p>Every team needs a mission (why it exists in the first place), a vision (the world it intends to create), and a strategy (the concrete steps to get there). The Point C is a well-defined, strategic, coherent lily pad on the way to that vision. Corey calls it the next fundable lily pad: what &#x201C;fundable&#x201D; means probably varies on your context, but it&#x2019;s always a big decision milestone for your team.</p><p>Not every team finds it easy to know where it&#x2019;s going. I like Corey&#x2019;s point about prototyping potential futures, and particularly the way it should be undertaken as a collective activity. Implicit is that there needs to be an underlying &#x201C;why&#x201D;: <em>why</em> is this the Point C that this team needs to head to? What will you be able to do from there? Is this anchored in the needs of your community &#x2014; the people you&#x2019;re trying to serve? Does it hang together as a vision that improves their lives, serves the needs of your business, and inspires the team who will make it real?</p><p>And it&#x2019;s worth asking: who on your team is empowered to define this? Is anyone? And if the answer is &#x201C;no&#x201D;, how might that change?</p><hr><h3 id="in-his-first-encyclical-pope-leo-xiv-says-ai-must-serve-humanity-not-the-powerful-few"><a href="https://religionnews.com/2026/05/25/in-his-first-encyclical-pope-leo-xiv-says-ai-must-serve-humanity-not-the-powerful-few/?ref=werd.io" rel="noreferrer">In his first encyclical, Pope Leo XIV says AI must serve humanity, not the powerful few </a></h3><p>It&#x2019;s perhaps a sign of how integrated technology is into society that this is a quote from the actual Pope:</p><blockquote>&#x201C;AI tends to amplify the power of those who already possess economic resources, expertise and access to data. Small but highly influential groups can shape information and consumption patterns, influence democratic processes and steer economic dynamics to their own advantage, undermining social justice and solidarity among peoples.&#x201D;</blockquote><p>I&#x2019;m not religious, and had to look up what an <em>&#x200C;encyclical</em> is. It&#x2019;s a formal letter that the Pope writes to his Bishops and &#x201C;people of good will&#x201D;. That he chose to spend his first one talking about the adverse power dynamics and power centralization inherent to artificial intelligence is significant.</p><p>&#x201C;Technology is never neutral,&#x201D; the Pope wrote. I agree, of course; this is my entire career thesis. I very much appreciate the implication that decentralizing power and focusing on the humanity of individuals and communities is the ethical, moral path. If you&#x2019;d asked me at any time in the past if I thought it would be something advocated for by the <em>Pope</em>, I would have laughed in your face, but it&#x2019;s nice to be surprised.</p><p>More importantly, this is absolutely a discussion that&#x2019;s worthy of focus. As technology becomes more and more ingrained in society &#x2014; with people now making very consequential decisions informed by AI systems, whether they should be or not &#x2014; how those systems are built, who they benefit, and what achieving equity looks like in a world where they dominate could not be more important. The Pope&#x2019;s on-side; are you?</p><hr><h3 id="data-centers-now-consume-6-of-us-electricity%E2%80%94and-the-backlash-has-begun"><a href="https://singularityhub.com/2026/05/22/data-centers-now-consume-6-of-electricity-in-the-us-and-the-backlash-has-begun/?ref=werd.io" rel="noreferrer">Data Centers Now Consume 6% of US Electricity&#x2014;and the Backlash Has Begun</a></h3><p>When the dotcom boom came to a crashing end, the companies behind it imploded in sometimes spectacular ways, but the infrastructure they built continued to exist. That in turn laid the groundwork for Web 2.0, the cloud revolution, and everything that came afterwards.</p><p>When we think about the AI boom, we should consider what will be left behind: the infrastructure precedents being set that will be with us for a generation. If I was a betting person (I&#x2019;m not), I&#x2019;d put money down on the current crop of AI tech companies imploding at some point, with their assets acquired by companies like Microsoft and Google (who already own the majority of data centers). The applications will flounder, but the data centers will remain &#x2014; and the energy infrastructure that enables them.</p><p>As the linked article notes:</p><blockquote>&#x201C;Data centers have always been energy-hungry, but the AI explosion is causing computing demand to skyrocket. The biggest data centers now consume as much electricity as small cities and are proliferating at breakneck speed.&#x201D;</blockquote><p>Data centers now account for 6% of US energy use, and their water use is similarly staggering. 13% of the underlying workloads are useless: zombie processes that have been left running by inattentive owners whose priorities now lie elsewhere. Beyond the environmental impacts, which are no joke, data center consumption is pushing up people&#x2019;s bills and disrupting communities. And beyond <em>that</em>, they push up real estate costs, <a href="https://www.housebeautiful.com/design-inspiration/real-estate/a71253889/data-center-property-values/?ref=werd.io">with real knock-on effects for communities</a>. It&#x2019;s no surprise, then, that legislation is being written to limit their growth.</p><p>It&#x2019;s not that we shouldn&#x2019;t have data centers. But their footprint is enormous, and the effects are sometimes disastrous. We need to consider the effect on people&#x2019;s quality of life more than the impact to GDP, not least because economic indicators like these <a href="https://unctad.org/news/gdp-not-enough-tell-if-people-are-better?ref=werd.io">don&#x2019;t actually show if people&#x2019;s lives are improving</a>.</p><p>It&#x2019;ll be an arms race: <a href="https://www.cnbc.com/2026/05/09/ai-data-center-construction-public-opposition.html?ref=werd.io">developers are considering building distributed data centers into people&#x2019;s homes</a>, making them harder to regulate. Presumably homeowners will be sold on the upside, but when the market crashes will be saddled with obsolete tech that comes at a cost to them.</p><p>My take: require them to be built with self-sufficient renewable energy that pushes excess capacity to the grid and encourage the development of new architectures that don&#x2019;t require water cooling to the same degree. Outlaw the widespread practice of building data centers using shell companies that obscure their real ownership. And ensure they are taxed robustly nationwide, so that revenues can benefit local communities.</p><p>In a few years, when the hype cycle dies down and people understand the capabilities and limitations of AI with clearer eyes, we&#x2019;ll have a ton of new infrastructure that can&#x2019;t easily be turned down &#x2014; and we will have set energy consumption precedents that will be hard to reverse. Now is the time to set the right standards, and for communities to push back against what they won&#x2019;t tolerate.</p><hr><h3 id="the-web-is-being-made-accessible-for-ai-not-people"><a href="https://www.techpolicy.press/the-web-is-being-made-accessible-for-ai-not-people/?ref=werd.io" rel="noreferrer">The Web Is Being Made Accessible for AI, Not People</a></h3><p>This is worth sitting with:</p><blockquote>&#x201C;The modern web, originally built for sighted humans using browsers, is now being redesigned for a new kind of user.<br><br>What these developers are offering their AI visitors is essentially an accessibility accommodation. [&#x2026;] But when the audience is a disabled person, it has historically been treated as an afterthought. Structured, concise text-based representations of complex content are almost exactly the kind of accommodation that blind and low-vision screen reader users have spent decades requesting from web developers, largely in vain.&#x201D;</blockquote><p>One of the oddest parts of the AI shift is that people are much more willing to do things for LLMs that they should have been doing for human beings all along. Accessibility is clearly an important one: 95% of websites have accessibility flaws, and convincing teams to allocate time for accessibility concerns can be like pulling teeth. But now that similar affordances are required for LLM use, people are leaping over themselves to implement them.</p><p>The same goes for specifications and documentation. Often, these have been afterthoughts; policies have been hand-waved rather than concretely written down in ways that people can point to. Sometimes it&#x2019;s even made explicit that this is to preserve manager optionality. But now that LLMs need more concrete instructions in order to behave well, specifications, documents, plans, and policies have rocketed up the priority list.</p><p>It would be beautiful if these needs converged, but as the article notes, the affordances needed by screen readers and LLMs are different. Similarly, documentation and planning documents aimed at an LLM are coercive in nature: they&#x2019;re designed to force the software to do the right thing, rather than to provide background as to why something is the case.</p><p>The simple truth is that there is clearly a perception, in some quarters, that there is a stronger productivity gain from doing this work to serve AI than doing it to serve real human people. That&#x2019;s quite a dystopian idea, particularly as, even if you don&#x2019;t care about people with disabilities or your own colleagues, <em>doing those things for humans clearly actually has a real benefit</em>. Making your site more usable allows more people to interact with your work and improves your search engine performance. Writing clear documentation and policies allows your colleagues to spend less time figuring out what to do.</p><p>But you can&#x2019;t measure those things neatly. The cause and effect aren&#x2019;t immediately tethered; managers don&#x2019;t see a boost they can cleanly ascribe to this work. In contrast, you know pretty instantly whether the AI you&#x2019;ve trained on your documentation is doing the right thing.</p><p>More importantly, whereas accessibility affordances provide new abilities for vulnerable people, an AI affordance provides new abilities for people with power. And that&#x2019;s probably the heart of it.</p><hr><h3 id="the-normal-response-to-the-social-web"><a href="https://forbetter.ghost.io/the-normal-response-to-the-social-web/?ref=werd.io" rel="noreferrer">The &apos;normal&apos; response to the Social Web</a></h3><p>An accessible, nuanced piece from <a href="https://forbetter.ghost.io/?ref=werd.io">Saskia Welch</a> about marketing the open social web, which translates easily to being a piece about marketing <em>any</em> transformative technology.</p><blockquote>&#x201C;Fediverse this, Social Web that, no one cares!<br><br>Genuinely, no one cares. And, even if you get them to start caring, they do so in the complete opposite direction we&apos;ve been heading with our messy, undoubtedly decentralised, marketing.&#x201D;</blockquote><p>When we&#x2019;re building as part of an open source movement (or any kind of ideological movement), we run the risk of gauging our decisions based on the reactions of the movement itself. It&#x2019;s easy to say that you can&#x2019;t build a feature, or talk about your project in a particular way, because the community won&#x2019;t like it. Fine, but are those people the ones you want to reach? Are you speaking to the converted or trying to find a bigger audience?</p><p>Talking to existing believers is fine if you want to gain approval or achieve consensus with collaborators who are already in the tent. It&#x2019;s next to useless if you want to bring more people in and sell them on why what you&#x2019;re building is going to make their lives better. It&#x2019;s also worth saying, as Saskia does, that projects need money to reach sustainability; it&#x2019;s rare that existing converts are going to be your customers.</p><p>Converts are people who want your project to exist because they believe in the cause; they are not necessarily people who want it to exist because they themselves <em>need</em> it. The former group is comforting, but you need to find the latter group in order to survive. And if that group doesn&#x2019;t exist, your project is dead in the water.</p><p>The open social web &#x2014; the fediverse, the atmosphere, any open standards movement &#x2014; is not a product. Imagine selling the idea of Bluetooth instead of a great pair of wireless headphones. You set out to buy the headphones; Bluetooth is what makes them useful. Headphones can be designed and targeted for specific groups of people (people who work out, people working at their desk, frequent travelers, etc). If people get used to Bluetooth working seamlessly well, then Bluetooth becomes a feature they look for &#x2014; but it&#x2019;s not the thing they look for first.</p><p>Really great social media platforms are the product. The underlying standards and tooling are what makes them work. Very few people go to Bluesky for AT Protocol; if AT Protocol then gives them superpowers that genuinely make their lives better, <em>then</em> they might look for other products that support it. Bluesky, Mastodon, Pixelfed, et al are the products. The onus is on them to be better than other social media for people who don&#x2019;t care about the underlying principles or protocols.</p><hr><h3 id="the-pope-on-defederation"><a href="https://connectedplaces.online/reports/fr164-the-pope-on-defederation/?ref=werd.io" rel="noreferrer">The Pope on Defederation</a></h3><p><a href="https://connectedplaces.online/?ref=werd.io">Laurens Hof</a> provides some of the best and most important analysis of the open social web. This piece about how the Pope&#x2019;s <a href="https://www.vatican.va/content/leo-xiv/en/encyclicals/documents/20260515-magnifica-humanitas.html?ref=werd.io">Magnifica Humanitas</a> encyclical applies to technology movements that seek to take is beyond Big Tech is no different.</p><blockquote>&#x201C;The dominant thinking that decentralisation is built upon has lots to say about the threats of concentrated power, but has little to say about social obligations. Cyber-libertarian tradition can tell you why no one should rule the network, but it cannot really tell you why the individual pieces should be together once it does.&#x201D;</blockquote><p>Pairing subsidiarity with solidarity is smart. The former is the liberartian-esque idea we know: that a larger entity should not affect the freedom of a smaller entity. But that&#x2019;s where many decentralization projects end. Here, a call for <em>solidarity</em> covers the social contract we all have with each other; something that pure libertarianism often pretends doesn&#x2019;t or shouldn&#x2019;t exist.</p><p>As Laurens notes:</p><blockquote>&#x201C;What is striking is that the two ecosystems struggle in opposite directions, where the fediverse has subsidiarity without solidarity, all autonomy and no way to govern the commons, and the atmosphere has solidarity without subsidiarity, a commons that almost no one shares responsibility for. The fediverse does not need more servers, it needs reasons for them to act like they owe each other something. The atmosphere does not need better tools, it has those, it needs the autonomy those tools enable to actually be taken up.&#x201D;</blockquote><p><a href="https://connectedplaces.online/reports/fr164-the-pope-on-defederation/?ref=werd.io">His whole piece</a> is very much worth your time.</p><hr><h3 id="25-years-of-oldaily"><a href="https://halfanhour.blogspot.com/2026/05/25-years-of-oldaily.html?ref=werd.io" rel="noreferrer">25 years of OLDaily</a></h3><p>If you&#x2019;re not in educational technology, it&#x2019;s possible you might not know who <a href="https://www.downes.ca/?ref=werd.io" rel="noreferrer">Stephen Downes</a> is. If you are, there&#x2019;s no way you don&#x2019;t. For a quarter century now, his daily updates at <a href="https://www.downes.ca/news/OLDaily.htm?ref=werd.io">OLDaily</a> have been one of the main ways people learn about the space; part reporter, part advocate, he&#x2019;s pushed for an open web approach to education that&#x2019;s been genuinely influential. And all on one of the very first ling blogs.</p><p>My own work on Elgg, which kickstarted my career, was directly inspired <a href="https://www.downes.ca/post/7528?ref=werd.io">by a post Stephen made about a white paper Dave Tosh and I had written</a> about social spaces for learning, 22 years ago:</p><blockquote>&#x201C;[&#x2026;] The authors&apos; proposal is visionary. &quot;Creation of a learning landscape where learners engage in the whole process both academically and socially should increase the opportunity to build one&apos;s learning instead of just being the recipients of information.&quot; If your view of portfolios is just something akin to a content management system, don&apos;t bother. But if it&apos;s the student&apos;s personal and continuing presence in an online community of discourse, then you are on to something.&#x201D;</blockquote><p>Twenty five years of this is an incredible achievement &#x2014; clearly he touched my life, but I&#x2019;m certain I&#x2019;m not alone.</p><p>As Stephen says:</p><blockquote>&#x201C;Though nothing I have ever written has been as popular as that first Guide to the Logical Fallacies (I could probably have built a career off it), I think that OLDaily has been my most substantial contribution, not the least because it wasn&apos;t about me and my accomplishments, but about the wider community that made everything possible. My story really is our story, my history really is our history.&#x201D;</blockquote><p>For open educational technology, there has been no more diligent and influential chronicler.</p> Mitigating floods of posts in Artemis - James' Coffee Blog https://jamesg.blog/2026/05/30/mitigating-floods-of-posts-in-artemis 2026-05-30T00:00:00.000Z <p><em>Note: The logic described in this post may be a stepping stone to a more robust system in the future. Please keep that in mind as you read and know that my solution may not be optimal, rather a start toward solving a problem.</em></p><p>This morning I opened Artemis and found a website I had been following for a few months had published almost a dozen posts today. The website was now, unfortunately, a <a href="https://indieweb.org/zombie_site">zombie site</a>. This experience left me with two questions:</p><ol><li>What should Artemis do if a site publishes significantly more posts than usual, and;</li><li>What should Artemis do if a site becomes a zombie site?</li></ol><p>These are two separate questions. This afternoon, I addressed the first one by adding new logic to check for if a site posts more than usual. When Artemis prepares a user’s reader with the lists of posts from sites to which they are subscribed, an additional check now happens to identify if a site is going to flood a user’s feed.</p><p>This check is as follows: Artemis counts how many posts an author has published one each day they have published a post. For each day, in ascending order by publishing date, if the author has published more than three times the maximum number of posts they have published in a day up until that date (using a 30 day rolling window <sup class="footnote-reference" id="f-1"><a href="https://jamesg.blog/longform-feed#1">1</a></sup>), and the author has published on more than two unique days in total (to prevent false positives), the author will be flagged for that day.</p><p>Importantly, the check happens on a per-day, per-author basis. This is important because posting habits may change over time, and each author has a different posting habit; a heuristic like “do something if an author publishes more than N posts” would be liable to many false positives (i.e. news sites post a lot whereas personal websites often post fewer things per day).</p><p>If an author is flagged for a day, their posts from that day will be <a href="https://jamesg.blog/2026/01/19/announcing-artemis-roll-up" rel="noreferrer">collapsed into a roll-up</a>. A roll-up is a list of posts by an author published in a given time frame. A link to a roll-up created as a result of the logic described above will appear as a single entry with a title like this in Artemis:</p><blockquote>Roll-up for example.com on 2026-05-30 (Author published more than usual) </blockquote><p>With this implementation, a user’s feed will no longer be flooded if an author suddenly posts way more than expected. Instead, the user will get a link to a dedicated page so they can review the posts. In addition, this implementation will reduce the chance that a site that has recently become a zombie and is now spamming floods your feed.</p><p>The logic above does not explicitly identify zombie sites (this could be done with a separate series of heuristics, for example checking for language changes, site generator changes, post frequency, time since last post), but it does catch the scenario that led to my feed being flooded this morning: a site I first followed several months ago came online again and published almost a dozen posts in a short space of time.</p><p>From a user experience perspective, seeing a flood of posts is overwhelming. This is the opposite feeling I want someone to have when encountering a calm reader. Indeed, if someone subscribes to an author that publishes several times per day, that is okay: the user knows to expect many posts. But in the case of an author suddenly publishing a dozen posts in a day – 12x more than usual on days they posted – the experience is not ideal.</p><p>As I mentioned in the preface to this post, I suspect my logic will need tinkering. The use of maximums may lead to false positives; there may be more optimal ways to do this. If any ideas come to mind, please let me know. But, the logic I have today is a start, and an important one at that: floods of posts in a reader are not an ideal experience. Meanwhile, I need to also think about detecting zombie sites. Perhaps the logic above could be one heuristic to take into account when determining if a site has become a zombie.</p><p>There is one notable case where this logic fails: it only works on the first day a site has flooded a user's feed (until the maximum count resets every 30 days). But, I think this is good enough to prevent cases of accidental flooding. And, for sites that have become a zombie, a roll-up with the title "(Author published more than usual)" provides a cue to the user that a feed may need to be reviewed.</p> <div class="footnote-definition" id="1"><sup class="footnote-definition-label" id="f-2">1</sup> <p>Because the maximum resets every 30 days, it means that an author posting a lot on one day far in the past will not break the logic.</p> <a href="https://jamesg.blog/longform-feed#f-1">[↩]</a></div> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a03e91eb7da16d84',t:'MTc4MDE1MjgyMw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&amp;&amp;(document.onreadystatechange=e,c())}}}})();</script> <a class="tag" href="https://indieweb.org/zombie_site">zombie site</a> <a class="tag" href="https://jamesg.blog/2026/01/19/announcing-artemis-roll-up">collapsed into a roll-up</a> <a class="tag" href="https://jamesg.blog/longform-feed#1">1</a> <a class="tag" href="https://jamesg.blog/longform-feed#f-1">[↩]</a> "The protocol world has been trying to solve the problem of how to leave, and the next step is working on how we can stay together." - Werd I/O 6a19b3e16f75db000199a48a 2026-05-29T15:42:26.000Z <p>Link: <a href="https://connectedplaces.online/reports/fr164-the-pope-on-defederation/?ref=werd.io"><em>The Pope on Defederation, by Laurens Hof in Connected Places</em></a></p><p><a href="https://connectedplaces.online/?ref=werd.io">Laurens Hof</a> provides some of the best and most important analysis of the open social web. This piece about the Pope&#x2019;s <a href="https://www.vatican.va/content/leo-xiv/en/encyclicals/documents/20260515-magnifica-humanitas.html?ref=werd.io">Magnifica Humanitas</a> encyclical is a standout.</p><blockquote>&#x201C;The dominant thinking that decentralisation is built upon has lots to say about the threats of concentrated power, but has little to say about social obligations. Cyber-libertarian tradition can tell you why no one should rule the network, but it cannot really tell you why the individual pieces should be together once it does.&#x201D;</blockquote><p>Pairing subsidiarity with solidarity is smart. The former is the liberartian-esque idea we know: that a larger entity should not affect the freedom of a smaller entity. But that&#x2019;s where many projects end. Here, <em>solidarity</em> covers the social contract we all have with each other; something that pure libertarianism often pretends doesn&#x2019;t or shouldn&#x2019;t exist.</p><p>As Laurens notes:</p><blockquote>&#x201C;What is striking is that the two ecosystems struggle in opposite directions, where the fediverse has subsidiarity without solidarity, all autonomy and no way to govern the commons, and the atmosphere has solidarity without subsidiarity, a commons that almost no one shares responsibility for. The fediverse does not need more servers, it needs reasons for them to act like they owe each other something. The atmosphere does not need better tools, it has those, it needs the autonomy those tools enable to actually be taken up.&#x201D;</blockquote><p><a href="https://connectedplaces.online/reports/fr164-the-pope-on-defederation/?ref=werd.io">His whole piece</a> is very much worth your time, and his analysis on this space is unmissable.</p> The UK Government's Low Value Purchase System is a Waste of Time - Terence Eden’s Blog https://shkspr.mobi/blog/?p=69983 2026-05-29T11:34:54.000Z <p>It can be hard running a small business. If you want to sell to a large organisation like the UK Government, there are forms to fill in, checks to comply with, tenders to bid on, and a hundred other things.</p> <p>Luckily, there's the <a href="https://www.gca.gov.uk/agreements/RM6237">RM6237 Low Value Purchase System</a> to make everything better. If a department wants to buy something below a certain threshold, they can contact any of the registered suppliers and just buy it. No complicated paperwork, cheaper prices, win-win!</p> <p>Except, there's on annoying bit of bureaucracy. Every month I have to tell the Government Commercial Agency what business I've done.</p> <img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/GCA.webp" alt="Hello Terence Eden, It’s time to report your management information to the Government Commercial Agency (GCA). If you didn’t do any business, you still need to use this service to let us know. 9 April 2026 is the deadline to report your March 2026 data You need to report for the following commercial agreement(s):- RM6237 – Low Value Purchase System Report your management information If you don’t think you should be getting this reminder or there is a problem reporting, please email the support team: Regards, GCA MI collection team" width="840" height="1000" class="aligncenter size-full wp-image-69985"> <p>Fair enough, I guess. Let them know how many paperclips I've sold to the Ministry of Administrative Affairs.</p> <p>But there's a wrinkle. What if I've sold <em>nothing</em>? Well, I <strong>still</strong> have to log on, wait for an MFA code to be send, click through, and report "No Business".</p> <img src="https://shkspr.mobi/blog/wp-content/uploads/2026/04/Screenshot-20Confirm-report-no-business-for-March-2026-on-RM6237.webp" alt="Screenshot with a button to report no business." width="1300" height="500" class="aligncenter size-full wp-image-69988"> <p>I think that's a waste of time. But I wondered how much time it collectively wastes for the nation's small businesses.</p> <p>So I filed <a href="https://www.whatdotheyknow.com/request/low_value_purchase_system_nill_r">a Freedom of Information request</a> to see how many people have to sign in to let them know they haven't done any business. They replied quickly - although sent the data as a PDF rather than the requested machine-readable format.</p> <p>Here's how much of a waste of time it is for everyone:</p> <table> <thead> <tr> <th align="right"><strong>Date</strong></th> <th align="right"><strong>Total Returns</strong></th> <th align="right"><strong>Nil Return</strong></th> <th align="right"><strong>Percent<wbr>age</strong></th> </tr> </thead> <tbody> <tr> <td align="right">Mar-25</td> <td align="right">768</td> <td align="right">729</td> <td align="right">94.9%</td> </tr> <tr> <td align="right">Apr-25</td> <td align="right">902</td> <td align="right">876</td> <td align="right">97.1%</td> </tr> <tr> <td align="right">May-25</td> <td align="right">948</td> <td align="right">923</td> <td align="right">97.4%</td> </tr> <tr> <td align="right">Jun-25</td> <td align="right">1,322</td> <td align="right">1,270</td> <td align="right">96.1%</td> </tr> <tr> <td align="right">Jul-25</td> <td align="right">1,406</td> <td align="right">1,355</td> <td align="right">96.4%</td> </tr> <tr> <td align="right">Aug-25</td> <td align="right">1,369</td> <td align="right">1,326</td> <td align="right">96.9%</td> </tr> <tr> <td align="right">Sep-25</td> <td align="right">1,416</td> <td align="right">1,362</td> <td align="right">96.2%</td> </tr> <tr> <td align="right">Oct-25</td> <td align="right">1,610</td> <td align="right">1,556</td> <td align="right">96.6%</td> </tr> <tr> <td align="right">Nov-25</td> <td align="right">1,713</td> <td align="right">1,654</td> <td align="right">96.6%</td> </tr> <tr> <td align="right">Dec-25</td> <td align="right">1,645</td> <td align="right">1,590</td> <td align="right">96.7%</td> </tr> <tr> <td align="right">Jan-26</td> <td align="right">1,536</td> <td align="right">1,487</td> <td align="right">96.8%</td> </tr> <tr> <td align="right">Feb-26</td> <td align="right">1,588</td> <td align="right">1,531</td> <td align="right">96.4%</td> </tr> </tbody> </table> <p>Even if you assume that it only takes 2 minutes to fill in their form, that's over 2 <em>days</em> worth of time being wasted every month.</p> <p>At best, 59 small businesses reported that they sold something via RM6237. Well over a thousand businesses are clicking on a button which, frankly, ought not to exist. Why isn't the onus on those <em>buying</em> using the system to report what they've spent and who they spent it with?</p> <p>After clicking the button, I'm always asked to rate my experience using the service. I FoI'd that data as well but was told:</p> <blockquote><p>This information is not held. Feedback scores submitted are anonymised and only available as a service-wide view; consequently, we do not capture or hold results specific to RM6237</p></blockquote> <p>So the GCA are wasting everyone's time and do not track how annoying it is.</p> <img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=69983&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager"> Announcing the SBS annual maintenance calendar - Johnny.Decimal https://johnnydecimal.com/blog/0212-sbs-annual-calendar/ 2026-05-29T05:15:53.000Z <p>Evolving the idea of &#39;<a href="https://johnnydecimal.com/blog/0097-tgif/">TGIF</a>&#39; (Thank God I Filed it) from last year, we&#39;re launching the annual <a href="https://johnnydecimal.com/sbs/">Small Business System</a> &#39;maintenance calendar&#39;.<sup><a href="#user-content-fn-working-title" id="user-content-fnref-working-title" data-footnote-ref="" aria-describedby="footnote-label" class="footnote">1</a></sup></p> <p>The idea of TGIF was that if you &#39;touch&#39; your system, tidying it up a smidge, but you do that regularly – on a Friday afternoon, say – then you&#39;ll be in a much better shape than if you hadn&#39;t done that. Your life will be neater and less stressful.</p> <h2 id="sbs-spread-over-the-year">SBS, spread over the year</h2> <p>The SBS contains everything that every small business needs to operate. So if we group it up into ~25 pieces and spread those out over the year such that they get a fortnight each, and then TGIF each of them in that fortnight, after a year we&#39;ll have touched every part of the business.</p> <p>And if we do that together, on the now-weekly Zoom sessions that I&#39;ve <a href="https://johnnydecimal.com/support/knowledge-base/sbs-events-calendar/">scheduled</a>, we can keep each other honest and motivated.</p> <figure class="figure jdimage jdimage--auto-dark jdimage--drop-shadow"> <picture> <img class="figure__inner" alt="Screenshot of my tracker database. Each row is an SBS group and it has a 'TGIF' date and an indication of whether my business uses this part of the SBS." height="264" loading="lazy" src="https://johnnydecimal.com/blog/0212-Baserow-1652x528@2x.png" width="826"> </picture> </figure> <h2 id="get-the-tracker">Get the tracker</h2> <p>I&#39;ve set this up as a Baserow (online database) template. If you&#39;re an SBS member, <a href="mailto:hello@johnnydecimal.com">email me</a> and I&#39;ll work directly with the first handful of respondents. If this proves popular I&#39;ll build it into JDHQ.</p> <h2 id="this-isnt-doing-the-work">This isn&#39;t <em>&#39;doing the work&#39;</em></h2> <p>To be clear, I&#39;m not asking you to do any actual <em>work</em> – say, all of your <code>21 Products</code> design – in this fortnight. Only that you check in with that part of your system, and to make sure that:</p> <ul> <li>Your files are neat. <ul> <li>Archive old stuff. Make sure everything&#39;s named well.</li> <li>Find stuff you know is missing and put it there.</li> </ul> </li> <li>Your JDex is in order. <ul> <li>Archive old entries.</li> <li>Deal with those big notes that you&#39;ve been putting off.</li> </ul> </li> </ul> <p>I imagine this might take 45 minutes? Really not long at all.</p> <h2 id="starts-on-june-9th">Starts on June 9th</h2> <p>I&#39;ve scheduled Zoom sessions every Tuesday/Thursday morning/evening, alternating across weeks, from June 9th in perpetuity.</p> <p>The first group – chosen to be an easy one – is due Friday June 26th. It&#39;s <code>15.10, 15.40+ Travel admin &amp; records</code>. See you on the call, where I&#39;ll explain in more detail.</p> <p>Here&#39;s a 6-minute video with more details.</p> <div class="youtube-embed"><iframe src="https://www.youtube-nocookie.com/embed/4iEr31Qjjk0" title="YouTube video" loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" referrerpolicy="strict-origin-when-cross-origin"></iframe></div> <div data-footnotes="" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes</h2> <ol> <li id="user-content-fn-working-title"> <p>Working title. As always, suggestions welcome. <a href="#user-content-fnref-working-title" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref footnoteBackLink">↩</a></p> </li> </ol> </div> One Million Pounds - Hey, it's Jason! https://grepjason.sh/2026/one-million-pounds 2026-05-29T00:00:00.000Z My journey to moving 1,000,000 pounds for the sake of health! My Home Screen (2026) - Joel's Log Files https://joelchrono.xyz/blog/home-screen 2026-05-28T23:00:00.000Z <p>It’s been a while since I’ve done a post sharing what my <a href="/blog/my-home-screen-2024/">home screen</a> looks like, and <em>a lot</em> has changed since then. Last year I shared <a href="/blog/whats-on-my-phone-summer-2025/">what’s on my phone</a>, but it was more of a listicle that didn’t really go into the reasoning behind my choices. In any case, that’s what I plan to do here. at least for the homescreen I got right now!</p> <p><img src="/assets/img/blogs/2026-05-28-homescreen.webp" alt="The lock screen, home screen and history screen" /></p> <p>Let’s start with the <strong>lock screen</strong>. Last time I was using a custom ROM with no way to customize it. However, since I am using a Nothing (3a) with NothingOS, I can add widgets! I have one for the weather and a global clock, both quite handy!</p> <p>My wallpaper here is some official artwork from <em>The Legend of Zelda: Echoes of Wisdom</em>—a game I have not played yet—I paid some silver points to download it from <a href="https://my.nintendo.com/rewards/65419ff35019ae8d">Nintendo’s rewards page</a> because it’s just adorable and I had to have it. Not much else to comment on.</p> <p>Now, the <strong>home screen</strong> itself does not have a lot going on! I am using a wallpaper featuring artwork from <a href="https://intothecast.online">Into The Aether</a> that is simply breathtaking to me. Best part? It was kind of made for me by the artist after they shared some versions where the artwork was squared or vertical with the planet at the very top. I wanted it centered and did my own version with Snapseed’s expansion tool. The artist took pity on me and gave me a proper one.</p> <p>Now, the layout and mitself was made using <a href="https://kisslauncher.com">KISS Launcher</a>, which has been my choice for the last couple of years.</p> <p>Nova Launcher is what I used back in the day, <a href="https://www.branch.io/resources/news/branch-acquires-nova-launcher-and-sesame-universal-search-to-create-new-ways-for-users-to-find-and-engage-with-apps/">but after</a> <a href="https://teslacoilapps.com/nova/solong.html">a whole mess</a> <a href="https://www.androidauthority.com/nova-launcher-acquisition-ads-update-3633871/">that just</a> <a href="https://www.androidauthority.com/nova-launcher-ai-plus-subscription-apk-teardown-3658932/">keeps going</a>, it’s just not worth it anymore.</p> <p>KISS Launcher offers a minimal template to start building up from. I have the Minimalistic UI turned on, which let’s me add widgets to an otherwise empty screen. I just have a digital clock. I also have a row of favorite apps and the KISS search bar at the very bottom—with a three dot menu to see some settings and an app drawer button.</p> <p>I set it up with a transparent theme, so it’s as simple as possible.</p> <p>My row of favorites features six apps. I am starting to become a boring adult, so the first one from left to right is the phone app, I am currently using <a href="https://github.com/FossifyOrg/Phone"><strong>Fossify Phone</strong></a>, since it does what I need and not much more.</p> <p>The next one is <a href="https://f-droid.org/packages/org.mozilla.fennec_fdroid/"><strong>Fennec</strong></a>, a fork of Firefox for Android that has some extra plugins and honestly works just fine for all of my needs. I prefer to avoid Chromium browsers when I can. Fennec disables some of the telemetry of vanilla Firefox too, although I’ve heard there’s more privacy-focused alternative like IronFox, Ice Raven and iode Browser.</p> <p>Next up, <a href="https://signal.org"><strong>Signal</strong></a>, my favorite messaging platform. It just works and it has worked for many years now. Thanks to usernames, it has been easier than ever to make groups with the friends I’ve made online. It does everything I want it to do, and it does it very well. I have some other messaging apps but none of them I use as much as this one.</p> <p><a href="https://antennapod.org"><strong>AntennaPod</strong></a> is simply the best podcast app for Android. It’s what got me interested into listening to podcasts in the first place. It has pretty much every feature you may need, and I like to see my stats on it every once in a while.</p> <p>Besides Podcasts, there’s music! Although I grew fond of my <a href="/blog/innioasis-y1/">Innioasis Y1</a>, I still listen to music on my phone quite a bit, so I use <a href="https://github.com/mardous/BoomingMusic"><strong>Booming Music Player</strong></a> for that. I particuarly enjoy its feature to suffle albums (instead of shuffling all the songs and making a mess).</p> <p>Last but not least, the <a href="https://github.com/FossifyOrg/Gallery"><strong>Fossify Gallery</strong></a> app. It is the fastest and simplest of them all, loads super quick and has every feature I may ever need in a gallery.</p> <p>Now, besides the minimal home screen, KISS Launcher has a <strong>History</strong> screen, which displays frequently used apps. These can be sorted in a variety of ways, but I just sort based on frequency, instead of recency, time of day, or other modes available.</p> <p>Right now, my most frequent apps are the following:</p> <ul> <li><strong>Tusky</strong> - my favorite Fediverse client</li> <li><strong>Discord</strong> - to chat in the TWG Online server</li> <li><strong>Mihon</strong> - super cool manga reader I love</li> <li><strong>WhatsApp</strong> - people in Mexico won’t switch from it</li> <li><strong>Bible</strong> - I try to read daily and finish it in a year</li> <li><strong>Material Files</strong> - to access and manage my… files</li> <li><strong>Markor</strong> - markdown editor for my blogposts and quick notes</li> <li><strong>Binary Eye</strong> - scanner for barcodes and QR codes</li> <li><strong>StoryGraph</strong> - book reading app with tracking and socializing</li> <li><strong>Image Toolbox</strong> - for my weekly collages and other image things</li> <li><strong>Droid-ify</strong> - app store for all my FOSS apps</li> <li><strong>Switch Parental Controls</strong> - to track my Nintendo Switch play time.</li> </ul> <p>These change every once in a while but it looks like a pretty accurate list of the sort of apps I use the most.</p> <p>KISS Launcher has been around for ages. It is, in fact, featured on my <a href="/blog/android-launchers">very first proper blog post</a>, and even though I have mentioned it in my <a href="/uses/">uses</a> page too, I thought it was worth sharing how my phone looks like thanks to it.</p> <p>Of course, the icon pack featured here is <a href="https://arcticons.com">Arcticons</a>, the one I’ve made contributions to <a href="/blog/inkscape-is-fun/">for a long time now</a>, it just has everything I need, and if it doesn’t, I make the icon myself. Good stuff all around!</p> <p>This is day 72 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p> <p> <a href="mailto:me@joelchrono.xyz?subject=My Home Screen (2026)">Reply to this post via email</a> | <a href="https://fosstodon.org/@joel/116654734533330376">Reply on Fediverse</a> </p> To reach your big goal, you need to sell where you're heading next - Werd I/O 6a183fc277b7bf00011e708c 2026-05-28T13:14:42.000Z <p>Link: <a href="https://pointc.co/know-your-point-c/?ref=werd.io"><em>Know Your Point C, by Corey Ford</em></a></p><p>There&#x2019;s so much packed into this idea:</p><blockquote>&#x201C;You started at Point A. Now you&apos;re at Point B. To reach your big goal, you don&apos;t just need to paint a picture of the long-term vision. You need to sell Point C: the concrete, vivid destination you will take yourself, your team, and your company to over the next twelve to twenty-four months.&#x201D;</blockquote><p>I&#x2019;ve worked with so many teams where the Point C is essentially defined as: &#x201C;continue existing&#x201D;. And on one level, sure, it may be a good idea to find a sustainable path and keep plugging along. But how are you supposed to rally your team and community around that vision? It becomes an argument for treading water, and worse, a way to avoid making an opinionated decision about where the team should head.</p><p>Every team needs a mission (why it exists in the first place), a vision (the world it intends to create), and a strategy (the concrete steps to get there). The Point C is a well-defined, strategic, coherent lily pad on the way to that vision. Corey calls it the next fundable lily pad: what &#x201C;fundable&#x201D; means probably varies on your context, but it&#x2019;s always a big decision milestone for your team.</p><p>Not every team finds it easy to know where it&#x2019;s going. I like Corey&#x2019;s point about prototyping potential futures, and particularly the way it should be undertaken as a collective activity. Implicit is that there needs to be an underlying &#x201C;why&#x201D;: <em>why</em> is this the Point C that this team needs to head to? What will you be able to do from there? Is this anchored in the needs of your community &#x2014; the people you&#x2019;re trying to serve? Does it hang together as a vision that improves their lives, serves the needs of your business, and inspires the team who will make it real?</p><p>And it&#x2019;s worth asking: who on your team is empowered to define this? Is anyone? And if the answer is &#x201C;no&#x201D;, how might that change?</p>