The No More Robots Humble Bundle is a great deal with Letās Build a Zoo, Yes, Your Grace and more
Another really good chance for you to build up your collection of quality indie games in the No More Robots Humble Bundle.
Read the full article on [GamingOnLinux](https://www.gamingonlinux.com/2026/08/the-no-more-robots-humble-bundle-is-a-great-d ⦠ā Read more
Page Alloc Hogger Lets You Better Stress Memory Behavior On Linux For Testing/Debugging
A new kernel feature proposed by a Google engineer is Page Alloc Hogger to allow for fine control over where memory pages are allocated in order to more easily reproduce low-memory conditions, make it simpler to exert memory pressure, and enable other stressful memory conditions for testing/debugging how Linux copes⦠ā Read more
Cloudflare Announces Open-Source Cloudflare OS As AI āOperating Systemā
Cloudflare has open-sourced Cloudflare OS, an Apache 2.0-licensed platform that lets organizations build AI agents, apps, and workflows using curated company data and tools within isolated, governed environments. Despite the name, it is not a traditional operating system but a framework for securely managing organizational AI workloads ⦠ā Read more
Microsoft Is Bringing Xbox 360 Games to PC
Microsoft reportedly plans to let developers bring Xbox 360 games to PC and next-generation Xbox devices, with a gradual rollout expected between 2027 and 2028. A separate disc-to-digital program would also give players transferable digital licenses tied to their physical Xbox discs, preserving the ability to resell or trade them. The Verge reports: With 360 games, developers can opt into ⦠ā Read more
150-Game Discount Bundle Raises $57,000 for Videogame Workers āHardship Fundā
āAn itch.io game bundle put together by Necrosoft Games and The United Videogame Workers-CWA union is a new way gamers can show their support for developers who have been let go amidst the ongoing video game industry labor crisis,ā writes Kotaku.
Launched Thursday, itās already raised $57,859 from 3,984 contributors. (Aver ⦠ā Read more
@david@daiwei.me Thanks, mate! I just finished my two full version marking gauges. And Iām rather pleased with them, I think they turned out great if I say so myself.
https://lyse.isobeef.org/tmp/streichmass-mit-messerrad/
The beech fences (80 and 100mm long) were part of a former table frame that I cut down. I plugged the dowel holes with, well, dowels. The horrific looking one was the stuck original one, though. Luckily, itās a hell lot worse on camera than in person. If you take a close look, youāll also be able to see the large but slight chamfers one one side each that I just left alone.
I really like beech wood. It looks beautiful, is rather heavy (at least in comparison to spruce which I typically use) and thus rock solid, is also a blast to plane and the list goes on. I sanded it with 180 grit and itās smooth as a babyās bottom.
The 25mm beech round stocks that house the brass knurled nuts are now roughly 4cm long. Thatās one thing I wanted to change right after my first experience. If they were rounded or chamfered more, it would probably be even nicer for the fingers when using the marking gauge. Theyāre sunken in roughly 3mm in the fences. A forstner bit made quick work. This simplified alignment during glue-up a lot. Will definitely do that again if I happen to build more. I could fully concentrate on the grain orientation and it didnāt shift around.
Just like in the prototype, I used 8mm aluminium solid round bar again for one of the marking gauges. Itās also about 15cm in length. I figure thatās enough. The bought marking gauge has a twenty-something and some change steel rod. So far, all my markings didnāt even exceed probably 50mm.
I found the 8mm brass pipe laying around on the workshop. Didnāt know anymore I had it for ages. Unfortunately, the wall thickness is below a millimeter, so my 6mm wooden dowels are sliding in there. Thus, I put 8mm dowels in my drill chuck and reduced the diameter with a rasp. I went a tiny bit too far, the press fit is on the loose side. When drilling with a 2mm drill (I did that on purpose to hopefully cause the dowel to expand a bit more in the pipe, typically the tap hole for M3 is 2.5mm) and tapping M3, the downsized and glued in dowel slipped down the pipe. Should have used construction adhesive or something along those lines. Anyway, I might replace it with a solid one. I consider this a half-successful experiment. I fear that an unfavorable grain direction might pull out the cutting wheel during use. Letās see.
The finish of all three is boiled linseed oil. It looks nice, but oh by, this smell. I really dislike it. My hands stink even after washing them several times. I still got several liters left, so I have the dubious joy to use it on many, many other projects to come.
Oh, one last thing. Didnāt manage to drill the tiny holes for my M3x16 bolts perfectly in center like for the prototype. Theyāre a tiny bit off. Also, on the longer fenced marking gauge, the hole for the knurled nut is a little to the side and at an angle. No idea how I messed this up. Luckily, itās just a look thing but doesnāt impair use.
@david@daiwei.me I bet, youāre absolutely right. ;-) Letās start the countdown: 10, ā¦
Double Fine get layoffs after split from Microsoft
Double Fine have announced that 23 members of their team have been let go, as they need to cut down on expenses to keep the studio alive.
Read the full article on GamingOnLinux. ā Read more
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 Itās somewhat expected to have a fair bit of Assembly (machine code) to get some of the bits you need going. But I think I can reduce this a bit. Letās seeā¦
@movq@www.uninformativ.de Since you ask, it must be only the one in the title bar, but not the one below. :-( Let me suggest Newsboat to you: https://newsboat.org/
Fedora 45 Looks To Begin Phasing Out In-Kernel Crypto Userspace API
Going along with the upstream Linux 7.2 kernel deprecation of AF_ALG and Linux 7.3 to further restrict this interface for letting user-space programs interact directly with the Linux kernel crypto API, Fedora 45 is looking to follow and help support this transition⦠ā Read more
dav1d 1.5.4 Brings AV1 Decoding To OS/2
While the VideoLAN developers are busy these days working on dav2d for AV2 video decoding, they havenāt let up work on dav1d and recently released dav1d 1.5.4 for continuing to enhance this leading open-source, CPU-based AV1 decoder⦠ā Read more
@lyse@lyse.isobeef.org Thanks. š Yeah, I already found it slightly annoying myself. Letās see how the bots respond to the new situation. š¤
@prologic@twtxt.net Hmmm, I have no idea how to solve that problem. š
Some jenny stuff aside, I received zero bug reports or code contributions since leaving GitHub in 2018.
I thought I had made that super easy, because you can just send me an email ā no sign-up process, nothing. But thatās way too old-school, people donāt know how to use git format-patch (let alone git send-email) and they also donāt understand that they can just send me a link to their forked Git repo (which can be hosted anywhere). Git is super flexible and powerful, but those features are hardly ever used.
Maybe people even need some kind ārewardā, or āfameā. Like those āachievementsā that you can unlock on GitHub. (Something to put in their CV ⦠?)
@movq@www.uninformativ.de Luckily, Iām not an autist. If you walk next to a busy road or airport, I totally get the annoying noises. Iād plug my ears, too. But I meant in the woods where there are almost only nature sounds. Maybe they miss the jackhammers etc. :-D
@david@daiwei.me Hell yeah, letās finally reintroduce the big predators! :-D
Okay, so, my website also includes my code / git repos, and those are made browsable by stagit. What I donāt like about this (these days) is that this includes all the diffs of my commits. In other words: All my code.
This makes it super easy for malicious crawlers to slurp up valuable data. I donāt like that.
Iām thinking about switching to this instead:
It still shows project infos and there are Atom feeds, but to get the code, you have to actually clone the repos.
š¤
(If you spot any bugs, let me know.)
@david@daiwei.me I first thought that this is a real lake, but itās just a lake of craziness. :-D A town owned by a company (or so it reads to me), thatās insane.
Let me send you some nice 17°C.
@movq@www.uninformativ.de @prologic@twtxt.net @itsericwoodward@itsericwoodward.com Let me join the Enterprise Ruined It For Me Club. :-D
@prologic@twtxt.net well, thank you my good friend! Now, lets go for blackjack and hookers! š
@dce@hashnix.club So let me get this straight⦠You want to store your feed on a Codeberg repo right? But you want to clone that repo down somewhere else to serve it on a different location. Right? And youād like to use the Twtxt App (https://twtxt.app) to front all of this? Right?
@dce@hashnix.club Ahh! Letās fix the 403 error then? I donāt have access to Codeberg, so I canāt reasily test. Can you walk me through what you tried and any other details? Iāll get this fixed.
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.
Does yarnd still support the old āthreadingā? Letās see.
letās just see if something like this crops up again.
@kat@yarn.girlonthemoon.xyz let me know if mean old Bender can help on anything (especially if it is bending things [please let it be bending, let it be bending!]).
@prologic@twtxt.net one of my happiest day! Imagine loving pizza, and hearing someone saying āletās do pizza!ā. Thatās bending for me! š¤©
@david@daiwei.me Ah, edits. Okay. Letās hope that itās all fixed then. š¤
@movq@www.uninformativ.de this one:
2026-07-11T17:28:31Z () No yet. Letās keep it rolling a little bit longer. I am reply to ā[..] I donāt see any broken threads here. š¤ā. I canāt tag followings while on mobile. <-- THIS BROKE
Was a reply to:
2026-07-11T16:39:22+00:00 (#iqqsqst5vokf) @<david https://daiwei.me/twtxt.txt> Well, I donāt see any broken threads here. š¤
@david@daiwei.me Ta, I continued my fun with studying the tcell and cbind code bases for key bindings. My plan is to eventually not only support custom key bindings in the tt configuration file, but also to enable multi-key sequences, such as gg to jump to the top of a list/tree. Or use other vim-like navigation movements like 7j or 25gg etc.
And it turns out there are only a hand full oft tcell/cbind version combinations that work together. Only if all stars align, thereās chance of success. I will probably end up pulling cbind in to simplify my life. There are situations where tcell.EventKeyās triple of key, modifiers and rune are not all that intuitive to me. Letās see.
@david@daiwei.me good, letās get this test going. This is simply a reply to iqqsqst5vokf (first twtxt).
# url = preamble so every client hashes your feed the same way. Thanks @fastidious for the report š
@prologic@twtxt.net Letās give it a shot! Test!
I think Yarn has Gabes nick cached, and mentioning is broken because of that. Let me check my followings, to be sure.
@david@daiwei.me I agree! Letās get them back into the fold š¤
@GabesArcade@gabesarcade.com The no-JS part is one thing, but you also have to disable the (nowadays common) forced-HTTP-to-HTTPS-redirect, because those old browsers canāt do modern crypto. And make sure that your webserver serves the correct page even if no Host header is sent by the client. And donāt even think about serving UTF-8 or even just putting utf-8 in the content type. š
And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 wonāt trip. 𤣠And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And ⦠probably more that I forgot by now. š
@david@daiwei.me Not sure, actually. Letās see. Those are the ones where I still have the original disks (or have bought them on eBay again):
- SuSE Linux 6.4 (itās a massive 7 CD distro with a huge manual, best thing ever)
- OS/2 2.1
- OS/2 Warp 3 (red and blue spine because
$reasons)
- OS/2 Warp 4
- PC DOS 7
- MS-DOS 6.22
- Windows 3.1
- Windows for Workgroups 3.11
- Windows 95 C
- Windows 98
- Windows NT 4 Workstation (still in the mail, though š
)
- Windows 2000
- Windows XP Professional (last Windows I ever used on my private PCs)
(Plus a few āclassicā office products as can be seen here: https://movq.de/blog/postings/2024-05-23/0/POSTING-en.html )
@david@raw.githubusercontent.com your fork worked, and this is a fork, of your fork. Letās forkāem!
@lyse@lyse.isobeef.org Found it and fixed it! š The crawlerās discovery spider was fetching every feed a second time, without any conditional headers (plus a couple of other politeness bugs: redirected feed URLs never stored their cache validators, and there was no floor between re-fetches). Now every feed is fetched at most once per crawl, always with If-Modified-Since / If-None-Match, and never more than once per 15m no matter what. Just deployed ā please keep an eye on your access logs and let me know if you still see anything impolite from the crawler š
Set/GetDisabled(ā¦) and PasteHandler(), tt starts up fine and seems to work without issues.
This also lets me remove my custom button implementation, since the tview button now natively supports disabling.
Damn, I broke my Atom feed (and a reader let me know, thatās cool!).
I run vnu on all HTML and CSS files after each build of the website, but I donāt run a feed validator. š¬ Time to change that.
Using gzip compression for the twtxt files now. I donāt expect any issues but let me know if something breaks. š„
(This feature is implemented in a pretty minimalistic way in OpenBSDās httpd ā¦)
@movq@www.uninformativ.de I admit, itās something different in the pitch dark. Noises are a hell lot more eery. I do wince every now and then, too. :-)
But Iām very glad that I only have to really worry about ticks and boars in our forests. Theyāre petting zoos compared to everywhere else. Letās see when the bears and wolves return. Itāll be another story then.
29-Year-Old Squid Proxy Bug āSquidbleedā Can Leak Cleartext HTTP Requests
A 29-year-old bug in the Squid web proxy, dubbed Squidbleed and tracked as CVE-2026-47729, can let an authorized proxy user retrieve fragments of another userās cleartext HTTP requests, including credentials and session tokens. The security researcher who reported the flaw credited Anthropicās Claude Mythos Preview for the discovery ⦠ā Read more
Valve Will Finally Let You Build Your Own Steam Machine With SteamOS For Desktop
With the price of the new Steam Machine starting at $1,049, you might want to consider making your own Steam Machine instead. An anonymous reader quotes a report from The Verge: Valve says that āstarting with the SteamOS 3.8 release, you can put together your own Steam Machine using whatever PC parts you want.ā St ⦠ā Read more
New Unpatchable Exploit Targets Apple Devices With A12 and A13 Chips
Researchers have disclosed a new unpatchable BootROM exploit affecting Apple devices with A12, A13, S4, and S5 chips. The attack requires physical USB access and DFU mode, but can let an attacker run code before iOS loads, bypass signature checks, and boot modified software. 9to5Mac reports the details: In a highly detailed technical post p ⦠ā Read more
Giving vim-classic a try now. Letās see how it goes. š¤
@movq@www.uninformativ.de Let us know how it went. :-)
Speaking of UIs, this is how Thunderbird looks now:
So we continue to let every program make up its own UI style (and then we complain that āthe Linux desktopā looks āmessyā and āinconsistentā). I guess this uses GTK, but it doesnāt look like any other GTK program. Buttons, tabs, drop-downs, whatever, itās all different. It even has its own subwindow system (i.e., popups that you canāt move).
I didnāt say this in the blog post, but Iām convinced that programmers these days absolutely positively hate everything that looks even remotely like Windows 95 or Motif ā with a passion. I see that in my coworkers as well, they really canāt stand it. Itās an emotional thing.
Letās see which other browser-based clients I broke with that messageā¦
The US Government Is Letting a Key Data Center Regulation Expire
The Federal Data Center Enhancement Act (FDCEA) is set to expire in September without an apparent replacement, potentially ending requirements for federal agencies to report on data-center efficiency, resilience, energy and water use, and contractor sustainability. Wired reports: Despite the public backlash, the Office of Management and Budget (OM ⦠ā Read more
@lyse@lyse.isobeef.org Interesting approach. š¤
The master branch should never be in a broken state (apart from bugs I donāt know about). Any intermediate state during the development of a larger feature will happen in a different branch.
I mean, yeah, but ⦠I donāt know, I like having ātraditional releasesā as a second safety net when I write programs. I like to let things mature for a while and then I cut a new release. So itās, like, āwe have a bunch of new features and fixes here, and to the best of my knowledge this works fine nowā. But maybe Iām just paranoid. š¤
tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:
Now Iām curious how movwin deals with that. ;-)
Focus handling? I hardly remember, lol. š Did that 6 months ago and havenāt touched it since. Letās see.
The core main loop gets keyboard/mouse events from curses. At this level, the main loop only knows about exactly one widget, so it passes the event to that widget (whatever that is, doesnāt matter ā they all inherit from the Widget base class, it could be a Window, a WindowManager, or an Edit box directly).
The outermost widget is usually a WindowManager. It implements a few hotkeys of its own, like switching to another window. If none of those hotkeys match, it passes the event to the currently focused window.
Same story here: Window implements some hotkeys (like opening the menu bar). If none of those match, then ⦠the magic happens.
Each Window acts as a focus manager. It can descend into its child widget hierarchy and collect all child widgets in a depth-first search. They are collected into a flat list. Each Window then has an attribute _focus_position, which is an index into that list. Pressing Tab or Shift+Tab increases or decreases that index and that allows you to select the next/previous focusable widget in the current window.
Eventually, Window passes the input event to the currently focused widget.
Usually on initialization, the application can ask a Window object to focus a certain widget. The file selection dialog does that, for example, because the ānaturalā focus order would be to focus the Edit box at the top of the window first ā but thatās not what the user wants, the Table showing the list of files should be focused.
If no widget ever feels responsible for handling a certain input event, then thereās a global unhandled_input callback that the application can provide (same as in urwid).
I think thatās it.
Hm, thatās more complicated than I remembered, but apparently it works fine, because I completely forgot about this. š
All I did in the last few months was make new classes that inherit from Widget, like the new Table class or Edit or HexEdit or whatever, and if they want to get input events, then they must implement the methods input_key() or input_mouse().
Does this answer your question? š (I admit that I didnāt exactly understand your scenario, so I just went ahead and rambled about my implementation. š )