I have to say. Iām really very disappointed in Microsoft. Not only did they buy out Minecraft the game, but they basically ruined it for every privacy conscious family, parents and their kids, who can no longer play the game without giving away personal identifiable information (PII) on my children that Microsoft have zero rights to. š¤¦āāļø ā Honestly⦠Fuck you Microsoft.
@movq@www.uninformativ.de https://movq.de/blog/postings/2026-08-05/0/POSTING-en.html Very interesting! I basically never analyze binary files, but this were some great thoughts on that subject. I hope to remember them when I find myself in the situation to look at binaries more closely.
And just like that Problem 10 is done and correct whoohoo š„³ It was easy because in Problem 7 Iād already written an iterator to produce infinite primes. So the solution for finding the sum of primes under 2,000,000 is basically (shortened):
primes := iter.take_while(iter.filter(prime_candidates(), is_prime), fn(p) { p < n })
print(iter.sum(primes))
And of course the answer is: 142913828922 which took ~21.ss for the Go Vm to compuete.
Iām not seeing any of what youāre describing, But then again I only use the app on mobile, on iPhone. Thereās only been basically a few commits to the App and one to Swag. Thatās it.
@david@daiwei.me Also if you wouldnāt mind writing up an Issue for the image/upload problem too, that would be great š I still havenāt solved it properly, but Iāll try to do so today. Thereās also an issue uploading images via the yarnd API path from the Twtxt App too, which I can replicate with basically any photo from my iPhoneās Photo gallery hmm š¤
I really do find it difficult to follow anyone that basically posts to a wall, or doesnāt follow back. Itās utterly pointless not being able to have a conversation, like basically, at all. Maybe itās not even anyoneās fault? Maybe just a sucky client that doesnāt understand how User-Agent works in Twtxt Discovery? š”
@itsericwoodward@itsericwoodward.com And⦠Are there basically a lot of āvillage idiotsā? š¤
Iām still on a deckbuilding kick, so I was thrilled that we managed to get 3 games of Magic in last night.
In game 1, my Marvel Villains deck couldnāt stand up to Doctor Whoās Missy and her army of Cybermen (and Daleks). Since someone else was playing a dark lord Sauron deck, I guess that means sheās even more āvillainousā that anything Marvel or Tolkien could offer.
For game 2, I ran my Guardians of the Multiverse deck (formerly known as The B-Vengers or Marvel Heroes 2: Electric Bugaloo). It was working well, and I had quite an army going, but I was still one turn from a win when an opponentās tribal elf deck went off, killing everyone with 19 19/19 forest-walking elves. ĀÆ_(ć)_/ĀÆ
Then in game 3, I ran my Avengers deck, and finally got the win thanks to a Heroesā Podium, a pair of Hawkeyes, and a flying, shield-wielding Captain America. Assemble, indeed.
Last night will likely be my final Marvel-only game night for a while. I still need to test the decks out some more, but theyāre basically complete (I donāt currently plan on adding any more cards to them). Plus, while Iām on this kick, Iād like to finally finish my Sauron deck, and Iāve got some cards on order for both a Dune-themed deck and a couple of decks inspired by the old-school Beatdown Box.
Okay Iām fixing this in lextwt, yarnd and twtxt.app (takes a different path). Soon youāll be able to write shit⢠like (<this>) and itāll get escaped and rendered correctly on the page. Basically you are really writing HTML here, but not intending to do so, Twtxt never supported HTML, and I donāt think it ever should. We extended the format to support basic Markdown, and I think thatās where it should end.
Probably time we wrote a Spec for this really.
Dunno if anyone will find this interesting⦠But some ~6 months or so ago I experimented briefly with creating a whole bootloader + kernel + userland ā Basically an entire OS in the Mu programming language (which as you know I also designed and created) ā 6 months later Iāve worked on it some more after spending the last week working on improvements to Mu itself, which is now able to compile itself with its own Mu implemented compiler and now have an os/arch backend called muos/amd64 that boots into a running shell, with a tiny little vfs, UNIX-like semantics, syscalls, read/write, etc. It works pretty nicely, and aside from a small Assembly ānucleusā, most of the Kernel and Userspace is written in Mu.
@david@daiwei.me Have you never seen or heard me say AI is basically Artificial Incompetence? š¤£
jenny stuff aside, I received zero bug reports or code contributions since leaving GitHub in 2018.
And @lyse@lyse.isobeef.org is right. Not being on Github is a good thing IMO. Even when I was there with all my many projects, I basically got the same amount of āattentionā as I do now. The only real way to gain more āattentionā is to artificially play the āgameā. You know. The stupid āStargazerā one, and whatever you can to get into the āTop 10 Xā charts. ā But ultimately that doesnāt buy you āqualityā contributors or users or whatever. So itās all pointless.
š£ ACTION REQUIRED: Hey folks š For those of you whom are using the Twtxt App either via the Hosted option or on your own twtd instnace or via Github/Gitea or any other publishing backend (doesnāt amtter). Please read.
Please open the app and you should be prompted to save your recovery code for your device. This basically is all of your settings, follows, etc in the app itself. This is synced to the Origin everytime you make a change, and also stored on-device. This is what makes it possible to sync your setting across services, move to another device, etc.
Please save a copy of the recovery code somewhere. This is only your only way to recover your settings.
Thank you š
Posting the review and plan here for posterity as it is related to this thread: https://canvas.mills.io/a/6QVGjzRW
The PR(s) as-is will likely not go ahead Iām afraid. More work to be done, but this is basically all about the āRecoveryā story and how to anchor and notion of an āaccountā without well umm an account š¤£
@prologic@twtxt.net twet 1.3.0 built from v1.3.0-21-gff43ee0 at 2025-08-25T23:27:41Z, from https://github.com/quite/twet. Unmaintained since 2020. To be honest, I was considering writing a basic client of my ownā¦
Unread messages are yellow, while read messages are white in tt. Focusing them just alternates the fore- and background colors. With the old color scheme, I disliked that inline code and code blocks were basically just the opposite of normal text. Hence, unread code was white and read code yellow. I found this often confusing, especially with larger code blocks. Sure, there are the timestamp and author columns that still show the usual white (read) and yellow (unread) background for selected messages, but still.
This is how it was before with unread messages:

