Shellsharks Blogroll - BlogFlock2026-06-09T07:42:28.120ZBlogFlockAdepts of 0xCC, destructured, fLaMEd, Trail of Bits Blog, Aaron Parecki, Westenberg, gynvael.coldwind//vx.log (pl), James' Coffee Blog, 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 BlogIn isolation, Metroid Prime, rainy days - W23 - Joel's Log Fileshttps://joelchrono.xyz/blog/w232026-06-08T21:45:00.000Z<p>This week went by in a flash, I don’t even know what to put on my weeknotes here. I was just playing <em>Metroid Prime Remastered</em>.</p>
<p>Okay I remembered a few more things I guess, here we go!</p>
<ul>
<li>
<p>🧳 My parents went on a trip for medical reasons (everything was fine!) and I stayed home alone once again. It was a rather chill time and all I did was go to work, come back, and play <em>Metroid Prime</em>, everything else is a bit fuzzy in my memory.</p>
</li>
<li>
<p>🚗 I saw this car that was like, super pretty and classic, and I had been saving up for quite a while… I know I just got into bicycles lately and I understand why they are a better sort of transportation, but… I could not help myself. I am now the proud owner of a Hot Wheels Toronado from 1966.</p>
</li>
<li>
<p>🎁 I received an early birthday gift from <a href="https://brainbaking.com">Wouter</a>, who recently released a physical version of his website, containing ten years worth of selected blog posts! I shared the post about this in the last section of these weeknotes. I was actually confused at first because I rarely order stuff from Amazon, and I didn’t realize until a couple hours later that it was a package for me!</p>
</li>
<li>
<p>🌧️ This week has been full of rainy and cloudy days! It has been fun and very nice to see the temperatures lowering for a bit. It’s crazy that we are already in June, midway through the year. Life’s going so fast! See also my post on <a href="/blog/a-couple-of-bike-commutes/">the bike commuting I did this week</a></p>
</li>
<li>
<p>🎮 I’ve been cleaning up my room more and recently recovered an old shelf that my parents were going to throw away. It now houses my collection of Nintendo Switch games! I had to do quite a bit of organizing in my bedroom, and I also took the time to sort the games in alphabetical order, it’s kind of great. Should I make a post about my physical collection…</p>
</li>
</ul>
<p><img src="/assets/img/blogs/2026-06-08-week.webp" alt="Collage of the Week" /></p>
<h2 id="gaming">Gaming</h2>
<p>I actually did not expect to see my commitment to the <a href="/blog/summer-game-challenge-2026/">Summer Game Challenge</a> actually working out. But after beating <em>Hades</em> last week, I immediately jumped into <strong>Metroid Prime Remastered</strong>, and I was greeted by one of the most impressive videogames of all time, running excellently on the Nintendo Switch.</p>
<p>This game looks absolutely <em>gorgeous</em>, with basically zero compromises. It is what a remaster should look like! I have had so much fun, jaw-dropping visuals, wonderful performance, the world design is awesome, and the way every power-up carried from the 2D games to the 3D and first person perspective is literally perfect.</p>
<p>As a game originally made in 2002, that saw basically no changes to its world layout, there are definitely a few things that may annoy a modern day gamer. But after playing through two <em>Resident Evil</em> titles—and many other retro games over the years—this just feels like the sweet spot to me. I’ll save any complaints for my review—very few anyway.</p>
<p>For now, I am just finding a some last upgrades—I don’t plan to 100% the game so just those I figure out myself—and will head for the final battle soon enough.</p>
<p>Another game I played, this time with friends, was <strong>Minecraft!</strong> We are building up things on our server, but I must admit I’ve not done a lot myself. I really need to focus on it, but I am currently busy with other games, as you may be able to tell.</p>
<p>Lastly, we played <strong>Full Metal Furies</strong> for another bit, this time we completed three levels! After upgrading some abilities and getting stronger on it. As fun as ever!</p>
<h2 id="reading">Reading</h2>
<p>Because of all the gaming I did this week, my reading suffered a bit, I didn’t even get to finish <em>Tiamat’s Wrath</em> yet, but it’s okay, I’ll get it done for sure this time.</p>
<ul>
<li>
<p><strong>Tiamat’s Wrath (The Expanse #8)</strong> - Up to chapter 42. This week is it, I am going to finish this book and I am going to like it a lot! I hope, at least, I am a bit scared about what will be accomplished by this ending and how things will turn out. I guess we’ll see!</p>
</li>
<li>
<p><strong>My Wife is from a Thousand Years Ago</strong> - Up to chapter 285. Decided to return to this rom-com after quite a while. It’s still quite funny hehe.</p>
</li>
<li>
<p><strong>Blue Lock</strong> - Up to chapter 348. After the France vs Japan match, we switch completely to a different place and characters doing their own practice and getting ready to become better strikers.</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://brainbaking.com/post/2026/06/the-archivist-in-me-turned-this-blog-into-a-book/">The Archivist In Me Turned This Blog Into a Book</a> - This is the blog post where Wouter announced his new book! I got my copy, you should get yours as well.</p>
</li>
<li>
<p><a href="https://orbitalmartian.vercel.app/blog/2026-06-04-updates-recently/">Updates Recently</a> - Oh hey! Orbital made a post for once, and he shared a few cool things going on with his website and other things he’s been doing.</p>
</li>
<li>
<p><a href="https://jamesg.blog/2026/06/03/chat-community-for-web-writers">Chat community for web writers?</a> - James wrote this piece and I couldn’t help but send an email. We have not talked much before until then, now we are in contact and that’s super cool!</p>
</li>
<li>
<p><a href="https://doserver.top/blog/i-want-my-friends-to-have-blogs-too/">I want my friends to have blogs too</a> - Daniel decided to write for once, and he came up with an absolute banger of a post. I wish everyone had a blog, here are some reasons why. Beautiful piece.</p>
</li>
</ul>
<h3 id="youtube">YouTube</h3>
<ul>
<li>
<p><a href="https://youtu.be/LzIibqRWGqw">Why Does GTA San Andreas Still Feel Bigger than GTA 5?</a> - I never really thought a lot about how map design helps a game feel bigger than it is. I don’t play much GTA, but the PSP ones and San Andreas were my childhood.</p>
</li>
<li>
<p><a href="https://youtu.be/4cdowB9udPc">Why Does Everyone Think “1984” Agrees With Them?</a> - This was an incredible video essay with a question that I’m sure you’ve asked yourself too. Give it a watch, absolutely worth it.</p>
</li>
<li>
<p><a href="https://youtu.be/QoLoxu7jSOM">When Games Want You to RUN</a> - Enemies that surpass you in every way are a very interesting game mechanic. I was familiar with a few mentioned here, but some characters like Nemesis from RE3 were missing! Still a great essay though.</p>
</li>
<li>
<p><a href="https://youtu.be/YB2FXtdNm98">Stop Trying to Fix Genre Names (You’re Only Making it Worse)</a> - A bit of a ramble on a thing that I’ve noticed myself. It’s just a Metroidvania, don’t try to force a change!</p>
</li>
</ul>
<p>This is day 77 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=In isolation, Metroid Prime, rainy days - W23">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/idcomments">Reply on Fediverse</a>
</p>An open letter to office suite users, just before the Euro-Office announcement - Kev Quirkhttps://kevquirk.com/an-open-letter-to-office-suite-users-just-before-the-euro-office-announcement2026-06-08T18:06:00.000Z<div class="link card"><h2>An open letter to office suite users, just before the Euro-Office announcement</h2><p class="post-author">by The Document Foundation</p><p>The Document Foundation shares its history to rebuke claims made by <a href="https://office.eu/">Euro-Office</a> about being Europe's first open-source office suite. They argue that by hiding its code provenance and defaulting to Microsoft's proprietary format, Euro-Office actually undermines European digital sovereignty rather than supporting it.</p><p><a class="button" target="_blank" href="https://blog.documentfoundation.org/blog/2026/06/08/an-open-letter/">Read post ➡</a></p></div>
<hr>
<p>All this post does is make The Document Foundation sound petty and butthurt, especially this part:</p>
<blockquote>
<p>Euro-Office defaults to the fully proprietary OOXML document format, developed and controlled solely by Microsoft. This makes it a de facto ally of Microsoft in its content lock-in strategy, with control remaining firmly in Redmond and far from Europe.</p>
</blockquote>
<p>Saying that Euro-Office are an ally of Microsoft is a bit of a stretch. I assume they defaulted to MS format because that's what 99.9999% of the world uses, like it or not.</p>
<p>If Euro-Office are going to be successful, they need to be compatible with MS out of the box. That's just a fact. Maybe that's why LibreOffice has never been able to eat Microsoft's lunch?</p>
<p>I dunno. But this isn't a good look for TDF in my opinion. Sometimes it's just better to say nothing, yanno?</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=An%20open%20letter%20to%20office%20suite%20users%2C%20just%20before%20the%20Euro-Office%20announcement">reply to this post by email</a>, or <a href="https://kevquirk.com/an-open-letter-to-office-suite-users-just-before-the-euro-office-announcement#comments">leave a comment</a>.</p>
</div>Published on Citation Needed: "I’m launching Tech Influence Watch as AI follows crypto into politics" - Molly White's activity feed6a27027b90ab5bec4cdb8bf12026-06-08T17:57:15.000Z<article class="entry h-entry hentry"><header><div class="description">Published an issue of <a href="https://www.citationneeded.news/"><i>Citation Needed</i></a>: </div><h2 class="p-name"><a class="u-syndication" href="https://www.citationneeded.news/tech-influence-watch" rel="syndication">I’m launching Tech Influence Watch as AI follows crypto into politics </a></h2></header><div class="content e-content"><div class="media-wrapper"><a href="https://www.citationneeded.news/tech-influence-watch"><img src="https://www.citationneeded.news/content/images/size/w2000/format/webp/2026/06/twitter-image.png" alt="Tech Influence Watch: a citation needed project. Logo text is in tall white and green capitals, and to the left of the wordmark is a spotlight image in green"/></a></div><div class="p-summary"><p>Most voters don’t know that crypto and AI companies have spent more than $400 million this cycle to buy Congress. Let’s make that spending visible.</p></div></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp">Posted: <a class="u-url" href="https://www.citationneeded.news/tech-influence-watch"><time class="dt-published" datetime="2026-06-08T17:57:15+00:00" title="June 8, 2026 at 5:57 PM UTC">June 8, 2026 at 5:57 PM UTC</time>. </a></div><div class="social-links"> </div></div><div class="bottomRow"><div class="tags"></div></div></footer></article>📝 2026-06-08 14:22 - Kev Quirkhttps://kevquirk.com/2026-06-08-14222026-06-08T13:22:00.000Z<p>So I've been listening to #Spotify most of the day while working. Instead of playing my liked songs, I've just let it play whatever.</p>
<p>This is the way! It's been banger after banger, and lots of great news tracks.</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=%F0%9F%93%9D%202026-06-08%2014%3A22">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-06-08-1422#comments">leave a comment</a>.</p>
</div>How many consecutive hyphens can you have in a domain name? - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=715602026-06-08T11:34:59.000Z<p>A seemingly simple question which sent me down into the murky depths of standards. How many consecutive hyphens can you have in a domain name? It probably isn't <em>sensible</em> to name your online presence <code>a----------hyphen.com</code> - but is there anything technically stopping you?</p>
<p></p><nav role="doc-toc"><menu><li><h2 id="table-of-contents"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#table-of-contents">Table of Contents</a></h2><menu><li><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#history">History</a></li><li><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#tld-restrictions">TLD Restrictions</a></li><li><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#anomalies">Anomalies</a></li><li><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#so-what">So What?</a></li></menu></li></menu></nav><p></p>
<h2 id="history"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#history">History</a></h2>
<p>Let's do some history!</p>
<p>This is 1978's "HOST NAMES ON-LINE". Early Internet standards described the <code>-</code> character as "minus" rather than hyphen.</p>
<blockquote><p><a href="https://www.rfc-editor.org/rfc/rfc608">RFC 608</a></p>
<p>up to 48 characters drawn from the alphabet (A-Z),</p>
<p>digits (0-9), and the minus sign (-) ... specifically, no blank or space characters allowed;</p>
<p>no distinction between upper and lower case letters;</p>
<p>the first character is a letter;</p>
<p>the last character is NOT a minus sign;</p>
<p>no other restrictions on content or syntax.</p></blockquote>
<p>So, originally, you could have as many hyphens as you wanted after the first symbol - which had to be a letter. The last symbol had to be a letter or number<sup id="fnref:naughty"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fn:naughty" class="footnote-ref" title="Way back in the year 1999, several domains were registered with trailing hyphens. This was swiftly corrected and the domains deleted." role="doc-noteref">0</a></sup>.</p>
<p>That was later formalised in 1981's "DoD INTERNET HOST TABLE SPECIFICATION"</p>
<blockquote><p>RFC 810 <a href="https://www.rfc-editor.org/rfc/rfc810">GRAMMATICAL HOST TABLE SPECIFICATION</a></p>
<p><code><name> ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]</code></p></blockquote>
<p>That's carried in the the slightly more modern <a href="https://www.rfc-editor.org/rfc/rfc952">RFC 952</a>.</p>
<p>By the time we hit 1987, the word "minus" has gone. Note, there are no restrictions on the number of hyphens - just as long as your domain name doesn't start or end with one<sup id="fnref:63"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fn:63" class="footnote-ref" title="Note, I think this is when domain names expanded from 48 characters to 63. But that's a different Yak to Shave." role="doc-noteref">1</a></sup>.</p>
<blockquote><p>RFC 1035 <a href="https://www.rfc-editor.org/rfc/rfc1035#section-2.3.1">2.3.1. Preferred name syntax</a></p>
<p>The labels must follow the rules for ARPANET host names. They must start with a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphen.</p></blockquote>
<p>By 1989, the "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION" was tweaked again:</p>
<blockquote><p>RFC 1123 <a href="https://www.rfc-editor.org/rfc/rfc1123">2. GENERAL ISSUES</a></p>
<p>The syntax of a legal Internet host name was specified in RFC-952. One aspect of host name syntax is hereby changed: the restriction on the first character is relaxed to allow either a letter or a digit. Host software MUST support this more liberal syntax.</p></blockquote>
<p>And, from then on, things stayed pretty stable until the futuristic year 2010. That was when Internationalised Domain Names (IDN) became available. They use the <code>xn--</code> string at the start of the name so, the spec now says:</p>
<blockquote><p>RFC 5891 <a href="https://www.rfc-editor.org/rfc/rfc5891#section-4.2.3.1">4.2.3.1. Hyphen Restrictions</a></p>
<p>The Unicode string MUST NOT contain "--" (two consecutive hyphens) in the third and fourth character positions and MUST NOT start or end with a "-" (hyphen).</p></blockquote>
<p>What they <em>really</em> mean is that "--" is banned in position 3 & 4 <em>unless</em> the first two characters are "xn"<sup id="fnref:zero"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fn:zero" class="footnote-ref" title="I wonder why this isn't zero-based like so many other computery things. But that's a different rabbit hole." role="doc-noteref">2</a></sup>.</p>
<p>So, in theory, you can have up to 59 consecutive hyphens by ensuring that they start in position 4 and end at position 62.</p>
<p>Something like <code>abc---[…]---z.com</code> should be fine.</p>
<p>OR IS IT?!?!?</p>
<h2 id="tld-restrictions"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#tld-restrictions">TLD Restrictions</a></h2>
<p>There's what the RFC's say, and what a Top Level Domain (TLD) will allow. The Registry (the organisation which administers the TLD) may set their own, more restrictive, policies. Some will ban naughty words, or refuse IDN registrations, or prevent impersonation of Public Suffix domain, etc.</p>
<p>For example, South Sudan's <a href="https://nic.ss/wp-content/uploads/2024/07/ssNIC-Registry-Sunrise-Registration-Policy-July-2024.pdf">.ss policies refuse to allow <em>any</em> hyphens</a>.</p>
<p>Nominet, who run the .uk Registry, <a href="https://www.nominet.uk/wp-content/uploads/2025/03/UK-rules-of-registration.pdf">don't have any restrictions on the use of hyphens</a> other than refusing to register <code>xn--</code> domains.</p>
<p>But, in general, you can register multi-hyphened domain names with most Registries.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/05/domain-names.webp" alt="List of domain names with many hyphens." width="1090" height="874" class="aligncenter size-full wp-image-71565">
<h2 id="anomalies"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#anomalies">Anomalies</a></h2>
<p>Of course, the mighty Internet mostly runs on spit and hope<sup id="fnref:furry"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fn:furry" class="footnote-ref" title="And, so I'm told, a cabal of vicious Furries waiting to pounce." role="doc-noteref">3</a></sup>. Naturally there are going to be mistakes, glitches, exceptions, and anomalies.</p>
<p>My delightful friend <a href="https://magicalcodewit.ch/">Q Misell</a> had a rummage through her archives and helped track down some of the domain names which violate the modern rules. It's somewhat difficult to query <em>every</em> domain name, nevertheless, there are hundreds of multi-hyphened domains lurking within DNS.</p>
<p>Some, like <a href="https://web.archive.org/web/20020325103751/http://www.ok--computer.com/">ok--computer.com</a> are long dead, but some are still active<sup id="fnref:sale"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fn:sale" class="footnote-ref" title="There are also quite a few for sale." role="doc-noteref">4</a></sup>!</p>
<p>Possibly the most consecutive hyphens belongs to <a href="http://a-------------------------------------------------------------a.com/">http://a-------------------------------------------------------------a.com/</a></p>
<p>Sixty-one hyphens! The maximum possible, and it still works! The website looks like it hasn't been updated since it was first registered in 2000.</p>
<p>But what about more modern domains? The spookily named <a href="http://zz--icann-monitoring.uk/">http://zz--icann-monitoring.uk/</a> was registered in 2024 - long after the rules were updated. But as Nominet doesn't allow <code>xn--</code> domains, I guess it is fine?</p>
<p>There are some domains like <code>bq--3bhauz7frjrgbka.com</code> which look like they were pseudo-randomly generated. Perhaps as command-and-control servers?</p>
<p>Here's a quick table showing some of the ones Q found:</p>
<table>
<thead>
<tr>
<th align="right">Domain</th>
<th align="left">Creation Date</th>
<th align="left">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td align="right"><code>0-------------------------------------------------------------0.com</code></td>
<td align="left">1999</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>0-------------------------------------------------------------5.com</code></td>
<td align="left">2001</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>0---------------------0.com</code></td>
<td align="left">2000</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>0----------------0.com</code></td>
<td align="left">2000</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>0---------0.com</code></td>
<td align="left">2000</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>pr--newswire.org.uk</code></td>
<td align="left">2005</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>0o--o0.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>a-----a.net</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>pr--newswire.uk</code></td>
<td align="left">2019</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>uk--domain--names.uk</code></td>
<td align="left">2019</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>zz--icann-monitoring.uk</code></td>
<td align="left">2024</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>cd--storage-shelves.co.uk</code></td>
<td align="left">2012</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>mb--uk.co.uk</code></td>
<td align="left">2015</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>o---t.co.uk</code></td>
<td align="left">2016</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>om--tat-sat.co.uk</code></td>
<td align="left">1999</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>pr--newswire.co.uk</code></td>
<td align="left">2005</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>uk--domain--names.co.uk</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>we--buy--any--car.co.uk</code></td>
<td align="left">2009</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>i---i.net</code></td>
<td align="left">2001</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>a-------------------------------------------------------------a.com</code></td>
<td align="left">2000</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>a---b.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>v---v.net</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>we--care.net</code></td>
<td align="left">1999</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>b---h.com</code></td>
<td align="left">2001</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--3bhauz7frjrgbka.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--3bhauz7frjrgbkdcia.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--3cbpcty2rjyq.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--744a.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--abs7czi.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--abxgt4lb.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--azbukkckjavdc.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--azdecny.com</code></td>
<td align="left">2000</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>bq--eh7xj73b75xp62x7mh7xgah7ad7xj73b75xa.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--gbbpy2enmnhq.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--gbtfs2a.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--s7z76.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>bq--zzzz.com</code></td>
<td align="left">2000</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>c-------7.com</code></td>
<td align="left">2001</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>f---you.com</code></td>
<td align="left">1998</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>id--design.com</code></td>
<td align="left">1999</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>ok--computer.com</code></td>
<td align="left">2001</td>
<td align="left">Down</td>
</tr>
<tr>
<td align="right"><code>t---28.com</code></td>
<td align="left">2000</td>
<td align="left">Live</td>
</tr>
<tr>
<td align="right"><code>t---taz---t.com</code></td>
<td align="left">2001</td>
<td align="left">Down</td>
</tr>
</tbody>
</table>
<p>Note, "Live" just means an HTTP request returned <em>something</em>. There may, of course, be other services running on that domain, or on subdomains.</p>
<h2 id="so-what"><a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#so-what">So What?</a></h2>
<p>Without a full list of every domain name, it's rather hard to draw firm conclusions. But, in the absence of anything better to do, here are some thoughts.</p>
<ul>
<li>Most people don't want multiple consecutive hyphens in their domain names. They're unwieldy but mostly not prohibited.</li>
<li>If the authors of RFC 5891 had access to a full list of domains, might they have chosen a different syntax for Punycode?</li>
<li>Why is it so hard to look through every single registered domain name anyway? Even Certificate Logs no longer seem to be easily searchable.</li>
<li>Are there any other weird restrictions which are violated by older domain names?</li>
<li>When will DNS finally go all-in with Unicode rather than this kludge? (Probably around the same time as IPv6 adoption!)</li>
</ul>
<p>If you know of any weird multi-hyphenated domains, please stick a comment in the box 😊</p>
<div id="footnotes" role="doc-endnotes">
<hr aria-label="Footnotes">
<ol start="0">
<li id="fn:naughty">
<p>Way back in the year 1999, <a href="https://www.icann.org/en/announcements/details/comment-concerning-trailing-hyphen-domain-names-7-1-2000-en">several domains were registered with trailing hyphens</a>. This was swiftly corrected and the domains deleted. <a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fnref:naughty" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:63">
<p>Note, I think this is when domain names expanded from 48 characters to 63. But that's a different Yak to Shave. <a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fnref:63" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:zero">
<p>I wonder why this isn't zero-based like so many other computery things. But that's a different rabbit hole. <a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fnref:zero" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:furry">
<p>And, so I'm told, a cabal of vicious Furries waiting to pounce. <a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fnref:furry" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:sale">
<p>There are also quite a few for sale. <a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#fnref:sale" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=71560&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">I Love F1 - Kev Quirkhttps://kevquirk.com/i-love-f12026-06-08T08:22:00.000Z<div class="link card"><h2>I Love F1</h2><p class="post-author">by Gordon McLean</p><p>Gordon has been hooked on F1 for 45 years, from childhood memories of Murray Walker to booking a trip to the Madrid GP. It’s a great look at how much the sport has changed and why he's still obsessed.</p><p><a class="button" target="_blank" href="https://www.gordonmclean.co.uk/2026/06/04/i-love-f1/">Read post ➡</a></p></div>
<hr>
<p>I discovered Gordon's blog after he commented on my <a href="https://kevquirk.com/2026-06-07-2211">recent note about F1</a>. I always check people's sites when they comment, as it's a great way to discover new blogs.</p>
<p>Gordon's blog didn't disappoint - lots of great content on there, including this gem all about his love of the sport of F1.</p>
<p>I've been following F1 for around 25 years now, and have similar memories as Gordon when it comes to thinking about some of the great drivers from the past.</p>
<p>His post has me thinking about booking some ticket's to next years practice sessions for my wife and I (who's also a big F1 fan).</p>
<p>Anyway, fun read. Thanks, Gordon.</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=I%20Love%20F1">reply to this post by email</a>, or <a href="https://kevquirk.com/i-love-f1#comments">leave a comment</a>.</p>
</div>📝 2026-06-07 22:11 - Kev Quirkhttps://kevquirk.com/2026-06-07-22112026-06-07T21:11:00.000Z<p>Why does everyone in #F1 love #Monaco? It's by far the most BORING race on the calendar.</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=%F0%9F%93%9D%202026-06-07%2022%3A11">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-06-07-2211#comments">leave a comment</a>.</p>
</div>First Impressions of the Fitbit Air - Kev Quirkhttps://kevquirk.com/first-impressions-of-the-fitbit-air2026-06-07T13:26:00.000Z<p class="tldr">A little over a week ago I took delivery of my new Fitbit Air, so I thought I'd jot down some of my thoughts after using it every day to track my health.</p>
<p>I <a href="https://kevquirk.com/2026-05-29-2148">recently started running again</a>, for which I use my Suunto Run to track. I've had it for a little while now and it tracks all my walks and runs. It's pretty good, but I wanted something that I could wear along side a proper watch, so it needed to have no screen and just silently track my health as I'm not interested in replacing a proper watch with a <a href="https://kevquirk.com/i-don-t-see-the-point-of-smartwatches">wrist phone</a>.</p>
<p>The Whoop band was an obvious contender, but the £200+ per year subscription that leaves me with a brick if I ever cancel is a deal-breaker and there was nothing else that I could find on the market...that was until the <a href="https://store.google.com/product/google_fitbit_air?hl=en-GB">Fitbit Air</a> came along.</p>
<p><img src="https://kevquirk.com/content/images/first-impressions-of-the-fitbit-air/watch-and-air.webp" alt="watch-and-air" />
<em>Fitbit Air on one wrist, watch on the other</em></p>
<h2>Price</h2>
<p>The Fitbit Air costs £85 (~$100) and unlike the Whoop, is a one-off purchase. You also get 3 months of Fitbit Premium, which basically adds Gemini to the app to help provide context, motivation, and workout schedules. After the 3 month freebie it's $10/month, but crucially the device and app work fine without Premium. You just don't get the "AI Coach" which is probably a positive for lots of people. 🙃</p>
<p>I already have a Gemini subscription that gives me access to Fitbit Premium, so I get it with no extra cost anyway.</p>
<h2>AI Coach</h2>
<p>Although the "Coach" has made basic mistakes a few times - like referring to my Suunto watch as a set of smart scales, or incorrectly stating I'd done a 10km run instead of a 5km one - generally speaking I've found the extra context and advice it gives to be very useful. It has helped me to tweak some of my strength sessions and improve my form while running.</p>
<p>My hope is that the basic mistakes the AI is making is down to teething problems. If so, I'd like to think they will improve with time. Like anything AI generated though, it's important to <em>not</em> take the feedback and advice it gives as gospel.</p>
<p>Whenever it's made mistakes and I've called it out, it's always responds with the correct data and context afterward.</p>
<h2>Comfort</h2>
<p>Most of the time I don't even notice I have the Air on. It's so small and light - it just chugs away in the background, doing its thing. It's also about half the width of the Whoop.</p>
<p>I bought the rubber strap for mine too, which is more comfortable while running, and less absorbent than the standard canvas strap, so hopefully no sweat will sink into it.</p>
<p>The OEM straps are super expensive though, so I'm looking forward to aftermarket ones becoming available.</p>
<h2>Battery life</h2>
<p>Google advertise the Air as having a 1 week battery life. I can attest to that - I'd easily get a week out of this.</p>
<p>It's also super quick to charge. Earlier in the week I was down to around 30% battery, so I chucked it on charge while I jumped in the shower. 20 mins later when I put it back on, it was nearly fully charged.</p>
<p>This is great news as I'll be able to keep it topped up when I shower, then pop it back on when I go to bed so it can track my sleep.</p>
<h2>The Google factor</h2>
<p>This is the major downside to all this - Fitbit are owned by Google, so they're likely to use the data in all kinds of unscrupulous ways.</p>
<p>But the way I'm looking at it is that the gamification, the data, and the motivation that this little thing provides is helping me to get out and exercise. That's because I love data, so being able to review it all after my workouts, and see progress is hugely motivating. So if it helps me to get fit, and stay fit, it's a price I <em>think</em> I'm willing to pay.</p>
<p>I'm kind of at the point in my life now where I just want things to work for me. If there's tradeoffs, so be it. Anything for an easy (and healthier) life.</p>
<h2>Final thoughts</h2>
<p>This post was a little all over the place. But overall, I really like the Fitbit Air. The data is keeping me motivated, and although the AI Coach makes mistakes, it is helping me navigate the data and improve my training, so I'll take that as a win.</p>
<p>For me, it's an easy decision between this and the Whoop. The Fitbit wins out.</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=First%20Impressions%20of%20the%20Fitbit%20Air">reply to this post by email</a>, or <a href="https://kevquirk.com/first-impressions-of-the-fitbit-air#comments">leave a comment</a>.</p>
</div>A couple of bike commutes - Joel's Log Fileshttps://joelchrono.xyz/blog/za-couple-of-bike-commutes2026-06-07T03:40:00.000Z<p>Today I used my bike as a tool and not just for excercise or hobby!</p>
<p>My mom wanted me to go with her to some place, and even though she would just take me with her on the car, I decided to simply go ahead and take my bike to meet her there.</p>
<p>It has been raining lately, but that only made the weather comfy and cloudy overall. Riding with a purpose felt quite cool, and as always, the ride itself was awesome and freeing. I must admit though, I felt a bit sluggish, as the air was going against me and I had to work my legs a bit more than expected. Still comfortable enough.</p>
<p>I took the ideal path and even though I did arrive later—cars are fast after all—the timing was ideal. And just like that, I had done the first actual trip from X to Y. We went to a park for a class my mom gives to some kids in that neighborhood, it was in a public park and I just left the bike nearby on sight, since there were no good spots to lock it.</p>
<p>When we were done, I took the bike and returned. All this time I’ve rode my bike and went pretty much on a circle, never staying anywhere, simply riding and then going home, until now, a trip with a destination!</p>
<hr />
<p>Later my church was going to do a small charity at a nearby hospital, giving away food and praying for those in need. I decided to head there using my bicycle once again. This time things got fun.</p>
<p>The waters were set free, and rain fell upon me, but honestly? That just felt awesome, it was a light rain and it didn’t really disturb me much. The feeling of the raindrops against my face felt rather great, I didn’t bring any sort of jacket, just the usual shirt and jeans, but I didn’t care. I made my way to the hospital and this time I decided to actually park the bike. I bought a u-lock a while back, so I locked things up against a hand rail nearby. Since we were outside the building I had it in sight at every moment anyway.</p>
<p>There were not a lot of people outside this time, but after announcing it to some people, even nurses and doctors showed up. It was kind of fun a dozen of them in a row with their medical attire. Don’t worry, there plenty of food for actual patients and people waiting outside.</p>
<p>Then the rain got stronger.</p>
<p>I decided to unlock the bike and bring it closer with me, all the rain soaked it completely, and my seat was not in the most comfortable state. A couple minutes later I was told I couldn’t have my bike in the entrance area—where we were—and that I should go park it in a different place. The guard explained to me that she had no problem but she was told by a superior and I kind of understood. Instead of parking it, I just carried it with me and stayed with it nearby as I judged what to do.</p>
<p>I didn’t want to leave my bike in the rain, but I also couldn’t stay there forever—maybe I could but I didn’t want to get the guard in trouble. I saw a trash can that was located far from the entrance, and decided to just put it there. It was still covered from the rain, although I couldn’t lock it properly. Still, it was on sight and soon enough we were done.</p>
<p>The return home was quite fun! I went ahead and the rain was much stronger, there were puddles everywhere and I had to go through a couple of them. Alas, the commute was very fun! Not a lot of cars to cause me trouble in any of my trips either.</p>
<p>It was not until I got home when I realized my back, and the lower section of my jeans, was full of mud stains…</p>
<p>So, I need to buy fenders now, I guess!</p>
<p>This is day 76 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=A couple of bike commutes">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/116706917097129125">Reply on Fediverse</a>
</p>Morning coffee - James' Coffee Bloghttps://jamesg.blog/2026/06/07/morning-coffee2026-06-07T00:00:00.000Z
<p><em>The familiar sounds of the espresso machine never cease to calm me – the joy of the familiar, but also the potential of the variable: of sounds at new tones, of different cadences. Watching as the barista makes sure to stop pulling the espresso shot at 33 seconds — precision at every step.</em></p><p><em>Classical music, quiet conversation, and the awakening of the day permeate the cafe, illuminated by the light passing through the tall windows, and accompanied by the smell of freshly brewed coffee. I hear one of the baristas make their colleague laugh, bringing a smile to my face.</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:'a082a07a9a3f6b5c',t:'MTc4MDg2NjQ1MQ=='};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&&(document.onreadystatechange=e,c())}}}})();</script>
Update: ending paid subscriptions, + Substack - Westenberg6a24a864ac8d8500018d54742026-06-06T23:11:51.000Z<p>Hi everyone,</p><p>I’m making a change this week: I’m turning off paid subscriptions.</p><p>I’m no longer comfortable putting my writing and work behind a paywall. I want it to be free, open, and accessible to anyone who finds it useful.</p><p>My work is already funded by my agency, <a href="https://www.thisisstudioself.com/?ref=joanwestenberg.com" rel="noreferrer">SELF</a>, and by the products I create. That’s the model I’d rather build around, and I’d much prefer to widen the audience for my ideas, and encourage people to engage with me through SELF, my products, and the work itself, than keep everything split across yet another monthly subscription.</p><p>To everyone who has supported my writing: thank you. Truly. It has meant a lot.</p><p>Over the next week, I’ll also be moving my writing to Substack. The network effects there, plus the podcasting and video tools, are going to help me grow the work in ways that make sense for where I’m headed. </p><p>If you're sticking with me, don't worry: I'm hitting my stride with some of the best work of my career, and I couldn't be more excited about the pieces that are coming up. </p><p>I understand if you’re not interested in becoming a Substack subscriber. No hard feelings at all, and you’re welcome to unsubscribe now.</p><p>Thanks again for reading, supporting, and making space for the work.</p><p>Joan</p>📝 2026-06-06 18:02 - Kev Quirkhttps://kevquirk.com/2026-06-06-18022026-06-06T17:03:00.000Z<p>Been doing some work on the website to bring back post types on the site properly (something I haven't had since switching from Kirby).</p>
<p>I now have articles, links, notes and books, all on the homepage and filterable. Hopefully nothing is too messed up in the RSS feed! 😟</p>
<p><img src="https://kevquirk.com/content/images/2026-06-06-1802/homepage-filtering.webp" alt="homepage-filtering" /></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=%F0%9F%93%9D%202026-06-06%2018%3A02">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-06-06-1802#comments">leave a comment</a>.</p>
</div>Strange Dogs - Joel's Log Fileshttps://joelchrono.xyz/blog/strange-dogs2026-06-06T15:59:01.000Z<p>It took me a while to finish this novella, because I thought I would get it over with before I started <em>Tiamat’s Wrath</em> (The Expanse #8) and instead I went into a reading slump for a couple of weeks, all of my book club got ahead of me in the novel and I decided to start the novel myself abandoning this a third of the way in.</p>
<p>The novella can actually be pretty enjoyable even without reading any of the Expanse novels, so you can read this and have no idea of the context, but of course, some of that will spoil the setting and the enjoyment of the novels.</p>
<p><strong>This is your warning to stop reading if you have not read The Expanse.</strong></p>
<p>The protagonist of this story is Cara, a young girl living in Laconia, one of many planets that are being inhabited and colonized by humans in this universe.</p>
<p>Cara has lived her whole life in this place, with no memory of Earth, often confused by how her parents miss things she is doing fine without. As such, her perspective is rather interesting, innocent and naive.</p>
<p>This planet has been rather nice, with a small colony of people settling in, and doing science stuff, such as Cara’s parents, but all of a sudden, a military force has arrived, slowly expanding and building up more infrastructure. This novels deals with the powerlessness of such a situation, although it’s not the main focus.</p>
<p>Laconia houses a variety of unique species, often named based on their similarity to Earth’s. One time, Cara accidentally kills a bird with a small pack of babies. After futile attempts to rescue momma bird—as she called it—that only end up with her breaking more things, trying to also keep the baby birds alive, her equipment is taken away by some strange dogs, who seem to understand her and want to help her. After some time, she discovers they were able to fix the things she broke—a drone that was her mother’s. However, they also <em>fixed</em> momma bird. The repercussions of this are unforeseen to her.</p>
<p>Again, this story is part from The Expanse and in case it’s not clear, it kind of becomes Pet Sematary in space—I never read the book but recall some of the scenes in the old movie. This was a bit hard for me at first given the story is given from a child’s perspective and it has a very different tone, with no presence of any familiar characters. Even so, the writing is strong as ever and it possesses a very eery feeling that kept me hooked during the second half when some events started to unfold.</p>
<p>If you are up for some weird aliens doing weird stuff and humans messing around with things they don’t understand, you should give it a go!</p>
<p>I highly recommend checking all of the Expanse a go though, it has been an awesome series to read through.</p>
<p>This is day 75 of <a href="https://100daystooffload.com">#100DaysToOffload</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Strange Dogs">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/116704034230017424">Reply on Fediverse</a>
</p>There's still no point in gigabit broadband - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=681352026-06-06T11:34:57.000Z<p>Six years ago, I <em>nearly</em> got my ISP to upgrade our fibre connection to 1Gbps. As I said at the time:</p>
<blockquote><p>This is a curmudgeonly post which is going to look ridiculously outdated in a few years.</p>
<p><a href="https://shkspr.mobi/blog/2020/12/whats-the-point-in-gigabit-broadband/">What's the point of Gigabit broadband?</a></p></blockquote>
<p>Well, it's a few years later and Virgin Media have just given me their Gig1 package for £30 per month. Nice! With all the inflation related price rises, it's great to get more for less.</p>
<p>But I'm still left wondering if this is massive overkill.</p>
<p>What can you actually do with their promised 1,130Mbps?</p>
<p>Online video calling isn't that intensive. All the 4K streaming services recommend 25Mbps - so I guess I could ask 40 friends to come round and stream simultaneously. Downloading Linux ISOs is pretty speedy on a connection half as fast - and is usually limited by the upstream. Same for game updates.</p>
<p>I've wired most of my house with Cat6 Ethernet - but most of my switches and ports are 1G rather than 2.5G, so the max bandwith isn't likely to get to any single device. The best I've got directly is around 940Mbps which is about what I'd expect from a gigabit port.</p>
<p>All my WiFi devices are limited by the reality of radio physics in a noisy environment - so about 450Mbps when close to the router. Some of my rooms are hard to reach, so they have HomePlugs beaming data across our electrical wiring. Again, physics dictates a fairly modest speed there.</p>
<p>I've got a VR headset - but haven't found anything that taxes its download speed. Especially given that it uses WiFi.</p>
<p>My 4K Fire Stick has a wired Ethernet connection. Its built in speed test maxes out around 80Mbps. In fact, most of the online speed tests I tried couldn't saturate the pipe - tapping out at around 700Mbps.</p>
<p>Some AI models and training sets are multiple terrabytes. But are they <em>really</em> likely to be downloaded multiple times per day? If they are, is there a real difference in waiting 7 minutes rather than 3.5?</p>
<p>Everyone jokes about website bloat, but the reality is much more prosaic. Latency to a CDN is a bigger contributor to the perceived slowness than the limits of a home connection.</p>
<p>So what about upload speed. The Internet is an inherently sucky medium; people download far more than they upload. In this case, upload is limited to "only" 110Mbps. Even if both of the people in this house were full-time Twitch streamers, I doubt we'd saturate that.</p>
<p>It's 2026 and I can barely recommend 500Mbps broadband. For most domestic uses, including working from home, it's rare to <em>need</em> more than 100Mbps. Sure, faster is always nicer and cheaper is always preferable, but what am I actually going to <em>do</em> with this speed?</p>
<p>Back in 2012, it was reasoned that <a href="https://shkspr.mobi/blog/2020/01/whats-the-fastest-legal-use-of-the-internet/">the fastest <strong>legal</strong> use of the Internet was 2.5Mbps</a>. We've blown past that limit thanks to video streaming and calling. But, on the assumption I'm not going to be using my connection to mirror Linux ISOs, what can I do with it?</p>
<p>I guess I can run a personal VPN from home. Handy if I want to stream geolocked content when I'm out of the country. But, again, 1Gbps is overkill for that - especially as I'm likely to be either on a mobile hotspot or hotel WiFi.</p>
<p>I could livestream all my security cameras 24/7 to a secure back-up vault. That isn't going to touch the sides of my upload speed.</p>
<p>Perhaps I could self-host all my stuff? Again, for personal use I'm limited to whatever speed my laptop or phone can get on a public connection. Given the risk of botnets, DDoS, hacking & the like, I'm not sure I'd want much public-facing stuff on my residential IP address.</p>
<p>To be clear, I think it is a <em>great</em> thing that the UK Government is pushing ISPs to deploy gigabit everywhere. It isn't at all useful now, but will probably be crucial in the future.</p>
<p>So if you have any ideas for what I can do to saturate this connection, please drop a comment in the box.</p>
<p>In the meantime, if you <a href="http://aklam.io/rOTKz1">join Virgin Media using this link</a> we will both get £50 bill credit.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=68135&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">In pursuit of desirable difficulties - Westenberg6a23736dac8d8500018d53bb2026-06-06T01:14:14.000Z<img src="https://www.joanwestenberg.com/content/images/2026/06/uZYSV4nuQeyq64azfVIn_15130980706_64134efc6e.jpg" alt="In pursuit of desirable difficulties"><p>The psychologist Robert Bjork called them desirable difficulties. Learning sticks better when practice is made harder, rather than easier. Students who have to struggle to retrieve an answer remember it longer - and clearer - than students who are handed the same answer with minimal effort on their part. The effort is where the knowledge is actually built. Without effort, knowledge slips away.</p><p>Writing runs on the same principle. When you do battle with the language, when you fight a sentence into shape yourself, tooth and nail, you earn the finished prose. You know where the argument bends, you know where the logic goes thin, where one word can do the job of three.</p><p>Your struggle leaves fingerprints. </p><p>But if a machine hands you a clean paragraph in five seconds, while you sit back and daydream, there are no fingerprints. There can never be fingerprints. The paragraph can be genuinely good, and for all I know, it probably <em>is</em> genuinely good, and that's part of the trouble. </p><p>A half-baked idea, that <em>sounds</em> produced and polished and painted is far more dangerous, for any writer, than a rough draft that <em>sounds</em> rough. The rough draft challenges you to aspire to a degree of perfection, or as near to it as you can reliably get. But the polished draft tells you to fuck off, and leave it well enough alone - because isn't it good enough? </p><p>Bjork never actually claimed difficulty was a Good on its own, and for its own sake. And I agree - I still believe drudgery is worth killing off, and the tools that kill it are well worth paying for. But the difficulty that builds judgment, and the difficulty of drudgery sometimes look identical from outside; and the only way to tell them apart is to stay close enough to your work - and your words - to feel out which one you're dealing with.</p><p>Before you ship the polished and untouched paragraph, ask what part of it you actually decided. </p><p>If you're honest, and the answer is "not very much at all,” your work is not done.</p><p>You've produced something that looks done. </p><p>But it’s not the same thing.</p>Aether-draft - James' Coffee Bloghttps://jamesg.blog/2026/06/06/aether-draft2026-06-06T00:00:00.000Z
<p>Today I attended my first Magic the Gathering (MtG) draft: a “secret draft,” where players did not know ahead of time what series of the trading card game would be played. The event was held in a breathtaking church building, now used as a community centre. The building is also home to the <a href="https://www.pianodrome.org/">Pianodrome</a>, an organisation that creates sculptures with pianos that people no longer want.</p><p>Before I entered the building, I was enamoured with the architecture. The beauty of my surroundings helped calm some of the anxiety I felt going into the day: I hadn’t played MtG in years, and so I was a bit nervous. (Compounded, of course, by my general social anxiety!) With that said, my anxiety was soon to be lessened when I entered the room and found the most welcoming group of people.</p><p>Since I haven’t played in so long, I didn’t invest in some of the things that players have: mats to create a more suitable playing surface no matter what table you are using, card sleeves, and more. But, kindly, someone brought extras and offered me a mat and card sleeves to use at the event. I was so delighted by their kindness.</p><h2 id="how-the-draft-worked">How the draft worked</h2><p>In the draft format, participants are assigned into groups of eight. Each group is given a “booster box,” which is divided among the players: every player gets three packs to open. When the clock starts, everyone opens their first pack, chooses a card, and passes the remainder onto the person to their left or right (depending on whatever direction has been decided). Players then choose a card from the pile they have been passed, and keep passing and accepting cards until none are left. This is repeated for each booster pack.</p><p>After all of the packs have been opened, there is time for deck-building. This involves reviewing your cards to determine what you want to include in your deck. The rules by which we played today said that your deck had to be at least 40 cards. I ended up with something like 27 non-land cards and ~18 land cards.</p><p>The “secret” box our table got was Aetherdrift. I had never played Aetherdrift before so I wasn’t familiar with the mechanics, but it was clear artefacts were a prominent part of the series. I built my deck around blue, white, and red. I was interested in playing blue and white since this is what I used to play and I am more familiar with the mechanics. With that said, that may not have been the strategically optimal choice for the games: I didn’t think as much about the other cards, and so may have missed a good card in my first pack that I could have built a deck around.</p><h2 id="my-deck">My deck</h2><p>The draft format is nice because everyone is in the same boat: you are all choosing cards from packs that are just opened, so you can’t spend lots of time crafting a great deck beforehand. Indeed, I loved the improvisational nature of the draft: of trying to craft a theme for my deck. My theme was creatures and some removal spells. I ended up bringing red into my deck because I drafted an interesting removal spell, a card that would come in handy in one of my games. </p><p>Here are three of my favourite cards I drafted:</p><figure><picture><img alt='Three MtG cards: "Vnwxt, Verbose Host", "Lotusguard Disciple", and "Caelorna, Coral Tyrant".' loading="lazy" src="https://editor.jamesg.blog/content/images/2026/06/mtg.jpeg" 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">Three MtG cards: "Vnwxt, Verbose Host", "Lotusguard Disciple", and "Caelorna, Coral Tyrant".</div></div></figure><p>"Caelorna, Coral Tyrant", a two mana 0/8 creature was one of my favourites, and a great play early-on in the game. Only one of my opponents had a creature with death-touch and few had removal spells, so when the legendary Octopus was played it generally stayed in the game.</p><p>My 2/2 with flying, "Lotusguard Disciple", was able to do quite a bit of damage. For as long as I kept crewed flying creatures under control – a battle I lost in every game, unfortunately – the Lotusguard was great.</p><p>As for "Vnwxt, Verbose Host", I loved the mechanic of being able to draw two cards instead of one when I achieved "max speed," a status my flying creatures helped me achieve. But I only got to leverage the mechanic in one game.</p><p>After we built our decks, we were told who we would play. I don’t know exactly how the points system worked, but in the end we had all played three people at our table and winners were determined based on how many games each person had won and lost. My opponents who were generally more familiar with the game than I kindly helped me keep track of counters and mechanics as I played; I knew the rules but hadn’t encountered the “Start your engines!” mechanic which came up a lot, and wasn’t as familiar with crewing.</p><h2 id="how-i-did">How I did</h2><p>I lost all my games, but this was expected: I was there mainly to dip my toe back into the game, not to play competitively. If I get to spend an afternoon playing a fun game with interesting people, I think that’s a win. Suffice to say I learned <em>so much</em> by playing and watching others’ decks. I was sort-of close to winning one game, but ultimately I didn’t draw the cards I needed. Toward the end I did wish I had won one game, but that's okay – maybe next time!</p><p>Between games, I was struck by the wonderful architecture of the interior of the room in which we played. The hall was almost baronial in style: the interior of the roof with arches made of dark wood. The dark wood on the ceiling contrasted with the white walls. I kept looking around to appreciate any detail I could: the height of the ceiling, the cobwebs at one of the windows, the mirrors at the end of the hall (I assume the hall is used for some exercise classes too). I thought about how I was enamoured with the game in front of me but also had to spend time appreciating the place in which we were playing too.</p><h2 id="addendum:-dandan">Addendum: Dandan</h2><p>The event host had a Dandan deck which he kindly let some of us play if we finished our games and were waiting. The Dandan format involves using one deck which both players share. Both players share the graveyard, too.</p><p>"Dandan" cards are the only creatures in the deck, and the only means of doing damage. The rest of the deck has cards that let you draw more cards, control card draw, remove a Dandan, counter spells, and other similar spells.</p><p>My opponent drew three Dandan cards throughout the game that I was unable to counter or control and, as a result, was able to win (although we didn't finish as we ran out of time). With that said, the format was both delightful and also chaotic. There was one card that forced us to shuffle our hands and the graveyard back into the deck, which, every time it was played, would cause major disruption. The only strategic advantage I saw in the card was to cause chaos.</p><p>I'd definitely play a Dandan game again.</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:'a07a1005eb114612',t:'MTc4MDc3NjY0OA=='};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&&(document.onreadystatechange=e,c())}}}})();</script>
<a class="tag" href="https://www.pianodrome.org/">Pianodrome</a>
AI-indecision is a recursive trap. Don't get stuck. - Westenberg6a224273ac8d8500018d1c052026-06-05T04:06:59.000Z<img src="https://www.joanwestenberg.com/content/images/2026/06/photo-1696403713006-da1f3fe552c4.jpeg" alt="AI-indecision is a recursive trap. Don't get stuck."><p>Jean Buridan was a 14th-century French philosopher and logician who twice served as rector of the University of Paris. His subject was the will, and he made an austere claim: the will follows the intellect. Show a rational creature the greater good and it'll pick the greater good. On Buridan's account, the will keeps one freedom - the power to defer the intellect's verdict and call for more inquiry before it acts.</p><p>But if the will only moves once reason names a winner, what happens when the options come out entirely even?</p><p>Buridan's posthumous critics illustrated the problem with what became known as Buridan's Ass: put a standard-issue donkey midway between two identical bales of hay. It has no reason to prefer the left bale to the right, so by Buridan's own logic it can't move, and it must stand in place until it starves. The rational animal should hold off and keep deliberating. Suspend action, wait for new information, look harder, and trust that more reflection turns up some asymmetry that lets the animal move. Give reason enough time, and the tie breaks.</p><p>While the intellect waits for a reason to decide, the donkey is still hungry. Deliberation happens over time, and living things have to actually eat. A theory of choice that says "wait for sufficient reason," for an indeterminate stretch, assumes an animal that can afford the wait. So does any other decision process that lets you burn weeks at a time hoping the data will tip on its own.</p><p>The donkey's problem is a constraint that holds for arbiters, circuits, and in fact any system forced to convert a gradient of reasons into a binary act. Even a perfectly rational decider, handed perfectly balanced inputs, has no guarantee of choosing in time. The tie isn't always breakable on demand. The computer scientist Leslie Lamport argued that "a discrete decision based upon input having a continuous range of values cannot be made within a bounded length of time," and that this "appears to be a fundamental law of nature." He called it Buridan's Principle. </p><p>Well, I'm sorry to tell you, but the donkey is back.</p><p>He's sitting at your desk, in front of a chat window, asking an AI to help him decide between two product decisions, and he's getting nowhere.</p><p>The donkey is, in fact, you. Before you clutch your pearls or retreat to a safe space, rest assured, he's me too. He's every one of us, caught in the recursive loop of AI iteration and feedback, gradually receding into AI indecision.</p><p>Let me illustrate. You have to decide whether to sunset a product line that three people depend on, or pour money into it for two more quarters. It's a captain's call, and a hard one. So you open a chat and lay it out. The model gives you a clean, fair breakdown: the case for sunsetting, the case for keeping it, and the risks on each side.</p><p>Useful, surely?</p><p>Helpful, surely?</p><p>You then ask it to weigh the factors. And it does, with hedges about how only you know your values. You ask it to assume your values. It asks clarifying questions. You answer them. It generates a recommendation, then notes that the recommendation depends on assumptions you might want to revisit. So, with its help, you revisit them, and the loop begins again. An hour passes, two hours, three days, three weeks of talking and weighing and feeding back again and again, and somehow you've still not actually decided anything. You've only refined the shape of your indecision.</p><p>The models mirror human uncertainty with endless patience. The only thing standing between you and an unbreakable loop is your willingness to keep asking, keep prompting, keep pasting.</p><p>Ask a language model whether to take Path A or Path B and it won't refuse the request entirely. It'll lay out the considerations on each side, and if you're using a more recent model it may push back with a hint of firmness. But ask again, and keep asking, and it'll offer a balance and then immediately surface the conditions under which the recommendation would flip. The model is doing what it was trained to do: give you an analysis and respect your autonomy, while avoiding the confident pronouncement that might mislead you. You came to the model wanting to be pushed, wanting someone or something to break the tie, and you got an oracle that hands the tie-breaking back to you with every prompt.</p><p>Decision paralysis predates AI by, conservatively, all of human history. The Stoics worried about it, and so did the medieval scholastics. Thinking and rethinking so thoroughly colonized action in Hamlet that no amount of further thinking could break the loop, with every reflection generating new reasons for more reflection, leading to the famous lines: "Thus conscience does make cowards of us all, and thus the native hue of resolution is sicklied o'er with the pale cast of thought."</p><p>William James, in his 1890 Principles of Psychology, described how deliberation can become its own pathology, a condition he touched on in his discussion of the "obstructed will." The mind in deliberation generates resistance to its own conclusions, and weighing options can become a posture instead of a passage. James was working within the limits of unaided human cognition, where most people, faced with a hard decision, would eventually exhaust their available perspectives and either decide or not decide, which meant the deliberation had natural endpoints. But AI changes the scale, and those endpoints are now deprecated. You can always generate one more angle, one more historical analogy. Your willingness to keep asking is the only constraint.</p><p>Eisenhower, planning the D-Day invasion, gave the order early on June 5, 1944 to launch the next day, despite meteorological uncertainty that would have justified more delay. He'd had his weather briefings and consulted his commanders, but the cost of more deliberation, in his judgment, exceeded the cost of acting on imperfect information. By then, any more information-gathering would have been a way of avoiding the actual act of choosing.</p><p>Most of the content of your chat-based deliberations is already known or knowable to you, on some level, before you start typing. The long deliberation will never produce new information; it produces either a permission structure or a way of justifying the choice you've already made to the internal critic who's never, ever satisfied. </p><p>AI is the patient ear of that critic.</p><p>Rilke, in his Letters to a Young Poet, wrote that we should "live the questions now," that some answers can only be found by living forward into them. You make the call, you walk down the path, and the path teaches you whether it was the right one. Even that teaching is partial, because the path you didn't walk is closed and its lessons are unknown.</p><p>A Zen story: a student asks the master how to achieve enlightenment. The master says, "Have you eaten your rice?" The student says yes. The master says, "Then wash your bowl."</p><p>Sooner or later, you have to take the next action.</p><p>You have to close the tab and make the call.</p><p>You have to wash your bowl.</p><p>You have to pick a bale of hay and chow down.</p><p>The alternative is to starve.</p>Moments; time - James' Coffee Bloghttps://jamesg.blog/2026/06/05/moments-time2026-06-05T00:00:00.000Z
<p>One of my favourite parts of writing – and, by extension, blogging – is that I can, in words, capture a little bit of a day, and keep a little record of the moment. Each post can be a bookmark to a memory, and also part of the story of my life.</p><p>I love taking notes I walk around my neighbourhood. Today, I wrote down how I was struck by a bird whose attention caught my eye who then stared at me for a few seconds. I don’t think I have ever been so close to a bird that stood so still and maintained eye contact the whole time. It was striking. I then noticed there were other birds nearby on the same fence. <em>Is this where those birds like to gather? Is this part of their home?</em></p><p>Earlier today I was thinking about a blog post I wrote in April, <a href="https://jamesg.blog/2026/04/21/rainbow">Rainbow; moon</a>. The blog post serves almost as an anchor in my memory to the moment. I can read the post to remember the moment vividly, but I can also recall the post to start re-building a picture of the moment in my mind. I can see the rainbow forming through the frosted glass. I can feel the chill of moonlight.</p><p>I can even see new stories: how the rainbow is inside but a result of the outside; how the colours outside change; how the colours inside, too, change. The story was of one moment in time, yet continues to create new colour when read again; when seen and felt with distance: new perspective.</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:'a070c4c02d396780',t:'MTc4MDY3OTE5Mw=='};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&&(document.onreadystatechange=e,c())}}}})();</script>
<a class="tag" href="https://jamesg.blog/2026/04/21/rainbow">Rainbow; moon</a>
Reviewing Mildliner Smells - Robb Knight • Posts • Atom Feedhttps://rknight.me/blog/reviewing-mildliner-smells/2026-06-04T18:43:01.000Z<p>I got my hands on the Fragrance Mildliner pack for what I thought was a bargain price of £5. If I'm honest that might be about £5 too much but here we go anyway. I sniffed these pens <em>hard</em>.</p>
<figure><img src="https://cdn.rknight.me/site/2026/mildliner-fragrance.jpg" alt="A notepad with samples of the six Mildliner fragrance pens" /></figure>
<p>Soda Blue / Cotton is the worst one by a long shot. It smells like the strongest washing powder you've ever smelt in your life. What I imagine a laundromat smells like.</p>
<p>Olive / Green has a smell but it's <em>very</em> mild, kinda like wet grass I suppose. Almost imperceptible though.</p>
<p>Sherbet Yellow / Citrus is the only good one. Smells like lemons.</p>
<p>Cool Gray / White Bloom isn't <em>good</em> but it is accurate. Generic flower smell.</p>
<p>Beige / Wood smells like mid-range car air freshener and Dusty Pink / Flower Bouquet smells like a cheap car air freshener.</p>
<p>There's no world in which I ever want my highlighters to have a smell, and I'm not a teenager any more so I'm not going to try and taste them to be crowned class clown but I'll use these anyway because the colours are still good.</p>It's Just Broken: Oh WordPress - Kev Quirkhttps://kevquirk.com/its-just-broken-oh-wordpress2026-06-04T11:42:00.000Z<div class="link card"><h2>It's Just Broken: Oh WordPress</h2><p class="post-author">by Pup On Tech</p><p>In a recent post, the <em>Pup ON Tech</em> perfectly captures the absolute nightmare that is building a self-hosted WordPress site. What starts as a simple VPS setup quickly devolves into a bloated mess of heavy themes, dozens of conflicting plugins, and rigid page builders. By the time you’ve fought with broken caching layers and terrible performance, you realise that fixing the bloat defeats the entire purpose of using WordPress.</p><p><a class="button" target="_blank" href="https://pupontech.com/its-just-broken-oh-wordpress/">Read post ➡</a></p></div><p>WordPress really is a nightmare, and this post by Pup On Tech really capsulated that! Should have just used a <a href="https://pureblog.org">flat-file system</a> or an SSG from the start. 🙃</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=It%27s%20Just%20Broken%3A%20Oh%20WordPress">reply to this post by email</a>, or <a href="https://kevquirk.com/its-just-broken-oh-wordpress#comments">leave a comment</a>.</p>
</div>