My mate and I went on a hike on Saturday to Germanyās probably most famous tiniest hamlet. Well, not even hamlet, much smaller. Itās a farm (087) and a closed train station (088, 096-102). Okay, and four other houses. But thatās it. Durlesbach is known from the old folk song āAuf de schwƤbsche Eisebahneā, literally āOn the Swabian Railwayā. According to the German Wikipedia article the German Folk Song Archive counts about 100 variants on the lyrics with up to 27 verses. The song enumerates a few stations and the most common version is about a farmer who ties his goat to the back of a train in order to save the freight costs. Alternatively, heās used to that from previous ox cart trips where the goat just follows along. Of course, the goat doesnāt make it and the angry farmer throws the disembodied goat head at the conductor.
The weather was perfect. Sunny and clouds alternating, lower twenty-something degrees Celcius. Very beautiful. We took the train to Aulendorf and started our hike.
The level railway crossing in 051-054 is always closed and only opened on demand. I didnāt even know that this kind existed. But itās really quiet there. We pressed the lever to call the train dispatcher who then opened the barriers for us. A few seconds later we told him that we successfully reached the other side and he closed them again. We were confused at first because the sign said only for authorized personnel and we were just two random hikers. But we gave it a shot and the dispatcher was super nice, no worries at all.
The river is always the Schussen. 092-094 is the creek Durlesbach, entering the Schussen, though. The Durlesbach station is now privately owned, unfortunately. However, itās nicely kept in shape and thereās a cool monument with a historic steam engine, two wagons and four bronze figures reenacting the scene where the farmer is about to tie his goat, being observed by his wife and the conductor.
You can get all sorts of drinks in exchange for a donation at the display. These proceeds are used for the upkeep. I had an ACE juice which was absolutely delicious. A few hundred meters after we continued, I thought that I really should have bought a second one. It was just too good.
In Mochenwagen, we took the train back to Aulendorf. The Mochenwangen replacement service (we luckily didnāt have to take it, in fact, no idea when it is really in place) is 800 meters away from the train station. That fucking nuts.
We then changed trains to Ulm, just because that one arrived two minutes after we reached Aulendorf. But we spontaneously exited early in Biberach because we had some time to kill for the actual train to Stuttgart. The train station underpass there has some really beautiful graffiti. Shortly after, my second camera battery was flattened, too.
Going home worked out amazingly. When I switched again in Geislingen, my connecting train was already waiting on the other platform. 15 seconds before scheduled departure, the doors closed. One second to departure, we took off. Thatās very rare nowadays and it was kind of magical to witness this first hand looking at the station clock.
Sorry for the many photos. I was busy sifting through them and only kept about 20%. Still too many, I know. Enjoy, nevertheless: https://lyse.isobeef.org/2026-10-03-wanderung-von-aulendorf-ueber-durlesbach-nach-mochenwangen/
@zyak@twtxt.z85b.xyz sorry I just saw this, sounds like a good idea. Iāll see if I can add this!
@zyak@twtxt.z85b.xyz Thatās a good idea. Iām updating the twtxt rendering on my site, and I think Iām going to add a toggle to show / hide replies. Thanks!
Crazy, who comes up with things like that?
I didnāt come up with it, but I was close, I guess. DOS is so small, you donāt have much of a choice but to search for āanything related to timeā. There arenāt that many syscalls/functions. Youāll quickly notice that thereās no global tick counter. So what else is there? Hmm, āget the mtime of a fileā is pretty much the only other time-related thing. And which file is āstableā, probably allocated just once at boot? Mark Aitchison tried to use NUL, which is a pretty good idea. Thinking about it in retrospect, stdin does indeed make more sense, though, because that object really does get allocated just once at ābootā and then it stays the same. Thatās not guaranteed for NUL (although just as likely).
But, it is possible in DOS to move āthe consoleā to a serial port:

I wonder what that does to my little uptime program. :-)
Today, I also learned that
-Ris an alias for-rinrm.
Ah, I remember that. Dug it up and saved it in the blog: -R is more portable/consistent: http://movq.de/blog/postings/2026-09-30/0/POSTING-en.html
/dev/ulpt0. The netbook doesnāt have a parallel port, so this must be done over USB. NetBSD.escp was created by a little custom ESC/P converter written in C. š„³
@lyse@lyse.isobeef.org Yeah, the partition stuff with disklabels is what Iām absolutely not used to. I need to invest more time learning this. Not just using it, but how and where is it represented on disk and all that.
I carry my notebook/netbook around a lot. š Watching movies in bed, for example.
I think Iāll stick with NetBSD for a while. It works surprisingly well, itās new stuff to explore, itās fast, and then thereās this:
https://mastodon.sdf.org/@netbsd/112446618914747900
Gentoo (https://wiki.gentoo.org/wiki/Project:Council/AI_policy) might be another idea, but Iām afraid that the little netbook might be too slow for that? Or are there binary packages? No idea, itās been ages since I touched this distro.
(Regarding Linux in general ⦠we all know what Linus said. Iām not sure where this project is heading.)
There is this extremely annoying issue with my website:
https://movq.de/v/4acced3c8e/scroll.mp4
Notice how Iām scrolling, then switching to another tab, switching back, and then the scrolling position is different?
What the hell could cause this? Itās not always like this and I have only seen it in Firefox so far (but I very rarely use Chromium anyway), and this really happens a lot on my site but not on others.
Any ideas? Did I screw up the CSS somehow? š¤
@movq@www.uninformativ.de Thatās a clever idea - I had never considered adding an empty commit before, but I can see the value.
@klaxzy@klaxzy.net This is a good idea. I do something very simialr.
Website might come back soon, although probably mostly unchanged. I have no idea how to stop the bots. š¤·āāļø So Iāll just gonna live with it? Is that the key to happinessā¢? š¤·āāļø
@david@daiwei.me No idea 𤷠We shall see! haha š
Gonna recreate the classic [Break out](https://en.wikipedia.org/wiki/Breakout_(video_game) game this weekend for the Mills Games Cabinet ā Anyone else got any ideas, requests? š¤ #games #ebitengine
@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.
Not sure what happened to my twtxt there. It seems that my sync script, which pulls from Codeberg and copies the twtxt to hashnix.club/~dce, had started copying an empty file. No idea why.
It should be fixed now, though, thanks to me adding [ -s /home/dce/twtxt.txt ] && before it copies it to ~/public_html.
@david@daiwei.me Oh, that is a good idea. This could be included here, yeah. š¤
@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 ⦠?)
Oh god 𤣠I mean I had this idea to re-invent āGit hostingā, but failed. Maybe Iāll try it again. I dunno. The thing is I hardly get āIssuesā really, only when I ask nicely, of folks I know every well 𤣠So think at much āsmaller scaleā we need a different solution, and I think @movq@www.uninformativ.de is on to something, but not to the extend implemented, somewhere in the middle I think? š¤
@movq@www.uninformativ.de Hmmm youāve given me an idea š§
@ponderpoints@twtpub.com Welcome to Yarn.social š Interesting video, I actually watched it all the way through, riverting stuff really and quite well put together. The idea of āsubjective experienceā is a rather complicated thing to describe and youāre right, how do we even know we have them? š¤
@david@daiwei.me I had to look these up, horror isnāt my genre at all. :-D No idea what the cool kids use today, but I still have zsh as my interactive shell. For shell scripts, though, I try to stick to POSIX and only resort to bash if really needed or it would be too cumbersome.
I trip over this in our code at work all the time.
Python has this concept of āpropertiesā:
class Oink:
def __init__(self):
self._foo = 3
@property
def my_property(self):
return self._foo
a = Oink()
print(a.my_property)
my_property() is a method but it can be used as if it were a field.
This can also be used to define a setter:
class Oink:
def __init__(self):
self._foo = 3
@property
def my_property(self):
return self._foo
@my_property.setter
def my_property(self, value):
self._foo = 123 * value
Because, for some reason, Python people donāt like getters and setters. Instead, they hide it behind a property.
The result is, when you read this:
a.my_property = 5
print(a.my_property)
You have no idea that this actually calls a method.
@david@daiwei.me Thatās a good thing. I still use it heavily, but I also realize that it is addictive. This whole idea of getting likes and boosts is horrible. Seeing ānumber goes upā is inherently addictive design, if you ask me. This should never have been added to a Free Platform like Mastodon, and Iām glad that twtxt doesnāt have anything like it.
Some further ideas/enhancements for Twtxt App ā¦
- On the āFollowersā tab, new followers should appear at the top I thnik.
- On the Following/Followers, each feed should be clickable/tappable.
- Maybe also tidy it up a bit, displaying the full raw Feed URI is messy.
Just for security as required by law.
LOL 𤣠Was this someoneās idea of a joke? š¤
@bender@twtxt.net No idea. I can only tell you that the correct hash would have been rwzz277nkyju for this line:
[2026-07-11 14:47:17+00:00] [(#5bpwpdcjnhcz) <a href="https://yarn.girlonthemoon.xyz/external?uri=https://daiwei.me/twtxt.txt">@david<em>@daiwei.me</em></a> (This thread is broken again on my end. Another bug or fix not released yet? š
)]
We slept in the forest. It was really great except of my mateās fucking terror dog who was barking and snarling the entire night to each and every sound. I had maybe half an hour of sleep in total. Despite that, it was pleasantly warm. Well, the night, that is. The heat was brutal during the days. Literally streams of sweat were running down on us on the way there in the evening and back in the morning.
Surprisingly, there werenāt any mozzies around at night, I would have lost all safe bets. On the way there, my mate convinced me to take a shortcut through the taller and taller growing grass. Itās been some time that somebody traveled on this track, so we had to search around a bit for the overgrown path where we could cross the mostly dried up creek. In the beginning I said that this will be a bad idea. Lo and behold, I discovered a tick on my inner upper leg the next morning. Luckily, I got it out with my tick hook on the first attempt.
2027-07-07T18:05:37+00:00 but is always showing up as having been just posted now on twtd š¤
@itsericwoodward@itsericwoodward.com what the hell!!? I have no idea how that happened. š Thank you!
I donāt know why, but either Jennyās behaving different after the last update, or I Fucked up something and I have no Idea how to fix it.
Symptoms:
- I donāt have copies of my New Posts in my Maildir after posting them (as in I donāt see them in neomuttās inbox).
- Nor fetch or fetch context (if they get replied to) seem to fech them auto-magically.
- I had to do a full whipe (~/Maildir/twtxt and ~/.cache/jenny) in order to get them fetched back.
@david@daiwei.me Some entries can be probably simplified with just *bot*. :-) (But I donāt use Caddy, so no idea about case (in)sensitivity.
That reminds me, I should do something similar with my Nginx.
Set/GetDisabled(ā¦) and PasteHandler(), tt starts up fine and seems to work without issues.
@movq@www.uninformativ.de @bender@twtxt.net Indeed! No idea why this isnāt the default in the first place.
The firefly season is ending. I only saw 200 of them or so. There was one female directly on the forest road. If only I brought my camera and tripod, that would have worked out I reckon. I had my torch with me and this looked really cool.
Dusk took forever today. It was really long light out there. Full moon is tomorrow.
On the way back, there was suddenly a load clatter and crashing sound 100 meters away from me. I didnāt see anything, but a tree fell over in the forest out of the blue. Fuck me dead, that was scary as hell. Luckily, I was already on the main road, only meadows around me. Itās the second time I witnessed a tree accidentally coming down. The first one was during the most expensive hail storm in our area so far in 2011 behind me when setting up a summer camp. The weather changed in less than 15 minutes.
Maybe not such a good idea to go out so late alone. :-? Any rustling in the forest immediately reminded me of the boar the other day. Luckily, always false alarm. Still a bit terrified from that event.
box (command-line container runtime). It works great š
@movq@www.uninformativ.de CEF turns out to be pretty easy. I had to write a bit of C and Go to bridge, but once that got going I was able to write it into my pure Go go-wayland wlui library for final rendering. The delegating the entire CEF part was a good idea though because it keeps all the complexity in a container Image, leaving me with just the Go + C stubs/interface and SHM/IPC parts.
@movq@www.uninformativ.de Good idea, I should probably do the same for my photo galleries.
@50213 Star Wars inspires people. (Good) Ideas inspire people. SW is a cultural phenomenon that has inspired millions if not billions of people. Thatās why itās worthwhile.
@prologic@twtxt.net Very cool! Like @movq@www.uninformativ.de, I donāt think Iām the target audience for this (as Iām already a DevOps hobbyist managing a small server āvictory gardenā), but I love the idea.
Apologies for hitting it early, I initially overlooked the sign-up form and thought I would try it for š©s and šs.
I found my tripod and headed into the woods. There was a ton of glow. \o/ The fireflies were everywhere, super cool. It looked so amazing, especially with all the flying boys. There was one amazing spot in particular, I had 80-100 individuals in my view at once. Absolutely breathtaking. Unfortunately, the mozzies were also delighted about my visit.
I tried my best, but itās impossible to capture anything on film with my equipment. The fireflies are just way too dim. In the end, I managed to get some very bright girls in the bush. Thatās the best I could do, but still really bad. Sorry @bender@twtxt.net. :-(
https://lyse.isobeef.org/gluehwuermchen-2026-06-19/
And no idea what the heck is going on with the CSS there. Anyway. Garbage to trash, seems fitting. ;-)
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:
Getting the vim key bindings to work for focus switching in this modal dialog took me forever. Only cursors and (Shift+)Tab are supported out of the box. I absolutely understand that, itās fine. I installed an input handler on the dialog, but the focus always stayed the same.
After two wasted hours, I was in despair to copy the tview.Modal into my own code base. Of course, I had to fix all the private tview field accesses first. But even installing the input handler directly on the buttons themselves did not work. Even though, the handler was definitely executed, the focus did not shift. Forcing redraws as a last resort also did not work.
Looking through all the messy chained input handling, I eventually stumbled across another place in the tview.Form, which is internally used by tview.Modal. This messed around with app focus receptions and input handlers. This gave me the idea to make the tview.Application refocus my modal dialog after I told the modal dialog which button to select. And would you look at that, this did the trick! I havenāt completely figured out what is going on exactly, but I could get rid of my Modal clone again.
I always go through hell with focus handling in tview. Each and every time. It just does not feel natural to me. Complete brainfuck to wrap my head around. The Urwid API felt sooo much more refined, it never was an issue. It just works. In fact, I cannot think of any other TUI library that has remotely the same pain level when it comes to focusing widgets as tview.
Now Iām curious how movwin deals with that. ;-)
@lyse@lyse.isobeef.org having seeing, and played with fireflies as a child I envy you. We have none around here. Children have no idea what a firefly is. I mean, they do, but vague, and based on videos and telly.
@lyse@lyse.isobeef.org @bender@twtxt.net @prologic@twtxt.net Oh, snap! 𤦠I am so sorry about that. I had no idea that was happening!
Iām working on a fix right now.
@lyse@lyse.isobeef.org Bummer, but thanks for the heads-up. š
Where are you seeing it? I remember running across a similar issue before, but I thought I already fixed it by falling back to the hash URL.
That having been said, I like your idea of defaulting to the subscribed / āfollowingā URL.
Also, there appears to be an extra ārā in my handle in your mention (itās āitsericwoodwardā, not āitsericwoordwardā). No big deal, just wanted to mention it.
Just got a great idea for a novella I will be working on. two other already in the queue. My brian never shuts off!
@lyse@lyse.isobeef.org Not a fan of MittelaltermƤrkte
, but that sounds like an interesting idea. I wonder if they end up shooting each other on accident. š
@lyse@lyse.isobeef.org Switching to Make might be a good idea, though, because the whole thing is purely sequential at the moment ⦠It takes close to 20 seconds (including the w3c verification which runs the Java checker). Itās not unusable, but it could be better. š
I am about to start working on #IndieConnector version 3, and I need your help! In this post, I describe what I plan to change and would like your feedback and ideas. So if you are a user or you want to use it, please let me know what you would expect from the new version.#kirbycms #getKirby https://maurice-renck.de/blog/2026/planning-indieconnector-3
@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.
Now that is an interesting move:
https://ladybird.org/posts/changing-how-we-develop-ladybird/
Maybe this is how all Free Software will look like in the future. It might not be the worst idea ⦠? š¤
@movq@www.uninformativ.de āYou know what this is?ā A mass produced, Chinese made, rubber ducky? LOL. Sorry, had to do it. I had no idea who Maria was/is (have a vague one now). If you collect those, I can send you some! :-)
Years ago, I used Kate, no, not somebodyās wife, but the KDE Advanced Text Editor, to export source code files and fragments into HTML with syntax highlighting. I think thatās where I got the initial <b> idea from. There were also bucketloads of <span style='color:#644a9b;'> all over the place, even inside <b>. No CSS classes defined upfront, all colors inlined. The final rendering in the browser looked great, but the source code ugly as hell in my opinion. However, Iām thankful for hinting me at <b>. I think this kicked off everything. :-)
Haha, someone had a similar idea ⦠https://lpcvoid.com/blog/0018_why_i_am_against_genai/index.html
@prologic@twtxt.net Ahh, I see. Okay, Iām with you there. On this high level, I can understand how the thing works.
Maybe my wording isnāt good. š¤ Letās take a real life example from what we do at work.
Thereās this AI chatbot. It gets support requests from users, so the user says something like āI need access to a particular systemā. This triggers the bot to ārunā the instructions stored in a large Markdown file, like ācheck if the user is authorized to do this, then issue the following API requestsā, and so on. This is essentially like running a little script, except itās written in natural language (German) and thereās no āscript interpreterā but just the AI.
Now, suppose that the AI doesnāt quite do what was intended. Thereās some subtle bug. How do you debug this? How do you find out how the AI came to the āconclusionā to run step A instead of step B? And how do you find out how exactly you have to change your prompt so this doesnāt happen again next time?
If this was an actual script/program instead of AI, you could repeat the request and attach a debugger or throw in some printf() or whatever. How do you do that kind of thing with AI? How do you pinpoint exactly what the problem was?
(Or is this just a stupid idea? Do we have to give up that way of thinking when using AI? Is the era of debuggability over?)
@arne@uplegger.eu This is interesting. Sorry I missed this, I just found this post of yours and wanted to contribute š Hereās something interesting about me⦠I donāt ever talk to myself, like ever. I have no, what they call, āinner monologueā. Maybe Iām odd, but my wife asked me this very same question a while back and I said the same, there is never anything in my head except ideas, visuals or sounds, sometimes all at once, but never an inner monologue of ātalking to myselfā.