Before with read messages:

So, I just reworked the code styles. Not sure if I like that or if it is actually an improvement. Unread code is teal on gray when not in focus and becomes blue on orange when focused. I thought the dark gray code background on a black regular background is still nice and subtle. The same similarity in colors for focused messages meant to go with an orange code background on a yellow regular background. The teal was too light, so went with a blue foreground color:

When read and unfocused, the new color scheme calls for the same code style teal on dark gray. However, with white as the main background for selected messages, I went with a light gray code background and a blue code foreground. Again, the contrast with white and teal wasnāt good enough. Vice versa, blue on dark gray is also not all that readable:

It looks like a parrot. Letās see if I begin to like it.
I just read @kat@yarn.girlonthemoon.xyzās blog post over here:
https://bubblegum.girlonthemoon.xyz/articles/learning-to-code-like-it-s-the-90s
Jesus, it must be so overwhelming for young people to get started with programming.
When I started programming, there was the built-in ROM BASIC of that PC and probably a bit of BASIC on a floppy, and that was it. Nowadays? Millions of libraries and frameworks and languages and what not ā and, much worse, thereās the expectation that you need to make something fancy. When I started, printing something and understanding IF was good enough.
Whatās your motivation for running this, btw? š¤
Basically, two things a) feeling generous for folks that either canāt afford or find it hard to have a little place to call home (webpage, feed, whatever) and b) a real opportunity to test some of the components that make it possible sshbox, which I know works well as it fronts my Gitea instanceās Git+SSH service and box, a container runtime I wrote a while ago, recently improved, hardened and polished.
As I said, Iām on vacation, and for about a week now, I did basically nothing but sleep. Day or night.
I canāt tell if this actually is a vacation or just therapy for burnout. š¤
Trying to add basic todo.txt for tracking projects in similar manner to twtxt updates. See https://txt.livingcartoon.org/pages/todo.html for rendered version
@prologic@twtxt.net As have I. š¤ I mean, since I left GitHub, I got basically 0 pull requests anyway.
Even during my time using GitHub, I noticed that ādrive-by PRsā are rarely a good idea. People donāt really know/understand the code or the design principles/goals, so I often turned down PRs. Or I accepted them and was grumpy afterwards. š
What does work is having a team of maintainers/devs. The only question is: How do you build such a team if you donāt accept PRs? Thatās going to be the interesting part.
@movq@www.uninformativ.de Hahaha, a ride indeed. Exactly, this affected each and every Atom feed and only Atom feeds. All RSS feeds worked like nothing ever happened. This std::string to time_t to std::string to time_t dance only happens for Atom feeds. RSS feeds, on the other hand, go right from std::string to time_t and be done. Thatās precisely what the second option is aiming to propose for Atom feeds, too.
I will clarify that tomorrow in the article.
Itās very interesting what kind of quirks accumulate in software over the years. Especially quirks, the basically noone knows of anymore. Until something explodes and gets rediscovered. Luckily, that doesnāt happen all that often.
And every time I ask it to do the same thing, it produces basically the same result. It will sometimes not produce a go.mod, but thatās probably because doing so isnāt as statically high as writing the code to sum numbers from stdin.
So going back to the understanding of how it generated this, is quite simply the most statistically relevant search space of itās weights it has been trianed on and it has basically just produced a series of tokens, one after another that are relevant to the input, the next token and so on. Itās a trivial example I know, but it basically pattern matches itās way through itās vast search space just producing outputs based on context.
Most of the time, I take a very very long time to do anything. If I say, for example, āIāll build an IRC Web Clientā, that may not happen for weeks, if not months, until my sub conscience has has time to process everything. Itās like basically a āfeelingā of internal readiness. I never talk through it, never actively think about it, it just happens.
You can basically think of this as pattern-matching. Iām very very good at very fast pattern matching and piecing pices of a puzzle together very quickly, sometimes with very little to go on, itās often gotten me into a lot of trouble at work in my career because I can make a lot of assumptions very very quickly.
@bender@twtxt.net Now thatās an interesting philosophical viewpoint right there. But this assumes that the āAIā we seemingly have available to us today is actually telligent, understands and has cognitive reasoning. It does not. All of these LLM models from big-tech companies like Anthropic, OpenAI, Google, Microsoft, Meta and Alibaba are all just very powerful, very large multidimensional neural networks with attention that are very good at statistical probabilities of āwhat comes nextā. I think we get really upset over the wrong things sometimes. We need to continue to be upset that these 𤬠companies have basically destroyed any meaningful value of the concept of Copyright and Intellectual Property and Works of art. The so-called āAIā we have today is just a tool. Can you say for certain that the typewriter and the computer ruined our ability to write? Perhaps yes, but we still learn how to do so, likewise, I still think that learning to write code, research, read and write are all valuable skills to learn. Later on once you have the basics, you can defer some of the ātediousā work to these models, because frankly, theyāre far better at inferencing and pattern matching than you or i will ever be, not because theyāre better at pattern-matching per se, but because they have been trained on a very large corpus and they are much much faster at doing the same basic things we are far superior at.
Is it the fact that ābig techā companies have basically stolen all of human knowledge to their benefit to build these AI(s) thatās the problem? Or is it that these AI(s) can write code better than you can (some of the time)? Or is it that because of all of the above, thereās no joy left in writing code anymore? š¤
Of course, @movq@www.uninformativ.de! Most of my points are also included in your list.
First of all, programming is what I really do enjoy the most. So, it doesnāt make any sense at all to not do this anymore. āBut you could use your now free time to do something much cooler and more valuable!ā, others might reply. Fuck no, I donāt want to waste my time with other shit that doesnāt fulfill me, why on earth would I want to do that?
All this hallucination reduces quality badly. In my experience, itās also happening much more rapidly than I expected. Even though developers are still supposed to own and understand whatever has been generated under their name and even be responsible for that, the sad reality is that teammates often blindly trust the AI output. āBut I asked the AI and it told me that $this was impossibleā, āIāve no idea either, but the AI just generated itā are responses I get more often. What really makes my angry is when I point out a flaw and suggest an alternative and this is the reaction. It happened several times that just trying it out and seeing it clearly work to proof my point only took me half a minute, but people still did something handwavy else instead.
The learning effect is drastically reduced. The more time I spend on a topic, the better the odds that whatever I learned actually makes it over into long-term memory. Itās like if a collegue just says ādo it like thatā or āthis solves your problemā, but neither explains the why or how. Somehow, people are still convinced that itās a completely different story when you replace the human counterpart with a computer program in this equation.
Skills are unlearned. Itās like with automation in general, just much worse. You end up in a state where youāve no clue how anything works under the hood or how to actually find out important information that are needed to solve your problem. Youāre screwed when a process breaks out of the blue. Even though it can become also rather terrible, with classical automation youāre typically still be able to decipher how exactly the thing was supposed to do something.
The energy consumption is sooo high, I absolutely do not want to be a part in burning down our planet. Iām sure I find (and probably have long found without knowing) other ways to contribute to worsen our climate crisis.
The scraper part is already covered in detail in your list. :-)
Iām convinced that license and copyright violations are only played down or even refused entirely because companies want to make big money quickly. With the work of others of course. Their double standards are obvious, they still try to actively keep their own stuff secret and out of any training sets. At most for internal use only. Virtually noone in charge is interested in good long-term solutions. Short-term for the win, when disaster eventually strikes, the causers are long gone, the responsibilities in other hands.
Vendor lock-in is something that lots of folks are only realizing very slowly. Itās completely crazy to me. This drug dealer routine should be well-known by now. Itās fucking everywhere. Yet, people are always surprised when they found themselves caught in it.
Adding new AI stuff only increases complexity. But complexity is the enemy that everybody should fear and reduce as much as possible. Of course, this is not limited to AI at all. And everywhere I look around, people in charge looooove to make things way more complicated than they ever need to be. Yet, simplicity is the real art and much harder to achieve.
I donāt understand why we have to go back full force to the ambiguity of natural languages. This alone should be more than enough to realize what a stupid idea all that is. Linked to that is that the āinstruction setā is interpreted differently with newer model versions. I mean, is has to be. Why else would somebody want to upgrade in the first place than to get more Powerful⢠Featuresā¢?
Some people argue that with AI the democratization is empowered. However, in my view, the exact opposite is the case. Models are getting so large that you can basically not run them locally or even train them. So, you have to rely on whatever the vendor offers you and runs for you. In the end, this only gives the owners more power, the multi billionaires. Not exactly what I understand by democratization.
Finally, technology assessments are missing completely. Or they are faked such that mostly only the (questionable) benefits are listed. But all the negative impact is just ignored.
Letās keep some popcorn around for when this all explodes. :-)
And we have a search function now. This should cover most of the basic features, I think.
All sorts of .de domains donāt resolve right now. But not all, movq.de for example still works. All on our server and basically all major other sites are cactus. Maybe some DENIC problem? Iām too tired to investigate, but Iām looking forward to tomorrow to read some report on that. :-) Good night.
The auDA, and some 3rd-party identify service and my Registrar are a joke!
WOW! I just had to share this little story I ran into today.
I tried to register a .AU Domain the other day, only for it to instantly fail.
I emailed support, which took several days to respond, only for them to respond by saying (paraphased):
Weāre sorry, but the identify checks failed. The 3rd-aprty service doesnāt tell us why, But, please make sure that the ID you used matches the Full Name, including any Middle name(s).
I used my Passport number. Which of course has my First, Middle and Last Name.
I can only assume at this point that the checks failed on the missing āMiddle nameā. Why? Because the Registrar I use has a database and user interface for ācontactsā that only have support for First name and Last name. NO Middle Name.
š¤¦āāļø This is basically stupid at this point. Systems cannot be trusted at the most fundamental level, no matter how good they are.
Until we figure out how to build a system that allows an individual to prove to another entity that they are who they say they are without a shred of doubt (i.e: cryptographically), weāre stuffed.
There is literally nothing I can do in this case. The auDA are at fault. The 3rd-party identify service (unknown) are at fault. The registrar are at fault. Hell, even the Passport office are at fault for even bothering to or requiring a Middle name.
How has āidentityā come to this?
This whole thing was pretty weird, btw. I had no idea it was happening until basically yesterday. No news coverage, nobody mentioned it. š¤ And suddenly, boom, weāre going to the moon. What? š
@lyse@lyse.isobeef.org Oops, I guess the new text is a bit obscure. If you follow the link, the text is a bit more explicit, but you still need to know what a lexical scope is. Anyway, this is part of Perl moving very carefully toward being UTF-8 by default while also not breaking code written in the 90s. If you name a recent version like āuse v5.42;ā then Perl stops letting you use non-ASCII characters unless you also say āuse utf8;ā. The ālexicallyā part basically means that strictness continues until the next ā}ā, or the end of the program. That lets you fix up old code one block at a time, if you arenāt ready to apply the new strictness to a whole file at once.
@itsericwoordward@itsericwoodward.com Nice. I just wanted to let you know that the black text color on nearly black button background color in the twtHash tab is basically unreadable. Iāve no idea why the dark theme is preferred over the light one in my browser anyway. :-D
2nd Van trip coming up this weekend, taking Friday off work. Gonna sleep in the Van tonight and see if I can fiddle with the town water supply (basically our outside tap near the Van haha š) and see if I can have a shower in the Van, brush my teeth and go to bed š ā Basically I just want to figure out the rest of the plumbing šŖ
This year for some reason or another, I decided to purchase an Ocarina, Iāve been practising a fair bit every now and again, basically during work breaks and sometimes in the afternoon / evenings (not enough to annoy the family š¤£) Anyhoo, that was 3 months ago, since then Iāve built up a bit of a Repertoire:
- Silent Night
- My Bonnie Lies Over the Ocean
- Amazing Grace
- O Holy Night
- Happy Birthday
- Greensleeves
- Scarborough Fair
- Sheāll Be Coming āRound the Mountain
Iāve now decided to purchase a slightly better quality Ocarina, the one I originally bought was a cheap $28 one, Iām now upgrading to a more professional instrument worth about $80 ā Wish my luck š
@aelaraji@aelaraji.com oh Iāve never had homemade yogurt! cool! I put granola in mine, Iām basic lol ^^
Itās raining and raining and raining and raining. I had hoped my mate canceled the hike today. But he didnāt. He showed up. So, off we went to the Staufeneck Castle Ruin after having a lunch first. The rain drizzling on the umbrella was very nice and I was very glad that he dragged me outside.
It was super wet, though. Entire creeks were coming down on some path sections. A slippery, muddy mess on others. Our boots were already soaked a few kilometers in the trip. The important part was that the feet were warm, though, despite being wet. We barely met anybody in this lousy weather. So we had basically everything for us alone. Thatās always great.
Visibility was poor the higher we got. At 13 a low hanging cloud was moving in, 14 is the result just three minutes later. We couldnāt see the castle 300 meters away anymore. No chance. It was really funny, because the houses in town at two kilometers distance were still visible. Poorly, but you could clearly make out the town. Not the castle, there was just a white wall of cloud :-)
On the way back, we warmed up with tea I brought along. After I dropped off my mate at the train station, I bumped into a fellow scout, so my wet feet cooled off completely in these 15 minutes we talked. The rainjacket mostly held up with the protection of the umbrella, just the sleeves were down. My rain trousers, on the other hand, leaked a little bit a the lower ends. I was glad when I could strip all the wet stuff. I would do it again, though. :-) Now, Iām swapping the newspaper in my boots every half an hour to absorb all the moisture.
https://lyse.isobeef.org/wanderung-auf-die-burg-staufeneck-2026-02-21/
Oh, our leaning silo laughs at the Leaning Tower of Pisa. :-D Iām wondering when it collapses. Iām waiting for this to happen for years now.
The fact that Canada and US do basic mathematical operations algorithms upwards always boggles my mind.
@movq@www.uninformativ.de if they havenāt, I would recommend a āsubtleā nudge. You know, like leaving an advert flier at their door for a āBasic English (including swearing words!) for Dummiesā book, or something like that. :-D :-P
Has a bit of a long history story behind this, where last year at work we were reading this book called Engineering a Safer World and initially came across a service called Speech Reply that allowed me to upload a PDF copy of the book and start to read it, but unfortunately, the free trial right now before I can finish reading it turns out that Speech Reply service cost a whopping US$30 a month and expected me to pay a full year upfront, which was well over US$300 just for one fucking book! So I sent their sales and support staff a message kindly asking if it were possible to just pay for the audio transcription of just a single book or to change to a monthly subscription fee, to which they refused, so basically in the end I got very angry and told them to go fuck themselves and built my own service. A year later here we are :-)
@bender@twtxt.net Iām already using it for tracktivity (meant for tracking activities and events, like weather, food consumption, stuff like that), which is basically a somewhat-fancy CSV editor:

