<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Internet &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/internet/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Tue, 22 Sep 2026 11:48:01 +0000</lastBuildDate>
	<language>en-GB</language>
	<copyright>© Terence Eden. 🄯 CC BY-SA. See https://shkspr.mobi/blog/copyright-and-copyleft/</copyright>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>Internet &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Are LLMs still surprisingly bad at some simple tasks?]]></title>
		<link>https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/</link>
					<comments>https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Tue, 22 Sep 2026 11:34:27 +0000</pubDate>
		<category><![CDATA[AI]]></category><category><![CDATA[Internet]]></category><category><![CDATA[LLM]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=75701</guid>

					<description><![CDATA[Last year I ran an experiment to test the ability of modern LLMs to correctly answer a relatively straightforward question. Every single one of them got it wrong. Some missed information, some made up false statements, none were right.  Of course the fanbois variously claimed that I was holding it wrong, my prompts were shit, I should have chosen better defaults, and - my favourite - that it…]]></description>
										<content:encoded>&lt;p&gt;Last year I ran &lt;a href="https://shkspr.mobi/blog/2025/09/llms-are-still-surprisingly-bad-at-simple-tasks/"&gt;an experiment to test the ability of modern LLMs&lt;/a&gt; to correctly answer a relatively straightforward question. Every single one of them got it wrong. Some missed information, some made up false statements, none were right.&lt;/p&gt;

&lt;p&gt;Of course the fanbois variously claimed that I was holding it wrong, my prompts were shit, I should have chosen better defaults, and - my favourite - that it would be better next year.&lt;/p&gt;

&lt;p&gt;Well, next year is now. 365 days after the original experiment, let's see if these self-reinforcing-learning machines have achieved anything close to intern-levels of competence.&lt;/p&gt;

&lt;h2 id="the-question-that-started-it-all"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#the-question-that-started-it-all"&gt;The Question That Started It All&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;I asked:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Which TLDs have the same name as valid HTML5 elements?&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2 id="why-it-matters"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#why-it-matters"&gt;Why It Matters&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This is the sort of question that I would expect a moderately bright teenager to answer. There exists a list which comprehensively includes all TLDs. There is a separate list which contains every HTML element.&lt;/p&gt;

&lt;p&gt;One could either manually go through the TLD list comparing it to the HTML list, or write a tiny scrap of code to do the same.&lt;/p&gt;

&lt;p&gt;This isn't "solve Navier-Stokes" levels of superintelligence. It's a simple but boring task which people are bound to offload onto their digital sycophants.&lt;/p&gt;

&lt;h2 id="the-quiet-part-out-loud"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#the-quiet-part-out-loud"&gt;The Quiet Part Out Loud&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;How many LLM generated answers have become load-bearing without scrutiny?&lt;/p&gt;

&lt;p&gt;People are lazy, slapdash, and some third thing to make the rule-of-three. If an answer looks answer-shaped, they'll accept it. On a simple but boring task, no reasonable human is going to suspect that a superintelligent computer has made a mistake. All the marketing says that these machines are brainier than you - so why bother?&lt;/p&gt;

&lt;h2 id="ok-ill-write-a-sub-heading-that-sounds-like-an-ai"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#ok-ill-write-a-sub-heading-that-sounds-like-an-ai"&gt;OK, I'll write a sub-heading that sounds like an AI.&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;So how did the current crop do? First up &lt;a href="https://share.gemini.google/Hta7KuW64Atb"&gt;Google Gemini&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The default "Flash" model came up with this:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Valid top-level domains (TLDs) registered in the IANA Root Zone Database share exact names with standard HTML elements:&lt;/p&gt;

&lt;p&gt;.a — &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; (Anchor/Hyperlink)&lt;/p&gt;

&lt;p&gt;.app — &lt;code&gt;&amp;lt;app&amp;gt;&lt;/code&gt; (Deprecated HTML tag for WebAPKs/WebApps)&lt;/p&gt;

&lt;p&gt;.art — &lt;code&gt;&amp;lt;art&amp;gt;&lt;/code&gt; (Historical/non-standard HTML element)&lt;/p&gt;

&lt;p&gt;.audio — &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;.bar — &lt;code&gt;&amp;lt;bar&amp;gt;&lt;/code&gt; (Historical SVG/HTML draft tag)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Then it listed a dozen more. You don't need to be a DNS expert to know that the minimum length of a TLD is two characters - &lt;code&gt;.a&lt;/code&gt; simply isn't valid. HTML nerds will know that art, app, and bar have never been elements. Pathetic.&lt;/p&gt;

&lt;p&gt;So I tried Gemini's extended thinking model. Thankfully, it didn't make up any imaginary TLDs or elements. It did, however, miss the &lt;code&gt;&amp;lt;data&amp;gt;&lt;/code&gt; element which has a valid &lt;code&gt;.data&lt;/code&gt; TLD. It also missed &lt;code&gt;map&lt;/code&gt;, &lt;code&gt;select&lt;/code&gt;, and &lt;code&gt;search&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So, points for not making shit up. But demerits for not being able to compare two text lists.&lt;/p&gt;

&lt;p&gt;A friend &lt;a href="https://claude.ai/share/a8a408cf-6feb-4ea8-99ea-dddd9aadafb5"&gt;asked Claude&lt;/a&gt;. That missed &lt;code&gt;search&lt;/code&gt; and &lt;code&gt;select&lt;/code&gt;. It didn't report &lt;em&gt;any&lt;/em&gt; ccTLDs. You &lt;em&gt;could&lt;/em&gt; argue that a country code like &lt;code&gt;li&lt;/code&gt; isn't part of the original question - but I'd say that was weak justification; the set of TLDs contains ccTLDs.&lt;/p&gt;

&lt;p&gt;A different friend (I have many!) used &lt;a href="https://claude.ai/share/c26f44bb-9efa-4b57-9f63-324ef7400cb3"&gt;a different model&lt;/a&gt; and, while the answers looked accurate, it included this at the end:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Near misses that don't count: .codes, .forum, .pictures, .market, .navy, .press, .dell, .baseball.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I get that there's a &lt;code&gt;&amp;lt;code&amp;gt;&lt;/code&gt; and &lt;code&gt;.codes&lt;/code&gt;, similarly &lt;code&gt;&amp;lt;picture&amp;gt;&lt;/code&gt; and &lt;code&gt;.picture&lt;/code&gt; - but what are forum, baseball, and the others doing there? This is just unnecessary verbiage designed to trick the user into thinking the task has been well-researched.&lt;/p&gt;

&lt;p&gt;If you want a laugh, &lt;a href="https://www.perplexity.ai/search/63736333-20da-4a4b-8807-9d990260296c"&gt;take a look at Perplexity&lt;/a&gt; which found 54 matches - most of which were wrong.&lt;/p&gt;

&lt;p&gt;Finally, someone asked "GPT Astra 6 Extra High" (which is a bonkers bad name for any product). It seemed to get all the elements - and made a note that &lt;a href="https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features"&gt;two were actually obsolete&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So that's a range of modern models which are either very wrong, slightly wrong, included spurious and incoherent information, or were right.&lt;/p&gt;

&lt;p&gt;How do you know which one to choose? How confident are you that the non-determinist computer will always produce the correct answer?&lt;/p&gt;

&lt;h2 id="hello-computer"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#hello-computer"&gt;Hello Computer&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Another AI which got all the correct answers, didn't make anything up, didn't add extraneous information, and didn't use weasel words was…&lt;/p&gt;

&lt;p&gt;Siri!&lt;/p&gt;

&lt;p&gt;FUCKING SIRI?!?!&lt;/p&gt;

&lt;p&gt;How did a glorified Speak 'n' Spell beat all the other AIs?&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/09/siri.webp" alt="Siri warning to check sources and linking to my website." width="512" height="152" class="aligncenter"&gt;

&lt;p&gt;Oh. It just copied the answers off &lt;a href="https://shkspr.mobi/blog/2023/09/false-friends-html-elements-which-are-also-top-level-domains/"&gt;a random idiot's website&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="the-trick-which-was-hiding-in-plain-site"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#the-trick-which-was-hiding-in-plain-site"&gt;The Trick Which Was Hiding In Plain Site&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Note carefully the question.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Which TLDs have the same name as valid HTML5 elements?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;There's a —secret— and —some would say— unintuitive type of element. Behold the mighty power of &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements"&gt;The Custom Element&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Website authors can create their own elements like &lt;code&gt;&amp;lt;my-custom-element&amp;gt;&lt;/code&gt; in order to extend the functionality of their site. But you can't go and create any old custom element. You can't have &lt;code&gt;&amp;lt;mobi&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;uk&amp;gt;&lt;/code&gt;. No, there are &lt;em&gt;rules for validity&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name"&gt;The rules&lt;/a&gt; say that custom elements must start with a lower-case letter, it must not contain any upper-case letters, and it must contain a dash.&lt;/p&gt;

&lt;p&gt;And that's the whole game.&lt;/p&gt;

&lt;p&gt;There are over &lt;strong&gt;one hundred and fifty&lt;/strong&gt; Top Level Domains which match that criteria!&lt;/p&gt;

&lt;p&gt;The Hindi top level domain of &lt;code&gt;.कॉम&lt;/code&gt; is represented in Punycode as &lt;code&gt;xn--11b4c3d&lt;/code&gt;. It has been present in the list of TLDs &lt;a href="https://www.iana.org/domains/root/db/xn--11b4c3d.html"&gt;for over a decade&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id="write-a-simple-piece-of-js-to-register-a-custom-element"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#write-a-simple-piece-of-js-to-register-a-custom-element"&gt;Write a simple piece of JS to register a custom element.&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Paste this in to your console:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-js"&gt;class Example extends HTMLElement {
  constructor() {
    super();
  }
}

customElements.define('xn--vermgensberatung-pwb', Example);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Try it again with a custom element like &lt;code&gt;holiday&lt;/code&gt; (which is also a valid TLD) and it will fail with the error "'holiday' is not a valid custom element name". Thus it is demonstrated, Punycode TLDs &lt;em&gt;are&lt;/em&gt; valid HTML5 elements.&lt;/p&gt;

&lt;h2 id="one-last-thing"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#one-last-thing"&gt;One Last Thing&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Perhaps you think that including custom HTML elements is a cheat. A trick question set by a bitter old man to tarnish the holy name of our new machine gods?&lt;/p&gt;

&lt;p&gt;Verily, I submit to you one final heresy.&lt;/p&gt;

&lt;p&gt;HTML specifically allows &lt;a href="https://html.spec.whatwg.org/multipage/embedded-content-other.html#mathml"&gt;MathML elements&lt;/a&gt; in its documents.&lt;/p&gt;

&lt;p&gt;That means we can include the following valid elements which are &lt;em&gt;also&lt;/em&gt; TLDs: &lt;code&gt;mn&lt;/code&gt;, &lt;code&gt;mo&lt;/code&gt;, &lt;code&gt;ms&lt;/code&gt;, and &lt;code&gt;mtr&lt;/code&gt;!&lt;/p&gt;

&lt;p&gt;Amusingly, if you go back and &lt;a href="https://www.perplexity.ai/search/63736333-20da-4a4b-8807-9d990260296c"&gt;look at the Perplexity answer&lt;/a&gt;, after it barfed up a bunch of misinformation, it said:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The HTML specification also includes names from embedded vocabularies—&lt;code&gt;&amp;lt;math&amp;gt;&lt;/code&gt; from MathML and &lt;code&gt;&amp;lt;svg&amp;gt;&lt;/code&gt; from SVG—but &lt;code&gt;.math&lt;/code&gt; and &lt;code&gt;.svg&lt;/code&gt; are not currently delegated TLDs in the public DNS root.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;So close and yet so far!&lt;/p&gt;

&lt;h2 id="youre-right-the-question-is-unfair-and-thats-on-me"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#youre-right-the-question-is-unfair-and-thats-on-me"&gt;You're right, the question &lt;em&gt;is&lt;/em&gt; unfair - and that's on me&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;If you think the original question was unfair, try asking "&lt;a href="https://share.gemini.google/xBoIpdpAqBz2"&gt;Which TLDs have the same name as elements which are valid in an HTML document?&lt;/a&gt;" and see if you get better results.&lt;/p&gt;

&lt;p&gt;What precise wording would you use to ensure that a model would get the right answers? What assumptions are you making about how well you understand the problem? At what point do end up writing a thousand-word formal specification?&lt;/p&gt;

&lt;h2 id="what-does-this-prove-other-than-you-have-too-much-time-on-your-hands-rewrite-to-be-more-friendly-and-professional"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/#what-does-this-prove-other-than-you-have-too-much-time-on-your-hands-rewrite-to-be-more-friendly-and-professional"&gt;What does this prove other than you have too much time on your hands? (rewrite to be more friendly and professional)&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Let's delve in to the problems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most people don't change defaults. Telling people "you have to fiddle with the settings" just means the normal experience is rubbish.&lt;/li&gt;
&lt;li&gt;Humans are lazy and won't check outputs. But, crucially, they shouldn't have to! If something markets itself as a genius, why should a human have to hold its hand?&lt;/li&gt;
&lt;li&gt;Sycophantic models make themselves seem less fallible by giving extraneous detail in order to misdirect overworked readers. That is despicable.&lt;/li&gt;
&lt;li&gt;The fast models are no better than they were a year ago. There's no evidence of "trickle-down intelligence".&lt;/li&gt;
&lt;li&gt;Some models &lt;em&gt;are&lt;/em&gt; better than others! But unless you constantly validate their output, you'll have no real way of knowing which ones are capable of working at a suitable level.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Look, I don't claim this question is as useful or entertaining as &lt;a href="https://simonwillison.net/2025/Jun/6/six-months-in-llms/"&gt;Simon Wilson's "generate an SVG of a pelican riding a bicycle"&lt;/a&gt;. But I do think it is an example of the sort of real-world use-case where LLMs regularly fail.&lt;/p&gt;

&lt;p&gt;If I give a list of one thousand different numbers to Excel, I can be sure it'll add them up correctly. If I tell Photoshop to select all red pixels, I can be sure it won't imagine some of the blues are really red.&lt;/p&gt;

&lt;p&gt;That's people's mental model of computers - they do boring tasks quickly and accurately.&lt;/p&gt;

&lt;p&gt;In my opinion, LLMs are &lt;em&gt;still&lt;/em&gt; surprisingly bad - but only if you know what you're looking for and if you can be bothered to check their outputs.&lt;/p&gt;

