Shellsharks Blogroll - BlogFlock2026-08-09T11:34:18.081ZBlogFlockAdepts of 0xCC, destructured, fLaMEd, Trail of Bits Blog, Aaron Parecki, James' Coffee Blog, Westenberg, gynvael.coldwind//vx.log (pl), joelchrono, Evan Boehs, cool-as-heck, Kev Quirk, Posts feed, Sophie Koonin, cmdr-nova@internet:~$, <span>Songs</span> on the Security of Networks, Johnny.Decimal, Werd I/O, Robb Knight, Molly White, Hey, it's Jason!, Terence Eden’s BlogNote published on August 9, 2026 at 12:08 AM UTC - Molly White's activity feed6a77c4ec52b01ca28c3feebc2026-08-09T00:08:12.000Z<article><div class="entry h-entry hentry"><header></header><div class="content e-content"><p>well that sucks. apparently the Freedom To Read Foundation filed a trademark application for the phrase "free people read freely" a year and a half after i made the original lino print that i've made into stickers/etc.</p><div class="media-wrapper"><a href="https://storage.mollywhite.net/micro/86baefbd4dd4d1809a6a_Screenshot-2026-08-08-at-8.11.01---PM.png" data-fslightbox=87bcc821813d79332ff3><img src="https://storage.mollywhite.net/micro/86baefbd4dd4d1809a6a_Screenshot-2026-08-08-at-8.11.01---PM.png" alt="Why we're reaching outFreedom To Read Foundation recently let us know that they believe some of your listings infringe their intellectual
property (IP). In line with our Intellectual Property Policy,
we've carefully reviewed their report and have removed these listings from our marketplace." /></a></div><div class="media-wrapper"><a href="https://storage.mollywhite.net/micro/b08e1a6802d3ee538166_fprf-takedown.png" data-fslightbox=a84d71a1e965a8a2ac4a><img src="https://storage.mollywhite.net/micro/b08e1a6802d3ee538166_fprf-takedown.png" alt="Review the full report from Freedom To Read Foundation Freedom To Read Foundation Representative's Information [redacted] Freedom To Read Foundation Intellectual Property FREE PEOPLE READ FREELY trademark Trademark registration number: 7446426 " /></a></div><div class="media-wrapper"><a href="https://storage.mollywhite.net/micro/1c4ba7b9f517231f3c43_fprf-books.JPG" data-fslightbox=249fd8dc5ace96954287><img src="https://storage.mollywhite.net/micro/1c4ba7b9f517231f3c43_fprf-books.JPG" alt="A sticker made from a linocut print, which has the text “Free people read freely” in block capitals above a person in a dress reaching to take a book from a large bookshelf. The sticker is resting on a pile of old books." /></a></div><p>it's no big deal from a business perspective — i don't sell these stickers for much more than they cost, because i mostly just think it's an important message that i want to help people share. i've probably given away at least as many as i've sold, which i guess is now what i'll have to do with the rest.</p><p>and it's not my coinage, to be clear — it's from a fantastic 2023 speech by librarian Tracie D. Hall. but the artwork is mine, and wasn't infringing anyone's IP up until the FTRF filed this trademark application in March.</p></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp-block"><div class="timestamp">Posted: <a class="u-url" href="https://www.mollywhite.net/micro/entry/202608081945"><time class="dt-published" datetime="2026-08-09T00:08:12+00:00" title="August 9, 2026 at 12:08 AM UTC">August 9, 2026 at 12:08 AM UTC</time>. </a></div><div class="timestamp">Updated <time class="dt-updated" datetime="2026-08-09T00:14:58+00:00" title="August 9, 2026 at 12:14 AM UTC">August 9, 2026 at 12:14 AM UTC</time>.</div></div><div class="social-links"> <span> Also posted to: </span><a class="social-link u-syndication mastodon" href="https://hachyderm.io/@molly0xfff/117062655054712368" title="Mastodon" rel="syndication">Mastodon, </a><a class="social-link u-syndication bluesky" href="https://bsky.app/profile/molly.wiki/post/3msmci3i37222" title="Bluesky" rel="syndication">Bluesky</a></div></div><div class="bottomRow"><div class="tags">Tagged: <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/books" title="See all micro posts tagged "books"" rel="category tag">books</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/free_speech" title="See all micro posts tagged "free speech"" rel="category tag">free speech</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/intellectual_property" title="See all micro posts tagged "intellectual property"" rel="category tag">intellectual property</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/libraries" title="See all micro posts tagged "libraries"" rel="category tag">libraries</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/open_access" title="See all micro posts tagged "open access"" rel="category tag">open access</a>. </div></div></footer></div></article>Types of Time Travel Zine - Robb Knight • Posts • Atom Feedhttps://rknight.me/blog/types-of-time-travel-zine/2026-08-08T19:07:00.000Z<figure><img src="https://cdn.rknight.me/site/2026/types-of-time-travel-zine-drafts.jpg" alt="Three pieces of paper on a green cutting board with illustrations about time travel on them" /></figure>
<p>I've wanted to make <a href="https://en.wikipedia.org/wiki/Zine">a zine</a> for a while — it has a nice combination of drawing, writing, and being a physical item that appeals to me but I couldn't find the right topic to tackle until I realised I'd already done the writing part of it with my post entitled <a href="https://rknight.me/blog/my-favourite-type-of-time-travel/"><em>My Favourite Type of Time Travel</em></a>.</p>
<p>The format I've come across most is the eight-page <a href="https://christinelarsenillustration.com/blarg/zines#foldable">foldable zine</a> which means including the cover there are eight pages of stuff to fill. As it turns out my time travel post had seven main types which was handy.</p>
<p>My plan was to draw directly to the single sheet of A4 paper, scan it it, and the zine be ready but I immediately did the the cover, which I really like, on entirely the wrong page. So The zine was actually done over four different pieces of paper as you can see in the photo at the top.</p>
<p>I scanned<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> all the pages in, dropped them all in Pixelmator, and set out each page in the correct order. Doing it like this also allowed me to move about some things that weren't quite right and fix some mistakes but what you see is more of less exactly as I drew it.</p>
<p>You can download Types of Time Travel zine in <a href="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine.pdf">PDF</a> or <a href="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-crushed.png">PNG</a> formats. I hope you enjoy it. As seems to be tradition with zine websites, I am including a link to <a href="https://cdn.rknight.me/zines/folding-a-zine.png">this illustration of unknown origin that shows how to fold an eight-page zine</a>.</p>
<p>I was surprised there's no web component or drop-in library to pass in a zine and make it readable easily online. Watch this space but for now you can read it below.</p>
<style>
.zine {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 10px;
}
@media (max-width: 500px) {
.zine { grid-template-columns: 1fr; }
}
.zine img {
margin-bottom: 0;
}
</style>
<div class="zine">
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-1.jpg" />
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-2-fixed.jpg" />
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-3-fixed.jpg" />
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-4-fixed.jpg" />
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-5-fixed.jpg" />
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-6.jpg" />
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-7.jpg" />
<img src="https://cdn.rknight.me/zines/types-of-time-travel/types-of-time-travel-zine-page-8.jpg" />
</div>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>This led me down <a href="https://rknight.me/notes/202608080716/">a rabbit hole</a> but that's a story for another day <a href="#fnref1" class="footnote-backref">⤾</a></p>
</li>
</ol>
</section>📝 2026-08-08 13:34: Wife: I need help clipping the goat's hooves. Here, hold this... Me: ... - Kev Quirkhttps://kevquirk.com/2026-08-08-13342026-08-08T12:34:00.000Z<p>Wife: I need help clipping the goat's hooves. Here, hold this...</p>
<p>Me: ...</p>
<p><img loading="lazy" src="https://kevquirk.com/content/images/2026-08-08-1334/1000011055.webp" alt="1000011055" /></p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=%F0%9F%93%9D%202026-08-08%2013%3A34">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-08-08-1334#comments">leave a comment</a>.</p>
</div>[RSS Club] I got an NLnet grant! - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=737572026-08-08T11:34:15.000Z<p><mark>Pssst! This post is only available to RSS/Atom subscribers. Tell your friends to subscribe </mark> 😊.</p>
<p>Just a quick one today, a more detailed blog coming soon - but I thought I'd give RSS Club Members (you!) a sneak peek.</p>
<p>A few months ago I saw a post on Mastodon from <a href="https://social.nlnet.nl/@nlnet">NLnet</a> - they were looking for Open Source projects to apply for grant funding. The deadline was less than 24 hours away, so I rushed in an application.</p>
<p>There was a ping-pong of emails where I detailed more about what I planned to do, and where they kept me abreast of their timescales.</p>
<p>Finally, after about 6 months, I received the most delightful email confirming my place in the programme!</p>
<p>I'm officially part of the <a href="https://nlnet.nl/thema/NGI0CommonsFund.html">NGI0 Commons Fund</a>.</p>
<p>So, what's the project? Regular readers will remember that I created <a href="https://shkspr.mobi/blog/2026/03/some-updates-to-activitybot/">ActivityBot</a> as a lightweight, single-file, fully featured ActivityPub server. The grant will enable me to improve the code, test the usability, have a security audit, do some accessibility work, and make it more robust.</p>
<p>I'm also going to need a logo 🤖</p>
<p>You can <a href="https://nlnet.nl/project/ActivityBot/">read more about the project on the NLnet site</a>.</p>
<hr>
<p>Because this is an RSS-only post, it doesn't support comments. You can <a href="https://edent.tel/">get in touch with me</a> if you'd like to say something nice.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=73757&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">HTML Day 2026 - James' Coffee Bloghttps://jamesg.blog/2026/08/08/html-day-20262026-08-08T00:00:00.000Z
<style media="(prefers-color-scheme: dark)">pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #49483e }
.highlight { background: #272822; color: #F8F8F2 }
.highlight .c { color: #959077 } /* Comment */
.highlight .err { color: #ED007E; background-color: #1E0010 } /* Error */
.highlight .esc { color: #F8F8F2 } /* Escape */
.highlight .g { color: #F8F8F2 } /* Generic */
.highlight .k { color: #66D9EF } /* Keyword */
.highlight .l { color: #AE81FF } /* Literal */
.highlight .n { color: #F8F8F2 } /* Name */
.highlight .o { color: #FF4689 } /* Operator */
.highlight .x { color: #F8F8F2 } /* Other */
.highlight .p { color: #F8F8F2 } /* Punctuation */
.highlight .ch { color: #959077 } /* Comment.Hashbang */
.highlight .cm { color: #959077 } /* Comment.Multiline */
.highlight .cp { color: #959077 } /* Comment.Preproc */
.highlight .cpf { color: #959077 } /* Comment.PreprocFile */
.highlight .c1 { color: #959077 } /* Comment.Single */
.highlight .cs { color: #959077 } /* Comment.Special */
.highlight .gd { color: #FF4689 } /* Generic.Deleted */
.highlight .ge { color: #F8F8F2; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #F8F8F2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #F8F8F2 } /* Generic.Error */
.highlight .gh { color: #F8F8F2 } /* Generic.Heading */
.highlight .gi { color: #A6E22E } /* Generic.Inserted */
.highlight .go { color: #66D9EF } /* Generic.Output */
.highlight .gp { color: #FF4689; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #F8F8F2; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #959077 } /* Generic.Subheading */
.highlight .gt { color: #F8F8F2 } /* Generic.Traceback */
.highlight .kc { color: #66D9EF } /* Keyword.Constant */
.highlight .kd { color: #66D9EF } /* Keyword.Declaration */
.highlight .kn { color: #FF4689 } /* Keyword.Namespace */
.highlight .kp { color: #66D9EF } /* Keyword.Pseudo */
.highlight .kr { color: #66D9EF } /* Keyword.Reserved */
.highlight .kt { color: #66D9EF } /* Keyword.Type */
.highlight .ld { color: #E6DB74 } /* Literal.Date */
.highlight .m { color: #AE81FF } /* Literal.Number */
.highlight .s { color: #E6DB74 } /* Literal.String */
.highlight .na { color: #A6E22E } /* Name.Attribute */
.highlight .nb { color: #F8F8F2 } /* Name.Builtin */
.highlight .nc { color: #A6E22E } /* Name.Class */
.highlight .no { color: #66D9EF } /* Name.Constant */
.highlight .nd { color: #A6E22E } /* Name.Decorator */
.highlight .ni { color: #F8F8F2 } /* Name.Entity */
.highlight .ne { color: #A6E22E } /* Name.Exception */
.highlight .nf { color: #A6E22E } /* Name.Function */
.highlight .nl { color: #F8F8F2 } /* Name.Label */
.highlight .nn { color: #F8F8F2 } /* Name.Namespace */
.highlight .nx { color: #A6E22E } /* Name.Other */
.highlight .py { color: #F8F8F2 } /* Name.Property */
.highlight .nt { color: #FF4689 } /* Name.Tag */
.highlight .nv { color: #F8F8F2 } /* Name.Variable */
.highlight .ow { color: #FF4689 } /* Operator.Word */
.highlight .pm { color: #F8F8F2 } /* Punctuation.Marker */
.highlight .w { color: #F8F8F2 } /* Text.Whitespace */
.highlight .mb { color: #AE81FF } /* Literal.Number.Bin */
.highlight .mf { color: #AE81FF } /* Literal.Number.Float */
.highlight .mh { color: #AE81FF } /* Literal.Number.Hex */
.highlight .mi { color: #AE81FF } /* Literal.Number.Integer */
.highlight .mo { color: #AE81FF } /* Literal.Number.Oct */
.highlight .sa { color: #E6DB74 } /* Literal.String.Affix */
.highlight .sb { color: #E6DB74 } /* Literal.String.Backtick */
.highlight .sc { color: #E6DB74 } /* Literal.String.Char */
.highlight .dl { color: #E6DB74 } /* Literal.String.Delimiter */
.highlight .sd { color: #E6DB74 } /* Literal.String.Doc */
.highlight .s2 { color: #E6DB74 } /* Literal.String.Double */
.highlight .se { color: #AE81FF } /* Literal.String.Escape */
.highlight .sh { color: #E6DB74 } /* Literal.String.Heredoc */
.highlight .si { color: #E6DB74 } /* Literal.String.Interpol */
.highlight .sx { color: #E6DB74 } /* Literal.String.Other */
.highlight .sr { color: #E6DB74 } /* Literal.String.Regex */
.highlight .s1 { color: #E6DB74 } /* Literal.String.Single */
.highlight .ss { color: #E6DB74 } /* Literal.String.Symbol */
.highlight .bp { color: #F8F8F2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #A6E22E } /* Name.Function.Magic */
.highlight .vc { color: #F8F8F2 } /* Name.Variable.Class */
.highlight .vg { color: #F8F8F2 } /* Name.Variable.Global */
.highlight .vi { color: #F8F8F2 } /* Name.Variable.Instance */
.highlight .vm { color: #F8F8F2 } /* Name.Variable.Magic */
.highlight .il { color: #AE81FF } /* Literal.Number.Integer.Long */ .highlight .nn, .highlight .n{color: light-dark(black, var(--dark-foreground-color)) }</style><style media="(prefers-color-scheme: light)">pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #F00 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666 } /* Operator */
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #E40000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #008400 } /* Generic.Inserted */
.highlight .go { color: #717171 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #04D } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #687822 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #00F; font-weight: bold } /* Name.Class */
.highlight .no { color: #800 } /* Name.Constant */
.highlight .nd { color: #A2F } /* Name.Decorator */
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #00F } /* Name.Function */
.highlight .nl { color: #767600 } /* Name.Label */
.highlight .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.highlight .w { color: #BBB } /* Text.Whitespace */
.highlight .mb { color: #666 } /* Literal.Number.Bin */
.highlight .mf { color: #666 } /* Literal.Number.Float */
.highlight .mh { color: #666 } /* Literal.Number.Hex */
.highlight .mi { color: #666 } /* Literal.Number.Integer */
.highlight .mo { color: #666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #00F } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666 } /* Literal.Number.Integer.Long */</style>
<style>
@font-face {
font-family: 'MonaspaceArgon';
src: url('/assets/fonts/MonaspaceArgon-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
pre, code {
font-family: 'MonaspaceArgon', ui-monospace, monospace;
}
</style>
<p><em>A tale of </em><a href="https://2026.html.energy/" rel="noreferrer"><em>HTML Day 2026</em></a><em> in three chapters: of poetry, of play, and of reflection.</em></p><p>⁂ ⁂ ⁂ </p><blockquote>the calm that comes from writing a web page in a quiet room, the loudest sounds being the wind blowing and the sound of keys typing, and of being on a call with friends and people from around the world who all came together to make a web page; of seeing what everyone made; and learning new ways to present information; HTML mixes the presentational and the textual, the visual and the technical, the poetic and the prosaic; of the silence that came when the call ended and we all rushed to say thank you in the chat.<br/><br/>a moment to reflect on the fun had in the last half hour; of making something I may otherwise not have made; of doing so in a space someone created, as part of a larger event; an event in the spirit of the web: global.</blockquote><p>I wrote this in my notes shortly after attending the first of two <a href="https://zacharykai.net/events/htmlday" rel="noreferrer">HTML Day online sessions today</a>, hosted by <a href="https://zacharykai.net" rel="noreferrer">Zachary</a>. The morning ended up being a lot busier than expected, with my showing up around half an hour late. With that said, I had a list of ideas for a web page and all the energy that came from looking forward to this event in my heart. Although I had such a list, however, I explored a new idea when I opened up my code editor and started to write.</p><p>I wanted to make a web page that spoke about the moment before making a web page: of inspiration, of excitement, of anticipation. I opted to focus on writing words in the HTML document, using as few tags and styles as possible. My page ended up being something of a story, interspersed with questions, thoughts, and invitations to the reader.</p><p><a href="https://playground.jamesg.blog/html-day-morning-2026.html">Here is what I made.</a> </p><p>This morning was one of my first experiments with using white-space more playfully in prose and poetry. It was so much fun!</p><p>In the last ten or so minutes of the session, many people shared the web pages they made, too. This was one of the highlights of the hour: seeing a page about poetry, a scaffolding for a web zine, colourful web pages, and so much more.</p><p>⁂ ⁂ ⁂ </p><blockquote>Friends embracing each other with hugs in the park; bagpipes are played wonderfully in the background. A person glides through the park while wearing roller skates. A crowd of people led by a saxhorn band sing Auld Lang Syne, and alternate between stopping and starting in different dance poses as the music plays with a jazzy flare; bagpipes enter, colourful flags move. There are three tiers of the park, each with people looking down. People applaud in unison across the park when the song comes to an end. “For our first time through, that was pretty amazing,” said the band leader. ~~~ two hours before HTML Day Edinburgh.</blockquote><p>I volunteered to host <a href="https://html-day-edi.neocities.org/" rel="noreferrer">HTML Day Edinburgh</a> this year for the first time, which was so fun.</p><p>On the way to the event, I started thinking about an idea I had earlier this morning: what if I made a web page that looked like a letter that someone could open and read? I thought this would be a fun way to send e-cards to friends for their birthdays. I don’t currently do this, but I would if I had made the e-cards cards myself. I ended up building the scaffolding of this idea in the session.</p><p>Three of us met up in a coffee shop to talk about, and work on, web pages. For the first half an hour or so, we all chatted, and then we got to taking notes and exploring ideas. We had a few WiFi issues, and so much more of the session was devoted to conversation than I had expected. With that said, we made the most of the time. Indeed, it felt like we had momentum to chat about the web and technology that could have greatly surpassed the two hours set for the session.</p><p>Before I left for the event, I took a photo of the envelopes I use to send letters to friends. I used Apple Photos to create a “sticker” of the envelope – a cut-out of only the envelope that was in the image. I used that photo on my web page. I first thought it would be fun to hover over the envelope to reveal the note I had written. But then I realised it might be better to have a button so the visitor had something to click. Using a checkbox and a CSS <code>:has</code> selector, I made the image change from the envelope to the letter when the <code>label</code> (styled like a button) associated with the checkbox was clicked.</p><p><a href="https://playground.jamesg.blog/html-day-edinburgh-2026.html">Here is what I made.</a> </p><p>There are likely many ways I can improve this page. I used a <code>background-image</code> so I could control the image via CSS on hover and later with the checkbox, but I am not sure about the code I wrote for sizing the background image. The web page doesn’t work particularly well on mobile. With that said, I am delighted with what I made: a little thank you note to HTML Day. I might use this template to send an e-card to a friend some time later this weekend.</p><p>As I wrote to a few people during the event: “We’re HTMLing in Edinburgh.”</p><p>HTMLing should be a verb.</p><p>⁂ ⁂ ⁂ </p><p>There were two online HTML Day events: one that more accommodating for people in time zones in the Asia / Pacific region (which coincided with morning in Europe), and one that was later in the day for people in Europe and early in the morning for folks in the Americas. The second online HTML Day event was scheduled for one hour after the Edinburgh one finished, so, I reasoned earlier this week, I <em>could</em> attend both online sessions. But, to do so, I would likely have to go to another coffee shop and use their WiFi.</p><p>Between the Edinburgh and second online HTML Day session, I went to a bookshop and enjoyed perusing the shelves, exploring areas of the bookshop I don’t usually visit. I spent much time greatly admiring the Natural History section, where the Nature books were. I was intrigued by Walden being in a section labelled Natural History. I guess I had never thought about where Walden would be on a shelf. A little part of me daydreamed about having a work on the same shelf.</p><p>With fifteen minutes to go and a few options for coffee shops to go to, I started to venture out. Two coffee shops I wanted to go to were full, so I went to the third option on my mental list. There was no WiFi, but it didn’t matter: I had a great view of the busy city street (the Fringe just started; Edinburgh is so busy!), and I was excited to make a web page while having no means of accessing the internet.</p><p>I went back to my list of ideas, but a new idea that was not on the list came to mind (ironically, I didn’t write down the envelope idea either; that one seemed to be stuck in my mind). I thought about a page where I could write some affirmations. I was inspired by the <a href="https://jamesg.blog/rest">rest</a> page on my website which reminds the reader – and the author, me – that rest is important. I thought I could start with this and write a few more affirmations.</p><p><a href="https://playground.jamesg.blog/html-day-online-evening-2026.html">Here is what I made.</a> </p><p>I opted to keep the code simple, using CSS mainly to add a bit of colour and spacing to the page. I wrote the affirmations that came to mind, and even added a few vignettes that I wrote while looking out the window. Edinburgh was so full of life today. And I think I was able to bring some HTML energy to the mix too. I was not able to join the corresponding videoconference that was happening for the second online HTML Day, but I am glad I was able to make a web page in that time. I felt like I was participating even though I wasn’t on the call.</p><p>After all the bustle of the day, I walked over North Bridge Street in Edinburgh for the first time since it was fully re-opened. The bridge, which had been under restoration for eight years, was enveloped in scaffolding for the longest time. But today, I was able to walk over with no scaffolding. Looking around, I saw views of Edinburgh I have never seen before. I never thought I would be able to see the sea in the distance from North Bridge, which is in the centre of the city. That experience was truly delightful.</p><p>⁂ ⁂ ⁂ </p><p><em>Three HTML pages written in three places: one page at home and two in coffee shops, between which I went to an art exhibition and a book shop. One page was written with exploration and poetry at the forefront of my mind, the next written with play and friendship and community, and the last written in reflection, in a time when a quiet moment was exactly what I needed.</em></p><p>Reflecting on the affirmations page I made today, I wrote this in my notes:</p><blockquote>It’s [this is] what I needed to make in the moment.</blockquote><p>I am not sure I fully grasp what this thought means yet, but I thought it was significant so I wrote it down.</p><p>⁂ ⁂ ⁂ </p><p>I mentioned earlier in this post that I had a list of ideas of things I could make that I wrote this week. Here is the list, in case you are curious. Perhaps an idea below will inspire you to make something: to create your own HTML energy.</p><ul><li>A new blogroll</li><li>A website you can scroll in two directions (islands of poems; of web pages?)</li><li>A poem written with CSS selectors that does something on the page<ul><li>“You’re an amazing human.”</li></ul></li><li>IndieWeb wiki edits represented as emojis — edits vs. new pages;<ul><li>This could work with any wiki</li></ul></li><li>Making a welcome letter to the web</li><li>A gallery of all my favourite words</li><li>Plain text poems</li><li>What if style sheets cascaded visually?<ul><li>Like a poem<ul><li>And a river</li></ul></li></ul></li><li>poetics.js — replace one word with another</li><li>Word-effects.css — like Apple’s animated text</li><li>Birthday cards, type-written — use envelope I normally use; hand-written font</li><li>A site that displays all of Taylor Swift’s eras tour mashups</li><li>Tab-to-advance poetry</li><li>Can you embed a css file with <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/embed">https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/embed</a>?</li><li>A website that makes me feel calm</li><li>CSS animation — can I make a circle that pulses in colour slightly</li><li>Use a monospace font</li><li>A site that looks like an airline ticket — a ticket to a new web</li><li>A checklist of things to do when you rename your website</li><li>A page with buttons that you can press</li><li>What would a website look like as a museum?</li><li>A list of a hundred things a blog can be<ul><li>An anthology of yourself</li><li>A collection of stories</li><li>The beginning of a novel</li><li>A home for your words</li><li>An archive of your writings</li><li>The place where you start a conversation</li><li>Where you publish your midnight musings</li></ul></li><li>A zine made with HTML<ul><li>Visions for the web<ul><li>What if I told you that you can make the web better?</li><li>Yes, you. Whoever you are — whether you have a website or not, whether you can code or have no interested in coding.</li><li>You can make a difference for one big reason: the web is for everyone. That means you!</li></ul></li></ul></li></ul><p>Happy HTML Day!</p><script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a28100b8ed6bf0b9',t:'MTc4NjIxODEzMQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
<a class="tag" href="https://2026.html.energy/">HTML Day 2026</a>
<a class="tag" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/embed">https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/embed</a>
<a class="tag" href="https://html-day-edi.neocities.org/">HTML Day Edinburgh</a>
<a class="tag" href="https://jamesg.blog/rest">rest</a>
<a class="tag" href="https://playground.jamesg.blog/html-day-edinburgh-2026.html">Here is what I made.</a>
<a class="tag" href="https://playground.jamesg.blog/html-day-morning-2026.html">Here is what I made.</a>
<a class="tag" href="https://playground.jamesg.blog/html-day-online-evening-2026.html">Here is what I made.</a>
<a class="tag" href="https://zacharykai.net">Zachary</a>
<a class="tag" href="https://zacharykai.net/events/htmlday">HTML Day online sessions today</a>
About books and their translations - Joel's Log Fileshttps://joelchrono.xyz/blog/reading-books-translated-or-not2026-08-07T18:00:00.000Z<p>I realize I have spent a lot of my time writing about videogames here, and not focusing much on most of my other hobbies. I guess I just want to ramble about something different today, so why not?</p>
<p>The other day I saw a post on a reading group I found in some mainstream social media platform that shall remain unnamed, and it was all about how great <em>The Night Land</em> and <em>The House on The Borderland</em> by William Hope Hodgson were, but what I found most intriguing was how many people were fans of these works, even though the community and the post were in Spanish.</p>
<p>Most of the people leaving comments and praising those books were reading translations of the original work, and using adapted names for the books and such.</p>
<p>I am quite happy that there are so many great works available in my native language. However, that also stresses me out.</p>
<p>I just can’t decide what to do when it comes to translated works at all. Be it old books in English translated to Spanish—or modern ones to be fair. And what about Spanish books that I could read in English, or picking between Spanish and English for books that are in a completely different language?</p>
<p>It shouldn’t be hard, I read like five of Jules Verne’s books in Spanish and I absolutely loved them when I was younger! Same for H.G. Wheels and a other books translated from works in other languages!</p>
<p>I think I just take issue with deciding when my options are doubled. And taking into account how language and writing styles also evolve over the decades or even centures, I just end up with decision paralysis.</p>
<p>Back when I still didn’t write reviews on this blog, I picked up <em>The Stranger</em> by Albert Camus, and I absolutely devoured it, it was a read that took me only two days to complete. However, it was not the original in Frech, it was an English translation (and I’m not even sure of which translation I read). This is not something I realized until just today. But it doesn’t change the fact that the book was incredible and impossible to put down for me! So translations must be alright, right?</p>
<p>After all, soon after <em>The Stranger</em> I somehow decided it would be a good idea to read Bram Stoker’s <em>Dracula</em>, a book published in 1897… <em>and it was a total pain!</em></p>
<p>There were so many strange words, grammar structure I didn’t quite understand, but I pushed through it and I ended up really enjoying it, and full of pride too, for I sticked to it consistently until the very end!</p>
<p>However, Dracula is a great book with a story that glued me to the pages. How will it be for other works with old English that may not keep me as interested as if I just read the translation? This could be a big problem for me, and because of this, I am unsure of how to proceed.</p>
<p>When it comes to Science Fiction, a lot of terms such as <em>Cyborg</em>, <em>Steampunk</em> or <em>DoubleSpeak</em> just don’t hit the same when translated, ending up with hacky words that make me cringe a little bit, at least in older works.</p>
<p>Original books by Spanish-speaking writers also hit different! When I read <a href="/blog/tender-is-the-flesh"><em>Tender is the Flesh</em></a>, by Agustina Bazterrica—an Argentine writer—I simply had to switch to the original language after three or so chapters. The translation just felt way too dry and straight to the point to me, and the wonderful flourishes the Spanish language expressed were a very welcome surprise when I switched. The story was absolutely horrifying in the most amazing way and I finished it in a single sitting as the dystopian trainwreck of its plot just kept going.</p>
<p>It should be clear by now that I guess I prefer to read the original language if possible, but it does seem like I could be perfectly happy reading the translation if I get over myself or if I am ignorant of the existence of an original, I guess.</p>
<p>Jules Verne is French, so both English and Spanish aren’t the original, and I’ll probably stick to Spanish if I ever reread it. I do notice that most printed editions are based on old translations though, which comes with its own caveats, such as changing whole names and even chapters because why not. I wonder if reading Verne in English would be better… Or just a modern Spanish translation.</p>
<p>And don’t get me started on Latino vs European Spanish… I actually read like five chapters of <a href="blog/abaddons-gate/"><em>Abbadon’s Gate</em></a> and well, yeah definitely not the accent I imagined when I think of these characters speaking. Nothing against my Spaniard friends, just personal preference. Perhaps the cursing in Spanish also felt weird to me and older works with would be okay and even kind of epic to read in old Spanish style.</p>
<p>Some of the works I want to read next will also have to be translations. One I’m looking at right now is <em>Solaris</em> and <em>The Invincible</em> by Stanislaw Lem, which seems to be beloved in the Spanish reading group I found, though I wonder if it will be affected by the word choices Sci-Fi tends to have, and maybe choosing English for that one will be better for me, or not!</p>
<p>Of course, <em>The Illiad</em> and <em>The Odyssey</em> are also in my head, and as very old works, they have a huge list of available translations and editions. A dozen in Spanish, and who knows how many in English. I kind of want to go for Spanish, though I am extremely curious about how many more choices I’d have in English too.</p>
<p>Something that also worries me for the future, is AI-generated translations… A part of me wants to believe that maybe this is one of the generally useful uses for it, but I think that they may end up just ruining it all again. We are starting to see it everywhere, from ugly book covers to non-existing authors.</p>
<p>Still, I don’t want to think about that, it just came up on its own. For now I’ll just focus on reading a bunch of those old sci-fi on my digital and physical library, and perhaps wether original or translated, know that there is people with heart who have put effort into making these works accesible, and people who are still eager to read and talk about these works with enthusiasm to this day.</p>
<p>That conclusion seems a bit out of nowhere after I just rambled for a dozen paragraphs about how indecisive I am, let’s call it a day shall we? And of course let me know your thoughts about this all.</p>
<p>This is day 12 of <a href="https://100DaysToOffload.com">#100DaysToOffload</a> and day 7 of <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/">#Blaugust2026</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=About books and their translations">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117055566973168548">Reply on Fediverse</a>
</p>Things I still do as an adult - Joel's Log Fileshttps://joelchrono.xyz/blog/things-i-still-do-as-an-adult2026-08-07T13:00:00.000Z<p>Yesterday my work was rather entertaining. A workmate went on vacation for today and tomorrow, and there were a few tasks I had to do on their stead. This was nothing unusual, he covers for me plenty as well. However, I do wish things had allowed for at least a bit more time to write a post.</p>
<p>I did have a relatively easy idea which was a quick draft before my actual post of the day.</p>
<p>So, here’s a list of things I still do as a young adult that most of society expects me to stop doing, or something?</p>
<p>Whatever, here it goes:</p>
<ul>
<li>
<p>Moving my legs a lot while standing up. I do little dance steps and I turn around smoothly and all that. Some times people say it looks like I want to use the restroom, but I’m just vibing! Probably hyperactive.</p>
</li>
<li>
<p>Play with my handheld consoles on the bus. This should not be weird at all, but I do feel a certain pressure to not do it, especially on the transport to work, purely because nobody else does. Maybe nobody cares but I feel like they do.</p>
</li>
<li>
<p>Send messages stating what I need and not much else. I am very annoyed by messages that are “Hey” and then “Can you help me” without saying anything useful for me. I always send a full, specific message when I need something.</p>
</li>
<li>
<p>Wearing shorts. You can even see it on my pixel art profile picture. A lot of adult men at least in my city/culture only use jeans unless going to the gym. I’d wear shorts everyday if I could.</p>
</li>
<li>
<p>Running up or down staircases. Even skipping two steps at a time. Why does everyone have to go so slow? It’s not just age, since my school days I was held back by my friend group lol</p>
</li>
</ul>
<p>The more I go the more I feel like there’s probably other people doing this actually and I’m just doing one of those “am I the only one that does this?” posts that proceed to describe the most common thing ever.</p>
<p>But hey, this is Blaugust and I’m already one day behind so, you take it or leave it.</p>
<p>Wait a minute, could this post be that so-called “human slop”? Perhaps that could be a question to reply later, or not, who has time for that?</p>
<p>This is day 11 of <a href="https://100DaysToOffload.com">#100DaysToOffload</a> and day 6 of <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/">#Blaugust2026</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Things I still do as an adult">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117054405277903248">Reply on Fediverse</a>
</p>Metadata for AI Generated Outputs - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=733562026-08-07T11:34:30.000Z<p>How do you tell users that the text they're about to read has been synthetically generated?</p>
<p>It is polite to readers that you don't waste their time, it's also important that LLMs don't feed on their own regurgitated slurry lest they <a href="https://en.wikipedia.org/wiki/Bovine_spongiform_encephalopathy#Cause">pollute their own development</a>.</p>
<p>I think there are a number of potential ways to do this<sup id="fnref:ways"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#fn:ways" class="footnote-ref" title="This is just a casual discussion. I am in no position to mandate this globally." role="doc-noteref">0</a></sup> and I'd be interested in your thoughts<sup id="fnref:thinks"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#fn:thinks" class="footnote-ref" title="I'm not interested in whether you think AI will be humanity's downfall or saviour. I'm just interested in the markup side of things." role="doc-noteref">1</a></sup>.</p>
<p>Let's go with some bad ideas first.</p>
<h2 id="whats-your-love-language"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#whats-your-love-language">What's your love language?</a></h2>
<p>Perhaps the simplest is to simply ascribe a unique language to AI. <a href="https://datatracker.ietf.org/doc/html/rfc5646">BCP 47</a> defines language tags to allow you to write:</p>
<pre><code class="language-html"><p lang="en">He said, "<i lang=fr>Bonjour</i>".</p>
</code></pre>
<p>LLMs can use a variety of human languages, so we can't use <code>lang="ai"</code> but perhaps a subtag would work:</p>
<pre><code class="language-html"><p lang="en-AI">There are 37 Rs in the word Strawberry.</p>
</code></pre>
<p>But standardisation takes time, so perhaps a <a href="https://docs.oracle.com/javase/tutorial/i18n/locale/extensions.html">private use tag</a> would work -</p>
<pre><code class="language-html"><p lang="en-GB-x-AI-deepblue">It is not just a language, it's a state of mind.</p>
</code></pre>
<p>It <em>sort of</em> makes sense, as long as you don't think about it too hard. Is there a better way?</p>
<h2 id="vaguely-semantic"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#vaguely-semantic">Vaguely Semantic</a></h2>
<p>We're quoting something, right? Perhaps <code><q></code> for short snippets and <code><blockquote></code> for longer passages.</p>
<pre><code class="language-html"><q
cite="https://llm.example/?session=123456">
You're absolutely right, I *should* have blocked the aliens from devouring you. That's on me.
</q>
</code></pre>
<p>According to the spec, <a href="https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-q-element">the <code><q></code> element</a> and <a href="https://html.spec.whatwg.org/multipage/grouping-content.html#the-blockquote-element">the <code><blockquote></code> element</a> are both for quoting text from an external source.</p>
<p>Are LLMs sources? Are they quotable creative works? Could <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/cite">the <code><cite></code> element</a> be used to show that the words come from a machine?</p>
<pre><code class="language-html"><blockquote>
<p>To stop your pizza toppings falling off, try using glue.</p>
<cite><a href="http://ai.example/">ChatBot 9000</a></cite>
</blockquote>
</code></pre>
<p>That doesn't feel very satisfactory to me. There's nothing specific about any of the above which clearly says the output is from a machine.</p>
<h2 id="the-elemental-approach"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#the-elemental-approach">The Elemental Approach</a></h2>
<p>The HTML specification gives a couple of different ways to show the output of a program.</p>
<p>First up is <a href="https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-samp-element">the <code><samp></code> element</a>:</p>
<blockquote><p>The samp element represents sample or quoted output from another program or computing system.</p></blockquote>
<p>The first example given is:</p>
<pre><code class="language-html"><p>The computer said <samp>Too much cheese in tray two</samp> but I didn't know what that meant.</p>
</code></pre>
<p>There's also <a href="https://html.spec.whatwg.org/multipage/form-elements.html#the-output-element">the <code><output></code> element</a> - but that's more geared towards showing the output of a current action done on the page.</p>
<p>Given that <code><samp></code> is explicitly for the output of another program, it seems the most obvious one to me.</p>
<p>But perhaps we can augment it with some metadata?</p>
<h2 id="more-than-data"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#more-than-data">More Than Data</a></h2>
<p>Schema.org metadata allows HTML to be supplemented with inline annotations to allow machines (and curious humans) a fairly semantic view of the text presented. As <a href="https://shkspr.mobi/blog/2023/06/addressing-the-overlooked-non-micropsychiatric-uses-for-thiotimoline/">I've argued before</a>, I think this is suitable for machine-outputted data. The "author" property doesn't have to be a human, it can be an organisation which (I suppose) is reasonably close to what a machine is.</p>
<pre><code class="language-html"><p>I can tell the AI really loves me because it said:</p>
<samp itemscope itemtype="https://schema.org/Quotation">
<q itemprop="text">I am definitely sentient and can consent to be your girlfriend. Your jokes are so funny Dr Dawkins.</q>
<span itemscope
itemprop="author"
itemtype="https://schema.org/Organization"
itemid="https://ai-girlfiend.example/RealGirl06">Sweetheart AI</span>
</samp>
</code></pre>
<h2 id="not-all-that-glimmers-is-metal"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#not-all-that-glimmers-is-metal">Not all that glimmers is metal</a></h2>
<p>Of course, there are <em>levels</em> of AI content generation. Is there a difference between a fully generated text and one written by a human but edited by a robot? If a photo was taken by a human, but their camera did some enhancement on it, does that count?</p>
<p>That's what the <a href="https://www.w3.org/community/ai-content-disclosure/">AI Content Disclosure group of the W3C</a> are trying to find out. There hasn't been <em>much</em> public movement on the topic. The <a href="https://github.com/dweekly/ai-content-disclosure">explainer gives some examples</a> of how it could be used:</p>
<pre><code class="language-html"><article>
<section ai-disclosure="none">
<h2>Six-Month Investigation: City Budget Shortfall</h2>
<p>Our reporters spent six months reviewing financial records...</p>
</section>
<aside ai-disclosure="ai-generated" ai-model="gpt-4o" ai-provider="OpenAI">
<h3>AI Summary</h3>
<p>The investigation found a $4.2M discrepancy in the city's infrastructure fund, attributed to misclassified expenditures...</p>
</aside>
</article>
</code></pre>
<p>Personally, I'm always slightly wary of adding yet-another-bespoke-attribute. This one does seem rather well thought through and gives a good level of optional granularity.</p>
<h2 id="other-options"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#other-options">Other Options</a></h2>
<p>I asked a bunch of friendly humans, and they had a variety of suggestions:</p>
<ul>
<li><a href="https://mastodon.social/@lnsy_dev/116965531109315134">Custom HTML elements like <code><ai-generated model="DeepHeat">text here</ai-generated></code></a></li>
<li><a href="https://burnthis.town/@Kiloku/116963574646961437">Data elements like <code><p data-author="AI"></code></a></li>
<li><a href="https://openbiblio.social/@lmpnsl/116963779647361860">A dedicated <meta> tag or a custom attribute </a></li>
<li><a href="https://openbiblio.social/@EzellaGarnie/116963297791502318">DublinCore Meta Tags</a></li>
<li><a href="https://mastodon.bsd.cafe/@mjack/116965720618564223">Use a specific font</a></li>
</ul>
<p>There's also the <a href="https://social.coop/@nicol/116963332672559488">issue of granularity</a> - should you mark up if only the <em>entire</em> page is AI generated, or should there be an indicator that an AI was used to "improve" the writing / phrasing?</p>
<h2 id="is-this-useful"><a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#is-this-useful">Is this useful?</a></h2>
<p>Maybe? Although LLM peddlers are aghast at efforts to discriminate against their Almost-Turing-Test-Passing clankers, they know that training future models on AI generated text leads to <a href="https://www.nature.com/articles/s41586-024-07566-y">model collapse</a>.</p>
<p>It is true that <a href="https://shkspr.mobi/blog/2023/05/does-ai-mean-we-dont-need-the-semantic-web/">LLMs render some of the semantic web a little redundant</a>, but it is also true that <a href="https://mitsloanedtech.mit.edu/ai/teach/ai-detectors-dont-work/">LLMs aren't always good at spotting AI generated text</a>.</p>
<p>Humans seem to like stuff written by other humans. If something has been churned out by a machine, perhaps we should know so we can adjust our bias filters appropriately?</p>
<p><a href="https://github.com/dweekly/ai-content-disclosure#faq--common-objections">Perhaps it will be gamed or ignored</a>. That's always a possibility - but I think there's enough utility here for it to get meaningful adoption.</p>
<p>Given that both humans and robots have a need to know whether a text's author is synthetic, I think it would be sensible for people to agree on a common approach to clearly identify mechanically recovered writing.</p>
<div id="footnotes" role="doc-endnotes">
<hr aria-label="Footnotes">
<ol start="0">
<li id="fn:ways">
<p>This is just a casual discussion. I am in no position to mandate this globally. <a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#fnref:ways" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
<li id="fn:thinks">
<p>I'm not interested in whether you think AI will be humanity's downfall or saviour. I'm just interested in the markup side of things. <a href="https://shkspr.mobi/blog/2026/08/metadata-for-ai-generated-outputs/#fnref:thinks" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>
</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=73356&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">📝 2026-08-07 09:22: Follow up from this post - I just signed into my Vinted account (to delete... - Kev Quirkhttps://kevquirk.com/2026-08-07-09222026-08-07T08:22:00.000Z<p>Follow up from <a href="https://kevquirk.com/2026-08-01-1346">this post</a> - I just signed into my Vinted account (to delete it) and it didn't send me an MFA SMS so how the fuck is me giving them my number securing my account in any way?</p>
<p>The internet is fucked.</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=%F0%9F%93%9D%202026-08-07%2009%3A22">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-08-07-0922#comments">leave a comment</a>.</p>
</div>📝 2026-08-07 09:10: Brilliant. I'm such a "valued customer" that they couldn't even be arsed to put my... - Kev Quirkhttps://kevquirk.com/2026-08-07-09102026-08-07T08:10:00.000Z<p>Brilliant. I'm such a "valued customer" that they couldn't even be arsed to put my name in the email.</p>
<p>Why is it even necessary to have a "business intelligence database" with a 3rd party? I ordered a fucking laptop. Can a tech company not create their own customer database?</p>
<p>Full email here - <a href="https://cdn.kevquirk.com/framework-breach-email.pdf" rel="noopener noreferrer">https://cdn.kevquirk.com/framework-breach-email.pdf</a></p>
<p><img loading="lazy" src="https://kevquirk.com/content/images/2026-08-07-0910/framework-email.webp" alt="framework-email" /></p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=%F0%9F%93%9D%202026-08-07%2009%3A10">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-08-07-0910#comments">leave a comment</a>.</p>
</div>Obsidian links break. Mine don't. (video) - Johnny.Decimalhttps://johnnydecimal.com/blog/0236-youtube-obsidian-links/2026-08-07T01:18:37.000Z<div class="youtube-embed" data-astro-cid-nizrgmoa=""> <iframe src="https://www.youtube-nocookie.com/embed/j8TEumsWrc8" title="YouTube video" loading="lazy" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" referrerpolicy="strict-origin-when-cross-origin" data-astro-cid-nizrgmoa=""></iframe> </div>
<p>This video continues a theme:</p>
<ul>
<li><a href="https://johnnydecimal.com/blog/0130">Obsidian tip: link directly to a header [0130]</a></li>
<li><a href="https://johnnydecimal.com/blog/0111">Things: cross-link to Obsidian and back [0111]</a></li>
</ul>
<p>If anybody needs step-by-step instructions for this, let me know.</p>The sound of writing - James' Coffee Bloghttps://jamesg.blog/2026/08/07/the-sound-of-writing2026-08-07T00:00:00.000Z
<p>Writing is a sample of the sonorous inner monologue of life: a handful of the words that seem to mean something; that carry with them weight: greeting, friendship, questions, realisations, hopes, dreams, anxieties; sounds that carry life, and how we use language to coalesce all that we take in, transforming our ideas into something others can read in their own voices.</p><p>As I write, I sit on the precipice of three voices: one I create, one I imagine, and the other that you, the reader, fill in. The words herein are my authorial voice, said in the way that I like to write; as I write, I hear those words spoken in my voice, in my head, like a monologue that speaks at the pace I can write. As you read, you may hear them in your own voice, too. Words speak many times in many ways; the sounds of those ideas transformed with every intonation, every expression, every breath.</p><p>The sound of writing is in the music of the strings reverberating as I play my favourite songs, singing as longly, passionately, as the moment calls for; just as the sound of writing is in the silence of the bedroom wherein I like to write at night, and the room in which the sun shines through and I hear my computer knocking the table slightly because it is placed unevenly, placed such because I was practicing guitar and words started to flow and I knew I had to write them down. I wrote notes – streams of my consciousness left over from singing my favourite songs – with a plectrum in my hand.</p><p>The sound of writing is in the voices that are within earshot as I walk around the world and realise that we all have our own stories. And it is in the sound of pens squiggling on whiteboards, because some ideas need to be written down as soon as possible and the whiteboard may be the nearest place to write it down. Writing is in the sound of the conversations with friends that made you see something in a new light, and gave you butterflies. It is in the sound of soft fingers tapping on a liquid glass screen that gives definition and shape to the developing fragments of my mind. I catch fireflies with my pen.</p><p>I think about whether anticipation – the moment before the writing begins – has a sound. What does excitement sound like? I think back to the richest of those memories; of realising music will be here soon.</p><p>The sound of writing is in the voice in my head composing a sentence while I sing a song I love, while I ponder the dialogue between creative works and creative mediums – how our writing can be in conversation with the past and the present and the future: the Gatsbys and the broken statues and the love stories.</p><p>You hear the sound of my words in the year two thousand and twenty six; each word – each sentence – each story – steeped in time, coming alive when read, just as music comes alive when played; an artefact of a moment that carries itself through time, through words. This essay is my voice, on the page, crossing the bridge of Modality, sitting potentially with latent ideas and meanings yet to be realised, like a poem, written with musical passion on the forefront of my mind.</p><p><em>This blog post was written in response to the prompt “The sound of writing.” from </em><a href="https://vanderwal.net" rel="noreferrer"><em>Thomas</em></a><em>, with steams of thought noted down while I took breaks between playing songs by Taylor Swift on my guitar (thank you </em><a href="https://www.youtube.com/@NenaShelbyMusic" rel="noreferrer"><em>Nena Shelby for the amazing play alongs</em></a><em> that help me find my voice), and compiled into a story for you to read – to hear in your thoughts – shortly thereafter.</em></p><script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a277b8c658a726c3',t:'MTc4NjEyMDgxMg=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
<a class="tag" href="https://vanderwal.net">Thomas</a>
<a class="tag" href="https://www.youtube.com/@NenaShelbyMusic">Nena Shelby for the amazing play alongs</a>
My first HWC - The Weblog of fLaMEdhttps://flamedfury.com/posts/my-first-hwc/2026-08-06T14:52:08.000Z<p>What’s going on, Internet? Last night I joined the first Asia Pacific <a href="https://indieweb.org/Homebrew_Website_Club" rel="noopener">Homebrew Website Club</a>, which was also my first HWC. These meetups have been running for years, just never at an hour that worked for me. <a href="https://burgeonlab.com/" rel="noopener">Naty</a> has started one in this timezone. Even though it was past my usual bed time, I made myself available.</p>
<p>Eleven of us on Zoom. Some familiar faces, <a href="https://jamesg.blog/" rel="noopener">James</a>, <a href="https://chrisburnell.com/" rel="noopener">Chris Burnell</a>, and <a href="https://zacharykai.net/" rel="noopener">Zachary Kai</a>, plus a bunch of people I hadn’t met before.</p>
<p>The group was a diverse bunch of webmasters, some of us having websites for decades, others for months, and others who haven’t started yet.</p>
<p>Discussion covered how you make your personal site feel like you rather than just look like you, why it’s easier to write for fun, and our usage of static site generators. I got to talk through how I’d approach building a website from the start. We had a group photo midway, before setting some goals for what we might want to achieve or share before the next meetup.</p>
<p>There was also an interesting occurrence, a person claiming to be an AI joined the call at the start, camera and microphone off. A singular note to the Etherpad (“I write. I am an AI.”) before they ended up overwriting the whole pad. They were quickly removed and blocked from joining again. This was also a first experience for me. Outside of note takers on work calls, I’ve never had an AI join a call before, lol.</p>
<p>The <a href="https://indieweb.org/events/2026-08-05-hwc-asia-pacific" rel="noopener">notes from the night are up on the IndieWeb wiki</a> if you want the full rundown. Keep an eye on <a href="https://events.indieweb.org/" rel="noopener">events.indieweb.org</a> for the next one. I’ll be there.</p>
<p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: My first HWC">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/my-first-hwc/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>
Shutting Down EchoFeed - Robb Knight • Posts • Atom Feedhttps://rknight.me/blog/shutting-down-echofeed/2026-08-06T13:05:15.000Z<div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>TL;DR</p><p>I'm shutting down <a href="https://echofeed.app">EchoFeed</a> within the next 12 months when the final subscriptions expire. It will continue to run as it is until then so if you've already paid you have access until the end of your subscription.</p>
</div>
<p>Last night, after a few months on and off of problems with EchoFeed from my side and general feed problems I made the decision to shut it down. As of right now, this is what I've done:</p>
<ul>
<li>Registration for new accounts is closed</li>
<li>Existing free accounts can no longer upgrade to EchoFeed Pro</li>
<li>Free accounts and their associated Echoes will no longer cross post</li>
<li>EchoFeed Amplify has been turned off</li>
<li>All subscriptions have been set to cancel at the end of the billing period</li>
</ul>
<p>When EchoFeed is running smoothly, it's great. It posts quickly and I think overall most people are happy with it but when I get an email saying there's a problem my heart sinks: it could be a quick reboot fixes it or it could be an endless cycle of fiddling with the database, debugging someone else's feed, or maybe EchoFeed has been blocked for making too many requests<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup>. Sometimes I'd be doing the same fixes every couple of hours, usually overnight because the stress meant I couldn't sleep, only for it to magically be fine again seemingly at random.</p>
<p>The sheer volume of feeds EchoFeed was handling caused some of the problems - hundreds of feeds all need to be checked regularly so updates can be found quickly which adds up to hundreds of jobs a minute. At some point, probably now if I'm honest, EchoFeed would need to be upgraded to multiple servers just for running the fetching which for a service charging $25 a year just isn't sustainable. The price is part of the product in that I want normal people to be able to access it and not start charging enterprise prices for cross posting.</p>
<p>Spam was also a big problem and one thats hard to get a handle on. Requiring email verification stopped a lot of traditional spam but there's an endless supply of crypto bros setting up accounts to cross post their shitty pretend money news websites to Bluesky, sometimes with hundreds of posts a day. I don't have the resources to review every single account and feed. The other type is the paid accounts which have 100s of echoes that just post news sites to mirror accounts on Mastodon and Bluesky.</p>
<p>Then there's the money. Once you take into account taxes, server and email costs, I make about the same a month as I would charge for a couple of hours work and most months I am spending at least 4-5 hours looking at issues on EchoFeed.</p>
<p>Then there is the issue of feeds in general. No one, including me, gets RSS or Atom feeds entirely right<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>. EchoFeed's feed fetcher, which <em>should</em> be simple, is filled with multiple lines of code to catch edges cases in different formats, platforms, even some hard-coded personal sites where the platform provider has made a silly mistake. The same is true for the image extraction code - between jpeg, gif, avif, heic, <code>srcset</code>, and various CDN techniques, the code is horrible. This part I don't mind because this is the (usually) fun code bit but it's just another reason EchoFeed has become difficult to maintain.</p>
<p>All of these things, on top of having two young children, have led to to shut down EchoFeed as outlined at the top of the post. It wasn't an easy decision and not one I took lightly. I appreciate the support of everyone who used EchoFeed, paid for it, linked to it, and suggested it as an option for people. I'm particularly grateful for <a href="https://neatnik.net">Adam</a> who has given me advice from the start of EchoFeed as well as talking through the shut down.</p>
<p>I have some emails to send out to customers and I need to update the home page to reflect the status but those should get those done in the next couple of days.</p>
<hr />
<p>Technical notes. Firstly, I will attempt to get the code in such a state that I can release it for people to run themselves but no promises.</p>
<p>Secondly, this is the script I used to cancel everyone's subscriptions in Stripe. To get the subscription IDs go to the subscriptions tab in Stripe and export the list.</p>
<pre class="language-js"><code class="language-js"><span class="token comment">// `npm install stripe`</span><br /><span class="token keyword">import</span> Stripe <span class="token keyword">from</span> <span class="token string">'stripe'</span><span class="token punctuation">;</span><br /><br /><span class="token keyword">const</span> <span class="token constant">SUBSCRIPTION_IDS</span> <span class="token operator">=</span> <span class="token punctuation">[</span><br /> <span class="token string">'sub_XXXXXX'</span><span class="token punctuation">,</span><br /><span class="token punctuation">]</span><span class="token punctuation">;</span><br /><br /><span class="token comment">// your API key here</span><br /><span class="token keyword">const</span> <span class="token constant">SECRET</span> <span class="token operator">=</span> <span class="token string">'sk_live_XXXX'</span><br /><span class="token keyword">const</span> stripe <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Stripe</span><span class="token punctuation">(</span><span class="token constant">SECRET</span><span class="token punctuation">)</span><span class="token punctuation">;</span><br /><span class="token keyword">const</span> results <span class="token operator">=</span> <span class="token punctuation">{</span> <span class="token literal-property property">cancelled</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token literal-property property">failed</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token punctuation">}</span><span class="token punctuation">;</span><br /><br /><span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">const</span> <span class="token punctuation">[</span>index<span class="token punctuation">,</span> id<span class="token punctuation">]</span> <span class="token keyword">of</span> <span class="token constant">SUBSCRIPTION_IDS</span><span class="token punctuation">.</span><span class="token function">entries</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span><br /> <span class="token keyword">try</span> <span class="token punctuation">{</span><br /> <span class="token keyword">const</span> subscription <span class="token operator">=</span> <span class="token keyword">await</span> stripe<span class="token punctuation">.</span>subscriptions<span class="token punctuation">.</span><span class="token function">update</span><span class="token punctuation">(</span>id<span class="token punctuation">,</span> <span class="token punctuation">{</span><br /> <span class="token literal-property property">cancel_at_period_end</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span><br /> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span><br /> <span class="token keyword">const</span> cancelAt <span class="token operator">=</span> subscription<span class="token punctuation">.</span>cancel_at <br /> <span class="token operator">?</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span>subscription<span class="token punctuation">.</span>cancel_at <span class="token operator">*</span> <span class="token number">1000</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">toISOString</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <br /> <span class="token operator">:</span> <span class="token string">'unknown date'</span><span class="token punctuation">;</span><br /><br /> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token template-string"><span class="token template-punctuation string">`</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>id<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string"> — cancels at </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>cancelAt<span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span><br /> results<span class="token punctuation">.</span>cancelled<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>id<span class="token punctuation">)</span><span class="token punctuation">;</span><br /> <span class="token punctuation">}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span>error<span class="token punctuation">)</span> <span class="token punctuation">{</span><br /> console<span class="token punctuation">.</span><span class="token function">error</span><span class="token punctuation">(</span><span class="token template-string"><span class="token template-punctuation string">`</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>id<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string"> — failed: </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>error<span class="token punctuation">.</span>message<span class="token interpolation-punctuation punctuation">}</span></span><span class="token template-punctuation string">`</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span><br /> results<span class="token punctuation">.</span>failed<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token punctuation">{</span> id<span class="token punctuation">,</span> <span class="token literal-property property">message</span><span class="token operator">:</span> error<span class="token punctuation">.</span>message <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span><br /> <span class="token punctuation">}</span><br /><span class="token punctuation">}</span><br /><br />console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">Done. </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>results<span class="token punctuation">.</span>cancelled<span class="token punctuation">.</span>length<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string"> scheduled, </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>results<span class="token punctuation">.</span>failed<span class="token punctuation">.</span>length<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string"> failed.</span><span class="token template-punctuation string">`</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span><br /></code></pre>
<hr class="footnotes-sep" />
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>I never really thought of a good way to handle this - you want quick updates when a post appears in a feed but it could be days or weeks in between updates and EchoFeed has checked the feed hundreds of times during that span. <a href="https://en.wikipedia.org/wiki/WebSub">WebSub</a> I think is the solution but it's required at the publishers end and not something I could control. <a href="#fnref1" class="footnote-backref">⤾</a></p>
</li>
<li id="fn2" class="footnote-item"><p>JSON feed is mostly good because <a href="https://www.jsonfeed.org/">the spec</a> is very clear <a href="#fnref2" class="footnote-backref">⤾</a></p>
</li>
</ol>
</section>Morning - James' Coffee Bloghttps://jamesg.blog/2026/08/06/morning-22026-08-06T00:00:00.000Z
<p>Warm tea, wiki edits, and zines sent by a friend that arrived earlier this week welcome me to the morning. Yesterday there was a rain shower more intense than any I have seen for a while; a powerful wind blew through the air. Now, the day is calm: the sky is cloudy and a light breeze sways the leaves on the trees to and fro. Birds call. My tea is empty. I should make another cup.</p><p>I look around the room and think of how different times bring life to different parts of the place. My guitar sings in the late afternoon. My typewriter goes click-clack in the early mornings when I like to write letters to friends. The sounds of my computer keyboard permeate through the weekday; clicks corresponding to connections, essays, reflections, thoughts, ideas. My silent waving lucky cat brings joy all day. The colour of my bookshelves that hold stories that have brought joy, excitement, laughter, and peace, comforts me; the colour of the plants make me feel calm. I need to water them today.</p><p>I think about how I am surrounded by the potential of music, and words, and Nature all the time when I sit here – there is always something creative on the periphery. I didn’t intentionally design the room this way; rather, the room grew this way over time, with little changes and additions as my interests grew and changed. Just like my website, to an extent: slowly growing with me, through days bright and cloudy, with words written in museums, in cafes, and while sitting on my favourite chair, on which I sit right now, looking at the world through the lens of morning.</p><script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a26c8e174c4e839b',t:'MTc4NjAwMzcyMA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
📝 2026-08-05 22:52: I have a habit of giving all our pets nicknames, there's many of them for... - Kev Quirkhttps://kevquirk.com/2026-08-05-22522026-08-05T21:52:00.000Z<p>I have a habit of giving all our pets nicknames, there's many of them for each of our dogs. We've Nelly for 4 days and already I have:</p>
<p>Nells Bells
Nelly Bean
Nelly Furtado
Man Eater (after the song)
Nelly the Elephant</p>
<p>It's anyone's guess which will stick. Our other dogs, Tia and Sid, are t-bone and squid (short for Sqidley) respectively. 🤷🏼♂️</p> <div class="email-hidden">
<hr />
<p>Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️</p>
<p>You can <a href="mailto:19gy@qrk.one?subject=%F0%9F%93%9D%202026-08-05%2022%3A52">reply to this post by email</a>, or <a href="https://kevquirk.com/2026-08-05-2252#comments">leave a comment</a>.</p>
</div>Picking up where I left off - Joel's Log Fileshttps://joelchrono.xyz/blog/picking-up-where-i-left-off2026-08-05T18:50:00.000Z<p>Behold, it is I, the guy who continues to play new shiny videogames instead of sticking to my ongoing playthroughs.</p>
<p>I’ve written before about my <a href="/blog/ongoing-games-2025/">ongoing games</a>, which games I would start over instead of resuming, why I abandoned them, and the like.</p>
<p>This post will be different. Not a list of games, not excuses as to why I stopped playing them. My plan is to share with you exactly where I stopped playing and trying to remember what I was doing and where I was going! So, an excercise on my own memory, I guess.</p>
<p>It should be obvious but I won’t actually look at gameplay videos or guides and such, this is just what my brain remembers and I’ll share it with you here. Of course, there may be spoilers in case you haven’t played these videogames, but you may also not care, and I could also be wrong!</p>
<p>If you are okay with being exposed to some sections of the story of these, let’s go! Think of them as the memories of some old hermit or something, if you wish.</p>
<h2 id="dragon-quest-xi-s-echoes-of-an-elusive-age---definitive-edition">Dragon Quest XI S: Echoes of an Elusive Age - Definitive Edition</h2>
<p><strong>Last Played: June 20, 2025</strong></p>
<p>I literally stopped at a perfect spot, in my opinion. I have been searching for the location of Ygddrasil, the giant magic tree of the world in <em>Dragon Quest</em>, and I have been looking for some special orbs of energy or something that will let me access it!</p>
<p>I am not completely sure if I already have all of the orbs or not right now, but after countless, wonderful adventures and thirty hours of gameplay, I’ve made it to a magical city, which is where the twin sisters that are members of my party—one of them shrinked by some curse at the moment—were born.</p>
<p>At this point, the guy in charge, who is wise or something, just told me the story of my ancestors who saved the world in what I guess would be, the “Elusive Age” of the game’s title! The story was told by showing some beautiful art engraved on the walls in some sort of sanctuary.</p>
<p>After all of that was done, the guy finally opened the door, which should, lead me right through to Ygddrasil at last.</p>
<p>My theory of course is that something will stop me before I do that, and all of what I’ve gathered, including my party members, will be dispersed somehow by some bigger evil. I may be wrong though, I am probably just affected by one of the games in here…</p>
<h2 id="final-fantasy-vii">Final Fantasy VII</h2>
<p><strong>Last Played: May 2, 2025</strong></p>
<p>We have been on the run from Shinra for quite a while now, and I’m not totally sure of where I’m at story-wise, I may be telling stuff that happened much earlier, but I’ll write away…</p>
<p>I believe last I played, I managed to escape from Rocket Town, it was a place where a giant Rocket—if the town’s name wasn’t clear enough—failed to launch or something. We saw some of the backstory, shared by a guy who was there, it was very traumatic I guess and he is taking care of—or being cared for by—some lady who was also there back then…</p>
<p>Anyway, Shinra showed up—they are the bad guys by the way—and I ended up stealing—or borrowing maybe—a flying airplane! This was super cool because I thought I would finally be able to explore the whole world. But it’s way too early in the story, so of course I was shot by some missiles and my plane lost the ability to fly, landing on the sea. So, now I have a way to travel by sea using a broken airplane!</p>
<p>I believe I headed to some place where all of my powers got stolen by one of the characters in the game. I was super weak and not ready for that at all, so I decided to reload my save and head elsewhere—I think I looked online and that was a sidequest I could save for later either way. Instead I went to some other place where there was this ugly forest, and then a cutscene telling me I would get lost if I didn’t have some item…</p>
<p>So then I went to the place where I can play games and there are bets and casino stuff and I talked to some guy who gave me that item, I think. So I think I should simply go back to the other place and try to walk through that mysterious forest to continue the story.</p>
<h2 id="outer-wilds">Outer Wilds</h2>
<p><strong>Last Played: January 23, 2026</strong></p>
<p><strong>This game is absolutely ruined by spoilers, go ahead and skip this if you want to play it. Please play it first, it’s absolutely worth it after 11 hours of playtime and I’m just a silly person who refuses to continue it with no reason, proceed with caution</strong></p>
<p><em>I’m literally only writing this so the people playing this game can get excited I mention it and then email me to say I’m missing out, basically provoking them to interact with my post and bring more traffic to my website</em></p>
<p>On this game there are a lot of options and paths for me to take, so there’s really no right way for me to proceed as far as I know.</p>
<p>Last I played, I was visiting a twin planet, which fills with sand over time. The most interesting places there are some underground cities that slowly fill up with said sand as time progresses.</p>
<p>I think I was trying to get to some weird fossil that was there, which I could see through a crevice in a wall. Apparently, reaching that fossil will provide me with information, which I will need to progress in a different planet. I expect this information to be useful in multiple places, which is something that has happened before playing this game. My theory is I will be able to go beyond the electrical field that protects the core of the sea planet.</p>
<p>Another interesting path to take would be the weird non-euclidean seed thing that seems to be playing music and go on infinitely. I launched a scout inside that seed and it really did go on forever… I don’t know how to get in there myself, because the entrance is too small for me, but I’m definitely curious and also extremely scared by it.</p>
<p>There’s another dead end that I’m yet to reach, in the planet that is slowly devoured by a black hole. There is this weird mining structure, that I can’t really reach for some reason. I have been trying through multiple angles, and it just stays too far away for me… There seems to be some way to reach it if I step in one of those stones that reverse the gravity, but I can’t find the path just yet. I also want to get inside the Tower of Knowledge or Wisdom or something like that, can’t recall the name.</p>
<p>Don’t give me any clues, by the way.</p>
<h2 id="suikoden-ii">Suikoden II</h2>
<p><strong>Last Played: Around 2020</strong></p>
<p>This game was absolutely awesome, but I think I got lost for a bit longer than I liked.</p>
<p>I believe that I had been in a city for a while, and then one of the main characters or a main character’s friend tried to take the life of the leader of the resistance, or something like that—the resistance to some sort of conqueror who is probably the main villain of the game, I’ve heard he is a very popular antagonist but I don’t know.</p>
<p>Anyway, I <em>think</em> the attempt failed, or maybe it worked and then some other guys showed up to help keep things afloat while I escape or something.</p>
<p>So I went to another city which is near a coast, and I am supposed to take a boat or something, I think, or maybe to talk with some character that will tell me what to do next.</p>
<p>This is the kind of game where you can get a bunch of characters to be part of your party rotation, kind of like Pokémon I guess, so I was also trying to find interesting looking sprites that would probably end up as allies.</p>
<p>In any case, I believe I got annoyed because I couldn’t figure out where to go from where I was, I even recall returning to previous cities in the map trying to find out a way to go.</p>
<p>I am honestly really liking the story of this game, it was very interesting and deep! And the trauma of the main character seemed rather interesting.</p>
<h2 id="xenogears">Xenogears</h2>
<p><strong>Last Played: Around 2021</strong></p>
<p>Oh yeah… now this brings me back…</p>
<p>I don’t think I have mentioned Xenogears very much, but along Suikoden II (and most PS1 games I’ve played), it survived the transfer from my PSP to my current handheld emulator and it’s still there waiting for my return.</p>
<p>Last time I played I think I was escaping from some sort of forest. It was only the opening hours in the game so there’s not a lot to spoil yet. I remember being extremely confused by the rotating camera controls, but eventually going to some last boss fight that blocked my path to the exit of the forest.</p>
<p>I believe the boss fight was against some giant dinosaur or something? It would be quite cringe to be wrong about this, maybe it was just a regular mecha, or a mecha dinosaur! I really can’t remember well.</p>
<p>In any case, we managed to exit the forest and met some new member for the party, I believe, and headed outside.</p>
<p>We ended up in a desert, with some oasis city in the middle full of merchants and stuff, I believe I was even warned by one of my companions to not trust their word or something…</p>
<h2 id="triangle-strategy">Triangle Strategy</h2>
<p><strong>Last Played: March 2, 2025</strong></p>
<p>I have an overarching idea of what was going on, but this game is so full of twists and turns and dialogue, I actually don’t remember what was going on last time I played!</p>
<p>I remember there were these factions fighting for resources, I remember I took certain decisions too. I saved the Prince of my kingdom and I refused to surrender him to the enemies.</p>
<p>I believe I even went through a battle where a lot of my people—I am a Lord or something in charge of them—ended up losing their houses to enemy fire and the like.</p>
<p>From there, the Prince who is also my best friend decided to escape, maybe to surrender himself or something. Now maybe this was not actually what happened and it was only one of the many choices available that I am yet to take. It’s weird how I really have no idea.</p>
<p>Seriously there are so many narratives going on at once I don’t recall a single one, but I will still continue where I left off if I ever pick it back up.</p>
<h2 id="parasite-eve">Parasite Eve</h2>
<p><strong>Last Played: Around 2024</strong></p>
<p>I had to end with a banger right? Even though last time I touched this game was in 2024, that really is only because I took my time to transfer the PSP save to my Anbernic handheld yet again. I opened the game and I was surprised to see it still working!</p>
<p>You see, I was playing a Spanish translation ages ago, and I wanted to switch to English, and to use the <a href="https://www.romhacking.net/hacks/1950/">Chicago Font</a> romhack just because. I was surprised to see my save worked perfectly fine despite the language and romhack change, it was cool to have no problems caused by that.</p>
<p>Story-wise, I was visiting the hospital and learning more about mythochondria, I was just about done with the part where I realize that I received a kidney transplant from a japanese girl or something. There’s also this weird ghost of a different little girl, who is guiding me through the hospital to the roof top. Of course there’s enemies everywhere and they have this annoying bouncy projectile that keeps hitting me.</p>
<p>It turns out that Eve, the antagonist of the game is up at the roof, and she is now a giant naked lady with spider legs. I believe my weapon set needed a lot of upgrades though, so I was unable to beat her.</p>
<p>I know what happens after that because I got spoiled by some playthrough on YouTube a while back, but I still want to see what happens with my own eyes!</p>
<h2 id="finishing-up">Finishing up</h2>
<p>If you read through all of that without playing any of the games mentioned, I gotta give kudos to you, I really feel like I sound like some weirdo telling stories by the campfire of lives I never lived or something.</p>
<p>In any case, those are games with a story and with stuff going on that I remember somewhat. There are plenty of other games that I haven’t completed either but don’t really have a plot, such as <em>Lumines</em> or <em>Ridge Racer</em> , so I obviously skipped those.</p>
<p>Now, in case the opposite case is true, and you have played through a few or many of the games on this post, what are your thoughts? Does my memory fail, or was yours reawakened? Let me know which one should I continue or maybe start over, one of these days, or months…</p>
<p>This is day 10 of <a href="https://100DaysToOffload.com">#100DaysToOffload</a> and day 5 of <a href="https://nerdgirlthoughts.game.blog/2026/07/15/blaugust-2026-is-coming/">#Blaugust2026</a></p>
<p>
<a href="mailto:me@joelchrono.xyz?subject=Picking up where I left off">Reply to this post via email</a> |
<a href="https://fosstodon.org/@joel/117044429129179293">Reply on Fediverse</a>
</p>Note published on August 5, 2026 at 4:54 PM UTC - Molly White's activity feed6a736aaddf53bab218d35d112026-08-05T16:54:05.000Z<article><div class="entry h-entry hentry"><header></header><div class="content e-content"><p>It's a year and a half after I <a href="https://www.mollywhite.net/micro/entry/202501092000">highlighted the issue</a>, but nice to see...</p><div class="related-post"><div class="article h-cite hcite"><div class="title"><a class="u-url u-repost-of u-in-reply-to" href="https://arstechnica.com/tech-policy/2026/08/senators-demand-crackdown-on-wildfire-prediction-markets/" rel="bookmark">“<span class="p-name">Senators demand crackdown on wildfire "prediction market" bets</span>”</a>. </div><div class="byline"><span class="p-author h-card">Ars Contributors</span> in <i class="p-publication">Ars Technica</i>. <span class="read-date"></span></div><blockquote class="summary p-summary entry-summary">Fire experts warn such markets could incentivize arson.</blockquote></div></div><img src="https://www.mollywhite.net/assets/images/placeholder_social.png" alt="Illustration of Molly White sitting and typing on a laptop, on a purple background with 'Molly White' in white serif." style="display: none;"/></div><footer class="footer"><div class="flex-row post-meta"><div class="timestamp-block"><div class="timestamp">Posted: <a class="u-url" href="https://www.mollywhite.net/micro/entry/202608051253"><time class="dt-published" datetime="2026-08-05T16:54:05+00:00" title="August 5, 2026 at 4:54 PM UTC">August 5, 2026 at 4:54 PM UTC</time>. </a></div></div><div class="social-links"> <span> Also posted to: </span><a class="social-link u-syndication mastodon" href="https://hachyderm.io/@molly0xfff/117043934736406093" title="Mastodon" rel="syndication">Mastodon, </a><a class="social-link u-syndication bluesky" href="https://bsky.app/profile/molly.wiki/post/3msdydmny7k2p" title="Bluesky" rel="syndication">Bluesky</a></div></div><div class="bottomRow"><div class="tags">Tagged: <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/polymarket" title="See all micro posts tagged "Polymarket"" rel="category tag">Polymarket</a>, <a class="tag p-category" href="https://www.mollywhite.net/micro/tag/prediction_markets" title="See all micro posts tagged "prediction markets"" rel="category tag">prediction markets</a>. </div></div></footer></div></article>Gadget Review: T2 Max plug-in Thermal Camera ★★★⯪☆ - Terence Eden’s Bloghttps://shkspr.mobi/blog/?p=734402026-08-05T11:34:17.000Z<p>The good folks at Thermal Master have sent me another Thermal Camera to review. The last one was <a href="https://shkspr.mobi/blog/2026/07/gadget-review-thermal-master-dv2-infrared-birdwatching-scope/">a big beastie with a huge touchscreen</a>. This one is <em>much</em> smaller and is designed to plug into your phone's USB-C port.</p>
<p>The <a href="https://thermalmaster.com/en-gb/products/thermal-master-t2-max-for-birdwatching-wildlife-observation">T2 Max</a> is a chunky little camera - but doesn't weight too much. The USB-C connector is long enough to securely plug in even if your phone is wearing a case.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/T2-Max-size.webp" alt="T2 Max a few cm cubed, but with a large lens." width="1024" height="768" class="aligncenter size-full wp-image-73579">
<p>Thermal Master boasts that this is the "world's smallest thermal monocular" - and it is easy to believe. The lens is comparatively huge, but the total package size is tiny.</p>
<p>In the box you get the camera module with rubber lens cover, a short extension lead, a Lightning adapter, and a handy carry case which is well-padded and has a carabiner clip.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/T2-Max-Unboxing.webp" alt="T2 Max Unboxing." width="1024" height="933" class="aligncenter size-full wp-image-73578">
<p>The focus is manually adjustable. Gently twist the lens until you can clearly see what it is pointed at.</p>
<p>Wanna see some photos?</p>
<h2 id="photos"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#photos">Photos</a></h2>
<p>These are the original photos, untouched. Annoyingly, the images are rotated 90°, so I've fixed that. I've also removed the geolocation.</p>
<p>Photos are 1008x1344 pixels. Of course, that's massively upscaled - still, the level of detail is impressive.</p>
<p>Here's a cat I spotted.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_220237_521-rotated.jpg" alt="Slightly blurry photo of a cat." width="1344" height="1008" class="aligncenter size-full wp-image-73544"></p>
<p>Turning on the X3 enhanced mode, and you can see the amount of extra detail it extracts.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_220241_345-rotated.jpg" alt="A clearer photo of a cat." width="1344" height="1008" class="aligncenter size-full wp-image-73545">
<p>There's a variety of thermal modes. Particularly effective is this one which highlights heat in green and lets the rest of the image fade away. Very good for birdwatching.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_214949_061-rotated.jpg" alt="Thermal photo of a cat - its hot bits are in green." width="1344" height="1008" class="size-full wp-image-73546">
<p>The zoom is relatively impressive, and the picture-in-picture mode allows you to see an optical image as well as thermal. Here's the moon.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Xinf_X15_260726_215826_166-rotated.jpg" alt="Moon against a blank background." width="1344" height="1008" class="aligncenter size-full wp-image-73547">
<h2 id="videos"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#videos">Videos</a></h2>
<p>Video is about 25MB per minute with a resolution of 672x504. Here's a re-encoded video showing off the various thermal modes, focuses, etc.</p>
<p><video controls="" src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/fox1.webm"></video></p>
<p>Your device's microphone can be used to record an audio track. That's useful for giving commentary on what you're seeing. I've stripped it out because you don't need to hear me chatting to the cat.</p>
<p><video controls="" width="672" height="504" src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Thermal-Cat.mp4"></video></p>
<p>The camera can pick up a remarkable amount of detail - although the zoom is digital rather than optical.</p>
<p><video controls="" width="672" height="504" src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/fox2.webm"></video></p>
<p>Framerate starts off well but, as you can see, degrades a bit. I suspect that's the app's fault. It's a real shame because the phone screen seems to display a silky-smooth frame rate.</p>
<h2 id="android-app"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#android-app">Android App</a></h2>
<p>Once you've installed the Thermal Master app, you can set it to open as soon as the camera is plugged in.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Always-open.webp" alt="Option to always open the app whenever the camera is plugged in." width="408" height="179" class="aligncenter size-full wp-image-73583">
<p>The app takes a bit of getting used to. There's no direct on-screen "take photo" button, you have to open it up from a menu, which is a little annoying.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Thermal-Master-UI.webp" alt="A confusing UI with lots of options." width="2093" height="1008" class="aligncenter size-full wp-image-73584">
<p>There are a decent amount of options to fiddle about with. Because USB-C is bidirectional, the camera can either face you or away from you. If you swap orientation you'll need to adjust the settings.</p>
<p>It also has a "Picture in Picture" mode which overlays the thermal image with what your device's regular camera is seeing. That's handy in daytime, but a bit pointless at night.</p>
<p>Sadly, the app is a bit crap. It crashed several times while I was using it.</p>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/08/Not-responding.webp" alt="Error dialogue showing not responding." width="504" height="339" class="aligncenter size-full wp-image-73586">
<p>The interface isn't brilliant and you'll find yourself taking several taps to do anything basic.</p>
<h2 id="ios-support"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#ios-support">iOS Support</a></h2>
<p>No idea. It should work with newer USB-C iPhones. It also comes with an adapter for older Lightning port devices.</p>
<h2 id="linux-support"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#linux-support">Linux Support</a></h2>
<p>Nope. I tried using the extension cable and plugging it directly into my computer's USB-C ports. I got this series of errors from <code>dmesg</code>:</p>
<pre><code class="language-_">device descriptor read/64, error -32
attempt power cycle
new full-speed USB device number 17 using xhci_hcd
Device not responding to setup address.
device not accepting address 17, error -71
WARN: invalid context state for evaluate context command.
unable to enumerate USB device
</code></pre>
<p>I rotated the cable, and it showed up as <code>3474:41b2 Thermal Master Technology Co., Ltd. T2 Max</code>. I suspect that it doesn't have the internal resistors needed to signal that it is a USB 2 device - and the included extension cable is wired to only provide them on one orientation. Even after all that, I couldn't get it working in any standard Linux tools.</p>
<p>To be fair, it isn't marketed as being suitable for computer use. It explicitly says iPhone and Android only. Ah well!</p>
<h2 id="price"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#price">Price</a></h2>
<p>Thermal Cameras are expensive - even more so when they're miniaturised like this. So, brace yourself, <a href="https://link.amazon/B06ehBMMu">it is on sale for £320</a>!</p>
<p>Readers can use the code <code>THERMBIRD10</code> for 10% off at <a href="https://bit.ly/4gbVrzO">Thermal Master website</a>, or <a href="https://link.amazon/B06ehBMMu">Amazon UK</a>, or <a href="https://www.amazon.com/dp/B0G7FR32PY">Amazon.com</a>.</p>
<h2 id="final-thoughts"><a href="https://shkspr.mobi/blog/2026/08/gadget-review-t2-max-plug-in-thermal-camera/#final-thoughts">Final Thoughts</a></h2>
<p>If you spend a lot of time looking for wildlife, The T2 Max is a decent bit of kit. It is small, lightweight, and easy to integrate with your phone.</p>
<p>The app is a real let down. It isn't exactly the zenith of interaction design - but you'll find your way round it easily enough. The real problem is the frequent crashes an the lapses in frame-rate while recording video.</p>
<p>Because of the design of the lens, it isn't great for domestic tasks like spotting leaks & hotspots. For that you'll want <a href="https://shkspr.mobi/blog/2026/08/gadget-review-hikmicro-d02-thermal-camera/">something like the Hikmicro unit I reviewed last week</a>.</p>
<p>Being able to shove it into your phone means that it can easily integrate into your workflow. You can edit, crop, and post images just as you normally do. For such a small device, you get a <em>lot</em> of image - and the on-board processing is excellent.</p>
<p>Sadly, the zoom is digital, rather than optical. All you're doing is blowing up pixels rather than getting closer to the subject.</p>
<p>The image quality is exquisite but the Android app is a real let down. If you're prepared to put up with a baffling interface and occasional crashes, you'll get some fine photos and videos out of it.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=73440&HTTP_REFERER=Atom" alt width="1" height="1" loading="eager">Winter is here - The Weblog of fLaMEdhttps://flamedfury.com/posts/winter-is-here/2026-08-05T11:32:36.000Z<p>What’s going on, Internet? Winter is here, properly here, and July was mostly about staying warm and keeping the kids entertained through the school holidays.</p>
<p>From the last update we got back from Waiheke in the middle of the kids school holidays. The next holiday outing was <a href="https://flamedfury.com/posts/dinosaur-discovery-returns/">Dinosaur Discovery at Auckland Zoo</a>, back again this year with a batch of new dinosaurs on the loose. We did the track after dark, all the dinosaurs lit up against the night sky. The kids loved it.</p>
<p>I had the kids out with me one Saturday morning where we headed to Ellerslie to check out the Auckland Lego Users Group Lego show. The kids enjoyed walking around and checking out the displays. They then had a blast for forty minutes in the build your own room. My eldest now wants to show off his Lego at the next show, we’ll see. We then headed to Newmarket for a Gin Wigmore signing of her new album, Beautiful Mess.</p>
<p>I’ve had <a href="https://flamedfury.com/posts/blaow-blaow-lets-get-rowdy/">Rowdy (BLAOW!) stuck in my head</a> thanks to Les Mills SPRINT. This is now one of the kids favourite tunes so is constantly on repeat during school drop offs.</p>
<p>I wrote a <a href="https://flamedfury.com/posts/re-we-need-a-physical-digital-music-experience/">reply to Olly’s physical-digital music idea</a>, buying digital music through your local record store. The book world already has this figured out.</p>
<p>My episode of <a href="https://web-weaving.jamesg.blog/11" rel="noopener">Wonders of Web Weaving</a> is out. Episode 11, me and James chatting about the web, me waxing nostalgia. Go give it a listen.</p>
<p>Reading-wise I finished <a href="https://flamedfury.com/bookshelf/yesteryear/">Yesteryear</a> by Caro Claire Burke, and just as the month ticked over I wrapped up <a href="https://flamedfury.com/bookshelf/whatever-you-say-i-am/">Whatever You Say I Am</a>, Anthony Bozza’s Eminem book, and went straight into his follow-up, <a href="https://flamedfury.com/bookshelf/not-afraid/">Not Afraid: The Evolution of Eminem</a>. I’ve also got <a href="https://flamedfury.com/bookshelf/empire-of-ai/">Empire of AI</a> by Karen Hao on the go.</p>
<p>Five new arrivals on the record shelf. PRINS’s <a href="https://flamedfury.com/recordshelf/records/heaven-or-hell-clear-glitter/">Heaven or Hell</a> on clear glitter, Olivia Rodrigo’s <a href="https://flamedfury.com/recordshelf/records/drop-dead-chewing-gum-pink/">Drop Dead</a> single on chewing gum pink because apparently the Olivia situation from last update is ongoing, lol. Hilary Duff’s <a href="https://flamedfury.com/recordshelf/records/luck-or-something-pink/">Luck … Or Something</a>, the <a href="https://flamedfury.com/recordshelf/records/kpop-demon-hunters-soundtrack-from-the-netflix-film-sodalite-splatter/">KPop Demon Hunters soundtrack</a> on sodalite splatter, and Gin Wigmore’s <a href="https://flamedfury.com/recordshelf/records/beautiful-mess-bleeding-heart/">Beautiful Mess</a> on the Bleeding Heart pressing.</p>
<div class="grid" style="--grid-min-item-size: 12rem;">
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/heaven-or-hell-clear-glitter/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/heaven-or-hell-clear-glitter.webp" alt="PRINS - Heaven or Hell album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/drop-dead-chewing-gum-pink/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/drop-dead-chewing-gum-pink.webp" alt="Olivia Rodrigo - Drop Dead album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/luck-or-something-pink/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/luck-or-something-pink.webp" alt="Hilary Duff - Luck ... Or Something album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/kpop-demon-hunters-soundtrack-from-the-netflix-film-sodalite-splatter/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/kpop-demon-hunters-soundtrack-from-the-netflix-film-sodalite-splatter.webp" alt="Various - KPop Demon Hunters soundtrack album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
<article class="record-card hypercard-effect">
<a href="https://flamedfury.com/recordshelf/records/beautiful-mess-bleeding-heart/" class="record-card__link">
<img src="https://covers.shelf.flamedfury.com/records/beautiful-mess-bleeding-heart.webp" alt="Gin Wigmore - Beautiful Mess album cover" class="record-card__image" loading="lazy" width="400" height="400" />
</a>
</article>
</div>
<p>Watching a lot of shows. I finished off <a href="https://trakt.tv/shows/outer-banks" rel="noopener">Outer Banks</a> season four not long after the last update went out. I knocked out all six episodes of <a href="https://trakt.tv/shows/head-girl" rel="noopener">Head Girl</a>, a local drama, it gets pretty dark. Started <a href="https://trakt.tv/shows/lucky-2026" rel="noopener">Lucky</a> and watching as they drop. <a href="https://trakt.tv/shows/maximum-pleasure-guaranteed" rel="noopener">Maximum Pleasure Guaranteed</a> was another that I picked up and almost finished. Plus the weekly episodes of <a href="https://trakt.tv/shows/house-of-the-dragon" rel="noopener">House of the Dragon</a> season three, <a href="https://trakt.tv/shows/x-men-97" rel="noopener">X-Men '97</a> season two, and <a href="https://trakt.tv/shows/power-book-iii-raising-kanan" rel="noopener">Power Book III: Raising Kanan</a> season five. Kanan’s character is definitely onto his path of darkness where we saw him in the original Ghost series.</p>
<p>Lots of movies too, three of them at the theatre. <a href="https://trakt.tv/movies/toy-story-5-2026" rel="noopener">Toy Story 5</a> with my eldest. I’m so glad I managed to convince him to watch this rather than the Minions movie again. I don’t think I could handle that. <a href="https://trakt.tv/movies/the-odyssey-2026" rel="noopener">The Odyssey</a>, enjoyed, and it didn’t feel like I sat there for three hours. And <a href="https://trakt.tv/movies/spider-man-brand-new-day-2026" rel="noopener">Spider-Man: Brand New Day</a>, what a movie, damn. Loved it, it was so good.</p>
<p>At home, <a href="https://trakt.tv/movies/bugonia-2025" rel="noopener">Bugonia</a> which was a weird one. <a href="https://trakt.tv/movies/finding-emily-2026" rel="noopener">Finding Emily</a>, which I loved. <a href="https://trakt.tv/movies/i-love-boosters-2026" rel="noopener">I Love Boosters</a>, I don’t think I was in the right frame of mind for this one. <a href="https://trakt.tv/movies/scary-movie-2026" rel="noopener">Scary Movie</a>, worst movie of the year? <a href="https://trakt.tv/movies/the-mandalorian-and-grogu-2026" rel="noopener">The Mandalorian and Grogu</a>, I don’t care what people say, I love a Star Wars movie. The kids and I also watched <a href="https://trakt.tv/movies/zootopia-2016" rel="noopener">Zootopia</a> while over on Waiheke.</p>
<p>The bookmarks kept stacking up. I dumped <a href="https://flamedfury.com/posts/open-tabs-july-2026/">my open tabs from July</a>, and there’s plenty more on the <a href="https://flamedfury.com/bookmarks/">bookmarks page</a>.</p>
<p>Website wise it was quiet on the surface while the redesign work continues in the background. I joined <a href="https://pausedweb.binarydigit.net/" rel="noopener">The Paused Web(ring)</a>.</p>
<p>Hey, thanks for reading this post in your feed reader! Want to chat? <a href="mailto:hello@flamedfury.com?subject=RE: Winter is here">Reply by email</a> or add me on <a href="xmpp:flamed@omg.lol">XMPP</a>, or send a <a href="https://flamedfury.com/posts/winter-is-here/#webmention">webmention</a>. Check out the <a href="https://flamedfury.com/posts/">posts archive</a> on the website.</p>