Shellsharks Blogroll - BlogFlockhttps://blogflock.com/list/xJ8yq2026-11-08T12:34:01.000ZBlogFlockshellsharksSome thoughts on restaurant menu QR codes - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=726532026-11-08T12:34:01.000ZTerence Eden’s Blog<blockquote><p>Is anyone else SICK AND TIRED of the way hotels now foist plastic "keycards" on guests?</p>
<p>No! I don't want tap to open my door!</p>
<p>No! I don't want to keep the card in my wallet!</p>
<p>No! I don't want electronics in control of my life!</p>
<p>What if I need to stab an attacker? Keys are great for that by flimsy plastic cards are useless</p>
<p>Gives us PROPER keys with big keyrings that we have to hand in to reception when we go out and then ask for when we come back.</p></blockquote>
<p>That is <em>exactly</em> what you sound like when you complain about restaurant menus now being available by QR code.</p>
<p>My wife and I took a <a href="https://shkspr.mobi/blog/2026/07/another-ridiculous-interrail-holiday-6379km-and-13-countries-over-7-weeks/">7 week Interrail through Europe</a>. While most places still had boring paper menu, a decent number had QR codes which allowed us to see the menu and order food. And they were <em>brilliant</em>!</p>
<p>An electronic menu offers so many advantages. Being able to instantly translate any terms by selecting the text is much easier than pointing a camera and trying to focus on a laminated bit of card.</p>
<p>That said, most of the online menus were already fully translated. They had all the legally mandated allergen information. Many of them showed when something was out of stock. <a href="https://shkspr.mobi/blog/2025/12/travelling-around-japan-as-a-vegetarian-vegan/">We had much the same experience visiting Japan</a> - getting to see a photo or video about the dish you're going to order is surprisingly useful.</p>
<p>The ones which allowed you to order were even better. So easy to select the right thing - no hoping that the waiter didn't mishear "no cheese" as "extra cheese". Notes to the kitchen about allergies were often supported. Oh, and no trying to catch the waiter's eye to let them know you're ready to order.</p>
<p>Speaking of which, no trying to catch the waiter's eye when you want to pay! Several of online platforms allowed for payment through the Web. Most supported splitting the bill between a group - so no more trying to work out who ate what.</p>
<p>So let's talk about the down-sides.</p>
<p>"What if there's no signal?!?!?" Get a roaming SIM, chief. But, as it happens, every restaurant had fast and free WiFi. Because, you know, they understand the service they're providing.</p>
<p>"I don't want a bloody app!!!!" Me neither. I didn't encounter any which required me to install a one-time app.</p>
<p>"Online ordering tries to upsell to me and I have no self control...." Sure. But waiters often recommend the most expensive wine to go with their cheapest dish.</p>
<p>"How can I flirt with a waitress if everything is mediated through a screen?????" Please reconsider your life choices.</p>
<p>"But I hate progress and love paper!" OK. In just about every restaurant I saw people being handed paper menus. Or wait staff explained what each dish was.</p>
<p>"Yes, but in the worst case scenario I've constructed in my head I have no signal, no phone, and no alternatives - and now I'm irrationally angry about that!" So walk out. Seriously, you'd leave a restaurant if the waiter was rude, or you saw a rat, or the food didn't come for an hour. Do the same if you're forced to use a service that you hate.</p>
<p>As I've said before, <a href="https://shkspr.mobi/blog/2022/06/the-modern-world/">I love living in the future</a>. I can't be bothered with fully grown adults throwing a tantrum over every bit of progress.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=72653&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">Does Money Buy Happiness? - Kev Quirkhttps://kevquirk.com/does-money-buy-happiness2026-11-08T11:29:00.000ZKev Quirk<div class="link card"><h2>Does Money Buy Happiness?</h2><p class="post-author">by Tuesdays Child</p><p>Tuesdays Child talks about how they think money = happiness. It's an interesting debate with people on both sides of the fence.</p><p><a class="button" target="_blank" href="https://tuesdaynight.blog/does-money-buy-happiness/">Read post ➡</a></p></div>
<hr>
<p>I found this post via <a href="https://blog.absurdpirate.com/does-money-buy-happiness-no-sorta/" rel="noopener noreferrer">this reply</a> on Bubbles. Both are interesting takes, for different reasons.</p>
<p>For me, money doesn't buy happiness - it buys the removal of financial stress. What actually makes you happy is the people around you and the decisions you make with whatever you have. I've <em>kinda</em> talked about this before in my <a href="https://kevquirk.com/when-was-i-happiest">when was I happiest</a> post.</p>
<p>I grew up in a very poor home. After my mum and dad split up, our house was repossessed and we ended up living in a rough area surrounded by gangs, drug addicts, and prostitutes. My mum worked every hour god sends as a cleaner just to make ends meet, while I looked after the younger kids. We didn't know if the bills would be paid and were stuck in a cycle of weekly payday loans for <em>years</em>.</p>
<p>On paper, that doesn't sound like a happy existence, right?</p>
<p>But we were happy. As we settled in, we became part of the community, and watching all the street drama - like the regular fights and arrests that are common in rough areas - just became part of the entertainment, like watching a live episode of <em>Jerry Springer</em>.</p>
<p>It wasn't all sunshine and roses, though. I remember one time when the addict that lived opposite us came busting into our flat screaming that her baby had died and she needed to call an ambulance. Back then there were no mobile phones, and our landline was in mum's bedroom. So mum obviously let her go call an ambulance.</p>
<p>Turns out her baby was fine, but she knew our phone was in mum's bedroom and she took the opportunity to steal all mum's jewellery for drug money.</p>
<p>Still, most of my memories from back then are good ones. I fondly remember sitting with my mum on a Friday night watching a stream of comedy shows like <em>Cheers</em> and <em>Frasier</em>. Once in a blue moon she'd say, <em>"do you fancy a pizza?"</em> Obviously I did! I'd jump on my bike, cycle to the local takeaway, and get us a 10" pizza to share because that's all we could afford. My god, were we happy. We were together, money be damned.</p>
<h2>Fast forward 35 years</h2>
<p>Today, my life is the polar opposite of how I grew up. We live in a lovely quaint village in the Welsh countryside and I earn a very good living. Having money solves certain problems - like not having to worry about paying the bills or putting food on the table - which certainly makes life easier, even if it doesn't automatically make you happy.</p>
<p>It still comes down to the choices you make along the way. Four years ago, we bought our dream home in the country. It's an old place that needs a ton of renovation work, which comes with big bills of its own. Had we stayed in our old house, we could have been mortgage-free by now. </p>
<p>Would having no mortgage have made us happier? Probably not. That house was too small for us, right in the middle of a large town, and it felt claustrophobic. Taking on the bigger financial commitment gave us the lifestyle we actually wanted.</p>
<h2>It's a balancing act</h2>
<p>I am happy today, but not because of what I earn. I'm happy because I'm surrounded by the people I love, living the life we want to live.</p>
<p>On the other end of the scale from my childhood, you could have a millionaire who's completely alone and tries to fill that void with <em>things</em> - nice watches, nice cars, a nice home. With no-one to share it with, it's all just meaningless stuff.</p>
<p>I think of it like a see-saw. The sweet spot is somewhere in the middle: having enough money that you don't have to worry about the basics, without spending your whole life climbing the ladder and missing out on time with the people who matter. That's a big part of why <a href="https://kevquirk.com/career-update">I stepped down last year</a>.</p>
<p>Money doesn't necessarily mean happiness. It can certainly help, though.</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=Does%20Money%20Buy%20Happiness%3F">reply to this post by email</a>, or <a href="https://kevquirk.com/does-money-buy-happiness#comments">leave a comment</a>.</p>
</div>espresso - James' Coffee Bloghttps://jamesg.blog/2026/11/08/espresso2026-11-08T00:00:00.000ZJames' Coffee Blog
<p>Cosy glass, white wisps —<br/>
Bubbling dual espressos.<br/>
Morning steams and flows.</p>
the meadows, edinburgh - James' Coffee Bloghttps://jamesg.blog/2026/11/08/the-meadows2026-11-08T00:00:00.000ZJames' Coffee Blog
<p>Amber triangle —<br/>
Stillness in the graceful air.<br/>
Foliage falling.</p>
<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a5775faf0f991e1a',t:'MTc5NDE3MDIyNw=='};var l=window.parent.location,o;try{o=new URL(l.origin).origin}catch(e){try{o=new URL(new URL(l.href).origin).origin}catch(e){o=''}}var u='/cdn-cgi/challenge-platform/scripts/jsd/main.js?ray=a5775faf0f991e1a',a=document.createElement('script');a.src=o?new URL(u,o).href:u;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&&(document.onreadystatechange=e,c())}}}})();</script>
Book Review: When the Dust Settles - Stories of Love, Loss and Hope from an Expert in Disaster by Lucy Easthope ★★★★★ - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=735382026-11-07T12:34:34.000ZTerence Eden’s Blog<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/07/hbg-title-when-the-dust-settles-2-32.webp" alt="Book cover." width="300" class="alignleft size-full wp-image-73539">
<p>This is a difficult but essential book. I was initially put off by how graphically autobiographical it is. The disaster planning I came for was frequently interrupted with the author's loves, disasters, health issues, pains, and domestic issues. As the book wore on, I realised how vital that is. Disasters - whether natural or caused by human actions - cannot be tackled in a dispassionate way. It's all very well having a plan to repatriate bodies, strict timetables for witness statements, and a clinical approach to disposing of victims' personal effects - but there needs to be space for a <em>humane</em> response; not just a humanitarian response. People need space to grieve, they need a shower and cup of tea, they need to be allowed to fucking scream.</p>
<p>My chauvinistic biases were stopped in their tracks by the unrelenting assault of pure and righteous indignation.</p>
<blockquote><p>Women in disaster planning and response are constantly accused of overreaction, of too much thinking and emotion. We ignore our instincts in an effort to fit in.</p></blockquote>
<p>It is also a rallying cry against the national crime that was austerity. The hollowing out of the state's capacity to respond to trauma was a vicious and unnecessary attack on our future. Hoping that the worst never comes is in itself a recipe for disaster.</p>
<p>The book is necessarily grim - with occasional gallows humour - but never fails to be fascinating:</p>
<blockquote><p>It seemed that pigeons and other birds were scooping up the smallest human bones, the finger bones or phalanges, that were still being uncovered</p></blockquote>
<p>Every chapter contains at least one "big ooof" where you can see exactly how reality refuses to comply to with the best laid plans of disaster planners. Here's one about the difficulty in identifying people after a disaster:</p>
<blockquote><p>[The victims] had the same kit on and, in an extra twist of fate, they had all dyed their hair canary yellow for the game.</p></blockquote>
<p>As I said, it is a difficult and bloody book. Vital reading for anyone who wants to understand the why and the how of complex recovery efforts.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=73538&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">Feature: open your Bear notes by ID, not exact title - Johnny.Decimalhttps://johnnydecimal.com/blog/0264-open-bear-by-id/2026-11-07T09:10:56.000ZJohnny.Decimal<p>If you own the LAS or SBS, this site has a link to open the current entry in your local JDex.</p>
<figure class="figure jdimage jdimage--auto-dark jdimage--bare"> <picture> <img class="figure__inner" alt="Screenshot of this site's Life Admin / 15.21 page. The 'Open in Bear' sidebar link is highlighted with an arrow." height="799" loading="lazy" src="https://johnnydecimal.com/blog/0264A-LAS_1521-2380x1598@2x.png" width="1190"> </picture> <figcaption class="figure__caption"> Figure 0264A. Life Admin System / 15.21. </figcaption> </figure>
<p>Previously, this opened the exact title of the ID. So if you change that title in any way, the link will fail.</p>
<p><a href="https://forum.johnnydecimal.com/t/rfc-search-instead-of-opening-bear-notes-from-documentation/2993">On the forum</a>, Robert asked if this can be changed to a search instead, matching the ID only. This will help those of you who have changed your titles, e.g. by localising them.</p>
<p>This feature is now live. Find it at your <a href="https://johnnydecimal.com/las#settings">Life Admin</a> and <a href="https://johnnydecimal.com/sbs#settings">Small Business</a> settings.</p>
<figure class="figure jdimage jdimage--auto-dark"> <picture> <img class="figure__inner" alt="Screenshot of the Life Admin settings table." height="344" loading="lazy" src="https://johnnydecimal.com/blog/0264B-LAS_settings-1382x688@2x.png" width="691"> </picture> <figcaption class="figure__caption"> Figure 0264B. Life Admin System / Settings. </figcaption> </figure>Stress-free travel with an 'active trip' note - Johnny.Decimalhttps://johnnydecimal.com/blog/0262-stress-free-travel/2026-11-07T04:04:17.000ZJohnny.Decimal<blockquote> <p>This post has an accompanying video. <a href="https://johnnydecimal.com/sign-in?redirect_url=%2Fblog%2F0262-stress-free-travel">Sign in with your Personal account</a> to view it.</p> </blockquote>
<p>I recently found myself in an airport immigration queue, passport in hand, metres from the counter. At this moment my brain reminded me of something very important:</p>
<ol>
<li>Yesterday, I filled in an immigration form and saved a QR code.</li>
<li>I need this QR code <em>now</em>, right now, this instant.</li>
<li><strong>I've no idea where it is</strong>.<sup><a href="#user-content-fn-jdex" id="user-content-fnref-jdex" data-footnote-ref="true" aria-describedby="footnote-label" class="footnote">1</a></sup></li>
</ol>
<p>In these moments, it's like you're a newborn. You don't know the place, the people, or the language. Your phone probably isn't on the local network. You're helpless, and you know it.</p>
<p>There is also a small window of opportunity to be <em>at the front of the line</em>. I pay an extra $20 to sit up front so that I'm one of the first off the plane. And now I'm about to ruin it by not being organised. Me!</p>
<p>The shame. It hit me like a brick. <em>Wait until they hear about this…</em></p>
<h2 id="how-to-not-be-that-guy-who-holds-up-the-line">How to not be 'that guy' who holds up the line</h2>
<p>So I solved it with a really simple process. I've been using it for a few months now and it works. <strong>Make this a habit and never stress again</strong>.</p>
<p>This tip isn't limited to travel. Think about any situation where you find yourself needing a piece of information. <em>Current you</em> – un-stressed you, sitting-on-the-couch you – has easy access to it. So let's help <em>future you</em> – first-in-line you, holding-people-up you – by making it as easy to find as possible.</p>
<h3 id="1-create-a-new-entry-in-your-jdex">1. Create a new entry in your <a href="https://johnnydecimal.com/documentation/the-jdex">JDex</a></h3>
<p>If you use <a href="https://johnnydecimal.com/las">Life Admin</a>, there's already a place. Attach this note to the ID <a href="https://johnnydecimal.com/las/15.21">15.21 Important documents & lists</a>.<sup><a href="#user-content-fn-sbs" id="user-content-fnref-sbs" data-footnote-ref="true" aria-describedby="footnote-label" class="footnote">2</a></sup></p>
<p>Do that by creating a new note called <code>15.21+ Active trip</code>.</p>
<h3 id="2-load-it-up">2. Load it up</h3>
<p>At the start of the trip, clear the note. Start fresh. It's not a diary.</p>
<p>Add your boarding passes, QR codes, train tickets, and Airbnb checkin instructions. Put them in the note in the order that you'll need them.</p>
<p>Add nothing else to the note. It must be a place of calm.</p>
<h3 id="3-add-a-widget-to-your-home-screen">3. Add a widget to your home screen</h3>
<p>Good notes apps will let you add a 'widget' to your home screen that opens a specific note. <a href="https://bear.app">Bear</a> and Apple Notes do this.</p>
<p>Add a widget that opens this note.</p>
<p>That's it. Now all you need to remember is to open that note.</p>
<h3 id="video">Video</h3>
<p>In the video for this post, I show you exactly how to set this all up. And at the end I give you some tips for getting QR codes and boarding passes out of websites and your email, and into this note.</p>
<p>Become a <a href="https://johnnydecimal.com/membership#personal">Personal</a> member to view it, and get the Life Admin System and all future Personal videos.</p>
<div data-footnotes="true" class="footnotes"><h2 class="sr-only" id="footnote-label">Footnotes</h2>
<ol>
<li id="user-content-fn-jdex">
<p>Of course, it was already in my JDex. I <em>had</em> saved it, in a trip-specific entry. Lucy was next to me in the queue and she said, <em>surely it's in your JDex?</em></p>
<p>But <em>in that moment</em> what I needed was a habit. This is that habit. <a href="#user-content-fnref-jdex" data-footnote-backref="" aria-label="Back to reference 1" class="data-footnote-backref footnoteBackLink">↩</a></p>
</li>
<li id="user-content-fn-sbs">
<p><a href="https://johnnydecimal.com/sbs">Small Business</a> has this at <code>15.11</code>. <a href="#user-content-fnref-sbs" data-footnote-backref="" aria-label="Back to reference 2" class="data-footnote-backref footnoteBackLink">↩</a></p>
</li>
</ol>
</div>New standard zero for AI and small system edits - Johnny.Decimalhttps://johnnydecimal.com/support/updates/2026-11-07-system-edits-new-05/2026-11-07T04:03:43.000ZJohnny.Decimal<p>There is a new standard zero at <code>0.05</code> in the Life Admin and Small Business Systems. This is a place that your AI agent controls, where it can keep its notes about the systems.</p>
<ul>
<li><code>00.05 AI for the Life Admin System</code></li>
<li><code>00.05 AI for the Small Business System</code></li>
</ul>
<p>2 IDs in Life Admin have had examples or links added.</p>
<ul>
<li><code>11.22 Health insurance & claims</code></li>
<li><code>12.31 Motor vehicle purchase, leasing, & rental</code></li>
</ul>
<p>4 IDs in Small Business have had links added.</p>
<ul>
<li><code>12.41 Official vehicle documents</code></li>
<li><code>13.44 Fixed assets</code></li>
<li><code>13.45 Current assets</code></li>
<li><code>13.46 Intangible assets</code></li>
</ul>CLI v5, .config v2, supports Bear – please update - Johnny.Decimalhttps://johnnydecimal.com/blog/0263-cli-v5/2026-11-07T01:37:38.000ZJohnny.Decimal<p>The <a href="https://johnnydecimal.com/documentation/jd-cli">JD CLI</a> has been updated to v5. It now supports Bear as a JDex.</p>
<p>This required a breaking change to the <a href="https://johnnydecimal.com/documentation/configuration">configuration file</a> which is now versioned <code>2</code>. The <code>jdex</code> property is now an object.</p>
<pre class="astro-code astro-code-themes catppuccin-latte synthwave-84" style="--shiki-light:#4c4f69;--shiki-dark:#bbbbbb;--shiki-light-bg:#eff1f5;--shiki-dark-bg:#262335;overflow-x:auto" tabindex="0" data-language="json"><code><span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">{</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8"> "</span><span style="--shiki-light:#1E66F5;--shiki-dark:#72F1B8">version</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8">"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#FE640B;--shiki-dark:#F97E72"> 2</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">,</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8"> "</span><span style="--shiki-light:#1E66F5;--shiki-dark:#72F1B8">systems</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8">"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB"> [</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB"> {</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8"> "</span><span style="--shiki-light:#1E66F5;--shiki-dark:#72F1B8">sys</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8">"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#40A02B;--shiki-dark:#FF8B39"> "P76"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">,</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8"> "</span><span style="--shiki-light:#1E66F5;--shiki-dark:#72F1B8">title</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8">"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#40A02B;--shiki-dark:#FF8B39"> "My personal system"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">,</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8"> "</span><span style="--shiki-light:#1E66F5;--shiki-dark:#72F1B8">root</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8">"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#40A02B;--shiki-dark:#FF8B39"> "/Users/you/Documents/P76 My personal system"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">,</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8"> "</span><span style="--shiki-light:#1E66F5;--shiki-dark:#72F1B8">jdex</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8">"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB"> {</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8"> "</span><span style="--shiki-light:#1E66F5;--shiki-dark:#72F1B8">app</span><span style="--shiki-light:#7C7F93;--shiki-dark:#72F1B8">"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">:</span><span style="--shiki-light:#40A02B;--shiki-dark:#FF8B39"> "bear"</span><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB"> }</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB"> }</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB"> ]</span></span>
<span class="line"><span style="--shiki-light:#7C7F93;--shiki-dark:#BBBBBB">}</span></span></code></pre>
<h2 id="updating">Updating</h2>
<ol>
<li><code>git -C ~/.local/share/johnnydecimal/cli pull</code> to get v5.</li>
<li>Run <code>jd</code> which reads your config file, causing the CLI to automatically update it to v2.</li>
<li>If you use my <a href="https://johnnydecimal.com/documentation/agent-skills">agent skills</a>, <code>npx skills update jdex johnnydecimal</code>.</li>
</ol>
<h3 id="now-checks-for-updates">Now checks for updates</h3>
<p>From v5, the CLI reads GitHub tags once/day and will notify you when there's an update. <code>jd update</code> will perform the update.</p>
<p>No telemetry is sent. Run <code>jd update --help</code> for opt-out instructions.</p>blooms into time - James' Coffee Bloghttps://jamesg.blog/2026/11/07/blooms-into-time2026-11-07T00:00:00.000ZJames' Coffee Blog
<p>Before morning glows<br/>
Breathing space. Blooms into time —<br/>
The burgeoning light.</p>
frosted ground - James' Coffee Bloghttps://jamesg.blog/2026/11/07/frosted-ground2026-11-07T00:00:00.000ZJames' Coffee Blog
<p>Near-frosted ground holds —<br/>
The earnestly sleepy sky.<br/>
Birdsong awakens.</p>
the coffeeshop - James' Coffee Bloghttps://jamesg.blog/2026/11/07/the-coffeeshop2026-11-07T00:00:00.000ZJames' Coffee Blog
<p>Fresh golden pastries —<br/>
Early treats of the new day.<br/>
Flowing espresso.</p>
<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a56ecb6bfe00e417',t:'MTc5NDA4MDI2OA=='};var l=window.parent.location,o;try{o=new URL(l.origin).origin}catch(e){try{o=new URL(new URL(l.href).origin).origin}catch(e){o=''}}var u='/cdn-cgi/challenge-platform/scripts/jsd/main.js?ray=a56ecb6bfe00e417',a=document.createElement('script');a.src=o?new URL(u,o).href:u;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&&(document.onreadystatechange=e,c())}}}})();</script>
Weeknote #2025
- Robb Knight • Posts • Atom Feedhttps://rknight.me/blog/weeknote-2025/2026-11-06T20:23:14.000ZRobb Knight<p>A plague has descended upon the Knight household. 0/10, would not recommend.</p>
<p>I remembered a post I now can't find where a developer listed everything they had searched for in a week<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> and thought it would be fun to include some searches I've done this week with zero context.</p>
<ul>
<li><code>marry me pasta</code></li>
<li><code>words than end in go</code></li>
<li><code>hanging chads</code></li>
<li><code>triscuit biscuit</code></li>
</ul>
<p>I bought a <a href="https://www.legami.com/en-gb/tabletop-pen-holder-panda-super-kawaii-VSKA0001.html">Legami Super Kawaii</a> pen case designed to hold 100 Legami pens but I needed it for my mildliners. Here it is with just over 60 in it. Also, it's a panda.</p>
<figure><img src="https://cdn.rknight.me/site/2026/legami-super-kawaii-panda-pen-holder.jpg" alt="A pen holder on a desk that looks like a panda. The head is unzipped and folded over to reveal the pens inside" /></figure>
<p>I sold my <a href="https://rknight.me/blog/kodak-charmera-review/">Kodak Charmera</a> for two reasons: one, I knew I'd never really use it again and two, I could sell it on Vinted for what I paid for it but then I bought <a href="https://home.bargains/product/7a26fc91-f359-4838-8f4d-3d301494f8c4/jaffa-cakes-and-jaffacam-mini-camera-gift-set">The Jaffa cake camera</a> — more on that in another post.</p>
<p>As soon as I sent the Jaffa cam to Ben, a fellow novelty camera enjoyer, <a href="https://social.lol/@bendaubney/117545972442536941">he replied</a> with another camera I now want — the <a href="https://www.godox.com/product-e/C100.html">Godex C100</a> which has a transparent viewfinder and looks cool af.</p>
<p>This <a href="https://www.youtube.com/watch?v=77bOkUjSSP4">Ghostbusters × Wild Wild West mashup</a> is glorious.</p>
<p>It's been three years since <a href="https://listen.hemisphericviews.com/097">Duel of the Defaults</a> and the <a href="https://defaults.rknight.me">post collection</a> is up to 539 posts. Wild.</p>
<p>Pablo wrote <a href="https://pablo.fail/the-people-who-make-the-internet-feel-like-home">a lovely post</a> about the good internet.</p>
<p>I lost more time than I care to admit playing <a href="https://katamari.vaguespac.es">Katamari Met</a> — Katamari Damacy but for objects from The Metropolitan Museum of Art's open object collection. I scored 15k on my first run.</p>
<p><a href="https://github.com/openai/codex/issues/59060">This GitHub issue</a> complaining because their little robot didn't do as it was told and deleted loads of stuff is absolute cinema. Poor baby.</p>
<p><a href="https://social.lol/@bendaubney/117558126270503824">Ben posted</a> <a href="https://en.wikipedia.org/wiki/Colors_of_the_day_in_Thailand">about Thai colours of the day</a>. I should try this as a way to get through more of my ink.</p>
<p>While viewing a school for Baby Knight, the teacher (who was teaching six year olds) asked them to say what a "digraph" was and I went into full panic because I had never heard that word in my life. Why did I think she was going to ask me? No idea. Anyway, it's two consonants that join to make a unique sound like "sh".</p>
<p>I want the <a href="https://www.youtube.com/watch?v=o1J_HL6t6cw">Pepsi Canamera</a> (not a typo) more than anything right now. Can't stop thinking about it.</p>
<figure><img src="https://cdn.rknight.me/site/2026/pepsi-canamera.jpg" alt="A camera in the shape of a Pepsi Can. The flash pops up out the top." /></figure>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>If anyone knows what post I'm on about, please send it my way <a href="#fnref1" class="footnote-backref">⤾</a></p>
</li>
</ol>
</section>Knowvember 2026 - Joel's Log Fileshttps://joelchrono.xyz/blog/knowvember2026-11-06T16:50:00.000Zjoelchrono<p>I saw some bloggers and friends participating on this prompt/challege, which—of course—originates from <a href="https://robertbirming.com/knowember/">Robert Birming’s</a> mind. Even though I’m one of the ones who feels like the about page I have covers pretty much everything, I decided to contribute with my own entry anyway.</p>
<h2 id="a-photo">A photo</h2>
<p>You can find two pretty faithful pixel art recreations of me on both my <a href="/">home page</a> and my <a href="/about/">about page</a>. These will do for most situations. Here I decided to share a picture of one of my dogs, her name is Lana and she’s a very good girl!</p>
<figure>
<img alt="A Labrador dog sitting on a concrete floor, she looks very happy and her tail is blurry" src="/assets/img/blogs/2026-11-06-lana.webp" />
<figcaption>She can't help but wag her tail all the time</figcaption>
</figure>
<h2 id="name-or-nickname">Name or nickname</h2>
<p>As some of you know, my name is Joel, and <code class="language-plaintext highlighter-rouge">joelchrono</code> is my username in most places. I have told this story many times, an older username I had was hard to pronounce in English on Twitch streams, and I went for “Chrono” from Chrono Trigger and appended it to my regular name, not much else to say at this point! Best videogame of all time, not the best username for sure.</p>
<p>Part of me wishes I had gone for a nickname that doesn’t use my real name in any way, but it’s kinda late for that at this point, I don’t mind it much.</p>
<h2 id="where-in-the-world-i-blog-from">Where in the world I blog from</h2>
<p>I blog from México! I live in the state of Jalisco and that’s where I post from most of the time, usually via my laptop or my phone.</p>
<p>All I do is upload markdown files to my repo and go from there. I have a whole set-up for this on my laptop, but on my phone I just upload files to GitHub’s website directly. This has made my commit history a little bit ugly, I must admit.</p>
<p>I definitely prefer when I get to sit on my desk at home and write away, but the time for that has lessened since I started to work! Definitely try to do that during weekends though, if I don’t get hooked by some videogame.</p>
<h2 id="what-my-blog-is-mostly-about">What my blog is mostly about</h2>
<p>My website is about pretty much everything that lives inside of my head at any given time. I talk about many things. The videogames I play, the books I read, my personal thoughts here and there, regarding whatever situations in my life I’m going through. Every once in a while I mention the state of technology, or what’s on my phone or talk about childhood memories. Maybe I’ll mention a pet of mine, or how my website works, or my thoughts after binge-watching a whole movie franchise.</p>
<p>Do not stick with me if you want me to have serious topics or essays on whatever is trending, although I may dwell on those things from time to time. I do enjoy to know I am being read, and sometimes that affects what I write, but I try to remind myself that most of what I share is because I want to talk about more people about it, so I’m always happy to get comments from people who share my interests and such.</p>
<p>Basically, it’s just me and my hobbies and random thoughts, and if you are lucky, some useful tutorial about some niche thing like FreshRSS.</p>
<p>This is day 66 of <a href="https://100DaysToOffload.com">#100DaysToOffload</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Knowvember 2026">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117570817542954469">Reply on Fediverse</a>
</p>Fairphone 1: Still going strong after 13 years - Kev Quirkhttps://kevquirk.com/fairphone-1-still-going-strong-after-13-years2026-11-06T14:45:00.000ZKev Quirk<div class="link card"><h2>Fairphone 1: Still going strong after 13 years</h2><p class="post-author">by Fairphone</p><p>The Fairphone team talk through two examples of where the original Fairphone 1 from back in 2013 are <em>"still very much in use"</em>, but I think this post is a little disingenuous.</p><p><a class="button" target="_blank" href="https://www.fairphone.com/stories/fairphone-1-still-going-strong-after-13-years">Read post ➡</a></p></div>
<hr>
<p>I saw this post on Mastodon, and clicked on it as the title and intro both read like there's people still using their original Fairphone 1 as a daily driver, after more than a decade. This surprised me as Fairphone <a href="https://www.fairphone.com/software-longevity" rel="noopener noreferrer">clearly states</a> that their phones are supported for 7 years, and <a href="https://endoflife.date/fairphone" rel="noopener noreferrer">according to this site</a> the Fairphone 1 went end of life in July 2017 (that's 4 years of support for those who are counting).</p>
<p>Reading the post it's clear that neither example is using their phone as a daily driver. One is sat on shelf, providing spare CPU capacity for scientific research, and the other is being used as a glorified MP3 player.</p>
<p>The post irks me a little as it feels disingenuous. A phone having hardware that's able to turn on and function after 13 years is nothing special. I've just pulled a Blackberry Priv and Wileyfox Swift, both from 2015 out of the drawer and both still work after a few years of daily use.</p>
<p>So having a decade old phone that's running, but not being used as a daily driver, is really nothing special.</p>
<div class="gallery">
<figure class="gallery-item">
<a href="https://kevquirk.com/content/images/fairphone-1-still-going-strong-after-13-years/blackberry-priv.webp" class="gallery-link" data-pb-lightbox data-caption="blackberry-priv">
<img src="https://kevquirk.com/content/images/fairphone-1-still-going-strong-after-13-years/blackberry-priv.webp" alt="blackberry-priv" loading="lazy">
</a>
</figure>
<figure class="gallery-item">
<a href="https://kevquirk.com/content/images/fairphone-1-still-going-strong-after-13-years/wileyfox-swift.webp" class="gallery-link" data-pb-lightbox data-caption="wileyfox-swift">
<img src="https://kevquirk.com/content/images/fairphone-1-still-going-strong-after-13-years/wileyfox-swift.webp" alt="wileyfox-swift" loading="lazy">
</a>
</figure>
</div>
<p>For the record, I like what Fairphone are doing - I've seriously considered getting one myself a few times, but this post missed the mark for me. Maybe I'm being unfair here?</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=Fairphone%201%3A%20Still%20going%20strong%20after%2013%20years">reply to this post by email</a>, or <a href="https://kevquirk.com/fairphone-1-still-going-strong-after-13-years#comments">leave a comment</a>.</p>
</div>Knowember 2026 - Kev Quirkhttps://kevquirk.com/knowember-20262026-11-06T13:54:00.000ZKev Quirk<p>Knowember in the brainchild of <a href="https://robertbirming.com/knowember/" rel="noopener noreferrer">Robert Birming</a>. At first I thought it was a bit of a pointless exercise as it only asks fore 3 things from bloggers:</p>
<ol>
<li>A photo</li>
<li>Name or nickname</li>
<li>What your blog is mostly about</li>
</ol>
<p>I figured any regular readers will know all those things about me, so it's pointless, but then I read the list of people who have already taken part, some I know of already, others I don't, and in all cases I learned something new.</p>
<p>So here's my entry to Knowember 2026 (I do think it's a silly name though 🙃).</p>
<h2>A photo</h2>
<p>You can see a photo of me on my <a href="https://kevquirk.com/about">about page</a>, so I'm not gonna to share a photo of me here. Instead, I'm going to share a photo of the thing(s) that bring me the most joy in my life...my dogs (don't tell my wife and kids).</p>
<p><img loading="lazy" src="https://kevquirk.com/content/images/knowember-2026/my-dogs.webp" alt="My dogs" />
<em>LTR - Sidney, Tia, and Nelly</em></p>
<h2>Name or nickname</h2>
<p>My real, legal name is <em>Kevin Quirk</em>, but I go by <em>Kev</em> everywhere - I much prefer it. I've never really liked the name Kevin, especially since I learned about <a href="https://en.wikipedia.org/wiki/Kevinismus" rel="noopener noreferrer">Kevinism</a>. My middle name is Thomas, and I'd have preferred to have been named that, but it's too late now. I suppose I could tell people to start calling me "Tom" but I think they'd look at me as if I had 2 heads, given I'm a 40 something man who's always gone by "Kev".</p>
<p><em>Everyone</em> calls me Kev, except for my wife and my mum. They both call me <em>Kevin</em>, except when they're being serious, then it's <em>Kev</em>. Which is weird as most people have it the other way round - as the saying goes <em>"I'm only called by my full name when I'm in trouble</em>". I suppose it's because <em>Kev</em> is what I've always gone by, so my wife and mum use my "common" name when I'm in trouble. 🤷🏻♂️</p>
<p>I've never really had a nickname. Some people used to call me <em>"scouse"</em> when I was in the military, which is the name of a person who comes from Liverpool. But I'm not from Liverpool, I'm from a town on the other side of the River Mersey, called The Wirral. But to people not from the area, I do sound "scouse". I always disliked it when people called me that though, and asked them not to. Being the Army, some of my closer friends would use ironically as they knew I didn't like it.</p>
<h2>What my blog is mostly about</h2>
<p>Pfft. It's about all kinds of things. Tech, my career, online stuff, my opinions, my home life, and more. In the early days of this blog it was pretty much exclusively tech, but over the years it's grown into a true personal blog where I write about whatever is on my mind.</p>
<p>There's a tag cloud on <a href="https://kevquirk.com/discover">the discover page</a> if you want to see the tags I've used for all my 1,000+ posts.</p>
<h2>That's it</h2>
<p>That's it. That's my entry into this little challenge. If you decide to write your own entry, don't forget to let Robert know so he can include you in the list he's keeping.</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=Knowember%202026">reply to this post by email</a>, or <a href="https://kevquirk.com/knowember-2026#comments">leave a comment</a>.</p>
</div>A video game which caused real world violence - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=644502026-11-06T12:34:34.000ZTerence Eden’s Blog<p>There has been a dramatic fall in the amount of interpersonal violence in most countries.</p>
<p>I don't want to go <em>too</em> Freakanomics and, obviously, correlation is not causation but perhaps video games have a role to play in this? A teenager being cooped up in their room means less exposure to situations where hormonal impertinence is likely to cause a violent reaction. Shouting and screaming at people via a headset rarely leads to real-life consequences. Beating up street-fighters is less risky than being in a street fight yourself.</p>
<p>But there are times when games <em>do</em> cause problems away from the screen. Players of Pokémon Go ramble about outside trying to collect digital pets - this also causes them <a href="https://www.bbc.co.uk/news/world-us-canada-50971309">to trespass into military bases</a>.</p>
<p>I was recently reminded of <a href="https://shkspr.mobi/blog/2010/11/augmented-reality-games-how-far-have-we-come-in-7-years/">one of the first Augmented Reality Games - Mozzies</a>. Back in 2004 having a phone with a camera was almost unheard of. The Mozzies game let you see virtual mosquitoes overlayed on the real world - and then shoot them.</p>
<p>Waving your cameraphone around while playing caused at least one case of physical violence.</p>
<p>Here's a report from Singapore's <a href="https://eresources.nlb.gov.sg/newspapers/digitised/article/newpaper20041006-1.2.3.3">The New Paper on 6 October 2004</a>.</p>
<p>I'm grateful to <a href="https://mastodon.social/@esmepotatoes">Esme Potatoes</a> for helping me find a transcript.</p>
<blockquote>
<h2 id="playing-game-or-snapping-girl-then-smash"><a href="https://shkspr.mobi/blog/2026/11/a-video-game-which-caused-real-world-violence/#playing-game-or-snapping-girl-then-smash">Playing game or snapping girl? Then… SMASH!</a></h2>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/11/newpaper20041006-1.1.3.webp" alt="Blurry screenshot of a newspaper." width="200" class="alignleft size-full wp-image-64452">
<p>The incident happened while he and his friends were at Orchard Cineleisure for a movie recently.
</p><p>Before the movie started at 7pm, his friends went to E-Zone, an arcade in the same building. The Indonesian student, who has lived in Singapore for more than 10 years, preferred to wait outside and play his favourite game, Mozzies, on his Siemens phone.
</p><p>The game, which involves killing mosquitoes that appear on screen, requires the use of the phone's camera.
</p><p>The camera captures a live video image as the game's playing background, with the mosquitoes appearing in the foreground.
</p><p>The player has to move the phone around to target the mosquitoes.
</p><p>Heriyono said: "I was so engrossed with the mosquitoes, I became oblivious to my surroundings."
</p><p>"Then, I saw through the phone, a figure behind the swarm of mosquitoes heading in my direction but I thought he was just passing by."
</p><p>Heriyono claims the man then shouted: “Trying to take a photo of my girlfriend, is it?”
</p><p>And he smashed the phone on the floor.
</p><p>Heriyono said he told the man, whom he estimates to be in his mid- or late 20s, that it was a misunderstanding and that he could check the phone for himself to see if he had indeed taken pictures of the man’s girlfriend.
</p><p>But the phone was so badly damaged it could not be turned on.
</p><p>“I was really shocked. He was behaving very aggressively, I thought he was going to hit me,” Heriyono said.
</p><h3 id="man-walked-off"><a href="https://shkspr.mobi/blog/2026/11/a-video-game-which-caused-real-world-violence/#man-walked-off">MAN WALKED OFF</a></h3>
<p>But the man then walked off with his girlfriend, he said.
</p><p>Heriyono and his friends decided not to chase after the man because he was older and they were worried he could get violent.
</p><p>Heriyono did not make a police report either.
</p><p>He was worried the man may get to him again, and refused to be photographed for this report.
</p><p>When contacted, Siemens Mobile said it has never received any complaints about the games on its handphones. (See other report.)
</p><p>The Mozzies game is available only on the Siemens SX1 model.
</p><p>Heriyono had bought the handphone about four months earlier for over $700, after convincing his parents that it would be worth it because he uses all its functions, including the radio and MP3 player.
</p><p>And he particularly liked the Mozzies game.
</p><p>“In the end, the game caused me so much trouble,” he said with a sigh.
</p><p>He sent the phone to the Siemens service centre but was told it was beyond repair.
</p><p>His friends told him later that his actions could have looked suspicious.
</p><p>“I realised that I could have looked like a pervert if seen by a passer-by,” he admitted.
</p><p>“The thrill took over basic common sense and I began pointing my camera around.”
</p><p>The girl was playing “air hockey” with her boyfriend at the time.
</p><p>Miss Nalia Suli, 18, the receptionist at E-Zone, said she saw the commotion.
</p><p>She said: “The girl was dressed very sexily. Her skirt was very short and when she bent down to pick up the ball, you could see her underwear.”
</p><p>She, too, thought Heriyono was taking pictures of the girl.
</p><p>“If he wasn’t taking pictures, why was the camera facing up?”
</p><p>But Heriyono said: “Yes I could have pointed to the floor. But the mosquitoes are everywhere on the screen, you have to move around to kill them.”
</p><p>He is now using a handphone he has borrowed from a friend, until he saves up enough to buy another. “I think after this incident, I will buy a much cheaper phone,” he said.
</p></blockquote>
<p>Perhaps staying inside to play games is safer all round!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=64450&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">After Binance, check what your signing systems can approve - Trail of Bits Bloghttps://blog.trailofbits.com/2026/11/06/after-binance-check-what-your-signing-systems-can-approve/2026-11-06T12:00:00.000ZTrail of Bits Blog<p>Binance’s <a href="https://www.coindesk.com/business/2026/10/30/binance-arranges-usd6-34-billion-to-cover-losses-from-record-crypto-hack">October 2026 security incident</a> raises an operational question for every organization holding user funds: Can your security controls recognize when a valid signature grants an attacker wallet authority? If an organization only monitors transfers and ownership changes, it may miss the shift in wallet authority until assets move.</p>
<p>Binance’s <a href="https://www.binance.com/en/support/announcement/detail/c5a8729a97ac486d963784d96c5642d7">initial update</a> about the incident suggested that a compromised DevOps laptop allowed an attacker to access a service container and submit unauthorized withdrawals. Its <a href="https://www.binance.com/en/support/announcement/detail/d3306d9dca5243548c813b605e1d1751">second update</a> reported additional breaches but no evidence that wallet private keys had leaked. In its <a href="https://www.binance.com/en/blog/community/3229153443759566763">November 3 report</a>, Binance described a broader attack involving social engineering, misuse of an internal AI tool, stolen credentials, and unauthorized access to its wallet-signing service. The attacker nevertheless obtained valid signatures, illustrating a major risk: a compromised server with permission to request signatures can misuse a protected key without extracting it.</p>
<p>The attacker used an <a href="https://eips.ethereum.org/EIPS/eip-7702">EIP-7702</a> delegation that allows a wallet to sign a standing instruction: “Use this code when my account is called.” Ethereum keeps that instruction in place until it is changed or cleared using the wallet’s key. That enabled <a href="https://www.trmlabs.com/resources/blog/north-korea-steals-usd-6-36-billion-from-binance-in-the-largest-hack-in-history">repeated transfers</a>, including funds deposited after the first theft, without further signatures from Binance. Other Binance wallets were drained through ordinary signed transfers.</p>
<p>Transaction execution and monitoring systems must keep pace with Ethereum. EIP-7702 places delegation authorizations outside ordinary calldata. Session keys, recovery paths, authorization modules, Safe modules, and <a href="https://eips.ethereum.org/EIPS/eip-4337">ERC-4337 UserOperations</a> all add execution paths that signing policies and monitors must understand. Systems that have not been updated can miss malicious authority changes and asset movements, leaving wallets exposed. Teams must update their detection rules and test that these attack paths are covered.</p>
<p>If you’re responsible for securing wallet infrastructure, start with our checklist.</p>
<h2 id="four-steps-to-strengthen-wallet-security">Four steps to strengthen wallet security</h2>
<p>These four recommendations address the risks exposed by the attack. We also provide tests to help you verify that these security controls work.</p>
<h3 id="1-reduce-access-to-signing-infrastructure">1. Reduce access to signing infrastructure</h3>
<p>Document every service and API that can request wallet signatures, who can call it, and what it can authorize, including transfers, delegation, and arbitrary data. Review this inventory whenever wallet functionality changes on supported chains. Separate signing infrastructure from everyday business systems and verify transaction details through an independent system. Use our <a href="https://blog.trailofbits.com/2025/02/28/threat-modeling-the-trail-of-bits-way/">TRAIL method</a> to trace how a compromised laptop or server could reach signing.</p>
<p><strong>Verify the result:</strong></p>
<ul>
<li>For each identified compromise path, use the access and credentials available to the compromised system to attempt an unapproved action. Identify the control expected to block it and retain evidence that no usable signature was produced.</li>
</ul>
<h3 id="2-treat-delegation-as-an-administrative-privilege">2. Treat delegation as an administrative privilege</h3>
<p>Configure signing services to recognize requests that change account authority. Reject <a href="https://eips.ethereum.org/EIPS/eip-7702">EIP-7702</a> authorizations for custody externally owned accounts (EOAs) that do not need delegation, and ensure generic digest-signing APIs cannot bypass that restriction. Where delegation is required, separately approve the authorizing account, delegate address and code, chain, and nonce. Before evaluating execution, simulations must apply the proposed delegation and inspect changes to permissions and future execution authority alongside immediate balance changes.</p>
<p><strong>Verify the result:</strong></p>
<ul>
<li>
<p>Delegation requests for accounts with delegation disabled are rejected through both dedicated and generic signing interfaces.</p>
</li>
<li>
<p>Changing an approved account, delegate, chain, or nonce requires renewed approval. Simulations expose added authority even when the transaction moves no assets immediately.</p>
</li>
</ul>
<h3 id="3-limit-damage-even-if-signing-is-compromised">3. Limit damage even if signing is compromised</h3>
<p>Even after delegation, the original EOA key can still transfer funds or change the delegate. This means that if the key is compromised, an attacker can bypass limits enforced by the delegate. Protect those assets with separate custody controls that the operational key cannot change. Our <a href="https://blog.trailofbits.com/2025/09/05/safer-cold-storage-on-ethereum/">cold-storage guidance</a> describes independently enforced limits, monitored delays on sensitive actions, and a separate configuration authority.</p>
<p><strong>Verify the result:</strong></p>
<ul>
<li>
<p>Treat the operational key as compromised and attempt direct transfers, delegate replacement, and policy changes. Confirm these paths cannot bypass the claimed protections, including shortening or removing delays.</p>
</li>
<li>
<p>Exercise incident response against a malicious withdrawal. Record alert and containment times, and demonstrate that responders can cancel or contain the withdrawal before execution. Confirm that the blocked withdrawal cannot subsequently execute.</p>
</li>
</ul>
<h3 id="4-detect-changes-in-wallet-authority">4. Detect changes in wallet authority</h3>
<p>Map each wallet to the assets and contracts it controls, including wallets that hold no funds. Alerts should identify the affected systems and privileges (e.g., an unapproved delegation on an account that can upgrade funded vaults). Attribute direct calls, module execution, and <a href="https://ercs.ethereum.org/ERCS/erc-4337">ERC-4337 operations</a> to their authorization paths.</p>
<p><strong>Verify the result:</strong></p>
<ul>
<li>
<p>Test various delegation scenarios, mixed authorization tuples, multisig-module execution, and failed UserOperations inside successful bundles.</p>
</li>
<li>
<p>Monitoring should reconstruct authority changes and asset movements in order, identify affected systems, and distinguish detection from controls that block execution before funds move.</p>
</li>
</ul>
<h2 id="make-signing-infrastructure-an-ongoing-responsibility">Make signing infrastructure an ongoing responsibility</h2>
<p>If your organization runs wallets or signing services, take another look at how they’re secured. Test whether your signing policies account for EIP-7702 and ERC-4337, whether independent safeguards still work if an attacker gains access to signing, and whether your monitoring catches changes to accounts and permissions.</p>
<p>Give someone ownership of this review and put it on a regular schedule. Run it again whenever you change the protocols you support, the wallets you use, or your signing services.</p>Notable links: November 6, 2026 - Werd I/O6aed6fd4d7c44700015524402026-11-06T10:00:00.000ZWerd I/O<img src="https://storage.ghost.io/c/18/7c/187cc681-d3f3-49fc-87de-b01d06b76821/content/images/2026/11/prasopchok-YOW-xe5z94k-unsplash.jpg" alt="Notable links: November 6, 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 someone forward this to you? </em><a href="https://werd.io/notable-links-october-30-2026/#/portal" rel="noreferrer"><em>Subscribe for free</em></a><em>.</em></p><hr><h3 id="how-an-obscure-website-became-a-force-in-america%E2%80%99s-election-information-machine"><a href="https://www.washingtonpost.com/technology/2026/10/30/how-an-obscure-website-became-force-americas-election-information-machine/" rel="noreferrer">How an obscure website became a force in America’s election information machine</a></h3><p>There hasn’t been enough discussion about the proliferation of reference sites that are built not for humans but to influence chatbot answers. Take <a href="https://theballotbrief.com/">the Ballot Brief</a>, which was designed to influence questions about the election:</p><blockquote>“In tests by The Washington Post, ChatGPT cited the Ballot Brief in 22 percent of its answers to questions about the election. Microsoft’s Copilot cited it in 75 percent of answers. […] Anthropic’s Claude initially turned to established voter guides run by nonprofits — but started frequently linking to the Ballot Brief in The Post’s second round of tests.”</blockquote><p>The Ballot Brief is, in itself, built using AI, with one guy — Ben Torres Ezrick — in control. Here in the US, <a href="https://www.pewresearch.org/internet/2026/06/17/americans-and-ai-2026-chatbots-smart-devices-and-views-on-impact/">42% of adults use AI to ask questions</a>, including about the election. That gives Torres Ezrick outsize influence on information people receive that may influence how they use their vote. Given that Torres Ezrick’s most recent position was Chief Marketing Officer at the far-right video streaming service Rumble, that should probably give us some pause.</p><p>And even without that potential rightward skew, the Ballot Brief consists of a bunch of content created at scale using AI with little oversight. So inevitably, there are mistakes:</p><blockquote>“The Post identified numerous mistakes on the Ballot Brief. Sen. Jon Husted (R-Ohio) was credited with supporting a bill that passed before he took office — an error that Copilot repeated in a response to The Post. Two Robert Garcias running in California were collapsed into one profile. And several House members were listed with incorrect committee jobs.”</blockquote><p>The web has already been insufferable for years because of SEO; this has only gotten worse with the rise of AI-generated marketing content. Now it stands to become a battleground as various entrenched interests fight to have their perspectives represented in chatbot results.</p><p>Should newsrooms counteract this with their own set of open, validated information? Or is it an unwinnable arms race that is bound to be dominated by moneyed interests? I’m not sure. But the web is certainly no longer just a place for humans to publish and be heard.</p><hr><h3 id="creating-a-new-internet-bargain-to-preserve-fair-use-and-protect-the-commons"><a href="https://www.techpolicy.press/creating-a-new-internet-bargain-to-preserve-fair-use-and-protect-the-commons/" rel="noreferrer">Creating a New Internet Bargain to Preserve Fair Use and Protect the Commons</a></h3><p>This should be required reading for everyone in news, but also anyone who cares about a healthy knowledge commons:</p><p>Two of the most important organizations advocating for a healthy information economy, <a href="https://publicknowledge.org/">Public Knowledge</a> and <a href="https://creativecommons.org/">Creative Commons</a>, have produced <a href="https://www.techpolicy.press/creating-a-new-internet-bargain-to-preserve-fair-use-and-protect-the-commons/">an important document that describes the threats</a> and some potential solutions.</p><p>I particularly appreciated their definition of what they call <em>defensive enclosure</em>. In a world where their content is being scraped for someone else’s profit — and robots.txt files are being ignored at least 30% of the time, while almost nobody is using AI-specific exclusion standards — publishers are more likely to hide their content away. In turn, this has created its own ecosystem of tools, many of which have the potential to <em>also</em> be centralized and monopolistic.</p><p>As their article summarizes the problem:</p><blockquote>“The blunt tools in use on either side of the AI developer/rights holder divide are serving to shrink the knowledge commons and erode its quality. This isn’t theoretical, AI-doomer prognosticating about some imagined AI future. The digital knowledge commons is contracting at an alarming rate, driven by the rise of AI model developers that have transformed openly shared content into a high-value industrial input and the defensive response of rights holders who are rapidly restricting access through legal, technical, and contractual means.”</blockquote><p>This is not just a problem for us humans who would like to learn and build on each other’s work; AI model developers themselves rely on this information to train their future products. They, too, should be invested in solving the problem.</p><p>The challenge is that for newsrooms and other publishers, this enclosure is completely rational. The desire to not be intermediated from their communities is based on a need to serve them well and to achieve financial sustainability. To them, these blunt instruments are tools to ward off an existential threat. But, of course, that then has an adverse effect on the knowledge ecosystem as a whole: there’s an <a href="https://en.wikipedia.org/wiki/Enclosure">enclosure movement</a> in progress, and the battle is really over who is building the fences.</p><p>So it’s interesting to read the angle these two organizations take here. They take the stance that training on content is fair use (which has been found in, for example, <a href="https://www.authorsalliance.org/2025/06/24/anthropic-wins-on-fair-use-for-training-its-llms-loses-on-building-a-central-library-of-pirated-books/">Bartz v. Anthropic</a>). They also want to protect public-interest scraping, which would allow researchers and journalists (among others) to continue gathering information, and reject legislation that restricts bot activity without the public in mind. Instead, they favor a bigger swing: renegotiating the broad economic framework of the web itself to move the incentives away from enclosure.</p><p>They think solutions may involve some combination of public policy and innovation around data governance. The question is really: what does that mean in practice? How might we shift the web’s value exchange in order to promote open publishing? And — beyond the public good — whose interests are aligned with that?</p><p>Without a concrete answer, publishers will keep blocking, and AI vendors will keep strip-mining. That’s a path that will lead to a much more restricted information commons, to the detriment of all of us.</p><hr><h3 id="how-can-wikipedians-overcome-leadership-succession-crises-lessons-from-the-invasion-of-ukraine"><a href="https://citizensandtech.org/2026/11/leadership-succession-in-online-communities/" rel="noreferrer">How Can Wikipedians Overcome Leadership Succession Crises? Lessons from the Invasion of Ukraine</a></h3><p>An interesting dive into what happened to the Ukrainian Wikipedia in the aftermath of the 2022 Russian invasion, told with characteristic care by CAT Lab’s <a href="https://citizensandtech.org/author/j-nathan-matias/">J. Nathan Matias</a>.</p><blockquote>“Inside Ukraine, people desperately needed to understand the changing circumstances of the war. Outside of Ukraine, the world flocked to information sources like Wikipedia to learn about the people and places facing the violence we saw on our screens. In the weeks following the invasion, viewership of the Ukrainian language Wikipedia increased by millions.”</blockquote><p>At the same time, as you might expect under the circumstances, the number of active contributors plummeted. Wikipedia lives or dies based on its contributions and its editorial process — and Ukrainian attention was diverted elsewhere. Still, a dedicated core remained, and stories like the <a href="https://diff.wikimedia.org/2022/08/30/editing-wikipedia-from-a-bomb-shelter-in-kharkiv-ukraine-viacheslav-mamons-story/">librarian who contributed edits from a bomb shelter</a> are remarkable.</p><p>But the point here isn’t just to highlight the dedication of the volunteers keeping trustworthy information online even as the immediate world around them succumbed to war. It’s a lesson about succession. Our information ecosystem is vulnerable to a diminishing pipeline of administrators, editors, and dedicated contributors; the number of admins in particular is shrinking across Wikipedia. How can we fix <em>that</em>?</p><p>In Ukraine, they added a new probationary admin role:</p><blockquote>“To fill the urgent need for admins, the Ukrainian Wikipedia created a “temporary administrator role” the day after the invasion. Rather than use their normal extended discussion and voting process, leaders quickly appointed new admins after a 3 day discussion period and [gave] a probationary period of 1-2 months, with the option to extend.”</blockquote><p>They basically created an apprenticeship, designed to try someone out, help teach them the skills, and most importantly, demonstrate and build trust. (It also had a quick escape hatch if they turned out to be untrustworthy.) The result: 20% more admins within months.</p><p><a href="https://citizensandtech.org/2026/11/leadership-succession-in-online-communities/">The full post</a> dives into the lessons to be learned for organizations like Wikipedia in useful detail. There are deeper lessons to be learned for other community spaces too, including in news and journalism. The stat about non-profits without leadership succession being around three times more likely to close is striking; how many non-profit newsrooms have a plan in place?</p><p>We often talk about building the organizations and the platform stacks that they depend on. We talk less about ensuring there’s a pipeline for succession to safeguard their sustainability — or the layers of carefully designed community-building and socialization that this requires.</p><p>Every leader should be engaged in the work of planning for succession and, ideally, designing their own obsolescence — even when times are hard. That’s as true for volunteer organizations like Wikipedia and organic online communities as anywhere else.</p><hr><h3 id="rest-of-world-faces-prospect-of-shutting-down"><a href="https://www.semafor.com/article/10/25/2026/rest-of-world-faces-prospect-of-shutting-down" rel="noreferrer">Rest of World faces prospect of shutting down</a></h3><p>I was distraught to hear that <a href="https://restofworld.org">Rest of World</a> may have to shut down in January. Since its launch, I’ve relied on its coverage about the impact of technology and the tech industry on communities and geographies that often fall outside of a Western lens. And I’ve become a huge fan of its Chief Product Officer <a href="https://donohoe.dev/">Michael Donohoe</a>, who I think is one of the best product and engineering people working in journalism (or in any industry). Working with a small team, he’s built a site and underlying tech that punches way above its weight.</p><p>On one level, the forces that have created issues for Rest of World aren’t unique to it: declining search and social referrals, intermediation by AI chatbots, and a fixation with the Trump administration at the expense of other topics.</p><p>But then, <a href="https://www.semafor.com/article/10/25/2026/rest-of-world-faces-prospect-of-shutting-down">as Semafor reports</a>, Rest of World had a unique problem in that its audience was partially the tech industry itself, which has shifted to become more insular and conservative:</p><blockquote>“The organization’s leaders also attributed the decline to a deeper cultural shift to the right within the tech community. One senior leader at the organization said they believe tech news readers who previously expressed liberal values and an appetite for consuming global journalism have grown disillusioned with the news media, and now prefer an information diet of inward-looking podcasts, YouTube shows, and chatbot outputs.”</blockquote><p>This coincided with a tonal shift in coverage of the tech industry from typically fairly optimistic, glowing pieces about connection and innovation to criticism about oligarchy and the role of tech power in the global rise of authoritarianism. Looking at Rest of World’s homepage today, many headlines are now about how communities around the world are being either taken advantage of by American AI firms or left out of AI developments.</p><p>That’s vital coverage, in my opinion, and makes Rest of World required reading for me — but for an industry that likes to be praised for changing the world and is bad at engaging with criticism, it might be a tough read. Semafor notes that the likes of Wired and The Verge, which also produce excellent coverage, are suffering from the same problem (although I’ve also heard that <a href="https://pressgazette.co.uk/publishers/magazines/wired-ends-uk-print-magazine-amid-shake-up-of-london-staff-katie-drummond-interview/">Wired’s subscriptions are growing</a>).</p><p>What’s surprising to me is that Rest of World should <em>also</em> be required reading for a whole slew of foundations and NGOs that want to make a positive impact globally, as well as investors looking to support ventures in underserved markets. Clearly this either isn’t happening or it’s not happening in a way that converts into the kind of financial support the newsroom needs.</p><p>It’s also, in a way, a warning about newsrooms started by founders with deep pockets. Sophie Schmidt (Eric Schmidt’s daughter) committed $60M to Rest of World a months into its launch. That gave it both a solid mission and an enormous runway that may have made it harder to test and pivot. It <em>did</em> pivot, to focus more on countries that Western readers might be more interested in, as well as to require user registration as a way to know its audience better, but it was relatively late in its life. I’m very grateful for the resulting coverage but I think it would be worth having an open conversation about whether those funds helped or hindered its ability to become sustainable in the long run.</p><p>Anyway, I hope it finds a home. I badly want it to continue to exist. For me, it’s the best tech journalism there is.</p><hr><h3 id="and-more">And more:</h3><p>Here are some of the articles I didn't get a chance to go into in depth this week.</p><h4 id="bluesky-hit-peak-usage-for-the-year-on-election-night"><a href="https://techcrunch.com/2026/11/05/bluesky-hit-peak-usage-for-the-year-on-election-night/" rel="noreferrer">Bluesky hit peak usage for the year on election night</a></h4><p>I adore Bluesky and I'm always surprised when people I know aren't on it. It's a community of people that genuinely care about news and information. Newsrooms should know that they disproportionately engage with and support trustworthy journalism. And it's where many of us looked for a backchannel during the night of the midterms.</p><h4 id="building-opportunities-one-year-since-the-first-app"><a href="https://forbetter.ghost.io/building-opportunities-one-year-since-the-first-app/" rel="noreferrer">Building Opportunities: One Year Since The First App</a></h4><p>The Newsmast Foundation now powers 16 community apps for journalists and activists around the world, all powered by the open social web. Pretty impressive; pretty cool.</p><h4 id="the-tech-bros-who-bet-on-fascism-lost-don%E2%80%99t-let-the-internet-pay-for-it"><a href="https://www.techdirt.com/2026/11/05/the-tech-bros-who-bet-on-fascism-lost-dont-let-the-internet-pay-for-it/" rel="noreferrer">The Tech Bros Who Bet On Fascism Lost. Don’t Let The Internet Pay For It. </a></h4><p>A warning against letting the justified backlash to tech oligarchy curdle into regulation that punishes the open internet itself. The distinction between Big Tech and the web matters enormously – but do legislators understand the difference?</p><h4 id="almost-no-one-uses-ai-agents-to-book-their-uber-company-says"><a href="https://techcrunch.com/2026/11/04/almost-no-one-uses-ai-agents-to-book-their-uber-company-says/" rel="noreferrer">Almost no one uses AI agents to book their Uber, company says</a></h4><p>Also see <a href="https://arstechnica.com/ai/2026/10/doordash-says-outside-ai-agents-have-only-led-to-hundreds-of-orders-so-far/" rel="noreferrer">a similar note from DoorDash</a>. That doesn't necessarily mean it <em>won't</em> happen – but it's not happening right now, despite the hype. Have the people building and funding AI agents done the research due diligence to know if this actually solves a problem for anyone?</p><h4 id="y-combinator%E2%80%99s-garry-tan-uses-ai-agents-so-much-he-spends-up-to-200k-a-year-on-tokens"><a href="https://techcrunch.com/2026/11/02/y-combinators-garry-tan-uses-ai-agents-so-much-he-spends-up-to-200k-a-year-on-tokens/" rel="noreferrer">Y Combinator’s Garry Tan uses AI agents so much, he spends up to $200K a year on tokens</a></h4><p>The absolutely unhinged counterpoint to the above. But there's a real point here: it costs too much, the technical overhead is enormous, and this is a pastime for the privileged.</p><h4 id="want-to-rent-an-internet-address-at-the-white-house"><a href="https://krebsonsecurity.com/2026/11/want-to-rent-an-internet-address-at-the-white-house/" rel="noreferrer">Want to Rent an Internet Address at the White House?</a></h4><p>"Several staffers at the White House are using computers or mobile devices equipped with residential proxy services that render their internet address available for others to rent, security experts warned today. One of the proxy services is a Russian company whose founder’s web hosting business was ground zero for cyberattacks against election systems in Arizona and Illinois in 2016." Seems bad. But, by the way, do you know for a fact this isn't happening at your office too?</p><h4 id="voters-rejected-ai-in-the-midterms-now-comes-an-era-of-scrutiny"><a href="https://www.nytimes.com/2026/11/04/technology/midterm-elections-ai-data-centers.html" rel="noreferrer">Voters Rejected A.I. in the Midterms. Now Comes an Era of Scrutiny.</a></h4><p>"Despite record donations by tech executives to tech-friendly candidates, voters chose a new Democratic leadership raring to investigate the cozy ties between A.I. companies and the administration." This isn't about tech so much as it is abuses of wealth and power.</p>A lesson on resilient knowledge organizations from Ukrainian Wikipedia - Werd I/O6aed6fd0d7c44700015524362026-11-06T06:12:32.000ZWerd I/O<p>Link: <a href="https://citizensandtech.org/2026/11/leadership-succession-in-online-communities/" rel="noreferrer"><em>How Can Wikipedians Overcome Leadership Succession Crises? Lessons from the Invasion of Ukraine, by J. Nathan Matias at CAT Lab</em></a></p><p>An interesting dive into what happened to the Ukrainian Wikipedia in the aftermath of the 2022 Russian invasion, told with characteristic care by CAT Lab’s <a href="https://citizensandtech.org/author/j-nathan-matias/">J. Nathan Matias</a>.</p><blockquote>“Inside Ukraine, people desperately needed to understand the changing circumstances of the war. Outside of Ukraine, the world flocked to information sources like Wikipedia to learn about the people and places facing the violence we saw on our screens. In the weeks following the invasion, viewership of the Ukrainian language Wikipedia increased by millions.”</blockquote><p>At the same time, as you might expect under the circumstances, the number of active contributors plummeted. Wikipedia lives or dies based on its contributions and its editorial process — and Ukrainian attention was diverted elsewhere. Still, a dedicated core remained, and stories like the <a href="https://diff.wikimedia.org/2022/08/30/editing-wikipedia-from-a-bomb-shelter-in-kharkiv-ukraine-viacheslav-mamons-story/">librarian who contributed edits from a bomb shelter</a> are remarkable.</p><p>But the point here isn’t just to highlight the dedication of the volunteers keeping trustworthy information online even as the immediate world around them succumbed to war. It’s a lesson about succession. Our information ecosystem is vulnerable to a diminishing pipeline of administrators, editors, and dedicated contributors; the number of admins in particular is shrinking across Wikipedia. How can we fix <em>that</em>?</p><p>In Ukraine, they added a new probationary admin role:</p><blockquote>“To fill the urgent need for admins, the Ukrainian Wikipedia created a “temporary administrator role” the day after the invasion. Rather than use their normal extended discussion and voting process, leaders quickly appointed new admins after a 3 day discussion period and [gave] a probationary period of 1-2 months, with the option to extend.”</blockquote><p>They basically created an apprenticeship, designed to try someone out, help teach them the skills, and most importantly, demonstrate and build trust. (It also had a quick escape hatch if they turned out to be untrustworthy.) The result: 20% more admins within months.</p><p><a href="https://citizensandtech.org/2026/11/leadership-succession-in-online-communities/">The full post</a> dives into the lessons to be learned for organizations like Wikipedia in useful detail. There are deeper lessons to be learned for other community spaces too, including in news and journalism. The stat about non-profits without leadership succession being around three times more likely to close is striking; how many non-profit newsrooms have a plan in place?</p><p>We often talk about building the organizations and the platform stacks that they depend on. We talk less about ensuring there’s a pipeline for succession to safeguard their sustainability — or the layers of carefully designed community-building and socialization that this requires.</p><p>Every leader should be engaged in the work of planning for succession and, ideally, designing their own obsolescence — even when times are hard. That’s as true for volunteer organizations like Wikipedia and organic online communities as anywhere else.</p>