Kaidan: Kaidan 0.13.0: Multi-Account Support and Secure Password Storage
Kaidan 0.13.0 is out now!
And it comes with a bunch of shiny new features.
Most of the work has been … ⌘ Read more
The worst thing you can do is make your infrastructure (switches, wifi, …) depend on some cloud service. Because someone else is maintaining that service; you have no control over it. You 100% depend on that other person now. Very stupid idea.
Now guess what manufacturers are pushing for …
Now guess who couldn’t complete a task at work this Saturday morning, because a certain cloud service was down …
IT is fucked. Throw it all away and start over.
Hello everyone! 👋
After a long while away, I’m back on twtxt with this new feed.
Some of you might remember me as justamoment@twtxt.net, that was a test account I made for trying things out, but I ended up keeping it more than planned.
I also tried other social platforms in search of a place that felt right for me.
In the end twtxt was the one that ticked all of my boxes:
- Slow social: it act more like a feed reader and I really appreciate that there’s no flood of content that I can’t keep up with.
- No server needed: I absolutely love to have total control over my content, I tend to avoid having moving parts that might break, plus you can put your feed under version control and it’s all backed up.
- Ownership: I can put my feed anywhere I want and nobody can decide if I can access it or not.
- For hackers: a single .txt file allows me to join a community, how cool is that!
This is why I decided to build my own twtxt client, one that allows you to decide how the feed is presented on your “instance”.
It’s still in the making but I’ll try to share a bit of it once I defined how things should work.
Coincidentally, I discovered that @itsericwoodward@itsericwoodward.com and @zvava@twtxt.net were also building a twtxt client, seems like twtxt is set to grow!
@bender@twtxt.net I wish 🤣 Nah work on-site thingy😆
Working on a project that does Augmented Reality and computer vision object detection and QR code and image recognition inside a Web application. Pretty neat what can be done today with a few thousand lines of JavaScript.
@zvava@twtxt.net There would be only one hash for a message. Some to be defined magic date selects which hash to use. If the message creation timestamp is before this epoch, hash it with v1, otherwise hammer it through v2. Eventually, support for v1 could be dropped as nobody interacts with the old stuff anymore. But I’d keep it around in my client, because why not.
If users choose a client which supports the extensions, they don’t have to mess around with v1 and v2 hashing, just like today.
As for the school of thought, personally, I’d prefer something else, too. I’m in camp location-based addressing, or whatever it is called. There more I think about it, a complete redesign of twtxt and its extensions would be necessary in my opinion. Retrofitting has its limits. Of course, this is much more work, though.
@zvava@twtxt.net Not much of a known fact these days, but thereused to be a Yarn phone app (https://git.mills.io/yarnsocial/app), last version released 5 or so years ago, but it still suggests, it has to be somewhat feasable, to make another one. I don’t think anyone tried since, because the web version works well on phones, but I’m still hoping, we get a more native phone experience, one day.
@lyse@lyse.isobeef.org i dont mind if the hash is not backward compatible but im not sure if this is the right way to proceed because the added complexity dealing with two hash versions isnt justified
regular end users wont care to understand how twt hashes are formed, they just want to use twtxt! so i guess i could work in protecting users from themselves by disallowing post edits on old posts or posts with replies, but i’m not fond of this either really. if they want to break a thread, they can just delete the post (though i’ve noticed yarn handling post deletes dubiously…)
on activitypub i do genuinely find myself looking through several month or even year old posts sometimes and deciding to edit/reword them a little to be slightly less confusing, this should be trivial to handle on twtxt which is an infinitely simpler specification
@thecanine@twtxt.net it should work everywhere. It is a web application.
@movq@www.uninformativ.de Luckily, I had a grep -v git at the end, so my repo is still in working order. Phew. I wish find had grep-like --exclude-dir and --exclude options (or the include variants) instead of its own weird options that I never can remember and combine properly.
@zvava@twtxt.net It is just completely impossible to make v2 backwards-compatible with v1.
Well, breaking threads on edits is considered a feature by some people. I reckon the only approach to reasonably deal with that property is to carefully review messages before publishing them, thus delaying feed updates. Any typos etc., that have been discovered afterwards, are just left alone. That’s what I and some others do. I only risk editing if the feed has been published very few seconds earlier. More than 20 seconds and I just ignore it. Works alright for the most part.
wait….so i’m like nearly done? it just works? and it’s fast? this feels like the end of the first all-nighter i pulled where i just got post creation done, unaware of the three weeks that would follow — like looking at the roadmap i’m definitely not done but bbycll is like actually kind of usable now o.o
we are now parsing and recursively fetching remote feeds somewhat successfully, gotta work on the media proxy and markdown way more, so so many fucky edgecases….my friend’s feed with like four posts parsed correctly so i tried this account’s feed and well now im not going to bed on time
we are now parsing and recursively fetching remote feeds somewhat successfully, gotta work on the media proxy and markdown way more, so so many fucky edgecases….my friend’s feed with like four posts parsed correctly so i tried this account’s feed and well now im not going to bed on time
edit: remaking demo video
@bender@twtxt.net ohhh oops! i will work harder then 🫡🫡
@zvava@twtxt.net I never used any of the social media platforms, that’s why I’m probably ignorant.
I don’t understand the concept of a retwt. Just quote the (relevant) parts from whereever and comment on that. Or post a link instead of a quote. Sounds simple enough. :-) That’s also has the benefit that it works with every source, no matter what. Since it’s called retwt, I’d imagine this to only work (well) with whatever messages the system itself offers. But I could be wrong. What would be the benefit of having a dedicated message type or structure for “hey, look at that” messages in your opinion?
Hmm, what’s a content warning?
Erlang Solutions: ElixirConf US 2025: Highlights from My First ElixirConf
Joining conferences is one of the best perks of working as a Developer at Erlang Solutions. Despite having attended multiple Code BEAM conferences in Europe, ElixirConf US 2025 was my first. The conference had 3 tracks, filled with talks from 45+ speakers and 400+ attendees, both in-person and virtual.
ElixirConf is one of the great occasions to connect with other Elixir ent … ⌘ Read more
@zvava@twtxt.net I reckon there’s currently nobody working on v2. Which timezone are you in? Just post your questions here or head over to #yarn.social at libera.chat for a more realtime conversation via IRC.
Thanks to a blog post by ~solderpunk and the presence of ImageMagick on my pubnix, all of my weirdcore art (apart from the animated works) is now under 32K in size! Honestly, I’d say the lower JPEG quality actually adds to the vibe of the images: something from the early web, taken permanently out of context and long forgotten.
is there someone (ideally not in the opposite timezone to me) who’d be willing to let me bother them with technical questions abt twtxtv2 and/or yarn’s inner workings? :3
How about no longer using in-browser Git repo viewers? Make the AI bots do the work and actually clone the repo.
Pandemic distance did not stop father and son starting wine label
When pandemic border closures separated a father and son, they launched a wine label together. Now they are back in the same state and working closely together. ⌘ Read more
@kat@yarn.girlonthemoon.xyz like it’s the shame that kills me the most but i just gotta get through it if i want a working server (and i really do!!!)
** A week notes to round out the summer **
I haven’t posted anything remotely resembling week notes since the middle of June! Since then many things have happened including, but not limited to: a trip to Minnesota to visit Isaac, a couple trips to New Hampshire for work, a family trip to Mount Desert Island to revisit our old stomping grounds, a whole heap of bicycle riding, I finished a couple great books, played some games, made some games, and wrote what is probably an unhealthy a … ⌘ Read more
@bender@twtxt.net thank youuuu bender i missed your fun posts!!!! yeah i have been INSANELY BUSY with fujocoded work (see those newsletter posts!) it’s been tough but i’ve been making my way through it 🫡🫡🫡
How Generative AI Video Works - Computerphile ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter August 2025
XMPP Newsletter Banner
Welcome to the XMPP Newsletter, great to have you here again!
This issue covers the month of August 2025.
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, please consider saying thanks or help these proj … ⌘ Read more
the code to generate this image (have you noticed it is a 3D mesh?)
is here: https://abav.lugaralgum.com/selected-work/py5band/
@movq@www.uninformativ.de that works! Reading! :-)
Mathieu Pasquet: slixmpp v1.11
This new version includes a few new XEP plugins as well as fixes, notably
for some leftover issues in our rust JID code, as well as one for a bug that
caused issues in Home Assistant.
Thanks to everyone who contributed with code, issues, suggestions, and reviews!
CI and buildNicoco put in a lot of work in order to get all possible wheels built in CI. We now have manylinux and musl builds of everything doable within codeberg,
published to the codeberg pypi repo, and published on pypi. … ⌘ Read more
I finally have my new (top-secret) twtxt client in a working state. Next comes the deployment, which I hope to finish tonight. Release date: TBD. Stay tuned!
“But all your stuff is MIT licensed! They are allowed to do that!”
Haha. As if they would care. They crawl everything they get their hands on.
Besides, that’s not true, the license states that the copyright notice must be retained. “AI” breaks that. They incorporate my code and my articles in their product and make it appear as if it was their work.
There’s always something more urgent: I’ve been known for a long time that sooner or later I’d feel prompted to switch from #github to somewhere else (since 2018 at least!), but I’ve been postponing and only very slowly flirting with the idea… That didn’t work too bad for me: if I had rushed into it I would have probably migrated to #gitlab, before knowing about the more objectionable sides to it. In the end, 2025 was the year I finally acted upon the urge to move. I did not do a very thorough analysis of the alternative hosts - what I have been reading about them along the years felt enough, and I easily decided to choose #codeberg. Being hasty like that, alas, was a mistake: I just now found - during this slow and time-consuming process of deciding what and how to migrate - that there is a low repository limit on codeberg: “The owner has already reached the limit of 100 repositories.” I’m not complaining, mind you, and those “lucky 100” that are already there will stay - at least as a sort of backup. But this means that codeberg is not for me - and so this time I turn to you, the #mastodon community.
What github alternative, not self-hosted, should I move my >100 projects into?
@thecanine@twtxt.net We don’t use Microsoft at work – but similar products of other big companies. They’re all doing the same. The core product gets worse and worse, because they focus so much on vomiting “AI” over everything.
It will die down eventually. I hope.
We use all the Microsoft programs at work - Teams and Outlook especially.
After all kinds of technical problems with Teams, that sometimes go unresolved for over a year, Microsoft shifted their priorities away from fixing things and towards adding an annoying AI Copilot button, that just takes up space and all it does, is loads the website in Teams, so I disabled it. Soon they just add it back, but in a different row of icons, therefore it’s now a different button, you have to disable (I think they added yet another one, to the Teams, on my work phone and I had to disabled that too). Not too long after, the desktop one just enabled itself, because of “an error” and I can disable it, but doing so activates a popup, that begs you to turn it back on, every once in a while. You can’t disable the popup and can only click “Yes” or “Not now” on it. I still keep it disabled, out of principle, but yesterday I noticed yet another Copilot button, this time in the top right corner of my Outlook and this one cannot be disabled, on the business version of Outlook and even on the personal one, it’s only possible to do it through hidden privacy settings, by prohibiting the program from connecting to Microsoft servers, for extra “features”.
There’s people complaining about it online, so it’s clear nobody really wants it, but at this point Microsofts position is that you will have at least one useless AI button on your screen, at any given time, and you will be happy. And yes, their AI sucks and if I absolutely have to use AI for something, there’s already 2 better options, we have access to, at work.
It might just be my client, but it seems that I cannot track multiple URLs at once. As such, all three of my twtxt URLs will work for following, but mentions will only reach me at my HTTPS URL (https://hashnix.club/~dce/twtxt.txt). If there is a client that can cope with twtxt mirrors, I would love to know about it.
** To the surprise of literally no one, I’m working on implementing a programming language all my own **
Inspired by conversation at a recent Future of Coding event, I decided I’d write up a little something about the programming language I’ve been working on (for what feels like forever) before I’ve gotten it to a totally shareable state. I have a working interpreter that I’m pretty pleased with, but I don’t yet have an interact … ⌘ Read more
Dear @doctormo@doctormo, I’m a great admirer of your work in general and hopefully I won’t creep you out by telling everyone I’m your fan!
As a creator of digital vector-based art I find the color management stuff (trying to figure how to generate things to print “in CMYK”) mind boggling. I slowly try to read and acquire the concepts and vocabulary to understand more about this. I’m grateful for your work in this area. Thank you!
@movq@www.uninformativ.de @prologic@twtxt.net this is extremely concerning and I hope there is enough push back to stop this! The ability to modify apps, is one of the two biggest reasons, I’m still using Android. If they remove that option, I’ll be forced to switch to one of the de-Googled forks.
That might not be a good solution either, because I need banking and identity verification apps on my main device and already had to get a second device for work, which has tighter sideloading restrictions and I would very much not like to be forced into using three Android phones simultaneously, to do what should be possible, with just one.
@prologic@twtxt.net It’s quite similar to how escape sequences work in a terminal. ASCII text is printed as ASCII text and then an escape sequence can make it bold or underline and so on. Other escape sequences allow you to say “the following $n bytes are part of a bitmap image”, and then this gets printed at whatever the current position is (somewhat similar to SIXEL in a terminal).
It’s just that the units are a bit weird, because this is all done in bloody inch. 😅
This is why I love tech from that era.
Write bytes to a parallel port and stuff happens. If it’s just ASCII bytes, then it will print ASCII text. Even the simplest programs can use a printer this way.
With a little bit of ESC/P, you can print images and other fancy stuff. That’s what I did this morning – never worked with ESC/P before, now I can print images. It’s not that hard.
Hayes-compatible modems are similar: Write some AT commands to the serial port and the modem does things. This isn’t even arcane knowledge, it’s explained in the printed manual.
Maybe I’m wearing rose-tinted glasses here, but I think with all this old stuff, you get useful results very quickly and the manuals are usually actually helpful. It’s so much easier to get started and to use this hardware to the full extent. Much less complexity than what we have today, not a ton of libraries and dependencies and SDKs and cloud services and what not.
guys try Bluedwarf.top its so good and it works on every single browser even ones from 1990 its the best social media youll find
@lyse@lyse.isobeef.org ooooh! I wish I had that mallet here at work today. So many uses come to mind! 😂
Ugh, so NOT ready for work tomorrow
Help needed… can the #CodebergPages of #codeberg repos become subdirs of the “main” custom domain?
htts://villares.lugaralgum.com is published from a pages repo on codeberg.org /villares/pages
Can my /villares/other_repo/ page (from a pages branch I suppose) be published at villares.lugaralgum.com/other_repo ?
(this is how GitHub Pages work by default, can it be replicated on Codeberg?)
Help needed… can the #CodebergPages of #codeberg repos become subdirs of the “main” custom domain?
Currently https://villares.lugaralgum.com is published from a pages repo on https://codeberg.org/villares/pages
Can my /villares/other_repo/ page (from a pages branch I suppose) be published at villares.lugaralgum.com/other_repo ?
(this is how GitHub Pages work by default, can it be replicated on Codeberg?)
I have a #CreativeCoding course at Domestika, teaching the first steps of #Python and #py5. The feedback from students always makes me happy!
Check out this work by a student:
https://www.domestika.org/en/projects/1841169-programacion?ttag=a_b_a_villares
And other testimonials:
I have a #CreativeCoding course at Domestika, teaching the first steps of #Python and #py5. The feedback from students always makes me happy!
Check out this work by a student:
https://www.domestika.org/en/projects/1841169-programacion?ttag=a_b_a_villares
And other testimonials:
@movq@www.uninformativ.de Oh yeah, once in the quarter to the office is absolutely amazing and luxurious. Thank you teammates and employer! Though, I would already have been on site when these things happened earlier.
Today is my last day of holiday. Back to work again tomorrow. Not looking forward, vacation is just great. So easy to get used to.
I intentionally use #AI tools to work…
I’m using #Filen (@filen@filen) for a while now and I’m very pleased with it!
«Affordable zero-knowledge end to end encrypted cloud storage made in Germany.» Works on #Linux, nice well thought features.
So I’m going to share a referral link because «For every friend you invite to Filen you receive 10 GB - and your friend also receives 10B. It’s that easy»:
I have been using #Filen (@filen@filen) for a while now and I’m very pleased with it!
«Affordable zero-knowledge end to end encrypted cloud storage made in Germany.» Works on #Linux, nice well thought features.
So I’m going to share a referral link because «For every friend you invite to Filen you receive 10 GB - and your friend also receives 10B. It’s that easy»:
Aww man, the hot and sticky weather has returned to Minnesota. I wish the AC in my car worked..
We did an experiment at work today: Do I even need to lock my laptop when I’m gone or is nobody able to use it anyway?
It went as expected. 🤣
** Make awk rawk **
A friend online recently replied to something I wrote about awk by saying:
[…] it’s a danged shame [awk] didn’t continue to evolve the way Ruby, Python, PHP have evolved over the decades.
I had exactly this thought while working on my slightly unhinged“lets see if I can implement a basic scheme using awk by writing an assembler and VM in awk,” skwak. Which eventually lead me to start noodling on how to layer in some modern niceties into awk, without breaking awk’s portability.
… ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter July 2025
XMPP Newsletter Banner
Welcome to the XMPP Newsletter, great to have you here again!
This issue covers the month of July 2025.
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, please consider saying thanks or helping these project … ⌘ Read more
[47°09′04″S, 126°43′37″W] Storm recedes – back to normal work
[47°09′18″S, 126°43′41″W] Working impossible due to heavy rain
[47°09′59″S, 126°43′21″W] Storm recedes – back to normal work
@prologic@twtxt.net haha yeah for the youtube rules i just copied the first JSON block in your screenshot (i typed it out) and it miraculously worked! yayyy
@kat@yarn.girlonthemoon.xyz Oh sweet! I was gonna say, setting up those rules is a bit “complicated” 🤣 But I’m glad you worked it out! 👌
psst i’ll be at my local event for HTML day!!! i’m very excited but very nervous, i don’t even know what i’ll be working on! but i’ll figure it out…
i wanna work on my fanlisting PHP app but i feel so blocked on it
#GitHub #GitHubPages #fail This is driving me mad…
Images randomly deciding not to load on all my pages.
Is it just me? Is it my browser’s fault? Is it just in Brazil?
I was working on this #shapely + #trimesh page… and I can only see the last image (the animated gif)!
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html
#GitHub #GitHubPages #fail This is driving me mad…
Images randomly deciding not to load on all my pages.
Is it just me? Is it my browser’s fault? Is it just in Brazil?
I was working on this #shapely + #trimesh page… and I can only see the last image (the animated gif)!
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html
Update: On this exact page I have bungled the image URLs (I blame Marktext for being stupid and not using a relative reference). But I swear loading problems have been going on other well formed pages.
XMPP Interop Testing: MOAR TESTS!
Ever heard of XMPP Interop Testing? It’s this cool project that helps make sure different XMPP servers can all work
together smoothly. Our XMPP Interop Testing project provides a suite of automated tests that can be integrated into
CI/CD pipelines to verify the compliance and interoperability of XMPP server implementations.
Late last year, we reported that we had secured funding graciously provided by NLnet that allowed
us to massively build out t … ⌘ Read more
In 1996, they came up with the X11 “SECURITY” extension:
https://www.reddit.com/r/linux/comments/4w548u/what_is_up_with_the_x11_security_extension/
This is what could have (eventually) solved the security issues that we’re currently seeing with X11. Those issues are cited as one of the reasons for switching to Wayland.
That extension never took off. The person on reddit wonders why – I think it’s simple: Containers and sandboxes weren’t a thing in 1996. It hardly mattered if X11 was “insecure”. If you could run an X11 client, you probably already had access to the machine and could just do all kinds of other nasty things.
Today, sandboxing is a thing. Today, this matters.
I’ve heard so many times that “X11 is beyond fixable, it’s hopeless.” I don’t believe that. I believe that these problems are solveable with X11 and some devs have said “yeah, we could have kept working on it”. It’s that people don’t want to do it:
Why not extend the X server?
Because for the first time we have a realistic chance of not having to do that.
https://wayland.freedesktop.org/faq.html
I’m not in a position to judge the devs. Maybe the X.Org code really is so bad that you want to run away, screaming in horror. I don’t know.
But all this was a choice. I don’t buy the argument that we never would have gotten rid of things like core fonts.
All the toolkits and programs had to be ported to Wayland. A huge, still unfinished effort. If that was an acceptable thing to do, then it would have been acceptable to make an “X12” that keeps all the good things about X11, remains compatible where feasible, eliminates the problems, and requires some clients to be adjusted. (You could have still made “X11X12” like “XWayland” for actual legacy programs.)
This is your friendly reminder that you could be making #PaperObjects with #Python and #py5, you know?
https://github.com/villares/Paper-objects-with-Processing-and-Python/
(Mind you that GitHub images are mostly failing to load here today for some unknown reason)
If you like this, support my work:
https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724
https://liberapay.com/Villares
https://wise.com/pay/me/alexandrev562
#Processing #CreativeCoding
@movq@www.uninformativ.de How many? All of them!
My goodness, what assholes. Reacting based on the User-Agent might just work. For now.
@kat@yarn.girlonthemoon.xyz Just do it 🤣 I do this daily for work. It’s great!
Prosodical Thoughts: Debian repository key change
We have been working on some changes to our Debian/Ubuntu package repository.
If you use our repository to keep up to date with new Prosody packages, you
need to take action before 4th August 2025 to continue receiving updates
smoothly.
The ‘apt’ utility has been moving towards a new format for specifying package
repositories. If you are familiar with putting deb lines in a sources.list
file, [that method is changing](ht … ⌘ Read more
guys oh my god i went to the flea market and i found a WORKING POCKET PC PDA FOR 10 BUCKS. WE ARE SO BACK
@movq@www.uninformativ.de According to this screenshot, KDE still shows good old application icons:
And GNOME used to have them, too:
I like the looks of your window manager. That’s using Wayland, right? The only thing on this screenshot to critique is all that wasted space of the windows not making use of the full screen!!!1 At least the file browser. 8-)
This drives me nuts when my workmates share their screens. I really don’t get it how people can work like that. You can’t even read the whole line in the IDE or log viewer with all the expanded side bars. And then there’s 200 pixels on the left and another 300 pixels on the right where the desktop wallpaper shows. Gnaa! There’s the other extreme end when somebody shares their ultra wide screen and I just have a “regularish” 16:10 monitor and don’t see shit, because it’s resized way too tiny to fit my width. Good times. :-D
Sorry for going off on a tangent here. :-) Back to your WM: It has the right mix of being subtle and still similar to motif. Probably close to the older Windowses. My memory doesn’t serve me well, but I think they actually got it fairly good in my opinion. Your purple active window title looks killer. It just fits so well. This brown one (
) gives me also classic vibes. Awww. We ran some similar brownish color scheme (don’t recall its name) on Win95 or Win98 for some time on the family computer. I remember other people visting us not liking these colors. :-Dworking on a new astroJS based site and i hate being shit at web design because like i have the media for it ready (it’s for my fandom creations which are all done and ready to be shared here lol) but i keep agonizing over the design T__T
@kat@yarn.girlonthemoon.xyz Cool! I just got an idea for work tomorrow: Use dmenu to quickly start different SSH tunnels I routinely need.
We finally got a caliper donated for this year’s scout flea market. We didn’t sell it, but kept it ourselves. It will come in very handy every now and then in our material store. For example, I missed having a caliper in the past when sorting our random assortment of screws or measuring the depth of a hole. It’s a wee bit banged up (probably happened during transport) and didn’t come with a box, but the latter is now solved.
The lid and bottom came from a wardrobe back panel I got from a mate, the sides were rocket sticks in their former lives. I found some scrap of felt in our material store and some hinges laying around in the drawers of my own workshop.
Unfortunately, the table saw teared up the plywood veneer fibres badly, even though I put tape around to prevent that. This is the first time it didn’t work. At. All. To cover that up, I painted the box with some decades old tinting paint (price tag says Deutsche Mark, not Euro!) from my paint cabinet. It’s awesome, works absolutely perfectly and doesn’t smell the slightest bit. I reckon, this caliper box is plenty good enough for occasional use at our scout material store.
gomdn: Yet another Static Site Generator
Yet another Static Site Generator (SSG), but this one is mine.
It’s a stupidly simple Go program ( wc says 229 lines), more like a
hack, really, but I don’t need something like Hugo. Most of the real
work is done by the goldmark package, of course. This is mostly just a
wrapper, deciding if something needs to be rebuilt.
I’ve been using a Perl script together with cmark (originally
Markdown.pl) since forever. And before that the old [txt2tags](htt … ⌘ Read more
Status 2025-07-21
Morning, computer! Spending my days off trying to figure things out.
Some of them will occur in this post. I think best when I’m writing,
after all.
I’m back from a short vacation since a couple of weeks. I’m still
going to take a few days off every week for a while. I need the break.
It’s been way too many 12-16 hour workdays. I’m nominally working 80%
(~6 hour days), so I figure I’ve been working a lot for free.
Yeah, well, I like the TKey project to succeed. The ideas behind it
have implicatio … ⌘ Read more
i should work on my PHP project again just so i have an excuse to use htmx
A 12 years old tablet is slow but works fine;
A 12 years old tablet without software updates is almost useless.
After many weeks and probably at least a hundred hours of research, discussions and in-person viewing, I think I’ve finally come up with my Final Choices (shortlist) of a Hybrid Camper / Caravan that I think will suit my family and that I’ll enjoy (far less work for me to setup and teardown). The one at the top of the list I’m leaning towards os the SWAG SCT16 Family 4B
#Camping #CampersAnother really busy day at work! I woke up a bit late as I am feeling very tired, but I did my workout and 10K steps so it is a win!
[47°09′23″S, 126°43′47″W] Working impossible due to heavy rain
I have completed a big work task that I was lowkey procrastinating and now I feel so much better!
[47°09′10″S, 126°43′11″W] Working impossible due to blizzard
[47°09′37″S, 126°43′22″W] Storm recedes – back to normal work
setpriv on Linux supports Landlock.
Another example:
$ setpriv \
--landlock-access fs \
--landlock-rule path-beneath:execute,read-file:/bin/ls-static \
--landlock-rule path-beneath:read-dir:/tmp \
/bin/ls-static /tmp/tmp/xorg.atom
The first argument --landlock-access fs says that nothing is allowed.
--landlock-rule path-beneath:execute,read-file:/bin/ls-static says that reading and executing that file is allowed. It’s a statically linked ls program (not GNU ls).
--landlock-rule path-beneath:read-dir:/tmp says that reading the /tmp directory and everything below it is allowed.
The output of the ls-static program is this line:
─rw─r──r────x 3000 200 07-12 09:19 22'491 │ /tmp/tmp/xorg.atom
It was able to read the directory, see the file, do stat() on it and everything, the little x indicates that getting xattrs also worked.
3000 and 200 are user name and group name – they are shown as numeric, because the program does not have access to /etc/passwd and /etc/group.
Adding --landlock-rule path-beneath:read-file:/etc/passwd, for example, allows resolving users and yields this:
─rw─r──r────x cathy 200 07-12 09:19 22'491 │ /tmp/tmp/xorg.atom
PSA: setpriv on Linux supports Landlock.
If this twt goes through, then restricting the filesystem so that jenny can only write to ~/Mail/twt, ~/www/twtxt.txt, ~/.jenny-cache, and /tmp works.
Impossible Linux things in my to-do list:
- Fix erratically jumping mouse wheel scrolling on a Dell
- Make a “SysRq key” work so I can do “REISUB” or something, when my computer freezes
I must have spent days (multiples of 24 hours) trying to solve these things and maybe I should just give up.
I suppose that if I had a “Linux experienced” friend by my side these could be solved in minutes, maybe?
Lazy-fedi-question… I have a “working”(?) code example of TF-IDF #tfidf using #scikitlearn and I know the main concepts, but all the tutorials I find are a bit — I don’t want to be harsh but —crappy… Can someone point me to some nice open resource on it?
… okay, the SDL backend works if you also set SDL_VIDEODRIVER=wayland.
@movq@www.uninformativ.de Yeah, it’s a shitshow. MS overconfirms all my prejudices constantly.
Ignoring e-mail after lunch works great, though. :-)
Our timetracking is offline for over a week because of reasons. The responsible bunglers are falling by the skin of their teeth:
- The error message neither includes the timeframe nor a link to an announcement article.
- The HTML page needs to download JS in order to display the fucking error message.
- Proper HTTP status codes are clearly only for big losers.
- Despite being down, heaps of resources are still fetched.
I find it really fascinating how one can screw up on so many levels. This is developed inhouse, I’m just so glad that we’re not a software engineering company. Oh wait. How embarrassing.
@movq@www.uninformativ.de This is a really good example of “simplicity” but achieves the intent and goals 👌
(Now, I don’t know if your screen reader can work with this. Let me know if it doesn’t.)
I don’t use a screen reader fortunately (actually they’re pretty garbage). So all good 👍 (I juse use full-screen zoom).
@prologic@twtxt.net Yeah, this really could use a proper definition or a “manifest”. 😅 Many of these ideas are not very wide spread. And I haven’t come across similar projects in all these years.
Let’s take the farbfeld image format as an example again. I think this captures the “spirit” quite well, because this isn’t even about code.
This is the entire farbfeld spec:
farbfeld is a lossless image format which is easy to parse, pipe and compress. It has the following format:
╔════════╤═════════════════════════════════════════════════════════╗
║ Bytes │ Description ║
╠════════╪═════════════════════════════════════════════════════════╣
║ 8 │ "farbfeld" magic value ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4 │ 32-Bit BE unsigned integer (width) ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4 │ 32-Bit BE unsigned integer (height) ║
╟────────┼─────────────────────────────────────────────────────────╢
║ [2222] │ 4x16-Bit BE unsigned integers [RGBA] / pixel, row-major ║
╚════════╧═════════════════════════════════════════════════════════╝
The RGB-data should be sRGB for best interoperability and not alpha-premultiplied.
(Now, I don’t know if your screen reader can work with this. Let me know if it doesn’t.)
I think these are some of the properties worth mentioning:
- The spec is extremely short. You can read this in under a minute and fully understand it. That alone is gold.
- There are no “knobs”: It’s just a single version, it’s not like there’s also an 8-bit color depth version and one for 16-bit and one for extra large images and one that supports layers and so on. This makes it much easier to implement a fully compliant program.
- Despite being so simple, it’s useful. I’ve used it in various programs, like my window manager, my status bars, some toy programs like “tuxeyes” (an Xeyes variant), or Advent of Code.
- The format does not include compression because it doesn’t need to. Just use something like bzip2 to get file sizes similar to PNG.
- It doesn’t cover every use case under the sun, but it does cover the most important ones (imho). They have discussed using something other than RGBA and decided it’s not worth the trouble.
- They refrained from adding extra baggage like metadata. It would have needlessly complicated things.
Time to work on updating my tilde again after such a long time.
@eldersnake@we.loveprivacy.club This was an interesting read for sure! 👍 I don’t think it had anything I hadn’t already considered in terms of the ethical/moral points of view. I’m not sure where I stand myself either to be honest. I’ve forced myself to get familiar with the ecosystem and tooling, because in my line of work as a tech lead (staff engineer in sre) you don’t want to be that one guy that ya know 😉 Ethically/Morally though, I’m definitely with the sentiment of this post 😅 Much like the whole Crypto hype yaers back (if y’all remember?!) this is also one of the most energy hungry pieces of “tech” (if you can call it that?) in a while. Then there’s these other issues “stealing people’s work”, “reliance is causing humans to become cognitively weak and neural connections to shrink”, to name a few…
In all fairness, GOG says that Forsaken is only supported on Ubuntu 16.04 – not current Arch Linux. If you ask me, this just goes to show that Linux is not a good platform for proprietary binary software.
Is it free software, do you have the source code? Then you’re good to go, things can be patched/updated (that can still be a lot of work). But proprietary binary blobs? Very bad idea.
I bought the “remastered” versions of Grim Fandango and Forsaken on GOG, because they’re super cheap at the moment. Both have native Linux versions.
And both these Linux version crap their pants. 🫤 The bundled SDL2 of Forsaken says it “can’t find a matching GLX visual” and I couldn’t figure out how to fix that. I didn’t spend a lot of time on Grim Fandango.
Both work great in Wine. 🤦
(I do have the original version of Grim Fandango from the 1990ies, but that one does not work so well in Wine. I figured, if it’s so cheap, why not. And I now get to play the english version. 😃 The german dub is pretty damn good, actually, but I always prefer the original these days.)
[47°09′11″S, 126°43′46″W] Storm recedes – back to normal work
[47°09′49″S, 126°43′15″W] Working impossible due to heavy rain