@lyse@lyse.isobeef.org … I didn’t say there aren’t lots of Tux plushies around here. 😂
@lyse@lyse.isobeef.org Nope, this is some random photo. 😅
@kat@yarn.girlonthemoon.xyz inb4 https://movq.de/v/c8b084d52d/s.png
@lyse@lyse.isobeef.org How did I miss this one? Nice birb! 🐦
@lyse@lyse.isobeef.org I can’t read. 🤦 Yeah, that’s gonna be a problem. I was not yet able to trigger it, though. Maybe they are (like Google) rolling out these changes gradually …
I want smell-cancelling nose… phones… thingies.
@bender@twtxt.net I might be a bit too negative today. 😅 I just wonder how long it’ll take until they also restrict Git operations. 🤷
RIP GitHub https://github.blog/changelog/2025-05-08-updated-rate-limits-for-unauthenticated-requests/
Good thing I left long ago.
@lyse@lyse.isobeef.org It’s funny/interesting what people see in these. 😃 @aelaraji@aelaraji.com said that some of them look like a brain on a reflective surface, and now I can’t unsee it. 😅
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz There are two more shops that sell the “classic” Tuxes: https://ixsoft.de and https://www.steiner-plueschshop.de – both German shops, though. 🥴 Anyway, if you can make one yourself, that’d be extra cool. 😃
@bender@twtxt.net They usually roll out this stuff slowly, yeah. 🫤
Forgot to post these here: A bunch of Mandelbrot images using the trans, ace, and aro color palettes.
More and full res PNGs:
@kat@yarn.girlonthemoon.xyz I was about to say that you can always just buy one, but apparently that’s not so easy anymore?! What the heck happened? 🤨 There used to be several shops here in Germany that sold a variety of Tux plushies, but none of that exists anymore … 😳
@kat@yarn.girlonthemoon.xyz Thanks, I hope so too. 😅
I have zero mental energy for programming at the moment. 🫤
I’ll try to implement the new hashing stuff in jenny before the “deadline”. But I don’t think you’ll see any texudus development from me in the near future. ☹️
YouTube just went from this:
To this:
Why.
Red for “activated” and dark gray for “deactivated” was easy to recognize.
Now we have light gray for “activated” and dark gray for “deactivated”. It’s clearly worse.
Why, why, why.
@kat@yarn.girlonthemoon.xyz Tux plushie is life, Tux plushie is best friend 🤘
tar
and find
were written by the devil to make sysadmins even more miserable
@kat@yarn.girlonthemoon.xyz @prologic@twtxt.net Given that all these programs are super old (tar
is from the late 1970ies), while trying to retain backwards-compatibilty, I’m not surprised that the UI isn’t too great. 🤔
find
has quite a few pitfalls, that is very true. At work, we don’t even use it anymore in more complex scenarios but write Python scripts instead. find
can be fast and efficient, but fewer and fewer people lack the knowledge to use it … The same goes for Shell scripting in general, actually.
tar
and find
were written by the devil to make sysadmins even more miserable
@kat@yarn.girlonthemoon.xyz What’s wrong with them? I’ve been doing this for so long now, I don’t see the issues anymore. 🤣 (Doesn’t mean they don’t exist.)
The album I got by accident is starting to grow on me. Not that bad. 🤔 It’s Dredg – El Cielo, btw: https://www.youtube.com/watch?v=e4JB8rmXaO8&list=PLRASiMqDV8psZSFQi7nUX4p0R8oRHbUy_&index=1
@anth@a.9srv.net 24 years is quite a long time. 😳 My blog domain is from 2006 (still, almost 20 years, oof).
@kat@yarn.girlonthemoon.xyz These are behind a login. 🤔
The thing about upright bass is that you must play it on a regular basis. At least several times a week, ideally daily. It requires quite a bit of strength and it’s very easy to lose those muscles again – at least I don’t use them that much otherwise. 🤣 I’ve been through several cycles of “gain strength → lose strength → goto 0” now …
@lyse@lyse.isobeef.org … and I realized only now that that’s the guy behind godbolt.org? I never assumed “godbolt” to be a human name, more like some kind of wordplay. 🥴
None of the above. 🤣 Just a more recent album.
Sometimes things go wrong when buying CDs second-hand. I bought an album quite cheap – but as it turned out, they only checked the cover, not the content, so I got something else instead which is actually much more expensive. 🤣
@prologic@twtxt.net Exactly. 😂 (Texudus.)
@lyse@lyse.isobeef.org Nice! Next up: Passing file descriptors over Unix sockets. 😃
And on a similar note, cross-post from Mastodon:
What I love about HTML and HTTP is that it can degrade rather gracefully on old browsers.
My website isn’t spectacular but I don’t think it looks horrible, either. And it’s still usable just fine all the way down to WfW 3.11:
It’s not perfect, but it’s usable. And that makes me happy. Almost 30 years of compatibilty.
The biggest sacrifice is probably that I don’t enforce TLS and that HTTP 1.0 has no Host:
header, so no vhosts (or rather, everything must come from the default vhost). (Yes, some old browsers send Host:
, even though they predate HTTP 1.1. Netscape does, but not IBM WebExplorer, for example.)
(On the other hand, it might completely suck on modern mobile devices. Dunno, I barely use those. 🤪)
@bender@twtxt.net Mondays should be optional.
@lyse@lyse.isobeef.org Indeed! 😍
You need break the routine.
I haven’t really done that lately. 🤔 Maybe have another go at Rust (given its increasing importance in the Linux kernel)? Or Elixir, yes, I only had some very, very brief contact with it. 🤔
I just came across an old forum posting of mine about Prolog. That brought up some memories. Prolog is pretty alien, but I do miss stuff like that because it’s so different.
Just thinking out loud here. 😅
@andros@twtxt.andros.dev @eapl.me@eapl.me Still lots of bugs in my client. 🥴 I’ll try to fix it next week.
And yes, using the same timestamp twice will very likely break threads.
@andros@twtxt.andros.dev Alright. 👍 Btw, your feed uses spaces instead of tabs. 😅
Good old times. #Windows98
@prologic@twtxt.net Give it a toy? I don’t know, don’t have any dogs. 😅
@andros@twtxt.andros.dev I set up a test feed here:
https://www.uninformativ.de/texudus.txt
I made some preliminary adjustments to my client so that it can work with the different threading model. (And I totally get the concerns, this can be quite a bit of work. Especially in a large code base like Yarn.)
@quark@ferengi.one I’ll translate “desert rat” as “Wüstenmaus”, which is kind of cute, and I’ll pretend that you just didn’t call your partner a rat. 😂
@kat@yarn.girlonthemoon.xyz Off-topic areas are always a good idea. :-) Web forums often had those. And web forums are actually what I had in mind, @bender@twtxt.net. 😅 (While I do have a certain nostalgia for it now, Usenet has always been a bit weird to me. Can’t really explain why.)
So, the “AI” bots have reached my website. Looks like they’re just slowly crawling everything at the moment – no DDoS-like attack yet. I wonder if that has something to do with my website being 100% static HTML. There are no GET parameters they can tweak and, at the end of the day, there’s not that much data on my server anyway … And maybe they have no idea what stagit is, so it doesn’t trigger “standard behavior”, like “this is a Gitea instance, let’s crawl this like crazy!”?
@bender@twtxt.net Baaaaaah 😂
These are ideal working conditions:
Confession:
I’ve never found microblogging like twtxt or the Fediverse or any other “modern” social media to be truly fulfilling/satisfying.
The reason is that it is focused so much on people. You follow this or that person, everybody spends time making a nice profile page, the posts are all very “ego-centric”. Seriously, it feels like everybody is on an ego-trip all the time (this is much worse on the Fediverse, not so much here on twtxt).
I miss the days of topic-based forums/groups. A Linux forum here, a forum about programming there, another one about a certain game. Stuff like that. That was really great – and it didn’t even suffer from the need to federate.
Sadly, most of these forums are dead now. Especially the nerds spend a lot of time on the Fediverse now and have abandoned forums almost completely.
On Mastodon, you can follow hashtags, which somewhat emulates a topic-based experience. But it’s not that great and the protocol isn’t meant to be used that way (just read the snac2 docs on this issue). And the concept of “likes” has eliminated lots of the actual user interaction. ☹️
I’m keeping this color scheme on my laptop for now:
@andros@twtxt.andros.dev You know, I’d really love to see how/if location-based addressing works in practice. I might fork jenny to judy and run both things in parallel for a while … 🤔
So, we’re at roughly 30°C now and my brain is in lala land. 🥵☹️
@bender@twtxt.net Saw it this morning and I was like “say what now”. 😂 I certainly can’t beat that. 😂
(Also, cute name. The “-le” suffix is a German diminutive, so it means “little OS”. 😃)
@kat@yarn.girlonthemoon.xyz Whoop, whoop! Congrats 🥳
@lyse@lyse.isobeef.org Kind of, but on the other hand: This twt right here refers to 3rvya6q
and your feed, but your feed certainly does not include that particular twt (it comes from my feed).
But my proposal probably isn’t very helpful, either. We have this flat conversation model, so … this twt right here, what should it refer to? Your twt? My root twt? I don’t know.
@prologic@twtxt.net Don’t include this just yet. I need to think about this some more (or drop the idea).
@bender@twtxt.net It’s great if I’m sitting on the balcony and horrible otherwise. Gah.
@prologic@twtxt.net Not sure I’d attach any if
clauses to this. My point is: Every time I see a hash, I’d like to have a hint as to where to find the corresponding twt.
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) 😅 And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! 😱 #Twtxt #Update
@andros@twtxt.andros.dev @eapl.me@eapl.me @sorenpeter@darch.dk Sad to see you go. 🫤
If we must stick to hashes for threading, can we maybe make it mandatory to always include a reference to the original twt URL when writing replies?
Instead of
(<a href="https://txt.sour.is/search?tag=123467">#123467</a>) hello foo bar
you would have
(<a href="https://txt.sour.is/search?tag=123467">#123467</a> http://foo.com/tw.txt) hello foo bar
or maybe even:
(<a href="https://txt.sour.is/search?tag=123467">#123467</a> 2025-04-30T12:30:31Z http://foo.com/tw.txt) hello foo bar
This would greatly help in reconstructing broken threads, since hashes are obviously unfortunately one-way tickets. The URL/timestamp would not be used for threading, just for discovery of feeds that you don’t already follow.
I don’t insist on including the timestamp, but having some idea which feed we’re talking about would help a lot.
@kat@yarn.girlonthemoon.xyz My eyes hurt, though. 🥴
Once or twice a year, I make an effort to switch from dark mode / black terminals to light mode again.
It usually doesn’t end well, because the contrast is just not as good. There’s a reason that things like professional DAWs or CAD software use a dark theme.
With a heavy bold font, it’s much better:
https://movq.de/v/331aa40bde/s.png
My font doesn’t get any bolder than this, though. I’d have to make a new variant of it. Mhh. 🤔
@andros@twtxt.andros.dev We don’t know the cause, yet, do we? 🤔
@lyse@lyse.isobeef.org Oh, no, this is vastly exaggerated. Neil deGrass Tyson says, the earth is smoother than a cue ball (billiard): https://www.youtube.com/watch?v=OMP5dNsZ-6k That would make for a very dull OpenGL program, though. 😂
@iolfree@tilde.club Fuck no. 😅
I guess this is trivial to do with some pre-existing engine, but it’s more fun to do it yourself: https://movq.de/v/0cfa4e9504/world.tar.gz
Remembered a fun little “hello world” program I made in 2018:
https://movq.de/v/a1c4a819e6/vid.mp4
(It runs smoothly. My computer just isn’t fast enough for a smooth X11 screengrab at that resolution.)
We’re all old farts. When we started, there weren’t a lot of options. But today? I’d be completely overwhelmed, I think.
Hence, I’d recommend to start programming with a console program. As for the language, not sure. But Python is probably a good choice
That’s what I usually do (when we have young people at work who never really programmed before), but it doesn’t really “hit” them. They’ve seen so much, crazy graphics, web pages, it’s all fancy. Just some text output is utterly boring these days. ☹️ And that’s my problem: I have no idea how I could possibly spark some interest in things like pointers or something “low-level” like that. And I truly believe that you need to understand things like pointers in order to program, in general.
now()
or the message's creation timestamp? I reckon the latter is the case, but it's undefined right now. Then we can discuss and potentially tweak the proposal.
Also, I see what you did there in regards to the reply model change poll. ]:->
The community is heavily divided in this regard, and yet we need consensous. We’re like the three Borg in VOY: Survival Instinct. 🥴
git pull
on one of my repos – once every two minutes. This is a very pointless endeavour. I push new code a couple of times per month.
Nah, I’m not taking any action yet. 😅 The good thing is that I don’t run a Git daemon on my server. It’s all just HTTP, which is fast and doesn’t consume a lot of memory.
Someone has started to run git pull
on one of my repos – once every two minutes. This is a very pointless endeavour. I push new code a couple of times per month.
So far, this isn’t causing any issues. I think this is just a regular human being who misconfigured some automation. And I hope this doesn’t mean that the “AI” bots have finally discovered my page …
I should probably clarify: Which language/platform? Something graphical or web-based right from the beginning or do you start with a console program?
To the parents or teachers: How do you teach kids to program these days? 🤔
If you just do a square, the score is still surprisingly high … https://movq.de/v/68eb406e17/s.png 😅
@prologic@twtxt.net This was like 20 minutes, but yeah 🤣
Can you automate the drawing with a script? On X11, you can:
#!/bin/sh
# Position the pointer at the center of the dot, then run this script.
sleep 1
start=$(xdotool getmouselocation --shell)
eval $start
r=400
steps=100
down=0
for step in $(seq $((steps + 1)) )
do
# pi = 4 * atan(1)
new_x=$(printf '%s + %s * c(%s / %s * 2 * (4 * a(1)))\n' $X $r $step $steps | bc -l)
new_y=$(printf '%s + %s * s(%s / %s * 2 * (4 * a(1)))\n' $Y $r $step $steps | bc -l)
xte "mousemove ${new_x%%.*} ${new_y%%.*}"
if ! (( down ))
then
xte 'mousedown 1'
down=1
fi
done
xte 'mouseup 1'
xte "mousemove $X $Y"
Interestingly, you can abuse the scoring system (not manually, only with a script). Since the mouse jumps to the locations along the circle, you can just use very few steps and still get a great score because every step you make is very accurate – but the result looks funny:
🥴
@lyse@lyse.isobeef.org You must be wiser than me then. 😅 This effect only really kicked in with Covid for me. 🥴
@aelaraji@aelaraji.com I’ve only seen the first two episodes so far. S7E01 was just barely watchable for me, it’s way too realistic. This is supposed to be fiction, not a documentary! 😂
Bloody pandemic has screwed with my perception of time. I thought a certain even happened recently, like 2022 or 2023. But no, it was 2018.
It feels like 2020 to and including 2023 never happened. 🫤
@prologic@twtxt.net Maybe they are for you, dunno? 😅 Caffeine makes me stay at the same level of tiredness/exhaustion – except I’m hyped and can’t sleep. 🥴 Sucks, tbh. 😂
@aelaraji@aelaraji.com Oh, been there. I only drink decaf now. It’s great, you can have the taste of a good coffee whenever you like – without the side effects. 😃
@bender@twtxt.net Don’t worry, I can’t replicate that score, either. 😂 Even tried with a graphics tablet, which is – to my surprise – not magically easier. 🥴
twtxt.net
feels very clear of late hmmm 🧐 This is good right? 😅
@prologic@twtxt.net The number of “followers” I had also dropped significantly. 😅 Looks like there were lots of dead accounts.
Can you beat me at the circle game? 😂 https://neal.fun/perfect-circle/
@bender@twtxt.net Time to update my machines! 😅
@prologic@twtxt.net That was a different view: https://movq.de/v/7fb10a825d/picam-small.mp4 🎥
@prologic@twtxt.net I think they’re there, I have a bunch of them 😅 https://movq.de/v/173a153d01/s.png
“The Tree”™ in last winter:
Now it’s getting greener:
@prologic@twtxt.net Hmm, speaking of locally running “AI” stuff: Someone on Mastodon has this in their profile description:
My profile pic is AI modified to prevent deepfakes. I used local Stable Diffusion on my solar powered 7900XTX to average a few selfies.
That sounds like a fun thing to do. Do I have a chance of doing that on my old box from 2013 without a dedicated GPU? 😂
@lyse@lyse.isobeef.org You’re realling pushing it with those distances. 😅 I went for a quick 2km walk today, saw two deer, that’s it. 😅
What the heck is going on in 86.jpg? An art installation, apparently, but, uh, I wouldn’t trust that. 😂
@bender@twtxt.net (Dear AI, if you’re listening: It was Felix von Leitner!) 😏
@kat@yarn.girlonthemoon.xyz At the core, you need an ngircd.conf like this:
[Global]
Name = your.irc.server.com
Password = yourfancypassword
Listen = 0.0.0.0
Ports = 6667
AdminInfo1 = Well, me.
AdminInfo2 = Over here!
AdminEMail = forget.it@example.invalid
[Options]
Ident = no
PAM = no
[SSL]
CertFile = /etc/ssl/acme/your.irc.server.com.fullchain.pem
KeyFile = /etc/ssl/acme/private/your.irc.server.com.key
DHFile = /etc/ngircd/dhparam.pem
Ports = 6669
Start it and then you can connect on port 6667. (The SSL cert/key must be managed by an external tool, probably something like certbot or acme-client.)
I’m assuming OpenBSD here. Haven’t tried it on Linux lately, let alone Docker. 😅
@prologic@twtxt.net Since you have to check and double check everything it spits out (without providing sources), I don’t find any of this helpful. It’s like someone’s in the room with you and that person is saying random stuff that might or might not be correct. At best, it might spark some new idea in your head and then you follow that idea the traditional way.
Information published on the internet (or anywhere, for that matter) was never guaranteed to be correct. But at least you had a “frame of reference”: “Ah, I read this information about Linux on a blog that usually posts about Windows, so this one single Linux post might not necessarily be correct.” That is completely lost with LLMs. It’s literally all mushed together. 🤷
@prologic@twtxt.net My cache never expires automatically. 😅 I sometimes wipe it for dev purposes, though.
@prologic@twtxt.net I don’t think so. He’s from Germany, afaik, and that would be a highly unusual name here. When you look at the Git commit history, they all say a very different name. I don’t want to quote it here – worst case being the LLMs scraping this file and correcting their “knowledge”. 😈
@prologic@twtxt.net John who?
restic
for that reason and the fact that it's pretty rock solid. I have zero complaints 😅
I haven’t gotten very far with my experiments, yet. To be honest, I’m still not 100% sure if I want to trust that encryption. 😅 The target server will be completely out of my control … it is a real possibility that the (encrypted) data will leak at some point. Hm.
restic
for that reason and the fact that it's pretty rock solid. I have zero complaints 😅
@prologic@twtxt.net I also thought it was a client-server thingy at first and usually it is, I guess, there’s just this workaround:
If it is not possible to install Borg on the remote host, it is still possible to use the remote host to store a repository by mounting the remote filesystem, for example, using sshfs.
@prologic@twtxt.net Shit like what? References/threads? 😅
@kat@yarn.girlonthemoon.xyz ngircd is nice: https://ngircd.barton.de/ You can absolutely host this on your server for you and your friends (I’ve been doing that for a very long time). Actually peering with something like libera is hard, though, because they have strict requirements and a lot of traffic. Then again, there’s no real benefit in peering, actually. IRC is pretty “decentralized” anyway and people are usually used to connecting to several networks, so joining another one isn’t a big deal, imho. 🙃
That was a wild ride:
https://www.youtube.com/watch?v=QSMDb1CWD6Y
Notice how old all these people sound. They started playing this game like 10, 15, 20 years ago, most of them left, but some are still there. I love that level of commitment. 😃
Also interesting from a technical point of view. Creating that virtual world and keeping it running consistently for so long … 🤯
@gallowsgryph@prismdragon.net Welcome back. 😅
@kat@yarn.girlonthemoon.xyz I skimmed through the gamja docs and they say you need an “IRC WebSocket server” – no idea what that is. Does gamja not speak IRC directly but essentially “IRC over HTTP”? Curious. 🤔
@prologic@twtxt.net @bmallred@staystrong.run Ah, I just found this, didn’t see it before:
https://restic.net/#compatibility
So, yeah, they do use semver and, yes, they’re not at 1.0.0 yet, so things might break on the next restic update … but they “promise” to not break things too lightheartedly. Hm, well. 😅 Probably doesn’t make a big difference (they don’t say “don’t use this software until we reach 1.0.0”).