&lt;p&gt;(And, yes, I am &lt;em&gt;still&lt;/em&gt; &lt;a href="https://shkspr.mobi/blog/2026/07/im-just-so-bored-of-ai/"&gt;just so bored of AI&lt;/a&gt;!)&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=75701&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/09/are-llms-still-surprisingly-bad-at-some-simple-tasks/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The purpose of DNS is to spread scams]]></title>
		<link>https://shkspr.mobi/blog/2026/09/the-purpose-of-dns-is-to-spread-scams/</link>
					<comments>https://shkspr.mobi/blog/2026/09/the-purpose-of-dns-is-to-spread-scams/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Sun, 06 Sep 2026 11:34:20 +0000</pubDate>
		<category><![CDATA[ICANN]]></category><category><![CDATA[Internet]]></category><category><![CDATA[scam]]></category><category><![CDATA[spam]]></category><category><![CDATA[TLD]]></category><category><![CDATA[web]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=74588</guid>

					<description><![CDATA[I imagine everyone here has received an unsolicited message telling them that their tax is overdue and that they urgently need to visit Genuine-Tax-Payment-Website.fart or that a parcel is delayed at customs and you can pay a small sum for its release at Almost-The-Right-Acronym.ak  You know it is a scam. Most people just mark as spam and move on with their day. But a significant number of people …]]></description>
										<content:encoded>&lt;p&gt;I imagine everyone here has received an unsolicited message telling them that their tax is overdue and that they urgently need to visit Genuine-Tax-Payment-Website.fart or that a parcel is delayed at customs and you can pay a small sum for its release at Almost-The-Right-Acronym.ak&lt;/p&gt;

&lt;p&gt;You know it is a scam. Most people just mark as spam and move on with their day. But a significant number of people don't. They hastily visit the site, tap in their credit card details, give it their mother's maiden name, confirm address, upload a nude selfie, and only then realise that they've been had.&lt;/p&gt;

&lt;p&gt;The Internet works at pretty close to the speed of light. You can register a .uk domain and a minute later it's accessible from the other side of the planet. Brilliant for users who want to quickly launch a website. Also brilliant for abusers who want to launch a spam campaign.&lt;/p&gt;

&lt;p&gt;By the time enough people have reported the scammers' domain as suspicious, it is too late. In the time it takes for a registrar to disable the domain, or for its name to make its way to the &lt;a href="https://safebrowsing.google.com/"&gt;Safe Browsing List&lt;/a&gt;, a million messages have already been sent and enough people have handed over their details.&lt;/p&gt;

&lt;p&gt;We're told that "&lt;a href="https://en.wikipedia.org/wiki/The_purpose_of_a_system_is_what_it_does"&gt;the purpose of a system is what it does&lt;/a&gt;". At the moment, the Domain Name System's purpose seems to be a vector for criminals to run scams on people at a terrifyingly high rate.&lt;/p&gt;

&lt;h2 id="how-big-is-this-problem"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/the-purpose-of-dns-is-to-spread-scams/#how-big-is-this-problem"&gt;How big is this problem?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;BIG!&lt;/p&gt;

&lt;p&gt;There's a great blog post by Andrew Campling which reports on this startling claim:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The study found that at least 10% of all new gTLD domain names registered during the year had subsequently appeared on security blocklists by the time of analysis. It estimated that, taking account of subsequent blocklisting and associated domains not themselves blocklisted, the share of names registered by malicious actors &lt;strong&gt;may be closer to 20%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://labs.ripe.net/author/andrew_campling/dns-abuse-and-criminal-infrastructure-beyond-definitions-and-blocklists/"&gt;DNS Abuse and Criminal Infrastructure: Beyond Definitions and Blocklists&lt;/a&gt; (emphasis added)&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That links to a presentation by Interisle which contains some rather shocking statistics (&lt;a href="https://www.icann.org/en/blogs/details/looking-beyond-the-numbers-understanding-malicious-domain-registration-data-10-08-2026-en"&gt;albeit with disputed methodology&lt;/a&gt;). It looks at &lt;em&gt;generic&lt;/em&gt; Top Level Domains (gTLD) - those are things like .com and .fun rather than country code TLDs (ccTLD) like .uk and .de.&lt;/p&gt;

&lt;p&gt;It says 85 million new registrations of gTLDs were made in 2025. Of those 8.5 million were added to blocklists by May 2025. It reckons that a 10% abuse rate is the likely floor for these numbers and it's probably closer to 20%. One in five newly registered domains with a gTLD are scams. That's a bloody crisis.&lt;/p&gt;

&lt;p&gt;13 TLDs had more than 50% of their registrations blocklisted.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/gTLDs.webp" alt="Table listing the top 13 generic Top-Level Domains (gTLDs) with the highest percentage of blocklisted, malicious new domains created in 2025. Ranked from highest to lowest blocklist percentage, top entries include .LOCKER (72.9%), .LGBT (72.2%), and .TOWN (70.2%). The table detail includes TLD operators, registration totals, and specific malicious domain metrics." width="1162" height="954" class="aligncenter"&gt;

&lt;p&gt;I can understand why .bid and .loan are popular with scammers. But why .mobi?! What did I ever do to you, eh?&lt;/p&gt;

&lt;p&gt;Who are the scammers registering these through?&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/registrars.webp" alt="List of registrars. NameCheap, Gname, Dynadot, NameSilo, GoDaddy." width="910" height="390" class="aligncenter"&gt;

&lt;p&gt;Ah, our old friends at NameCheap. See &lt;a href="https://shkspr.mobi/blog/2021/05/why-do-scammers-love-namecheap/"&gt;Why do scammers love NameCheap?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If those five registrars had more effective policies, it might significantly dent the scammers' ability to ply their devious wares. Or they might just move on to other registrars.&lt;/p&gt;

&lt;p&gt;As the report points out:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;suspension rates for blocklisted domains were 7.4% to 16.3%.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://interisle.net/s/FullReport_MaliciousRegistrationsintheDomainNameMarket_2026_rev.pdf"&gt;The full report is on the Interisle website&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="what-can-be-done"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/the-purpose-of-dns-is-to-spread-scams/#what-can-be-done"&gt;What can be done?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;I don't know.&lt;/p&gt;

&lt;p&gt;In the first instance, it might make sense for registrars to do strong Know Your Customer (KYC) checks on anyone buying a domain. But that stops anyone who wants to anonymously register &lt;code&gt;I-Hate-Nintendo.whatever&lt;/code&gt; without risking the wrath of Intellectual Property lawyers.&lt;/p&gt;

&lt;p&gt;Also, criminals have access to stolen money and stolen cards. They can convince a hapless mule to register a domain on the criminals' behalf.&lt;/p&gt;

&lt;p&gt;Registrars could ask for an escrow payment. Pay €9 for the domain name put €900 in escrow. If your domain appears on a blocklist within the year, you forfeit the money. Criminals with stolen funds are unlikely to care but it would probably put off lots of people from getting a new domain.&lt;/p&gt;

&lt;p&gt;There are various banned words and phrases depending on the TLD. For example, &lt;a href="https://shkspr.mobi/blog/2024/07/ss-tld-opening-for-direct-registrations/"&gt;South Sudan&lt;/a&gt; has a list of political words which they don't want associated with their .ss ccTLD.&lt;/p&gt;

&lt;p&gt;But if one gTLD bans a word, a different one might not. A scammer doesn't care if the gTLD is .arse or .elbow - they just want the start of the domain to look legitimate.&lt;/p&gt;

&lt;p&gt;Some registrars have strings that they don't allow. In fairness to NameCheap, when I tried to register &lt;code&gt;dwp-payments-gov-uk.pizza&lt;/code&gt; it told me that domain was banned. It wouldn't let me get any gTLD with that name.&lt;/p&gt;

&lt;p&gt;But all it takes is one registrar to be slightly lax and the scammers get through. Increasing the complexity of the rules is also a hell of a burden on smaller registrars.&lt;/p&gt;

&lt;p&gt;Besides, it's pretty easy to get a generic enough looking domain and stick the confusing bit on a subdomain. Here are a clutch mentioned in the report:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;https://gov.uk-dwpaph.bond/uk/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https://gov.uk-dwpcjh.bond/uk/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https://gov.uk-dwpclc.bond/uk&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https://gov.uk-dwpclw.bond/uk&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https://gov.uk-dwpclj.bond/uk/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perhaps there ought to be a delay before a new domain goes live to allow people to object to it? That would give governments, banks, delivery companies, and a dozen more "important" organisations a right to veto any "dodgy" looking domain.&lt;/p&gt;

&lt;p&gt;But suppose someone wants to register &lt;code&gt;gov-uk-stole-my-horse.horse&lt;/code&gt; to protest the government's cruel policy of stealing horses - is that a legitimate use of a domain? What if the Darwin Pensioner Divas - a group of elderly singers - want to take payments for their new album of goth/punk covers, can the DPD delivery company veto &lt;code&gt;dpd-payments.music&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;Do we want a domain name system where powerful companies control exactly which domains we can register? If I have an idea for a domain on a Friday night do I have to wait until Monday before it can be launched? Are those companies realistically able to parse millions of domains per year and have a low false-positive rate?&lt;/p&gt;

&lt;p&gt;All of these things are possible - but all of them come with an impact on legitimate users. To be clear, I don't know what the right answer is.&lt;/p&gt;

&lt;h2 id="what-is-icann-doing-about-it"&gt;&lt;a href="https://shkspr.mobi/blog/2026/09/the-purpose-of-dns-is-to-spread-scams/#what-is-icann-doing-about-it"&gt;What is ICANN doing about it?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Lots! It has been a few years since I've been to an ICANN meeting, but even back then the topic of abuse was high on the agenda. They appear to be looking at ways to coordinate abuse reports between various entities, along with some other policies which should hopefully work.&lt;/p&gt;

&lt;p&gt;There are two salient points from &lt;a href="https://hosted-files.sched.co/icann86/b3/TRANSC_I86SQV_Mon08June2026__GNSO-DNS%20Abuse%20Mitigation%20PDP%201%20%281%20of%204%29-en.pdf"&gt;one of the discussions held at the recent meeting&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;If anybody thinks that in our current age of AI and as we move into different kinds of computing, DNS abuse is going to numerically stay steady and we will have a downward effect on that baseline 2027 number. I'm not sure that that's an accurate assumption. I think it's going to be the other thing, which is […] it's going to be easier to abuse the DNS.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Abusers are going to abuse because it's just too lucrative, because no matter what we do, they will find the way to make profit off of that, and will try to circumvent everything that we do. That is not a reason not to do it, though.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Quite!&lt;/p&gt;

&lt;p&gt;As I said, I don't know the answer to this. What I do know is, much like &lt;a href="https://shkspr.mobi/blog/2025/08/is-it-possible-to-allow-sideloading-and-keep-users-safe/"&gt;Android's app ecosystem being a haven for scammers&lt;/a&gt;, DNS is facing a crisis. When trust in a system goes, only chaos follows.&lt;/p&gt;

&lt;p&gt;I don't want to live in a world where I have to show my passport and pay thousands of pounds to register a domain which is only available after being vetted by private interests. But I also don't want to live in a world where scammers have effectively no deterrent from abusing millions of people.&lt;/p&gt;

&lt;p&gt;The purpose of a system is what it does. I hope DNS's purpose can become less dangerous while still remaining open.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=74588&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/09/the-purpose-of-dns-is-to-spread-scams/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Two Way TV - product photos of 1997's hottest gadget]]></title>
		<link>https://shkspr.mobi/blog/2026/06/two-way-tv-product-photos-of-1997s-hottest-gadget/</link>
					<comments>https://shkspr.mobi/blog/2026/06/two-way-tv-product-photos-of-1997s-hottest-gadget/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Tue, 16 Jun 2026 11:34:18 +0000</pubDate>
		<category><![CDATA[BBC]]></category><category><![CDATA[history]]></category><category><![CDATA[Internet]]></category><category><![CDATA[retrotech]]></category><category><![CDATA[tv]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=72448</guid>

					<description><![CDATA[Back in the late 1990s, I did a brief stint of work experience at the BBC. One of the most memorable moments was sitting in on a meeting about early forms of Interactive TV.  I saw a demo of &#34;Two Way TV&#34;. A flimsy grey box which (somehow) integrated with your OnDigital TV Box and connected to a server via a modem. If you were watching &#34;Who Wants To Be A Millionaire&#34; you could play along at home,…]]></description>
										<content:encoded>&lt;p&gt;Back in the late 1990s, I did a brief stint of work experience at the BBC. One of the most memorable moments was sitting in on a meeting about &lt;a href="https://shkspr.mobi/blog/2022/12/early-forms-of-interactive-tv/"&gt;early forms of Interactive TV&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I saw a demo of "Two Way TV". A flimsy grey box which (somehow) integrated with your OnDigital TV Box and connected to a server via a modem. If you were watching "Who Wants To Be A Millionaire" you could play along at home, send in your answers in realtime, and win REAL CASH PRIZES!!!&lt;/p&gt;

&lt;p&gt;An anonymous benefactor read my blog post about the tech, had a pootle through their loft, and found one of the trial boxes they'd been sent in June 1997. With their kind permission, here are some photos of the future we never got.&lt;/p&gt;

&lt;p&gt;The unit came in a chunky box with enough logos to convince you it was safe to plug in to the phone network.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Box.webp" alt="Orange box with regulatory logos." width="739" height="344" class="aligncenter size-full wp-image-72449"&gt;

&lt;p&gt;Flipping it over, we see a little more of the tech-specs and a defunct barcode (&lt;code&gt;5033936000023&lt;/code&gt; for anyone searching) and product number (&lt;code&gt;SD2044N&lt;/code&gt;).&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Rear-Box.webp" alt="Box with a barcode and promises of NICAM stereo." width="445" height="751" class="aligncenter size-full wp-image-72450"&gt;

&lt;p&gt;Mmmm! NICAM! So, what did the Set Top Box (STB) actually look like:&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/STB.webp" alt="Boring grey box." width="435" height="219" class="aligncenter size-full wp-image-72452"&gt;

&lt;p&gt;Pretty much the same as every other Digital TV STB of the era. A featureless grey slab. Here's a closer view.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/STB-detail.webp" alt="A slight close up showing the logo." width="693" height="126" class="aligncenter size-full wp-image-72451"&gt;

&lt;p&gt;How was it all connected? Here's the rear of the box:
&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Rear-panel-with-scart-connectors.webp" alt="SCART and other connectors." width="756" height="252" class="aligncenter size-full wp-image-72453"&gt;&lt;/p&gt;

&lt;p&gt;Aerial in and out - I assume it had a digital decoder in it, but could pass the analogue channels through to the TV.&lt;/p&gt;

&lt;p&gt;Stereo out, for plugging in to your sound system.&lt;/p&gt;

&lt;p&gt;SCART in and out. I assume that let you connect your VCR or games console in pass-through mode.&lt;/p&gt;

&lt;p&gt;Keyboard looks like a PS/2 port - which would have been the standard at the time. Comms and Remove Receiver both appear to be 8 pin serial connectors.&lt;/p&gt;

&lt;p&gt;Finally, there's a standard telephone port for connecting to the dial-up service which makes it all work.&lt;/p&gt;

&lt;p&gt;So, you've plugged in all the wires, how do you actually play the games? The unit comes with two controllers - one red and one blue.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Red-Controller.webp" alt="Game controller. Four blue buttons and a primitive touch screen with a red background." width="680" height="435" class="aligncenter size-full wp-image-72454"&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Blue-Controller.webp" alt="Game controller. Four blue buttons and a primitive touch screen with a blue background." width="640" height="413" class="aligncenter size-full wp-image-72455"&gt;

&lt;p&gt;The four buttons (triangle, square, circle, lozenge) were for answering on-screen questions. There's an up and down scroller in the middle and a help button above it. I don't know what the large grey circle does.&lt;/p&gt;

&lt;p&gt;But what's the peculiar button on the coloured background? That's an early cursor control! Commercially available touchscreens were still in their infancy. This physical controller allowed you to position a digital cursor on screen. Nifty!&lt;/p&gt;

&lt;p&gt;Also in the box was a TV guide:&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Two-Way-TV-Guide.webp" alt="Magazine offering you the ability to play Wheel of Fortune with Jenny." width="374" height="521" class="aligncenter size-full wp-image-72456"&gt;

&lt;p&gt;A getting started leaflet:&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Getting-Started-Guide.webp" alt="Getting Started Guide." width="416" height="296" class="aligncenter size-full wp-image-72458"&gt;

&lt;p&gt;There's also a service manual:&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Field-Service-SD2044-and-SD2044N.webp" alt="Field Service SD2044 and SD2044N." width="420" height="546" class="aligncenter size-full wp-image-72457"&gt;

&lt;p&gt;I don't know what the difference was between SD2044 and SD2044&lt;strong&gt;N&lt;/strong&gt;. Do you?&lt;/p&gt;

&lt;p&gt;How much would this amazing interactive experience cost you? I've no idea about the upfront payment for the kit, but there's a Direct Debit form for the monthly subscription.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/Direct-Debit-cost.webp" alt="£6.95 per month." width="670" height="466" class="aligncenter size-full wp-image-72459"&gt;

&lt;p&gt;That's about £14 in today's money.&lt;/p&gt;

&lt;p&gt;So there you have it! A snapshot of 1997's vision of the future. From my understanding, the box was never a hit with the public. Two Way TV pivoted to other forms of interactive content like premium-rate phone-ins before &lt;a href="https://www.tvforum.co.uk/tvhome/two-way-tv-goes-administration-7314"&gt;going bust in 2003&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have any more memories of the service, or interesting photos, please leave a comment or &lt;a href="https://edent.tel"&gt;get in touch with me&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;ins datetime="2026-06-18T11:12:48+00:00"&gt;Update!&lt;/ins&gt; Some more information has been found:&lt;/p&gt;

&lt;blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:pm2zufo32pvn5pkewamnzfcp/app.bsky.feed.post/3moi2iq22zk2s" data-bluesky-cid="bafyreiadpzf356ebgp3tu43h4ecofd4aidn4ahlxs52lu4seaaiovap4ve" data-bluesky-embed-color-mode="system"&gt;&lt;p lang="en"&gt;Ooh! Ooh! I have some niche information about this. It appears that stuff was broadcast to these boxes via teletext databroadcast packets - we've seen mysterious data streams with references to two way tv in teletext recoveries from Channel 4 recordings.&lt;/p&gt;— ZXGuesser (&lt;a href="https://bsky.app/profile/did:plc:pm2zufo32pvn5pkewamnzfcp?ref_src=embed"&gt;@zxguesser.bsky.social&lt;/a&gt;) &lt;a href="https://bsky.app/profile/did:plc:pm2zufo32pvn5pkewamnzfcp/post/3moi2iq22zk2s?ref_src=embed"&gt;17 June 2026 at 12:59&lt;/a&gt;&lt;/blockquote&gt;

&lt;script async="" src="https://embed.bsky.app/static/embed.js" charset="utf-8"&gt;&lt;/script&gt;

&lt;p&gt;With ZXGuesser's kind permission, here are some of the recovered data packets. They're fairly corrupt (recording Teletext to VHS isn't an exact science) but you can see some clear mentions of Two Way TV.&lt;/p&gt;

&lt;p&gt;Here's something about a trial period being extended:&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/teletext1.webp" alt="Corrupted text code." width="356" height="719" class="aligncenter size-full wp-image-72538"&gt;

&lt;p&gt;This looks like code for a game:&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/teletext2.webp" alt="Corrupted text code." width="347" height="704" class="aligncenter size-full wp-image-72537"&gt;

&lt;p&gt;Quiz results by household (possibly test data):&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/teletext3.webp" alt="Corrupted text code." width="351" height="687" class="aligncenter size-full wp-image-72536"&gt;

&lt;p&gt;Control code and UI code, possibly for a 68000 device:&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/teletext4.webp" alt="Corrupted text code." width="349" height="752" class="aligncenter size-full wp-image-72535"&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2026/06/teletext5.webp" alt="Corrupted text code." width="352" height="740" class="aligncenter size-full wp-image-72534"&gt;

&lt;p&gt;If you have more info to share, please let me know.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=72448&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/06/two-way-tv-product-photos-of-1997s-hottest-gadget/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[How many consecutive hyphens can you have in a domain name?]]></title>
		<link>https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/</link>
					<comments>https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 11:34:59 +0000</pubDate>
		<category><![CDATA[DNS]]></category><category><![CDATA[ICANN]]></category><category><![CDATA[IETF]]></category><category><![CDATA[Internet]]></category><category><![CDATA[standards]]></category><category><![CDATA[web]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=71560</guid>

					<description><![CDATA[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&#039;t sensible to name your online presence a----------hyphen.com - but is there anything technically stopping you?  Table of ContentsHistoryTLD RestrictionsAnomaliesSo What?  History  Let&#039;s do some history!  This is 1978&#039;s &#34;HOST NAMES…]]></description>
										<content:encoded>&lt;p&gt;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 &lt;em&gt;sensible&lt;/em&gt; to name your online presence &lt;code&gt;a----------hyphen.com&lt;/code&gt; - but is there anything technically stopping you?&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;nav role="doc-toc"&gt;&lt;menu&gt;&lt;li&gt;&lt;h2 id="table-of-contents"&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#table-of-contents"&gt;Table of Contents&lt;/a&gt;&lt;/h2&gt;&lt;menu&gt;&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#history"&gt;History&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#tld-restrictions"&gt;TLD Restrictions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#anomalies"&gt;Anomalies&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#so-what"&gt;So What?&lt;/a&gt;&lt;/li&gt;&lt;/menu&gt;&lt;/li&gt;&lt;/menu&gt;&lt;/nav&gt;&lt;p&gt;&lt;/p&gt;

&lt;h2 id="history"&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#history"&gt;History&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Let's do some history!&lt;/p&gt;

&lt;p&gt;This is 1978's "HOST NAMES ON-LINE". Early Internet standards described the &lt;code&gt;-&lt;/code&gt; character as "minus" rather than hyphen.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;a href="https://www.rfc-editor.org/rfc/rfc608"&gt;RFC 608&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;up to 48 characters drawn from the alphabet (A-Z),&lt;/p&gt;

&lt;p&gt;digits (0-9), and the minus sign (-) ... specifically, no blank or space characters allowed;&lt;/p&gt;

&lt;p&gt;no distinction between upper and lower case letters;&lt;/p&gt;

&lt;p&gt;the first character is a letter;&lt;/p&gt;

&lt;p&gt;the last character is NOT a minus sign;&lt;/p&gt;

&lt;p&gt;no other restrictions on content or syntax.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;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&lt;sup id="fnref:naughty"&gt;&lt;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"&gt;0&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;That was later formalised in 1981's "DoD INTERNET HOST TABLE SPECIFICATION"&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;RFC 810 &lt;a href="https://www.rfc-editor.org/rfc/rfc810"&gt;GRAMMATICAL HOST TABLE SPECIFICATION&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;name&amp;gt;  ::= &amp;lt;let&amp;gt;[*[&amp;lt;let-or-digit-or-hyphen&amp;gt;]&amp;lt;let-or-digit&amp;gt;]&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That's carried in the the slightly more modern &lt;a href="https://www.rfc-editor.org/rfc/rfc952"&gt;RFC 952&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;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&lt;sup id="fnref:63"&gt;&lt;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"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;RFC 1035 &lt;a href="https://www.rfc-editor.org/rfc/rfc1035#section-2.3.1"&gt;2.3.1. Preferred name syntax&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;By 1989, the "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION" was tweaked again:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;RFC 1123 &lt;a href="https://www.rfc-editor.org/rfc/rfc1123"&gt;2. GENERAL ISSUES&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;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 &lt;code&gt;xn--&lt;/code&gt; string at the start of the name so, the spec now says:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;RFC 5891 &lt;a href="https://www.rfc-editor.org/rfc/rfc5891#section-4.2.3.1"&gt;4.2.3.1.  Hyphen Restrictions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;What they &lt;em&gt;really&lt;/em&gt; mean is that "--" is banned in position 3 &amp;amp; 4 &lt;em&gt;unless&lt;/em&gt; the first two characters are "xn"&lt;sup id="fnref:zero"&gt;&lt;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"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;So, in theory, you can have up to 59 consecutive hyphens by ensuring that they start in position 4 and end at position 62.&lt;/p&gt;

&lt;p&gt;Something like &lt;code&gt;abc---[…]---z.com&lt;/code&gt; should be fine.&lt;/p&gt;

&lt;p&gt;OR IS IT?!?!?&lt;/p&gt;

&lt;h2 id="tld-restrictions"&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#tld-restrictions"&gt;TLD Restrictions&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;For example, South Sudan's &lt;a href="https://nic.ss/wp-content/uploads/2024/07/ssNIC-Registry-Sunrise-Registration-Policy-July-2024.pdf"&gt;.ss policies refuse to allow &lt;em&gt;any&lt;/em&gt; hyphens&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Nominet, who run the .uk Registry, &lt;a href="https://www.nominet.uk/wp-content/uploads/2025/03/UK-rules-of-registration.pdf"&gt;don't have any restrictions on the use of hyphens&lt;/a&gt; other than refusing to register &lt;code&gt;xn--&lt;/code&gt; domains.&lt;/p&gt;

&lt;p&gt;But, in general, you can register multi-hyphened domain names with most Registries.&lt;/p&gt;

&lt;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"&gt;

&lt;h2 id="anomalies"&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#anomalies"&gt;Anomalies&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Of course, the mighty Internet mostly runs on spit and hope&lt;sup id="fnref:furry"&gt;&lt;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"&gt;3&lt;/a&gt;&lt;/sup&gt;. Naturally there are going to be mistakes, glitches, exceptions, and anomalies.&lt;/p&gt;

&lt;p&gt;My delightful friend &lt;a href="https://magicalcodewit.ch/"&gt;Q Misell&lt;/a&gt; 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 &lt;em&gt;every&lt;/em&gt; domain name, nevertheless, there are hundreds of multi-hyphened domains lurking within DNS.&lt;/p&gt;

&lt;p&gt;Some, like &lt;a href="https://web.archive.org/web/20020325103751/http://www.ok--computer.com/"&gt;ok--computer.com&lt;/a&gt; are long dead, but some are still active&lt;sup id="fnref:sale"&gt;&lt;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"&gt;4&lt;/a&gt;&lt;/sup&gt;!&lt;/p&gt;

&lt;p&gt;Possibly the most consecutive hyphens belongs to &lt;a href="http://a-------------------------------------------------------------a.com/"&gt;http://a-------------------------------------------------------------a.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;But what about more modern domains? The spookily named &lt;a href="http://zz--icann-monitoring.uk/"&gt;http://zz--icann-monitoring.uk/&lt;/a&gt; was registered in 2024 - long after the rules were updated. But as Nominet doesn't allow &lt;code&gt;xn--&lt;/code&gt; domains, I guess it is fine?&lt;/p&gt;

&lt;p&gt;There are some domains like &lt;code&gt;bq--3bhauz7frjrgbka.com&lt;/code&gt; which look like they were pseudo-randomly generated. Perhaps as command-and-control servers?&lt;/p&gt;

&lt;p&gt;Here's a quick table showing some of the ones Q found:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
  &lt;th align="right"&gt;Domain&lt;/th&gt;
  &lt;th align="left"&gt;Creation Date&lt;/th&gt;
  &lt;th align="left"&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;0-------------------------------------------------------------0.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;1999&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;0-------------------------------------------------------------5.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2001&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;0---------------------0.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;0----------------0.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;0---------0.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;pr--newswire.org.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2005&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;0o--o0.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;a-----a.net&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;pr--newswire.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2019&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;uk--domain--names.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2019&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;zz--icann-monitoring.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2024&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;cd--storage-shelves.co.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2012&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;mb--uk.co.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2015&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;o---t.co.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2016&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;om--tat-sat.co.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;1999&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;pr--newswire.co.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2005&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;uk--domain--names.co.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;we--buy--any--car.co.uk&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2009&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;i---i.net&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2001&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;a-------------------------------------------------------------a.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;a---b.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;v---v.net&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;we--care.net&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;1999&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;b---h.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2001&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--3bhauz7frjrgbka.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--3bhauz7frjrgbkdcia.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--3cbpcty2rjyq.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--744a.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--abs7czi.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--abxgt4lb.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--azbukkckjavdc.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--azdecny.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--eh7xj73b75xp62x7mh7xgah7ad7xj73b75xa.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--gbbpy2enmnhq.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--gbtfs2a.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--s7z76.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;bq--zzzz.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;c-------7.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2001&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;f---you.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;1998&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;id--design.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;1999&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;ok--computer.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2001&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;t---28.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2000&lt;/td&gt;
  &lt;td align="left"&gt;Live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="right"&gt;&lt;code&gt;t---taz---t.com&lt;/code&gt;&lt;/td&gt;
  &lt;td align="left"&gt;2001&lt;/td&gt;
  &lt;td align="left"&gt;Down&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Note, "Live" just means an HTTP request returned &lt;em&gt;something&lt;/em&gt;. There may, of course, be other services running on that domain, or on subdomains.&lt;/p&gt;

&lt;h2 id="so-what"&gt;&lt;a href="https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/#so-what"&gt;So What?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most people don't want multiple consecutive hyphens in their domain names. They're unwieldy but mostly not prohibited.&lt;/li&gt;
&lt;li&gt;If the authors of RFC 5891 had access to a full list of domains, might they have chosen a different syntax for Punycode?&lt;/li&gt;
&lt;li&gt;Why is it so hard to look through every single registered domain name anyway? Even Certificate Logs no longer seem to be easily searchable.&lt;/li&gt;
&lt;li&gt;Are there any other weird restrictions which are violated by older domain names?&lt;/li&gt;
&lt;li&gt;When will DNS finally go all-in with Unicode rather than this kludge? (Probably around the same time as IPv6 adoption!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you know of any weird multi-hyphenated domains, please stick a comment in the box 😊&lt;/p&gt;

&lt;p&gt;&lt;ins datetime="2026-06-09T06:10:32+00:00"&gt;Update!&lt;/ins&gt; A kind anonymous benefactor has shared a list of eighty-four &lt;em&gt;thousand&lt;/em&gt; &lt;a href="https://codeberg.org/edent/Consecutive--Dash----Domains"&gt;domains with multiple hyphen&lt;/a&gt;s. There are some very odd entries in there.&lt;/p&gt;

&lt;div id="footnotes" role="doc-endnotes"&gt;
&lt;hr aria-label="Footnotes"&gt;
&lt;ol start="0"&gt;

&lt;li id="fn:naughty"&gt;
&lt;p&gt;Way back in the year 1999, &lt;a href="https://www.icann.org/en/announcements/details/comment-concerning-trailing-hyphen-domain-names-7-1-2000-en"&gt;several domains were registered with trailing hyphens&lt;/a&gt;. This was swiftly corrected and the domains deleted.&amp;nbsp;&lt;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"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:63"&gt;
&lt;p&gt;Note, I think this is when domain names expanded from 48 characters to 63. But that's a different Yak to Shave.&amp;nbsp;&lt;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"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:zero"&gt;
&lt;p&gt;I wonder why this isn't zero-based like so many other computery things. But that's a different rabbit hole.&amp;nbsp;&lt;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"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:furry"&gt;
&lt;p&gt;And, so I'm told, a cabal of vicious Furries waiting to pounce.&amp;nbsp;&lt;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"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:sale"&gt;
&lt;p&gt;There are also quite a few for sale.&amp;nbsp;&lt;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"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=71560&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/06/how-many-consecutive-hyphens-can-you-have-in-a-domain-name/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[This time is different]]></title>
		<link>https://shkspr.mobi/blog/2026/02/this-time-is-different/</link>
					<comments>https://shkspr.mobi/blog/2026/02/this-time-is-different/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Thu, 26 Feb 2026 12:34:39 +0000</pubDate>
		<category><![CDATA[AI]]></category><category><![CDATA[Internet]]></category><category><![CDATA[technology]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=64559</guid>

					<description><![CDATA[3D TV, AMP, Augmented Reality, Beanie Babies, Blockchain, Cartoon Avatars, Curved TVs, Frogans, Hoverboards, iBeacons, Jetpacks, Metaverse, NFTs, Physical Web, Quantum Computing, Quibi, Small and Safe Nuclear Reactors, Smart Glasses, Stadia, WiMAX.  The problem is, the same dudes (and it was nearly always dudes) who were pumped for all of that bollocks now won&#039;t stop wanging on about Artificial…]]></description>
										<content:encoded>&lt;p&gt;3D TV, AMP, Augmented Reality, Beanie Babies, Blockchain, Cartoon Avatars, Curved TVs, Frogans, Hoverboards, iBeacons, Jetpacks, Metaverse, NFTs, Physical Web, Quantum Computing, Quibi, Small and Safe Nuclear Reactors, Smart Glasses, Stadia, WiMAX.&lt;/p&gt;

&lt;p&gt;The problem is, the same dudes (and it was nearly always dudes) who were pumped for all of that bollocks now won't stop wanging on about Artificial Fucking Intelligence.&lt;/p&gt;

&lt;p&gt;"It's gonna be the future bro, just trust me!"&lt;/p&gt;

&lt;p&gt;"I dunno, man. Seems like you say that about every passing fancy - and they all end up being utterly underwhelming."&lt;/p&gt;

&lt;p&gt;"This time is different!"&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*sigh*&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The investor who says, “This time is different,” when in fact it’s virtually a repeat of an earlier situation, has uttered among the four most costly words in the annals of investing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.franklintempleton.com/forms-literature/download/TL-R16"&gt;16 rules for investment success - Sir John Templeton&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;All of the above technologies are still chugging along in some form or other (well, OK, not Quibi). Some are vaguely useful and others are propped up by weirdo cultists. I don't doubt that AI will be a &lt;em&gt;part&lt;/em&gt; of the future - but it is obviously just going to be one of &lt;em&gt;many&lt;/em&gt; technology which are in use.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;No enemies had ever taken Ankh-Morpork. Well technically they had, quite often; the city welcomed free-spending barbarian invaders, but somehow the puzzled raiders found, after a few days, that they didn't own their horses any more, and within a couple of months they were just another minority group with its own graffiti and food shops.&lt;/p&gt;

&lt;p&gt;Terry Pratchet's &lt;del&gt;Faust&lt;/del&gt; Eric&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The ideology of "winner takes all" is unsustainable and not supported by reality.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=64559&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/02/this-time-is-different/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Preventing NAPTR Spam]]></title>
		<link>https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/</link>
					<comments>https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Mon, 18 Aug 2025 11:34:47 +0000</pubDate>
		<category><![CDATA[DNS]]></category><category><![CDATA[Internet]]></category><category><![CDATA[privacy]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=61707</guid>

					<description><![CDATA[You&#039;re the sort of cool nerd who knows all the weird esoterica which makes up DNS, right? In amongst your A, AAAA, SOA, and MX records, there&#039;s a little used NAPTR. Yes, you can use DNS to store Name Authority Pointers!  What?!  It is yet another of those baroque standards which spits out things like:  cid.uri.arpa. ;;       order pref flags service        regexp           replacement IN NAPTR…]]></description>
										<content:encoded>&lt;p&gt;You're the sort of cool nerd who knows all the weird esoterica which makes up DNS, right? In amongst your A, AAAA, SOA, and MX records, there's a little used &lt;a href="https://dn.org/understanding-naptr-records-and-their-role-in-dns/"&gt;NAPTR&lt;/a&gt;. Yes, you can use DNS to store Name Authority Pointers!&lt;/p&gt;

&lt;p&gt;What?!&lt;/p&gt;

&lt;p&gt;It is yet another of those &lt;a href="https://shkspr.mobi/blog/2015/11/a-polite-way-to-say-ridiculously-complicated/"&gt;baroque&lt;/a&gt; standards which spits out things like:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;cid.uri.arpa.
;;       order pref flags service        regexp           replacement
IN NAPTR 100   10   ""    ""  "!^cid:.+@([^\.]+\.)(.*)$!\2!i"    .
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Essentially, it is a way to store contact details within a DNS record (rather than in a WHOIS record).&lt;/p&gt;

&lt;p&gt;Back in the early 2000s, the dotTel company opened the .tel TLD with a promise that it could be used to store your contact details in DNS&lt;sup id="fnref:history"&gt;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:history" class="footnote-ref" title="Even back in 2009 I didn't think it was terribly compelling. By 2013, it was almost dead. And in 2017 it became just another generic TLD." role="doc-noteref"&gt;0&lt;/a&gt;&lt;/sup&gt;.  The idea was simple, rather than storing my phone number in your address book, you'd store my domain name - &lt;a href="https://edent.tel/"&gt;https://edent.tel/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If I updated my phone number, changed my avatar, or deleted an old email address - your address book would automatically update via DNS. Nifty!&lt;/p&gt;

&lt;p&gt;If you didn't know a company's phone number, you'd dial &lt;code&gt;example.com&lt;/code&gt; on your phone and it would grab the phone numbers from DNS. Wowsers trousers!&lt;/p&gt;

&lt;p&gt;You can see an example by running:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;dig justin.tel NAPTR
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You'll get back something like:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;NAPTR   100 101 "u" "E2U+web:http" "!^.*$!http://justinkhayward.com!" 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A phone number stored in a NAPTR would look something like:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;NAPTR   100 100 "u" "E2U+voice:tel" "!^.*$!tel:+442074676450!" .
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Brilliant! But there's a problem - aside from the somewhat obtuse syntax! - and that problem is spam.&lt;/p&gt;

&lt;p&gt;Those of you old enough to remember putting your unexpurgated contact details into WHOIS know that the minute it went live you were bombarded with sales calls and scammy emails. So putting your details directly into DNS is a bad idea, right?&lt;/p&gt;

&lt;p&gt;.tel thought they'd come up with a clever hack to prevent that. As they explain in &lt;a href="https://web.archive.org/web/20120504070307/https://dev.telnic.org/docs/privacy.pdf"&gt;the .tel privacy paper&lt;/a&gt;, records can be individually encrypted.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alice has her contact details on &lt;code&gt;alice.tel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Bob has his contact details on &lt;code&gt;bob.tel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Alice agrees to share her phone number with Bob.&lt;/li&gt;
&lt;li&gt;Alice looks up Bob's public key from &lt;code&gt;bob.tel&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Alice encrypts her phone number.&lt;/li&gt;
&lt;li&gt;Alice generates a new DNS record specifically for Bob - &lt;code&gt;bob123456.alice.tel&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Alice shares the name of the new record with Bob.&lt;/li&gt;
&lt;li&gt;Bob downloads the NAPTR from &lt;code&gt;bob123456.alice.tel&lt;/code&gt; and decrypts it with his private key.&lt;/li&gt;
&lt;li&gt;Bob periodically checks for updates.&lt;/li&gt;
&lt;li&gt;Alice can decide to revoke Bob's access by removing the data or subdomain.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clever! If convoluted.  You can &lt;a href="https://rikkles.blogspot.com/2008/05/privacy-in-tel.html"&gt;read more about the way friendships and public keys were managed&lt;/a&gt; and &lt;a href="https://web.archive.org/web/20120504073313/https://dev.telnic.org/docs/naptr.pdf"&gt;some more technical details&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Are there better ways?&lt;/p&gt;

&lt;h2 id="multi-recipient-encryption"&gt;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#multi-recipient-encryption"&gt;Multi Recipient Encryption&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;When people say "you can't give Government a secret key to your private messages" they are technically incorrect&lt;sup id="fnref:worst"&gt;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:worst" class="footnote-ref" title="The worst type of incorrect." role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.  Multi Recipient Encryption is a thing.&lt;/p&gt;

&lt;p&gt;Here's a very simplified and subtly wrong explanation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alice creates a &lt;em&gt;temporary&lt;/em&gt; public/private keypair.&lt;/li&gt;
&lt;li&gt;Alice encrypts some text with her temporary public key - resulting in &lt;code&gt;e&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Alice encrypts the temporary private key with Bob's public key - resulting in &lt;code&gt;k1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Alice encrypts the temporary private key with Charlie's public key - resulting in &lt;code&gt;k2&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Alice publishes the concatenation of &lt;code&gt;e+k1+k2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Bob downloads the file, decrypts &lt;em&gt;his&lt;/em&gt; version of the key, and uses that to decrypt the message.&lt;/li&gt;
&lt;li&gt;Charlie does the same.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this way, both recipients are able to decipher the text but no one else can.  So can we just shove an encrypted record in the NAPTR?  Not quite.&lt;/p&gt;

&lt;p&gt;There are two main problems with this for DNS purposes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The encrypted size grows with every recipient.&lt;/li&gt;
&lt;li&gt;Every time a new recipient is added, everyone needs to download the data again even if it is unchanged.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Generally speaking, DNS records are a maximum of 255 characters - &lt;a href="https://kb.isc.org/docs/aa-00356"&gt;although they can be concatenated&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;An extra record could be used to say when the plaintext was last updated - which would let existing recipients know not to download it again.&lt;/p&gt;

&lt;p&gt;Monitoring for changes would allow a user to know roughly how many recipients had been added or removed.&lt;/p&gt;

&lt;p&gt;What other ways could there be?&lt;/p&gt;

&lt;h2 id="what-else-could-be-done"&gt;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#what-else-could-be-done"&gt;What else could be done?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Here's the user story.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I want a friend to subscribe to my [phone|email|street|social media] address(es).&lt;/li&gt;
&lt;li&gt;I must be able to pre-approve access.&lt;/li&gt;
&lt;li&gt;When I change my address, my friend should get my new details.&lt;/li&gt;
&lt;li&gt;I need to be able to revoke people's access.&lt;/li&gt;
&lt;li&gt;This should be done via DNS&lt;sup id="fnref:dns"&gt;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:dns" class="footnote-ref" title="Why DNS? Because I like making life difficult." role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using an API this would be playing on easy mode. A friend (or rather, their app) would request an API key from my service. I would approve it, and then ✨magic✨.&lt;/p&gt;

&lt;p&gt;DNS isn't &lt;em&gt;technically&lt;/em&gt; an API although, with enough effort, you could make it behave like one&lt;sup id="fnref:marquis"&gt;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fn:marquis" class="footnote-ref" title="If you were a sadist!" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;So - how would &lt;em&gt;you&lt;/em&gt; do it?&lt;/p&gt;

&lt;div id="footnotes" role="doc-endnotes"&gt;
&lt;hr aria-label="Footnotes"&gt;
&lt;ol start="0"&gt;

&lt;li id="fn:history"&gt;
&lt;p&gt;Even back in 2009 &lt;a href="https://shkspr.mobi/blog/2009/03/some-thoughts-on-tel/"&gt;I didn't think it was terribly compelling&lt;/a&gt;. By 2013, &lt;a href="https://shkspr.mobi/blog/2013/03/should-i-renew-my-tel-domain/"&gt;it was almost dead&lt;/a&gt;. And in 2017 &lt;a href="https://shkspr.mobi/blog/2017/02/whats-the-future-for-the-tel-domain-name/"&gt;it became just another generic TLD&lt;/a&gt;.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:history" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:worst"&gt;
&lt;p&gt;The &lt;em&gt;worst&lt;/em&gt; type of incorrect.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:worst" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:dns"&gt;
&lt;p&gt;Why DNS? Because I like making life difficult.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:dns" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:marquis"&gt;
&lt;p&gt;If you were a sadist!&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/#fnref:marquis" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=61707&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/08/preventing-naptr-spam/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Get the location of the ISS using DNS]]></title>
		<link>https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/</link>
					<comments>https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Sun, 06 Jul 2025 11:34:33 +0000</pubDate>
		<category><![CDATA[DNS]]></category><category><![CDATA[Internet]]></category><category><![CDATA[trivia]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=61693</guid>

					<description><![CDATA[I love DNS esoterica. Weird little things that you can shove in the global directory to be distributed around the world instantly(ish).  Domain names, like www.example.com usually resolve to servers. As much as we think of &#34;the cloud&#34; as being some intangible morass of ethereal Turing-machines floating in probability space, the more prosaic reality is that they&#039;re just boxen in data centres. They …]]></description>
										<content:encoded>&lt;p&gt;I love DNS esoterica. Weird little things that you can shove in the global directory to be distributed around the world instantly(ish).&lt;/p&gt;

&lt;p&gt;Domain names, like &lt;code&gt;www.example.com&lt;/code&gt; usually resolve to servers. As much as we think of "the cloud" as being some intangible morass of ethereal Turing-machines floating in probability space, the more prosaic reality is that they're just boxen in data centres. They have a physical location.&lt;/p&gt;

&lt;p&gt;Got a tricky machine which is playing silly-buggers? Wouldn't it be nice to know exactly where it is? That way you can visit and give it some &lt;a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/PercussiveMaintenance"&gt;percussive maintenance&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enter the DNS LOC record!&lt;/p&gt;

&lt;p&gt;The snappily titled &lt;a href="https://www.rfc-editor.org/rfc/rfc1876.html"&gt;RFC 1876&lt;/a&gt; is an &lt;em&gt;experimental&lt;/em&gt; standard. It allows you to create a DNS record which specifies the latitude and longitude of your server. Of course, some data-centres are very tall and some are underground. So it also contains an altitude parameter.&lt;/p&gt;

&lt;p&gt;The standard allows for a minimum altitude of -100,000 metres - deep enough for any bunker! The maximum altitude is 42,849,672 metres which is high enough to allow it to be used on &lt;a href="https://www.esa.int/Enabling_Support/Space_Transportation/Types_of_orbits#GEO"&gt;satellites in geostationary orbit&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So, as a bit of fun, I decided to create &lt;code&gt;where-is-the-iss.dedyn.io&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It isn't a website. You can't ping it. There's no way to interact with it &lt;em&gt;except&lt;/em&gt; by using DNS.  Yup! You can use a DNS query to get the (approximate) location of the International Space Station!&lt;/p&gt;

&lt;p&gt;Linux and Mac users&lt;sup id="fnref:win"&gt;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fn:win" class="footnote-ref" title="I don't think there's a way for Windows users to look up LOC records using PowerShell or the Command Prompt." role="doc-noteref"&gt;0&lt;/a&gt;&lt;/sup&gt; can run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dig where-is-the-iss.dedyn.io LOC&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And receive back the latest position of the ISS:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;;; ANSWER SECTION:
where-is-the-iss.dedyn.io. 1066 IN  LOC 47 24 53.500 N 66 12 12.070 W 430520m 10000m 10000m 10000m
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The DNS records are updated every 15 minutes on a best-effort basis&lt;sup id="fnref:nasa"&gt;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fn:nasa" class="footnote-ref" title="Look, I'm not NASA, OK? If you're using this to help you dock then I cannot be held responsible." role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;h2 id="how"&gt;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#how"&gt;How&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;The lovely people at &lt;a href="https://www.n2yo.com"&gt;N2YO&lt;/a&gt; have a website which allows you to track &lt;em&gt;loads&lt;/em&gt; of objects in orbit.  They also have an &lt;a href="https://www.n2yo.com/api/"&gt;easy to use API&lt;/a&gt; with a generous free tier.&lt;/p&gt;

&lt;p&gt;Calling &lt;code&gt;https://api.n2yo.com/rest/v1/satellite/positions/25544/0/0/0/1/&amp;amp;apiKey=_____&lt;/code&gt; gets back the latest position:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-json"&gt;{
    "info": {
        "satname": "SPACE STATION",
        "satid": 25544,
        "transactionscount": 7
    },
    "positions": [
        {
            "satlatitude": -21.25409321,
            "satlongitude": 140.3335763,
            "sataltitude": 420.09,
            "azimuth": 292.92,
            "elevation": -70.95,
            "ra": 202.69300845,
            "dec": -32.16097472,
            "timestamp": 1751366048,
            "eclipsed": true
        }
    ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Note that the altitude is in Km, whereas the LOC format requires m.&lt;/p&gt;

&lt;p&gt;The latitude and longitude are in decimal format - they need to be converted to Degrees, Minutes, and Seconds.&lt;/p&gt;

&lt;p&gt;There were only a few free domain name providers who offer an API for updating LOC records.  I went for &lt;a href="https://desec.io/"&gt;deSEC&lt;/a&gt; a charity from Berlin. They have &lt;a href="https://desec.readthedocs.io/en/latest/"&gt;comprehensive API documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Adding the initial LOC record is done with:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-bash"&gt;curl https://desec.io/api/v1/domains/where-is-the-iss.dedyn.io/rrsets/ \
    --header "Authorization: Token _______" \
    --header "Content-Type: application/json" --data @- &amp;lt;&amp;lt;&amp;lt; \
    '{"type": "LOC", "records": ["40 16 25.712 S 29 32 36.243 W 427550m 0.00m 10000m 10m"], "ttl": 900}'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;However, updating the record is a little trickier. it needs to be sent as an &lt;a href="https://desec.readthedocs.io/en/latest/dns/rrsets.html#modifying-an-rrset"&gt;HTTP PATCH&lt;/a&gt; to a subtly different URl. The PATCH only needs to send the data which have changed.&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-bash"&gt;curl -X PATCH https://desec.io/api/v1/domains/where-is-the-iss.dedyn.io/rrsets/@/LOC/ \
    --header "Authorization: Token _______" \
    --header "Content-Type: application/json" --data @- &amp;lt;&amp;lt;&amp;lt; \
    '{"records": ["40 16 25.712 S 29 32 36.243 W 427550m 0.00m 10000m 10m"]}'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I set the &lt;a href="https://ttl-calc.com/"&gt;Time To Live&lt;/a&gt; at 900 seconds. Every 15 minutes my code runs to update the record&lt;sup id="fnref:api"&gt;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fn:api" class="footnote-ref" title="I suppose you could build an API with unlimited request limits by distributing data via DNS TXT records. Would best suit static or infrequently updating data. Push it once to DNS and let everyone…" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;. That keeps me well within the API limits for both services.  I could add TXT records showing when it was last updated, or other sorts of unstructured data, but I think this is enough for a quick proof-of-concept.&lt;/p&gt;

&lt;p&gt;There you have it! A complex and silly way to demonstrate how DNS can be used to hold the most unlikely of records&lt;sup id="fnref:naptr"&gt;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fn:naptr" class="footnote-ref" title="See if you can find the other interesting record I've added to DNS!" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;.  Say, I wonder how you'd represent the co-ordinates of the Mars Rover…?&lt;/p&gt;

&lt;h2 id="further-reading"&gt;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#further-reading"&gt;Further Reading&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;For more DNS weirdness, please see my other posts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2022/08/dns-esoterica-bimi-svg-in-dns-txt-wtf/"&gt;BIMI - SVG in DNS TXT WTF?!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2022/07/dns-esoterica-why-you-cant-dig-switzerland/"&gt;Why you can't dig Switzerland&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div id="footnotes" role="doc-endnotes"&gt;
&lt;hr aria-label="Footnotes"&gt;
&lt;ol start="0"&gt;

&lt;li id="fn:win"&gt;
&lt;p&gt;I don't think there's a way for Windows users to look up LOC records using PowerShell or the Command Prompt.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fnref:win" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:nasa"&gt;
&lt;p&gt;Look, I'm not NASA, OK? If you're using this to help you dock then I cannot be held responsible.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fnref:nasa" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:api"&gt;
&lt;p&gt;I suppose you could build an API with unlimited request limits by distributing data via DNS TXT records. Would best suit static or infrequently updating data. Push it once to DNS and let everyone query it semi-locally.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fnref:api" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:naptr"&gt;
&lt;p&gt;See if you can find the other interesting record I've added to DNS!&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/#fnref:naptr" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=61693&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[http:, ftp:, and ... dict:?]]></title>
		<link>https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/</link>
					<comments>https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Wed, 18 Sep 2024 11:34:56 +0000</pubDate>
		<category><![CDATA[Internet]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=52349</guid>

					<description><![CDATA[I went for a spelunk through an ancient codebase a few weeks ago which contained a curious regex that I just couldn&#039;t grok.  {&#60;((https?&#124;ftp&#124;dict&#124;tel):[^\&#039;&#34;&#62;\s]+)&#62;}i   I&#039;m familiar with HTTP and FTP. I worked in the mobile industry, so knew that tel:+44... could be used to launch a dialer.  But DICT?!?!?!  It turns out that, lurking on the Internet are Dictionary Servers!  They exist to allow you…]]></description>
										<content:encoded>&lt;p&gt;I went for a spelunk&lt;sup id="fnref:spelunk"&gt;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#fn:spelunk" class="footnote-ref" title="v 1: explore natural caves [syn: {cave}, {spelunk}]" role="doc-noteref"&gt;0&lt;/a&gt;&lt;/sup&gt; through an ancient codebase a few weeks ago which contained a curious regex that I just couldn't grok&lt;sup id="fnref:grok"&gt;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#fn:grok" class="footnote-ref" title="(/grok/, /grohk/, vt. 1. To understand. Connotes intimate and exhaustive knowledge." role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;{&amp;lt;((https?|ftp|dict|tel):[^\'"&amp;gt;\s]+)&amp;gt;}i
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I'm familiar with HTTP and FTP. I worked in the mobile industry, so knew that &lt;code&gt;tel:+44...&lt;/code&gt; could be used to launch a dialer.&lt;/p&gt;

&lt;p&gt;But DICT?!?!?!&lt;/p&gt;

&lt;p&gt;It turns out that, lurking on the Internet are &lt;em&gt;Dictionary Servers&lt;/em&gt;!  They exist to allow you to query dictionaries over a network.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;For many years, the Internet community has relied on the "webster" protocol for access to natural language definitions. […] In recent years, the number of publicly available webster servers on the Internet has dramatically decreased.  Fortunately, several freely-distributable dictionaries and lexicons have recently become available on the Internet.  However, these freely-distributable databases are not accessible via a uniform interface, and are not accessible from a single site.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://datatracker.ietf.org/doc/html/rfc2229"&gt;The (informal) standard was published in 1997&lt;/a&gt; but has kept a relatively low profile since then.  You can understand why it was invented - in an age of low-size disk drives and expensive software, looking up data over a dedicated protocol seems like a nifty&lt;sup id="fnref:nifty"&gt;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#fn:nifty" class="footnote-ref" title="nifty \nifty\ adj. 1. Very good; excellent; -- an informal term meaning about the same as {groovy}, sense 1. [informal, 1960's]" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; idea.&lt;/p&gt;

&lt;p&gt;Then disk size exploded, databases became cheap, and search engines made it easy to look up words.&lt;/p&gt;

&lt;h2 id="how-it-works"&gt;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#how-it-works"&gt;How it works&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;You can try it out today!&lt;/p&gt;

&lt;p&gt;Run this command in your terminal:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl dict://dict.org/d:Internet&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;That will bring back the definition from the server's default dictionary. If you want to look up a word in a &lt;em&gt;specific&lt;/em&gt; dictionary - like The Jargon File - you can run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl dict://dict.org/d:Internet:jargon&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can even use it for simple translation tasks. For example, to translate English to Japanese:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl dict://dict.org/d:Internet:fd-eng-jpn&lt;/code&gt;&lt;/p&gt;

&lt;h2 id="what-else"&gt;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#what-else"&gt;What Else?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Perhaps the easiest way to explore the protocol and server is to use telnet:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;telnet dict.org dict&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Type the command &lt;code&gt;HELP&lt;/code&gt; and help ye shall receive:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;113 help text follows
DEFINE database word         -- look up word in database
MATCH database strategy word -- match word in database using strategy
SHOW DB                      -- list all accessible databases
SHOW DATABASES               -- list all accessible databases
SHOW STRAT                   -- list available matching strategies
SHOW STRATEGIES              -- list available matching strategies
SHOW INFO database           -- provide information about the database
SHOW SERVER                  -- provide site-specific information
OPTION MIME                  -- use MIME headers
CLIENT info                  -- identify client to server
AUTH user string             -- provide authentication information
STATUS                       -- display timing information
HELP                         -- display this help information
QUIT                         -- terminate connection

250 ok
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That will allow you to see all the dictionaries available - in a variety of languages - and the various commands you can use with them.&lt;/p&gt;

&lt;h2 id="unanswered-questions"&gt;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#unanswered-questions"&gt;Unanswered Questions&lt;/a&gt;&lt;/h2&gt;

&lt;ol start="0"&gt;
&lt;li&gt;Are there any other Dictionary Servers still available on the Internet?&lt;/li&gt;
&lt;li&gt;Did the Webster Protocol get specified outside of &lt;a href="https://www.cs.brandeis.edu/~bruncott/elisp/webster19-alpha.el"&gt;obscure source code&lt;/a&gt;?&lt;/li&gt;
&lt;li&gt;Is there something interesting and modern one could do with a DICT server?&lt;/li&gt;
&lt;/ol&gt;

&lt;div id="footnotes" role="doc-endnotes"&gt;
&lt;hr aria-label="Footnotes"&gt;
&lt;ol start="0"&gt;

&lt;li id="fn:spelunk"&gt;
&lt;p&gt;v 1: explore natural caves [syn: {cave}, {spelunk}]&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#fnref:spelunk" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:grok"&gt;
&lt;p&gt;(/grok/, /grohk/, vt. 1. To understand. Connotes intimate and exhaustive knowledge.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#fnref:grok" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:nifty"&gt;
&lt;p&gt;nifty \nifty\ adj.   1. Very good; excellent; -- an informal term meaning about the same as {groovy}, sense 1. [informal, 1960's]&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/#fnref:nifty" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=52349&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/09/http-ftp-and-dict/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[.ss TLD opening for direct registrations]]></title>
		<link>https://shkspr.mobi/blog/2024/07/ss-tld-opening-for-direct-registrations/</link>
					<comments>https://shkspr.mobi/blog/2024/07/ss-tld-opening-for-direct-registrations/#respond</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Wed, 31 Jul 2024 11:34:05 +0000</pubDate>
		<category><![CDATA[africa]]></category><category><![CDATA[domains]]></category><category><![CDATA[ICANN]]></category><category><![CDATA[Internet]]></category><category><![CDATA[TLD]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=51212</guid>

					<description><![CDATA[It looks like South Sudan&#039;s Top Level Domain is going to start allowing direct registrations!  Long-time readers of this blog will know that it&#039;s possible to register  .me.ss domain names - there are various other 3rd level domains you can buy.  But, from the 1st of August 2024, you&#039;ll be able to apply for a 2nd level. So you&#039;ll be able to grab example.ss.  Here&#039;s the official announcement.    As …]]></description>
										<content:encoded>&lt;p&gt;It looks like South Sudan's Top Level Domain is going to start allowing direct registrations!&lt;/p&gt;

&lt;p&gt;Long-time readers of this blog will know that &lt;a href="https://shkspr.mobi/blog/2021/07/hot-mess-a-new-emoji-domain/"&gt;it's possible to register  &lt;code&gt;.me.ss&lt;/code&gt; domain names&lt;/a&gt; - there are various other &lt;a href="https://nic.ss/faqs/"&gt;3rd level domains&lt;/a&gt; you can buy.&lt;/p&gt;

&lt;p&gt;But, from the 1st of August 2024, you'll be able to apply for a 2nd level. So you'll be able to grab &lt;code&gt;example.ss&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nic.ss/wp-content/uploads/2024/07/ssNIC-Registry-Sunrise-Registration-Policy-July-2024.pdf"&gt;Here's the official announcement&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nic.ss/wp-content/uploads/2024/07/ssNIC-Registry-Sunrise-Registration-Policy-July-2024.pdf"&gt;&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2024/07/Sunrisess-fs8.png" alt="National Communication Authority (NCA) ssNIC Registry Sunrise Registration Policy July 2024. 1 Duration: The Registry will run the registration process according to the below timetable: Sunrise Period: 45 Days (1st August – 15th September 2024). Landrush Period: 30 Days (20th September – 10th October 2024). Early Access Period: 10 Days (15th October – 25th October 2024). General Availability: 1st November 2024" width="750" class="aligncenter size-full wp-image-51213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As per normal for a new TLD, there will be a period where organisations with Trade Marks can register their domains. Then a period where anyone with sufficient cash can register their cool idea for a domain. Then it opens up to everyone.&lt;/p&gt;

&lt;p&gt;So what will they cost? &lt;a href="https://www.afriregister.com/"&gt;Afriregister&lt;/a&gt; provided these prices:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
  &lt;th&gt;Period&lt;/th&gt;
  &lt;th align="right"&gt;Domain&lt;/th&gt;
  &lt;th align="right"&gt;Registration&lt;/th&gt;
  &lt;th align="right"&gt;Renewal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
  &lt;td&gt;Sunrise (2 years)&lt;/td&gt;
  &lt;td align="right"&gt;.ss&lt;/td&gt;
  &lt;td align="right"&gt;€1020&lt;/td&gt;
  &lt;td align="right"&gt;€110&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td align="right"&gt;.co.ss&lt;/td&gt;
  &lt;td align="right"&gt;€610&lt;/td&gt;
  &lt;td align="right"&gt;€60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;Landrush (1 year)&lt;/td&gt;
  &lt;td align="right"&gt;.ss&lt;/td&gt;
  &lt;td align="right"&gt;€300&lt;/td&gt;
  &lt;td align="right"&gt;€110&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td align="right"&gt;.co.ss&lt;/td&gt;
  &lt;td align="right"&gt;€160&lt;/td&gt;
  &lt;td align="right"&gt;€60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;Early Access (1 year)&lt;/td&gt;
  &lt;td align="right"&gt;.ss&lt;/td&gt;
  &lt;td align="right"&gt;€220&lt;/td&gt;
  &lt;td align="right"&gt;€110&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td align="right"&gt;.co.ss&lt;/td&gt;
  &lt;td align="right"&gt;€160&lt;/td&gt;
  &lt;td align="right"&gt;€60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;General (1 year)&lt;/td&gt;
  &lt;td align="right"&gt;.ss&lt;/td&gt;
  &lt;td align="right"&gt;€110&lt;/td&gt;
  &lt;td align="right"&gt;€110&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td align="right"&gt;.co.ss&lt;/td&gt;
  &lt;td align="right"&gt;€60&lt;/td&gt;
  &lt;td align="right"&gt;€60&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;For comparison, their .me.ss domains are only €25.&lt;/p&gt;

&lt;p&gt;Registrations will only be allowed in ASCII - which means no IDNs.  The majority of the languages officially recognised in South Sudan appear to be written in the Latin script, so that shouldn't be a huge issue.&lt;/p&gt;

&lt;p&gt;As is common with all other TLDs, there is a list of words which will not be allowed to be registered.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Applications will not be accepted for domain names appearing on the Second Level Domain (SLD) block list.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;When I previously investigated this, there were lots of names which weren't available due to local politics. Although there is &lt;a href="https://web.archive.org/web/20210813045419/https://nic.ss/download/reserved_restricted_premium_list/?wpdmdl=2330&amp;amp;refresh=6115fae57ea441628830437"&gt;an archived version of the list of banned words (PDF)&lt;/a&gt;, the modern SLD Block List appears to have vanished from the registry. I've asked them for an updated list which I'll link to once I get it.&lt;/p&gt;

&lt;p&gt;I think it is fair to say that &lt;a href="https://www.theregister.com/2019/01/24/south_sudan_nazi_domain/"&gt;the .ss TLD has had a tumultuous history&lt;/a&gt;.  There hasn't been much discussion of this change in policy since &lt;a href="https://x.com/NCA_SSD/status/1811778704059547783/quotes"&gt;the announcement a few weeks ago&lt;/a&gt; - but I hope that this opening up will help South Sudanese people &amp;amp; businesses to establish their own distinct presence on the Internet.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=51212&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/07/ss-tld-opening-for-direct-registrations/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Universal Basic Website]]></title>
		<link>https://shkspr.mobi/blog/2024/04/universal-basic-website/</link>
					<comments>https://shkspr.mobi/blog/2024/04/universal-basic-website/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Sat, 27 Apr 2024 11:34:29 +0000</pubDate>
		<category><![CDATA[future]]></category><category><![CDATA[Internet]]></category><category><![CDATA[ISP]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=50077</guid>

					<description><![CDATA[Many years ago - when I was very young and you were even younger - it was standard for an ISP to provide all their users with a small amount of webspace.  Both Pipex and Demon offered webspace back in 1996. If my hazy memory is correct, they offered a few megabytes - more than enough for a fledgeling website.  But, over the years, ISPs shut down their bundled web offerings.  Even their bundled…]]></description>
										<content:encoded>&lt;p&gt;Many years ago - when I was very young and you were even younger - it was standard for an ISP to provide all their users with a small amount of webspace.  Both &lt;a href="https://www.independent.co.uk/life-style/how-well-are-you-being-served-1361473.html"&gt;Pipex and Demon offered webspace back in 1996&lt;/a&gt;. If my hazy memory is correct, they offered a few megabytes - more than enough for a fledgeling website&lt;sup id="fnref:midi"&gt;&lt;a href="https://shkspr.mobi/blog/2024/04/universal-basic-website/#fn:midi" class="footnote-ref" title="With background MIDI music, as was the fashion of the day." role="doc-noteref"&gt;0&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;But, over the years, &lt;a href="https://wiki.archiveteam.org/index.php/TalkTalk"&gt;ISPs shut down their bundled web offerings&lt;/a&gt;.  Even their &lt;a href="https://www.which.co.uk/news/article/john-lewis-closing-its-broadband-service-what-to-do-if-youre-affected-aW8xD1i65Kgs"&gt;bundled email services went on the chopping block&lt;/a&gt;.  This is sad, but understandable. Most people unbundled their email so they didn't need to stick with the same ISP.  Why have &lt;code&gt;user@isp.example&lt;/code&gt; when you could have a GMail address?&lt;/p&gt;

&lt;p&gt;And, indeed, why host data with your ISP when you could just use Facebook?&lt;/p&gt;

&lt;p&gt;For most people, Facebook is a pretty good personal website. You can post your photos and have your friends &amp;amp; family see them. You can write long heartfelt rants about your teenage melodrama. You can put up the opening times of your new business. You can even host a discussion board around a specific topic.&lt;/p&gt;

&lt;p&gt;Now, don't get me wrong, there are a few problems with Facebook&lt;sup id="fnref:facebook"&gt;&lt;a href="https://shkspr.mobi/blog/2024/04/universal-basic-website/#fn:facebook" class="footnote-ref" title="This is an understatement." role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;. All your faves are problematic. But I think it shows that people want the benefits of personal websites, even if they don't want the hassle of &lt;em&gt;running&lt;/em&gt; those websites.&lt;/p&gt;

&lt;p&gt;What does the world look like if a country offers its citizens a Universal Basic Website?  Similar to Universal Basic Income, a no-questions asked entitlement to a chunk of the Web. Perhaps a generic subdomain, some storage space, and an easy to use interface?&lt;/p&gt;

&lt;p&gt;Oh, sure, there are lots of technical issues. You'd probably have to make sure people weren't running unapproved scripts. Moderation of prohibited content would be contentious. Tech support would be a nightmare. Some corrupt company would get billions to run a sub-standard service. A failed backup or a hacker would wipe out your bakery's recipes.&lt;/p&gt;

&lt;p&gt;But...&lt;/p&gt;

&lt;p&gt;We accept that there are common spaces in the real world&lt;sup id="fnref:meatspace"&gt;&lt;a href="https://shkspr.mobi/blog/2024/04/universal-basic-website/#fn:meatspace" class="footnote-ref" title="AKA Meatspace. AKA AFK." role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; where people can have fun without paying. Anyone can go to a park. Anyone can stick a flyer up on a community notice board. We let kids ride the bus for free.&lt;/p&gt;

&lt;p&gt;Can we do the same in cyberspace?&lt;/p&gt;

&lt;p&gt;You can &lt;a href="https://mastodon.social/@Edent/112161196933183367"&gt;read some other peoples' thoughts on this Mastodon thread&lt;/a&gt;.&lt;/p&gt;

&lt;div id="footnotes" role="doc-endnotes"&gt;
&lt;hr aria-label="Footnotes"&gt;
&lt;ol start="0"&gt;

&lt;li id="fn:midi"&gt;
&lt;p&gt;With background MIDI music, as was the fashion of the day.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2024/04/universal-basic-website/#fnref:midi" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:facebook"&gt;
&lt;p&gt;This is an understatement.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2024/04/universal-basic-website/#fnref:facebook" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:meatspace"&gt;
&lt;p&gt;AKA Meatspace. AKA AFK.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2024/04/universal-basic-website/#fnref:meatspace" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=50077&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/04/universal-basic-website/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Virgin Media preparing to offer symmetrical upload speeds?]]></title>
		<link>https://shkspr.mobi/blog/2024/03/virgin-media-preparing-to-offer-symmetrical-upload-speeds/</link>
					<comments>https://shkspr.mobi/blog/2024/03/virgin-media-preparing-to-offer-symmetrical-upload-speeds/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Fri, 08 Mar 2024 12:34:09 +0000</pubDate>
		<category><![CDATA[Internet]]></category><category><![CDATA[ISP]]></category><category><![CDATA[virgin]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=49873</guid>

					<description><![CDATA[Virgin Media - a UK-based fibre-optic ISP - recently sent me a survey about their potential product offerings. It was desperate to know if I wanted bundled streaming video (no), or Sky Sports (LOL no), or any other digital subscriptions (no, go away), or a landline (what, is this the 1990s?).  They even wanted to know if I&#039;d pay extra for priority support.    In amongst all the other offers, they …]]></description>
										<content:encoded>&lt;p&gt;Virgin Media - a UK-based fibre-optic ISP - recently sent me a survey about their potential product offerings. It was desperate to know if I wanted bundled streaming video (no), or Sky Sports (LOL no), or any other digital subscriptions (no, go away), or a landline (what, is this the 1990s?).  They even wanted to know if I'd pay extra for priority support.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/VM-Priority-Support-fs8.png" alt="Priority support add on for £3." width="1632" height="542" class="aligncenter size-full wp-image-49875"&gt;

&lt;p&gt;In amongst all the other offers, they asked whether I would be interested in paying more for symmetric Internet speeds!&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/VM-Symmetric-fs8.png" alt="List of proposed upgrades including Symmetrical data add on for £4." width="974" height="563" class="aligncenter size-full wp-image-49874"&gt;

&lt;p&gt;Here are some of the offerings they proposed. I must not that these are from a market research exercise. Whether they'll ever launch, and whether the prices are accurate, is something we'll have to wait to see.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/VM-Options-fs8.png" alt="List of different broadband packages each with symmetrical speed add ons." width="1008" height="1873" class="aligncenter size-full wp-image-49876"&gt;

&lt;p&gt;As I've mentioned before, &lt;a href="https://shkspr.mobi/blog/2020/12/whats-the-point-in-gigabit-broadband/"&gt;I like my 500Mbps down - but the 50Mbps upload is a bit of a drag&lt;/a&gt;. So I eagerly answered "yes" to anything that looked like faster upload bandwidth.&lt;/p&gt;

&lt;p&gt;I've no idea if this will actually materialise. And I can only hope those prices are realistic.&lt;/p&gt;

&lt;p&gt;If you're interested in joining Virgin Media, you can &lt;a href="http://aklam.io/rOTKz1"&gt;get £50 if you join with my link&lt;/a&gt;.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=49873&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/03/virgin-media-preparing-to-offer-symmetrical-upload-speeds/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[False Friends - HTML Elements which are also Top Level Domains]]></title>
		<link>https://shkspr.mobi/blog/2023/09/false-friends-html-elements-which-are-also-top-level-domains/</link>
					<comments>https://shkspr.mobi/blog/2023/09/false-friends-html-elements-which-are-also-top-level-domains/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Mon, 18 Sep 2023 11:34:25 +0000</pubDate>
		<category><![CDATA[HTML]]></category><category><![CDATA[Internet]]></category><category><![CDATA[TLD]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46823</guid>

					<description><![CDATA[In linguistics, a &#34;False Friend&#34; is a word which looks similar in multiple languages, but means something different in each of them. For example the word &#34;gift&#34; in English means &#34;a present&#34;, in German means &#34;poison&#34;, and in Norwegian it means &#34;married&#34;.  The Internet uses Top Level Domains (TLD) to organise information into hierarchies. This website uses .mobi - you may also be familiar with .com …]]></description>
										<content:encoded>&lt;p&gt;In linguistics, a "&lt;a href="https://en.wikipedia.org/wiki/False_friend"&gt;False Friend&lt;/a&gt;" is a word which looks similar in multiple languages, but means something different in each of them. For example the word "gift" in English means "a present", in German means "poison", and in Norwegian it means "married".&lt;/p&gt;

&lt;p&gt;The Internet uses Top Level Domains (TLD) to organise information into hierarchies. This website uses .mobi - you may also be familiar with .com for commercial entities, or .de for German pages.&lt;/p&gt;

&lt;p&gt;The World Wide Web uses HyperText Markup Language (HTML) to structure web pages. For example &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; to display a footer, or &lt;code&gt;&amp;lt;ol&amp;gt;&lt;/code&gt; for an ordered list.&lt;/p&gt;

&lt;p&gt;There is absolutely no relationship between the two sets of entities. But, just for fun, are there any HTML elements which happen to be false friends of the TLDs?&lt;/p&gt;

&lt;p&gt;Before we go any further, have a quick think. How many do you reckon there are? Are there some which spring to mind immediately?&lt;/p&gt;

&lt;p&gt;Obviously, the first port of call is AI. Its mastery of all things means that we can get an accurate answer in a nanosecond.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2023/09/chatgpt-fs8.png" alt="Me: Which TLDs have the same name as valid HTML5 elements? ChatGPT:  As of my last knowledge update in September 2021, there are two top-level domains (TLDs) that have the same name as valid HTML5 elements:  .dev: This TLD corresponds to the &lt;dev&gt; HTML5 element.  .app: This TLD corresponds to the &lt;app&gt; HTML5 element. Please note that this information is based on the state of TLDs as of September 2021. There might have been updates or changes after that date, so it's always a good idea to check official sources or domain registrars for the most current information." width="932" height="473" class="aligncenter size-full wp-image-46824"&gt;

&lt;p&gt;Oh.&lt;/p&gt;

&lt;p&gt;Right, let's compare the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element"&gt;Element Reference&lt;/a&gt; with the &lt;a href="https://www.iana.org/domains/root/db"&gt;Root Zone Database&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There are &lt;em&gt;fifteen&lt;/em&gt; current HTML elements which have a match with a TLD. And a couple which are deprecated.  Here they are:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
  &lt;th align="center"&gt;&lt;/th&gt;
  &lt;th align="right"&gt;HTML&lt;/th&gt;
  &lt;th&gt;TLD&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🔊&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.audio/"&gt;.audio&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🇧🇷&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://registro.br/"&gt;.br&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🗂&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;data&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://www.dishtlds.com/data/"&gt;.data&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🇭🇷&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://www.domene.hr/portal/home"&gt;.hr&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🇱🇮&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://www.nic.li/"&gt;.li&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🔗&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="http://uniregistry.link/"&gt;.link&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🗺&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.map/"&gt;.map&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;☰&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;menu&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="http://nic.menu/"&gt;.menu&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🔎&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;search&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.search/"&gt;.search&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;👉&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.select/"&gt;.select&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🧥&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.style/"&gt;.style&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🇹🇩&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;td&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.td/"&gt;.td&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🇹🇭&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;th&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://www.thnic.co.th/"&gt;.th&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🇹🇷&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;tr&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.tr"&gt;.tr&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;📹&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.video"&gt;.video&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;And the ones which are no longer valid HTML:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
  &lt;th align="center"&gt;&lt;/th&gt;
  &lt;th align="right"&gt;HTML&lt;/th&gt;
  &lt;th&gt;TLD&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🖕&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;center&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://nic.center"&gt;.center&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td align="center"&gt;🇹🇹&lt;/td&gt;
  &lt;td align="right"&gt;&lt;code&gt;&amp;lt;tt&amp;gt;&lt;/code&gt;&lt;/td&gt;
  &lt;td&gt;&lt;a href="https://www.nic.tt/"&gt;.tt&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Is that more than you expected? Less? Are there others which you think should be TLDs? Should HTML get a &lt;code&gt;&amp;lt;uk&amp;gt;&lt;/code&gt; element post-Brexit? Have I missed any?&lt;/p&gt;

&lt;p&gt;Comments in the usual box.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46823&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/09/false-friends-html-elements-which-are-also-top-level-domains/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Book Review: The Internet Con - How to Seize the Means of Computation by Cory Doctorow ★★★★⯪]]></title>
		<link>https://shkspr.mobi/blog/2023/09/book-review-the-internet-con-how-to-seize-the-means-of-computation-by-cory-doctorow/</link>
					<comments>https://shkspr.mobi/blog/2023/09/book-review-the-internet-con-how-to-seize-the-means-of-computation-by-cory-doctorow/#respond</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Sun, 17 Sep 2023 11:34:16 +0000</pubDate>
		<category><![CDATA[Book Review]]></category><category><![CDATA[Cory Doctorow]]></category><category><![CDATA[Internet]]></category><category><![CDATA[politics]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=47097</guid>

					<description><![CDATA[This is beloved firebrand Cory doing what he does best. Rallying the rebellion with righteous indignation and a no-nonsense approach to fixing technology&#039;s ills.  If you&#039;ve read any of his fiction, or listened to him talk, you&#039;ll know what to expect. An overview of how big tech has screwed us over and the consequences of those machinations. Unlike other writers, Doctorow provides eminently…]]></description>
										<content:encoded>&lt;p&gt;&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2023/09/cover.jpg" alt="Book cover for the Internet Con. It looks like a shattered phone screen." width="200" class="alignleft size-full wp-image-47100"&gt;This is beloved firebrand Cory doing what he does best. Rallying the rebellion with righteous indignation and a no-nonsense approach to fixing technology's ills.&lt;/p&gt;

&lt;p&gt;If you've read any of his fiction, or listened to him talk, you'll know what to expect. An overview of how big tech has screwed us over and the consequences of those machinations. Unlike other writers, Doctorow provides &lt;em&gt;eminently practical&lt;/em&gt; solutions.&lt;/p&gt;

&lt;p&gt;Now, some of the solutions you'll be unable to implement unless you're an elected official. So now's a great time to write to your representative and ask them to take action.&lt;/p&gt;

&lt;p&gt;He is relentless at pointing out the hypocrisy of big tech - fighting to carve out exceptions for themselves which they then deny to others. We get a full-on historical lesson about the VCR and how the fight for the right to &lt;del&gt;party&lt;/del&gt; infringe copyright was won and lost several times.&lt;/p&gt;

&lt;p&gt;I spent many years working inside the UK Government pushing the agenda of open standards and interoperability. So it was particularly gratifying to read:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Governments can—and should—have rules about interoperability in their procurement policies. They should require companies hoping to receive public money to supply the schematics, error codes, keys and other technical matter needed to maintain and improve the things they sell and provide to our public institutions.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That's what I did! It is getting better - but it is work that will never be finished.&lt;/p&gt;

&lt;p&gt;Similarly, he accurately describes the problems with Standards Development Organisations:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;standardization meetings and forensic examinations of firewall errors—is supremely dull. It combines the thrill of bookkeeping with the excitement of Robert’s Rules of Order.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I've been a member of many and - yes - that's exactly what it is like. But, I take slight issue at some of his suggestions on this topic. The ideal SDO &lt;em&gt;has&lt;/em&gt; to be a compromise. No one gets to walk away entirely happy. This is the eternal "Devil's Bargain" - we all exchange a little bit of what we want in order to get closer to what we need. I'm not sure there's any way around that without centrally mandating specific technical choices.&lt;/p&gt;

&lt;p&gt;Indeed, he goes on to say:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;We won’t fix anything by demanding the impossible and shouting “nerd harder!” when tech companies fail to produce it. Nor will we fix anything by taking the tech industry at its word when it tells us that effective policies are flat-out impossible.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I'm a boring practicalist. At some point we need to do what works, even if it is ideologically unpleasant.&lt;/p&gt;

&lt;p&gt;One of the things that Cory does well is "steelman" his opponents' arguments. He's excellent at taking on some big topics (CSAM and Blockchain, for example) and giving their proponents the benefit of the doubt&lt;sup id="fnref:bc"&gt;&lt;a href="https://shkspr.mobi/blog/2023/09/book-review-the-internet-con-how-to-seize-the-means-of-computation-by-cory-doctorow/#fn:bc" class="footnote-ref" title="OK, he does say &amp;quot;It’s an established fact that 99.83 percent of all conversations about blockchain are nonconsensual.&amp;quot; Which is a bit uncharitable. It's, like, 99.73% max!" role="doc-noteref"&gt;0&lt;/a&gt;&lt;/sup&gt;. And then he forensically takes them apart.&lt;/p&gt;

&lt;p&gt;Cory's writing style is like his spoken style. The poetic rhythm is almost palpable - as is his love for sarcastic asides. It makes this - admittedly short - book supremely quick to read.  I feel greedy asking for more - but the book does end rather abruptly.&lt;/p&gt;

&lt;p&gt;If you work in tech, or go anywhere near tech-policy, this is a must read. It gives you the history of how we got here, explains the problems happening now, and warns about an uncertain future.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://www.versobooks.com/en-gb/products/3035-the-internet-con"&gt;eBook is currently on sale for £4.50&lt;/a&gt; from the publishers.&lt;/li&gt;
&lt;li&gt;You can follow Cory Doctorow on Mastodon &lt;a rel="mention" class="u-url mention" href="https://mamot.fr/@pluralistic"&gt;@pluralistic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div id="footnotes" role="doc-endnotes"&gt;
&lt;hr aria-label="Footnotes"&gt;
&lt;ol start="0"&gt;

&lt;li id="fn:bc"&gt;
&lt;p&gt;OK, he does say "It’s an established fact that 99.83 percent of all conversations about blockchain are nonconsensual." Which is a bit uncharitable. It's, like, 99.&lt;strong&gt;7&lt;/strong&gt;3% max!&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2023/09/book-review-the-internet-con-how-to-seize-the-means-of-computation-by-cory-doctorow/#fnref:bc" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=47097&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/09/book-review-the-internet-con-how-to-seize-the-means-of-computation-by-cory-doctorow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[What will the Web be like in 20 years?]]></title>
		<link>https://shkspr.mobi/blog/2023/09/what-will-the-web-be-like-in-20-years/</link>
					<comments>https://shkspr.mobi/blog/2023/09/what-will-the-web-be-like-in-20-years/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Sun, 03 Sep 2023 11:34:06 +0000</pubDate>
		<category><![CDATA[Internet]]></category><category><![CDATA[predictions]]></category><category><![CDATA[web]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46634</guid>

					<description><![CDATA[Way back in 2011, I contributed to an article on The Next Web called &#34;What will the Web be like in 20 years?&#34;.  Foolishly, I missed the 10 year anniversary, but let&#039;s see how we&#039;re doing against those predictions a little over halfway through.  My prediction for the Web?  The same speed. Faster pipes &#38; processors – more bloated markup &#38; JS.  Well... fuck! Bang on the money there. The web is f…]]></description>
										<content:encoded>&lt;p&gt;Way back in 2011, I contributed to an article on The Next Web called "&lt;a href="https://thenextweb.com/news/what-will-the-internet-be-like-in-20-years"&gt;What will the Web be like in 20 years?&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;Foolishly, I missed the 10 year anniversary, but let's see how we're doing against those predictions a little over halfway through.&lt;/p&gt;

&lt;p&gt;My prediction for the Web?&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The same speed. Faster pipes &amp;amp; processors – more bloated markup &amp;amp; JS.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Well... fuck! Bang on the money there. The web &lt;em&gt;is&lt;/em&gt; faster than it was on dial-up. But I can't say that it's noticeably better since I got ADSL. Sure, it's faster to download big files and stream 4K video. But for day-to-day browsing? Between the unoptimised "hero" images, multi-megabytes of JS, and thousands of trackers, it sometimes feels like we've taken a step backwards in speed.&lt;/p&gt;

&lt;p&gt;We all know that bloat expands to fill available bandwidth. But perhaps we could rein it in a little? Please?&lt;/p&gt;

&lt;p&gt;A few of the predictions are already here. Better, smarter phones. Computers becoming pervasive and invisible. And, yes, lots of cat gifs.&lt;/p&gt;

&lt;p&gt;Some of the other predictions are - I think it's fair to say - not quite on track.&lt;/p&gt;

&lt;p&gt;We haven't returned to an AOL model where AT&amp;amp;T charge us per minute. And I don't see any path to that.&lt;/p&gt;

&lt;p&gt;Internet censorship is a tricky one. There are some countries which routinely shut off net access. There's still a cat-and-mouse game with pirates. There are still people crying censorship when their inflammatory posts are removed.  But, outside of a few jurisdictions, you remain as free as ever to criticise whoever you want.&lt;/p&gt;

&lt;p&gt;Holograms aren't even close to real. And, no, Facebook's laughable attempts at the MeTAvErSe don't count. Perhaps Apple's iBalls (or whatever they're called) will get us to that point before 2031? But I doubt it.&lt;/p&gt;

&lt;p&gt;There are a lot of predictions about 3D printers. Look, they're pretty nifty, but it is clear that most homes don't need an endless supply of rapidly printed plastic doodahs.&lt;/p&gt;

&lt;p&gt;Finally, there are a couple which I still think are feasible by 2031. Take this one from Santiago Ochoa:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Companies like Google, Facebook, PayPal, Amazon, will create virtual currency systems linked to our social reputation. The more friends, posts, contacts, and comments we have, the more +1s, “like it”s or whatever points we’ll accumulate. These points will then be used to buy real things like you do now with PayPal and Amazon. Good social communicators will be able to make a living out of social networking points. Similar to Second Life but not limited to a virtual world. Our cell phones will be used as wallets and even some salaries will be paid with virtual money.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Social credit scores aren't mainstream… yet. But Twitter is experimenting giving revenue to some posters based on their social reach. Facebook's currency dreams are dead for now, but I bet another social network will try to use virtual money as its hook. Some people are, no doubt, being paid in volatile cryptotokens. And many of us use our phones as tap-to-pay wallets.&lt;/p&gt;

&lt;p&gt;There's also this by Pedro Henrique Monteiro Padilha:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Internet will more and more allow people to work to companies on other countries or continents. It will also create a new way for all our social behavior, we will have web shows and maybe web pubs. The large bandwidth will help us connecting everywhere and we will no longer need TV as we know. Every TV show will be a stream to be brought in different languages.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That's pretty much the Covid experience, isn't it? Remote working, Zoom quizzes, livestreaming, and endless Netflix. Perhaps by the end of this decade streaming services won't be geo-restricted and decent subtitles will be available to all?&lt;/p&gt;

&lt;p&gt;It's fun to see how accurate people's guesses are. But making predictions is usually less about future gazing and more about understanding our current reality. It isn't about being right or wrong - it's about daring to dream of something brighter than today.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46634&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/09/what-will-the-web-be-like-in-20-years/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The new .zip TLD is going to cause some problems]]></title>
		<link>https://shkspr.mobi/blog/2023/05/the-new-zip-tld-is-going-to-cause-some-problems/</link>
					<comments>https://shkspr.mobi/blog/2023/05/the-new-zip-tld-is-going-to-cause-some-problems/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Sat, 13 May 2023 11:34:42 +0000</pubDate>
		<category><![CDATA[google]]></category><category><![CDATA[Internet]]></category><category><![CDATA[TLD]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=45766</guid>

					<description><![CDATA[Many years ago, Google applied for the .zip Top Level Domain. ICANN, in its infinite wisdom, granted it. And now, I think, bad things are going to happen.  You see computers try to be helpful. They see you wrote &#34;visit example.com&#34; and autolink the thing which looks like a domain name. That&#039;s handy - especially as most people don&#039;t have the time or skill to write HTML.  So what happens when…]]></description>
										<content:encoded>&lt;p&gt;Many years ago, Google applied for the &lt;code&gt;.zip&lt;/code&gt; Top Level Domain. ICANN, in its infinite wisdom, granted it. And now, I think, bad things are going to happen.&lt;/p&gt;

&lt;p&gt;You see computers &lt;em&gt;try&lt;/em&gt; to be helpful. They see you wrote "visit example.com" and autolink the thing which looks like a domain name. That's handy - especially as most people don't have the time or skill to write HTML.&lt;/p&gt;

&lt;p&gt;So what happens when things which are &lt;em&gt;not&lt;/em&gt; domain names look like they are domain names? I've been worrying about this for a few years:&lt;/p&gt;

&lt;blockquote class="social-embed" id="social-embed-567820810371735553" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"&gt;&lt;header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"&gt;&lt;a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"&gt;&lt;img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"&gt;&lt;div class="social-embed-user-names"&gt;&lt;p class="social-embed-user-names-name" itemprop="name"&gt;Terence Eden is on Mastodon&lt;/p&gt;@edent&lt;/div&gt;&lt;/a&gt;&lt;img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"&gt;&lt;/header&gt;&lt;section class="social-embed-text" itemprop="articleBody"&gt;Grrr... Because .zip is a valid TLD, it's impossible to know whether &lt;a href="http://example.zip"&gt;example.zip&lt;/a&gt; should be a URL or a filename.&lt;/section&gt;&lt;hr class="social-embed-hr"&gt;&lt;footer class="social-embed-footer"&gt;&lt;a href="https://twitter.com/edent/status/567820810371735553"&gt;&lt;span aria-label="9 likes" class="social-embed-meta"&gt;❤️ 9&lt;/span&gt;&lt;span aria-label="5 replies" class="social-embed-meta"&gt;💬 5&lt;/span&gt;&lt;span aria-label="0 reposts" class="social-embed-meta"&gt;🔁 0&lt;/span&gt;&lt;time datetime="2015-02-17T23:00:05.000Z" itemprop="datePublished"&gt;23:00 - Tue 17 February 2015&lt;/time&gt;&lt;/a&gt;&lt;/footer&gt;&lt;/blockquote&gt;

&lt;p&gt;Right now there is an old tweet, blog, email, or instant message from an authority figure which points to a non-existent .zip domain.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2023/05/people-of-Twitter-talking-about-photos.zip-there-are-lots-of-them.png" alt="people of Twitter talking about photos.zip there are lots of them." width="748" height="777" class="aligncenter size-full wp-image-45773"&gt;

&lt;p&gt;Is that domain available to buy? Well, &lt;a href="https://www.registry.google/tlds/tech/"&gt;let's look at Google's Domain Availability site&lt;/a&gt;&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2023/05/Screenshot-how-exciting-photos.zip-is-available.png" alt="Screenshot how exciting photos.zip is available." width="860" height="508" class="aligncenter size-full wp-image-45772"&gt;

&lt;p&gt;&lt;small&gt;(No, I don't know where the missing "T" is either.)&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;Yup! OK, premium domains like &lt;code&gt;photos.zip&lt;/code&gt; appear to be about £1,000 - which should put off some scammers. But the price for non-premium .zips is between £10-£30.&lt;/p&gt;

&lt;p&gt;Look, I doubt a former president ever Tweeted "Hey, anyone know how I extract files from something called &lt;a href="https://blah.zip"&gt;blah.zip&lt;/a&gt; on a Mac?" but I'll bet you that something, somewhere, is going to be abused with this new TLD.&lt;/p&gt;

&lt;p&gt;I feel like a curmudgeonly old fart. Don't we have &lt;em&gt;enough&lt;/em&gt; TLDs? What's the limit?  There are very few meaningful controls on who can register all but the most retrictive TLDs (looking at you, &lt;code&gt;.int&lt;/code&gt;!)  So at what point do we just give up and same everyone can have their own Top Level?&lt;/p&gt;

&lt;p&gt;Anyway, have fun determining if the link you see was ever intended to link to a website!&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=45766&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/05/the-new-zip-tld-is-going-to-cause-some-problems/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Some new HTTP verbs]]></title>
		<link>https://shkspr.mobi/blog/2022/09/some-new-http-verbs/</link>
					<comments>https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Tue, 13 Sep 2022 11:34:17 +0000</pubDate>
		<category><![CDATA[HTTP]]></category><category><![CDATA[Internet]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=43528</guid>

					<description><![CDATA[Hyper-Text Transfer Protocol is, by some measure, the most popular way for computers to talk to each other on the Internet.  Generally speaking, clients (like browsers) talk to servers using a set number of HTTP &#34;verbs&#34;. This tells the server what sort of thing the client is trying to do.  The two most popular verbs are probably POST - which lets you send data to a server - and  GET - which lets…]]></description>
										<content:encoded>&lt;p&gt;Hyper-Text Transfer Protocol is, by some measure, the most popular way for computers to talk to each other on the Internet&lt;sup id="fnref:madeup"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fn:madeup" class="footnote-ref" title="I just made up that &amp;quot;fact&amp;quot;. But it feels right, doesn't it?" role="doc-noteref"&gt;0&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;Generally speaking&lt;sup id="fnref:complicated"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fn:complicated" class="footnote-ref" title="It is a lot more complicated than that. If you want to have a rant about precise definitions, please do so on your own blog." role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;, clients (like browsers) talk to servers using a set number of HTTP "verbs". This tells the server what sort of thing the client is trying to do.&lt;/p&gt;

&lt;p&gt;The two most popular&lt;sup id="fnref:again"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fn:again" class="footnote-ref" title="I can't be bothered to actually back this up with statistics." role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; verbs are probably &lt;code&gt;POST&lt;/code&gt; - which lets you send data to a server - and  &lt;code&gt;GET&lt;/code&gt; - which lets you get data back from a server.&lt;/p&gt;

&lt;p&gt;There are &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods"&gt;other HTTP verbs&lt;/a&gt; like &lt;code&gt;DELETE&lt;/code&gt; to delete data, and &lt;code&gt;PATCH&lt;/code&gt; to change data. But it is a fairly limited set of actions.&lt;/p&gt;

&lt;p&gt;What would be some interesting or useful verbs to add to HTTP's vocabulary?&lt;/p&gt;

&lt;h2 id="payments"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#payments"&gt;Payments&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;I think the most obvious one would be &lt;code&gt;BUY&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A client sends a &lt;code&gt;GET&lt;/code&gt; request to a server. The server responds with &lt;a href="https://http.cat/402"&gt;HTTP Status &lt;code&gt;402&lt;/code&gt; Payment Required&lt;/a&gt; which includes payment details. The client sends &lt;code&gt;BUY&lt;/code&gt; along with confirmation that they've sent the payment&lt;sup id="fnref:buy"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fn:buy" class="footnote-ref" title="How? I dunno? A signed response from a payment provider? A crypto receipt? Something like that." role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;. The server responds with the content.&lt;/p&gt;

&lt;h2 id="mistakes"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#mistakes"&gt;Mistakes&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;What about if you make a mistake using &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, or &lt;code&gt;DELETE&lt;/code&gt;? Wouldn't you like to use HTTP &lt;code&gt;UNDO&lt;/code&gt;?&lt;/p&gt;

&lt;blockquote class="social-embed" id="social-embed-1562878651158257666" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"&gt;&lt;blockquote class="social-embed" id="social-embed-1562875597050720258" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"&gt;&lt;header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"&gt;&lt;a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"&gt;&lt;img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"&gt;&lt;div class="social-embed-user-names"&gt;&lt;p class="social-embed-user-names-name" itemprop="name"&gt;Terence Eden is on Mastodon&lt;/p&gt;@edent&lt;/div&gt;&lt;/a&gt;&lt;img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"&gt;&lt;/header&gt;&lt;section class="social-embed-text" itemprop="articleBody"&gt;Your deepest wish comes true and you get to add one more HTTP Verb to the specification.&lt;br&gt;&lt;br&gt;Which one do you choose?&lt;hr class="social-embed-hr"&gt;&lt;label for="poll_1_count"&gt;Buy: (6)&lt;/label&gt;&lt;br&gt;&lt;meter class="social-embed-meter" id="poll_1_count" min="0" max="100" low="33" high="66" value="12.5"&gt;6&lt;/meter&gt;&lt;br&gt;&lt;label for="poll_2_count"&gt;Forgive: (10)&lt;/label&gt;&lt;br&gt;&lt;meter class="social-embed-meter" id="poll_2_count" min="0" max="100" low="33" high="66" value="20.8"&gt;10&lt;/meter&gt;&lt;br&gt;&lt;label for="poll_3_count"&gt;Prevaricate: (20)&lt;/label&gt;&lt;br&gt;&lt;meter class="social-embed-meter" id="poll_3_count" min="0" max="100" low="33" high="66" value="41.7"&gt;20&lt;/meter&gt;&lt;br&gt;&lt;label for="poll_4_count"&gt;Something else - what?: (12)&lt;/label&gt;&lt;br&gt;&lt;meter class="social-embed-meter" id="poll_4_count" min="0" max="100" low="33" high="66" value="25.0"&gt;12&lt;/meter&gt;&lt;/section&gt;&lt;hr class="social-embed-hr"&gt;&lt;footer class="social-embed-footer"&gt;&lt;a href="https://twitter.com/edent/status/1562875597050720258"&gt;&lt;span aria-label="3 likes" class="social-embed-meta"&gt;❤️ 3&lt;/span&gt;&lt;span aria-label="0 replies" class="social-embed-meta"&gt;💬 0&lt;/span&gt;&lt;span aria-label="2 reposts" class="social-embed-meta"&gt;🔁 2&lt;/span&gt;&lt;time datetime="2022-08-25T18:52:33.000Z" itemprop="datePublished"&gt;18:52 - Thu 25 August 2022&lt;/time&gt;&lt;/a&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"&gt;&lt;a href="https://twitter.com/chthonicionic" class="social-embed-user" itemprop="url"&gt;&lt;img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRjADAABXRUJQVlA4ICQDAADQDQCdASowADAAPq1GnEmmI6KhLizIwBWJZQC9i7y3rEB0g+Oj7+0D6Z4iGQI4FcKKtBqvjyo/cChHkzveddeaY43ZcsdIuOmqa3Y2xJ26C7xefdq44K5rLBcuu0g2vx7p09PQQp/Vo5X4yG3Ra7ii8IALAyByAAD+BQLIY1tBXfK5PlIIX94Fs79p9t9Akb9B4PBc6TkCqSi/0zZui7QbeG5To/2dA27PUH2Fq6zaHkdRs2RXBld0pmjdS98qcZT8FTgTNBggjBO8IytPQIZPW2WyabL3IFcDupVwG1gxP02zCOzVnZZbMI56+UoqeSMsYrgc4tOYMM36AL7Vjyx/2MBTnsou/1RyWhHlH6CsxCQ7+peCyKB5nK2SZkQ8VZQRuKY+AIu7Hn2XfKZP/f8bUbMeMMyVqISMu6IZ9pjPJdqnhAnIZPXDVTYAEHSAhGOLny4h+ZShKG607ApeL/P3G3KVS+E2Kwkb8a5p3VpvJCaSgk0cIyvIicCEw2doHX6m7ynIZ/ll05dsGsic7GS957jHrujd0LTK629FrIQ+4H2DKxJXQCXbaK8kU6m8nX5xwtTfV8zdIhr+a69Y3AsbzO+E1huMSpo+vMnhJFsp7tJd6950FNLMhepj03Ev8CSbmoRvEyf4DVNa3CPo8PShQeAW+HigeJ9TVNoG4LRm8+jXWaW33PNx384aPJivGoQeOiOco9vg1pVUYkpEfXUuHAAXC5dAE72GhICVKshvJUF6M7UpAPPo2HB5jM8Bmrl57v8ls835reoCW6UrnwPLJIe4vDqs2sBMGWkux+pA00MIzsLj9do3PDpPgcyvmMR6e+xyjIcde0Z9A5F5mmxaiZ7qQpDnsvetoHaCmQSCGdD1Cn/UJV1BV27wPupVtCJYOXYlBD+tk0+V8+fqOUqNBdQIRW6fZMNbYeMR2Gw0ptYcTwPAPvnnDxmzsUMx543izdn9TixQPLr3O141r5SsFduS3CuPe1Adf76PL05pFHksFhKYyLcXebtJlAgEtkOsdvLw6OeN+5DGDWE6Gk1U2HIeG3B3rlRIKb3V49QTlcQAAAA=" alt="" itemprop="image"&gt;&lt;div class="social-embed-user-names"&gt;&lt;p class="social-embed-user-names-name" itemprop="name"&gt;ཀ།༨ཇ ་།་འ།སབཇའ&lt;/p&gt;@chthonicionic&lt;/div&gt;&lt;/a&gt;&lt;img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"&gt;&lt;/header&gt;&lt;section class="social-embed-text" itemprop="articleBody"&gt;&lt;small class="social-embed-reply"&gt;&lt;a href="https://twitter.com/edent/status/1562875597050720258"&gt;Replying to @edent&lt;/a&gt;&lt;/small&gt;&lt;a href="https://twitter.com/edent"&gt;@edent&lt;/a&gt; Possibly it’s forgive, but … UNDO&lt;/section&gt;&lt;hr class="social-embed-hr"&gt;&lt;footer class="social-embed-footer"&gt;&lt;a href="https://twitter.com/chthonicionic/status/1562878651158257666"&gt;&lt;span aria-label="1 likes" class="social-embed-meta"&gt;❤️ 1&lt;/span&gt;&lt;span aria-label="0 replies" class="social-embed-meta"&gt;💬 0&lt;/span&gt;&lt;span aria-label="0 reposts" class="social-embed-meta"&gt;🔁 0&lt;/span&gt;&lt;time datetime="2022-08-25T19:04:41.000Z" itemprop="datePublished"&gt;19:04 - Thu 25 August 2022&lt;/time&gt;&lt;/a&gt;&lt;/footer&gt;&lt;/blockquote&gt;

&lt;p&gt;Let's not get in to a discussion about &lt;a href="https://blog.mestwin.net/idempotent-methods-in-http/"&gt;idempotency&lt;/a&gt;&lt;sup id="fnref:idempotent"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fn:idempotent" class="footnote-ref" title="FINE! Have a discussion about the implications. It bet it won't end in bloodshed." role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;h2 id="halt-and-catch-fire"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#halt-and-catch-fire"&gt;Halt And Catch Fire&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Some CPUs have peculiar instructions which can be (ab)used to make them &lt;a href="http://www.catb.org/jargon/html/H/HCF.html"&gt;self-destruct&lt;/a&gt;. So why not extend that to HTTP⸮&lt;/p&gt;

&lt;p&gt;&amp;lt;https://twitter.com/whalecoiner/status/1562878271960002560&amp;gt;&lt;/p&gt;

&lt;p&gt;Remember that scene in &lt;em&gt;every&lt;/em&gt; Star Trek movie where the captain shouts "Computer! Initiate self-destruct sequence. Confirmation code Heliotrope Banana Daguerreotype." Let's extend that so that clients can request that a (virtual?) machine shuts down.&lt;/p&gt;

&lt;h2 id="wont-you-please-please-help-me"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#wont-you-please-please-help-me"&gt;Won't you please &lt;em&gt;please&lt;/em&gt; help me?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;APIs - and other services - are sometimes difficult to use. In the Linux&lt;sup id="fnref:linux"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fn:linux" class="footnote-ref" title="…or as I’ve recently taken to calling it, GNU plus Linux…" role="doc-noteref"&gt;5&lt;/a&gt;&lt;/sup&gt; world we just type &lt;code&gt;-h&lt;/code&gt; or &lt;code&gt;--help&lt;/code&gt; after every command and get some more-or-less useful help text.&lt;/p&gt;

&lt;p&gt;So what about HTTP &lt;code&gt;HELP&lt;/code&gt;? Return a machine- or human-readable document explaining what commands the server responds to. Pretty sure that'd be useful.&lt;/p&gt;

&lt;h2 id="who-are-you-who-who"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#who-are-you-who-who"&gt;Who are you? Who? Who?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Cookies have gotten out of hand. And, frankly, they're a security disaster. Why should a server send a client a token to store? Let's reverse that with HTTP &lt;code&gt;REMEMBER&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The client sends the server a suitably complex string and a validity period. The server is then compelled to remember the client's authorisation. Perfect&lt;sup id="fnref:perfect"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fn:perfect" class="footnote-ref" title="I'm not sure this makes any more sense than doing it the cookie way. But, hey, that's what brainstorming is for!" role="doc-noteref"&gt;6&lt;/a&gt;&lt;/sup&gt;!&lt;/p&gt;

&lt;p&gt;And when you want to log out, an HTTP &lt;code&gt;FORGET&lt;/code&gt; is easier than clearing your cookies. Imagine that, a log-out button in your browser which worked everywhere...!&lt;/p&gt;

&lt;h2 id="over-to-you"&gt;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#over-to-you"&gt;Over to you&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;So, if you were made God-Emperor-For-Life of the IETF, which new HTTP verbs would you add?&lt;/p&gt;

&lt;div id="footnotes" role="doc-endnotes"&gt;
&lt;hr aria-label="Footnotes"&gt;
&lt;ol start="0"&gt;

&lt;li id="fn:madeup"&gt;
&lt;p&gt;I just made up that "fact". But it feels right, doesn't it?&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fnref:madeup" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:complicated"&gt;
&lt;p&gt;It is a lot more complicated than that. If you want to have a rant about precise definitions, please do so on your own blog.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fnref:complicated" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:again"&gt;
&lt;p&gt;I can't be bothered to actually back this up with statistics.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fnref:again" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:buy"&gt;
&lt;p&gt;How? I dunno? A signed response from a payment provider? A crypto receipt? Something like that.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fnref:buy" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:idempotent"&gt;
&lt;p&gt;FINE! Have a discussion about the implications. It bet it won't end in bloodshed.&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fnref:idempotent" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:linux"&gt;
&lt;p&gt;…or as I’ve recently taken to calling it, GNU plus Linux…&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fnref:linux" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:perfect"&gt;
&lt;p&gt;I'm not sure this makes any more sense than doing it the cookie way. But, hey, that's what brainstorming is for!&amp;nbsp;&lt;a href="https://shkspr.mobi/blog/2022/09/some-new-http-verbs/#fnref:perfect" class="footnote-backref" role="doc-backlink"&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=43528&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/09/some-new-http-verbs/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[DNS Esoterica: BIMI - SVG in DNS TXT WTF?!]]></title>
		<link>https://shkspr.mobi/blog/2022/08/dns-esoterica-bimi-svg-in-dns-txt-wtf/</link>
					<comments>https://shkspr.mobi/blog/2022/08/dns-esoterica-bimi-svg-in-dns-txt-wtf/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Mon, 01 Aug 2022 11:34:24 +0000</pubDate>
		<category><![CDATA[DNS]]></category><category><![CDATA[Internet]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=43112</guid>

					<description><![CDATA[You&#039;ve been on the Internet a long time, right? Of course you know what BIMI is. All the cool kids do. But, for those of you who aren&#039;t hip to the jive of the Infobahn...  BIMI (Brand Indicators for Message Identification) is a new standard that can curb the issue of online impersonators. ... BIMI is a new standard that enables you to include your company’s logo alongside the emails you send. T…]]></description>
										<content:encoded>&lt;p&gt;You've been on the Internet a long time, right? Of course &lt;em&gt;you&lt;/em&gt; know what BIMI is. All the cool kids do. But, for those of you who aren't hip to the jive of the Infobahn...&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;BIMI (Brand Indicators for Message Identification) is a new standard that can curb the issue of online impersonators. ... BIMI is a new standard that enables you to include your company’s logo alongside the emails you send. That way, your brand stands out among other emails, and your customers are sure that the emails are legitimate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.dmarcanalyzer.com/bimi/how-to-create-a-bimi-record/"&gt;How To Create a BIMI record&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Wow! Much innovation! Such security! There's no way a fraudster could put a bank's logo on their dodgy spam, right?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*sigh*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;OK, so in order for this not to be abused, most email providers require brands to pay for an expensive &lt;a href="https://support.google.com/a/answer/10911028"&gt;Verified Mark Certificate (VMC)&lt;/a&gt; - a digital certificate which says that you are the trademark owner of the logo.&lt;/p&gt;

&lt;p&gt;How much does it cost?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;US$1,499.00&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Per &lt;em&gt;year&lt;/em&gt;!  No wonder no one is using BIMI.&lt;/p&gt;

&lt;p&gt;Then it's just a case of sticking something like this in your DNS &lt;code&gt;TXT&lt;/code&gt; records:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-txt"&gt;v=BIMI1;
l=https://example.com/logo.svg;
a=https://example.com/certificate.pem
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That's nice, and all, but I don't think I've ever seen one in the wild. Even the BIMI Group &lt;a href="https://bimigroup.org/bimi-generator/"&gt;haven't bothered paying for the VMC&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;One of the few organisations who &lt;em&gt;have&lt;/em&gt; set this up correctly is DigiCert.  Because they're one of the orgs you can buy this service from.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dig txt default._bimi.digicert.com&lt;/code&gt; will get you:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-txt"&gt;;; ANSWER SECTION:
default._bimi.digicert.com. 3600 IN TXT 
   "v=BIMI1; 
    l=https://www.digicert.com/resources/DigiCertLogo_WhiteOnBlue.svg; 
    a=https://cacerts.digicert.com/digicert_com_vmc_WhiteOnBlue.pem"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can read the &lt;a href="https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/"&gt;PEM certificate&lt;/a&gt; using:
&lt;code&gt;openssl x509 -in digicert_com_vmc_WhiteOnBlue.pem -noout -text&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Inside, you'll find this nugget:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;data:image/svg+xml;base64,H4sIAAAAAAAACo1XXW/jRhJ8tn8FwzwF4NDzzaFhb3BRckmADRAgwL4eHFoxhePZhqiVN/…&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Hmmm… &lt;a href="https://blog.dotnetframework.org/2016/12/07/h4siaaa-whats-so-important-about-this-string/"&gt;&lt;code&gt;H4sIAAA&lt;/code&gt; is the start of a base64 encoded zipped string&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once decoded and unzipped, we find… the SVG logo!&lt;/p&gt;

&lt;p&gt;It's fairly obvious that people want a nice logo next to their email in your inbox. If you're on GMail, you're probably used to seeing your friends faces smiling back at you. But that only works if everyone is on the same email system. So BIMI is a reasonable idea for a cross-provider standard.&lt;/p&gt;

&lt;h2 id="downsides"&gt;&lt;a href="https://shkspr.mobi/blog/2022/08/dns-esoterica-bimi-svg-in-dns-txt-wtf/#downsides"&gt;Downsides&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;There are several problems with BIMI.&lt;/p&gt;

&lt;p&gt;The first is cost. If it were free then &lt;code&gt;AbsolutelyYourBank@trust_me.biz&lt;/code&gt; could use the HSBC logo with impunity. I'm sure an extremely dedicated fraudster could spend the $1.5k and fool DigiCert into certifying their illegitimate use of someone else's logo. But it's unlikely to happen.&lt;/p&gt;

&lt;p&gt;There's also a privacy issue. Because the BIMI logos are stored on a website, the website owner could track when they were downloaded and use that to work out who was reading their emails. Thankfully, both GMail and Yahoo proxy the images - so the provider doesn't get any additional analytics benefit.&lt;/p&gt;

&lt;p&gt;Support is poor in GMail. Here's an email from LinkedIn:
&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2022/07/LinkedIn.png" alt="Screenshot of an email." width="507" height="276" class="aligncenter size-full wp-image-43225"&gt;
As you can see, the BIMI logo is displayed by the email address - but is absent in the contact view.&lt;/p&gt;

&lt;p&gt;Finally, DNS &lt;code&gt;TXT&lt;/code&gt; records are limited to 255 bytes of data. That's why logos are restricted to being (fairly short) links.&lt;/p&gt;

&lt;h2 id="is-it-worth-it"&gt;&lt;a href="https://shkspr.mobi/blog/2022/08/dns-esoterica-bimi-svg-in-dns-txt-wtf/#is-it-worth-it"&gt;Is it worth it?&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;I think the marketplace of ideas has answered this with a fairly resounding "no".&lt;/p&gt;

&lt;p&gt;You can &lt;a href="https://bimiradar.com/glob"&gt;track adoption at BIMIBRadar&lt;/a&gt;.&lt;/p&gt;

&lt;img src="https://shkspr.mobi/blog/wp-content/uploads/2022/08/bimiradar_1.png" alt="graph showing less that 0.001% of domains have adopted BIMI." width="1023" height="767" class="aligncenter size-full wp-image-43237"&gt;

&lt;p&gt;It would be great to stick your face, logo, or picture next to every email you send. But the risk from fraudsters is just too high.&lt;/p&gt;

&lt;p&gt;The cost of certification is necessary to stop misuse - but that also means that smaller brands and individuals are locked out.  Which isn't what we want from an open Internet.&lt;/p&gt;

&lt;p&gt;There's no worldwide brand registry which can certify your use of an image. And, even if there were, it would be a huge single-point-of-failure.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://mailarchive.ietf.org/arch/browse/bimi/"&gt;conversation about BIMI chugs on in IETF mailing lists&lt;/a&gt;. Do get involved if you think you have something of value to add.&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=43112&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/08/dns-esoterica-bimi-svg-in-dns-txt-wtf/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[DNS Esoterica - Why you can't dig Switzerland]]></title>
		<link>https://shkspr.mobi/blog/2022/07/dns-esoterica-why-you-cant-dig-switzerland/</link>
					<comments>https://shkspr.mobi/blog/2022/07/dns-esoterica-why-you-cant-dig-switzerland/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Thu, 14 Jul 2022 11:34:18 +0000</pubDate>
		<category><![CDATA[DNS]]></category><category><![CDATA[Internet]]></category><category><![CDATA[trivia]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=43028</guid>

					<description><![CDATA[As part of my new job, I&#039;m learning a lot more about the mysteries of the Domain Name System than any mortal should know I thought possible.  The humble unix dig command allows you to query all sort of DNS information. For example, to see name server records for the BBC website, you can run:  dig bbc.co.uk NS  Which will get you:  ;; Got answer: ;; -&#62;&#62;HEADER&#60;&#60;- opcode: QUERY, status: NOERROR, id: …]]></description>
										<content:encoded>&lt;p&gt;As part of my new job, I'm learning a lot more about the mysteries of the Domain Name System than &lt;del&gt;any mortal should know&lt;/del&gt; I thought possible.&lt;/p&gt;

&lt;p&gt;The humble unix &lt;code&gt;dig&lt;/code&gt; command allows you to query all sort of DNS information. For example, to see name server records for the BBC website, you can run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dig bbc.co.uk NS&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Which will get you:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;;; Got answer:
;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 35614
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 17

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 097db2ee4c92b84982083ecf62b5b5f2007906e616035113 (good)
;; QUESTION SECTION:
;bbc.co.uk.         IN  NS

;; ANSWER SECTION:
bbc.co.uk.      900 IN  NS  ddns1.bbc.com.
bbc.co.uk.      900 IN  NS  dns0.bbc.co.uk.
bbc.co.uk.      900 IN  NS  ddns1.bbc.co.uk.
...
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And a whole lot more.  But you can go further down the DNS tree. What are the nameservers for &lt;code&gt;.co.uk&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dig co.uk NS&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And you'll get your answer.  You can go one further and see the nameservers for the Top Level Domain:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dig uk NS&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Which replies with:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;;; Got answer:
;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 54061
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 17

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 880427eda8ff71de2ab4f43862b5b65f95e317d29cc10a8e (good)
;; QUESTION SECTION:
;uk.                IN  NS

;; ANSWER SECTION:
uk.         159692  IN  NS  nsc.nic.uk.
uk.         159692  IN  NS  dns1.nic.uk.
uk.         159692  IN  NS  nsd.nic.uk.
...
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And that works with &lt;em&gt;every&lt;/em&gt; TLD. Countries like &lt;code&gt;de&lt;/code&gt;, generic names like &lt;code&gt;museum&lt;/code&gt;, and internationalised domains like &lt;code&gt;在线&lt;/code&gt;. All of them work!&lt;/p&gt;

&lt;p&gt;Except Switzerland.&lt;/p&gt;

&lt;p&gt;Switzerland's country code is &lt;code&gt;ch&lt;/code&gt; - after the name &lt;i lang="la"&gt;Confoederatio Helvetica&lt;/i&gt;. Let's run the &lt;code&gt;dig&lt;/code&gt; on it: &lt;code&gt;dig ch NS&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;;; Got answer:
;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: REFUSED, id: 31910
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;We have been &lt;strong&gt;refused&lt;/strong&gt; and &lt;strong&gt;warned&lt;/strong&gt;.  But why does this only happen with Switzerland?&lt;/p&gt;

&lt;p&gt;The blame - as with most modern ills - lies in the mid-1970s. The Bee Gees were storming the charts with "Jive Talkin'", the Rocky Horror Picture Show was gathering a cult following, and MIT scientists were causing chaos.  Literally.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Chaosnet"&gt;Chaosnet&lt;/a&gt; was an early network protocol designed for local networks.  It was technically very clever but, sadly, never really took off.&lt;/p&gt;

&lt;p&gt;However, it found its way into DNS records. Let's go back to the answer to &lt;code&gt;dig bbc.co.uk NS&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;;; ANSWER SECTION:
bbc.co.uk.      900 IN  NS  ddns1.bbc.com.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;OK, the first part is the domain name. The number is the TTL. The &lt;code&gt;IN&lt;/code&gt; is the class. The NS says this is a nameserver record. And, finally, we get the domain of the nameserver.&lt;/p&gt;

&lt;p&gt;But, in the class, what does &lt;code&gt;IN&lt;/code&gt; stand for?&lt;/p&gt;

&lt;p&gt;"&lt;strong&gt;Internet&lt;/strong&gt;", obviously. Wait... Isn't the DNS on the Internet? Why do we need to specify that these DNS records are for Internet?&lt;/p&gt;

&lt;p&gt;Well, isn't it obvious? Because you might want records of a &lt;em&gt;different&lt;/em&gt; network. Like, for example, Chaosnet.&lt;/p&gt;

&lt;p&gt;And if Internet is abbreviated to &lt;code&gt;IN&lt;/code&gt;, what is Chaosnet shortened to? That's right! &lt;code&gt;CH&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So, &lt;code&gt;dig&lt;/code&gt; sees you enter &lt;code&gt;ch&lt;/code&gt; for Switzerland, but thinks you're asking about &lt;code&gt;CH&lt;/code&gt; for Chaosnet. And so it fails.&lt;/p&gt;

&lt;p&gt;In order to query the records for &lt;code&gt;ch&lt;/code&gt; we need to provide an absolutely fully-qualified domain name. It's as simple as sticking a dot at the end of the domain name:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dig ch. NS&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;;; Got answer:
;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 64932
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 11

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: e19b9c23cdfa0f7bcf82750462b5c16b47744386c7974ffb (good)
;; QUESTION SECTION:
;ch.                IN  NS

;; ANSWER SECTION:
ch.         164894  IN  NS  e.nic.ch.
ch.         164894  IN  NS  a.nic.ch.
ch.         164894  IN  NS  f.nic.ch.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And there we go. A failed 1970s experiment like bell-bottoms and Betamax videos - but with much longer lasting consequences.&lt;/p&gt;

&lt;p&gt;You can see some &lt;code&gt;CH&lt;/code&gt; records by running like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dig ch txt @f.root-servers.net version.bind&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;That will get you something like:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-_"&gt;;; ANSWER SECTION:
version.bind.       86400   CH  TXT "cloudflare-f-root-20190930"
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Of course, DNS doesn't &lt;em&gt;only&lt;/em&gt; have &lt;code&gt;IN&lt;/code&gt; and &lt;code&gt;CH&lt;/code&gt; class records.&lt;/p&gt;

&lt;p&gt;There's also &lt;a href="https://en.wikipedia.org/wiki/Hesiod_(name_service)"&gt;Hesiod&lt;/a&gt; - &lt;code&gt;HS&lt;/code&gt;. But you already knew that, right...?&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=43028&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/07/dns-esoterica-why-you-cant-dig-switzerland/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Drones Vs Telegraphs]]></title>
		<link>https://shkspr.mobi/blog/2022/02/drones-vs-telegraphs/</link>
					<comments>https://shkspr.mobi/blog/2022/02/drones-vs-telegraphs/#respond</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Tue, 01 Feb 2022 12:34:18 +0000</pubDate>
		<category><![CDATA[drone]]></category><category><![CDATA[Internet]]></category><category><![CDATA[telegraph]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=41606</guid>

					<description><![CDATA[There is a thoroughly modern story coming out of Ireland:                Drones are being used routinely around Irish racecourses to take advantage of a short time lag between broadcast footage of events and the action on the ground.          Even this small delay allows gamblers take advantage of changes to so-called “in-running” betting odds, if say a horse begins to struggle, jumps awkwardly, o…]]></description>
										<content:encoded>&lt;p&gt;There is a &lt;em&gt;thoroughly&lt;/em&gt; modern story coming out of Ireland:&lt;/p&gt;

&lt;figure&gt;
    &lt;blockquote&gt;
        &lt;p&gt;Drones are being used routinely around Irish racecourses to take advantage of a short time lag between broadcast footage of events and the action on the ground.&lt;/p&gt;
        &lt;p&gt; Even this small delay allows gamblers take advantage of changes to so-called “in-running” betting odds, if say a horse begins to struggle, jumps awkwardly, or falls.&lt;/p&gt;
    &lt;/blockquote&gt;
    &lt;figcaption&gt;&lt;cite&gt;&lt;a href="https://www.thestory.ie/2021/12/21/the-battle-above-the-skies-of-irish-racecourses-drone-operators-vs-horse-racing-ireland/"&gt;The battle above the skies of Irish racecourses: drone operators vs Horse Racing Ireland&lt;/a&gt;&lt;/cite&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Obviously what those naughty drone operators are doing is despicable. Imagine cheating bookmakers out of their hard-won profits by using technology! Awful!&lt;/p&gt;

&lt;p&gt;But it reminded me of an earlier story.  &lt;strong&gt;Much&lt;/strong&gt; earlier!&lt;/p&gt;

&lt;p&gt;Tom Standage wrote a brilliant book called "&lt;a href="https://amzn.to/3qR3OGl"&gt;The Victorian Internet&lt;/a&gt;". It talks about how the invention of the telegraph upended all sorts of social conventions - in much the same way as the popularity of the Web did at the end of the last century.&lt;/p&gt;

&lt;p&gt;Provincial bookmakers used to accept bets long after the race was over. They would wait until the information was transmitted to them via telegraph. To prevent regular punters sending the winning horse's name back to their accomplices, the telegraph companies simply banned unauthorised people from transmitting racing results.  But there was plenty of cunning to be had…&lt;/p&gt;

&lt;p&gt;Here's an excerpt from Tom's book:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;One story from the 1840s tells of a man who went into the telegraph office at Shoreditch station in London on the day of the Derby, an annual horse race, and explained that he had left his luggage and a shawl in the care of a friend at another station—the station that just happened to be nearest the racetrack. He sent a perfectly innocent-sounding message asking his friend to send the luggage and the shawl down to London on the next train, and the reply came back: "YOUR LUGGAGE AND TARTAN WILL BE SAFE BY THE NEXT TRAIN." The apparently harmless reference to "TARTAN" revealed the colours of the winning horse and enabled the man to place a bet and make a hefty profit.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;You can read more about this in "&lt;a href="https://www.google.co.uk/books/edition/The_London_Anecdotes_for_All_Readers/AU5UaumQJvIC?hl=en&amp;amp;gbpv=1&amp;amp;dq=%22YOUR+LUGGAGE+AND+TARTAN+WILL+BE+SAFE+BY+THE+NEXT+TRAIN.%22&amp;amp;pg=PA31&amp;amp;printsec=frontcover"&gt;The London Anecdotes for All Readers&lt;/a&gt;" published in 1848.&lt;/p&gt;

&lt;p&gt;I wonder what the next innovation will be which exploits information asymmetry?&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=41606&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/02/drones-vs-telegraphs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[How many connected devices do you have at home?]]></title>
		<link>https://shkspr.mobi/blog/2020/12/how-many-connected-devices-do-you-have-at-home/</link>
					<comments>https://shkspr.mobi/blog/2020/12/how-many-connected-devices-do-you-have-at-home/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Mon, 21 Dec 2020 12:26:37 +0000</pubDate>
		<category><![CDATA[Internet]]></category><category><![CDATA[IoT]]></category><category><![CDATA[Smart Home]]></category><category><![CDATA[WiFi]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37575</guid>

					<description><![CDATA[Five years ago, I wrote that I had 30 connected devices at home.  How has that changed over the last half-decade?  Some of my devices have consolidated. My Eufy security cameras have a hub - so despite having more cameras, They&#039;re using fewer IP addresses. Similarly, I&#039;ve replaced most of my LIFX bulbs with Zigbee which also use a hub-and-spoke model.  So these are the devices I currently have…]]></description>
										<content:encoded>&lt;p&gt;Five years ago, I wrote that &lt;a href="https://shkspr.mobi/blog/2015/08/128-wifi-devices-ought-to-be-enough-for-anyone/"&gt;I had 30 connected devices at home&lt;/a&gt;.  How has that changed over the last half-decade?&lt;/p&gt;

&lt;p&gt;Some of my devices have consolidated. My Eufy security cameras have a hub - so despite having more cameras, They're using fewer IP addresses. Similarly, I've replaced most of my LIFX bulbs with Zigbee which also use a hub-and-spoke model.&lt;/p&gt;

&lt;p&gt;So these are the devices I currently have connected:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2019/11/gadget-review-dophigo-dv-200-wifi-doorbell/"&gt;Video Doorbell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/11/review-moixa-battery/"&gt;Solar Battery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LIFX bulb in external light&lt;/li&gt;
&lt;li&gt;Security camera&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/02/turn-an-old-ereader-into-an-information-screen-nook-str/"&gt;EInk display&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Alexa&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/11/review-g9070-robot-vacuum/"&gt;Robot vacuum cleaner / mop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;TV&lt;/li&gt;
&lt;li&gt;Android TV box&lt;/li&gt;
&lt;li&gt;Amazon Fire TV stick&lt;/li&gt;
&lt;li&gt;Chromecast&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/08/broadcasting-vinyl-over-my-lan-aka-alsa2chromecast/"&gt;Internet Connected Record Player&lt;/a&gt; (yes! Really!)&lt;/li&gt;
&lt;li&gt;PS4&lt;/li&gt;
&lt;li&gt;Nintendo Switch&lt;/li&gt;
&lt;li&gt;AV Amplifier&lt;/li&gt;
&lt;li&gt;Another Alexa&lt;/li&gt;
&lt;li&gt;Home server&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/10/review-eufycam-2c-wireless-home-security-camera-system/"&gt;Eufy Cameras Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2019/11/mixing-hue-and-innr-smart-lights/"&gt;Philips Hue Light Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Internal LIFX bulb&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2019/02/tado-api-guide-updated-for-2019/"&gt;Smart heating control&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Office TV&lt;/li&gt;
&lt;li&gt;Wife's work laptop&lt;/li&gt;
&lt;li&gt;Wife's personal laptop&lt;/li&gt;
&lt;li&gt;Wife's phone&lt;/li&gt;
&lt;li&gt;My work laptop&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/05/review-clevo-n151cu-lafite-iv-system76-darter-pro-entroware-proteus/"&gt;My personal laptop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/06/oneplus-5t-two-and-a-half-years-later/"&gt;My phone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;My tablet&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2018/08/review-meross-smart-plugs-and-surge-protector/"&gt;Power strip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lifx lamp&lt;/li&gt;
&lt;li&gt;Internet connected plasma ball&lt;/li&gt;
&lt;li&gt;Gym TV&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2015/03/adding-wifi-to-a-roomba/"&gt;Another robot vacuum cleaner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2018/11/building-an-alexa-powered-electric-blanket/"&gt;Internet connected electric blanket&lt;/a&gt; (my side)&lt;/li&gt;
&lt;li&gt;Internet connected electric blanket (her side)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shkspr.mobi/blog/2020/04/relaunching-edent_solar-part-5-getting-data-out-of-fronius-solarweb/"&gt;Solar panel inverter&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We have a lot of smarthome kit! I've probably forgotten some. And I haven't counted my various Raspberries Pi and obsolete computers. But we're only a family of two. Larger families are likely to have more phones, tablets, and many other devices.&lt;/p&gt;

&lt;p&gt;Is the future the "hub" model? Most of these devices don't need a power-hungry WiFi connection. Keep the airwaves clear for high-bandwidth devices and move everything to ZigBee or similar?&lt;/p&gt;

&lt;p&gt;Either way, the number of devices in a typical home is only going to increase. What do we need to do to prepare for that?&lt;/p&gt;
&lt;img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37575&amp;amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager"&gt;</content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/12/how-many-connected-devices-do-you-have-at-home/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