I have a couple of other projects where I could use it, because they are plain curses at the moment. Like, one of them has an āedit boxā, but you canāt enter Unicode, because it was too complicated. That would benefit from the framework.
Either way, itās the most satisfying project in a long time and Iām learning a ton of stuff.
I basically worked through the Christmas break last year. I already had my holidays in Vietnam a few weeks earlier. š
Mu (µ) is now getting much closer to where I want it to be, it now has:
- A
processstdlib module (very basic, but it works)
- An
ffistdob module that supportsdlopen/dlsymand calling C functions with a nice mu-esque wrapperffi.fn(...)
- A
sqlitestdlib module (also very basic) that shows off the FFI capabilities
š
On my way to having windows and mouse support:
https://movq.de/v/95bbbbd3e8/basic-windows.mp4
It would be cool to have something like Turbo Vision eventually.
(I considered just using Turbo Vision, but itās a C++ library and thatās not quite what Iām looking for. But itās not yet completely off the table.)
Whoo! I fixed one of the hardest bugs in mu (µ) I think Iāve had to figure out. Took me several days in fact to figure it out. The basic problem was, println(1, 2) was bring printed as 1 2 in the bytecode VM and 1 nil when natively compiled to machine code on macOS. In the end it turned out the machine code being generated / emitted meant that the list pointers for the rest... of the variadic arguments was being slot into a register that was being clobbered by the mu_retain and mu_release calls and effectively getting freed up on first use by the RC (reference counting) garbage collector š¤¦āāļø
@movq@www.uninformativ.de From 2:50 PM to 3:23 PM AEST (+10 UTC) there was an outage. Everything went āupā on Down Detector, my EU region went offline, numerous sites were unavailable, and so on. Basically everything to/from the EU appeared to basically go kaput.
it is really annoying and degrading to find that you need to upgrade to payed subscription to enable 2fa on your account, cmon ppl those are basic thingsā¦