IncusOS Announced As Immutable Linux OS With ZFS For Running Containers
It has been two years already since the Linux Containers project forked Canonical’s LXD project as Incus. Now joining the Incus family is IncusOS as an immutable Linux OS built atop a Debian base with OpenZFS file-system support and designed around running containers with Incus… ⌘ Read more
Google Plans Secret AI Military Outpost on Tiny Island Overrun By Crabs
An anonymous reader shares a report: On Wednesday, Reuters reported that Google is planning to build a large AI data center on Christmas Island, a 52-square-mile Australian territory in the Indian Ocean, following a cloud computing deal with Australia’s military. The previously undisclosed project will reportedly position advanced A … ⌘ Read more
@bender@twtxt.net It’s sad. Remember that Munich once ran the LiMux project. 😞
We could build a strong IT sector in Germany or the EU, but we just don’t want to.
FreeDesktop.org Adopts The Filesystem Hierarchy Standard
Adding to the array of software projects and specifications under the FreeDesktop.org umbrella, the Filesystem Hierarchy Standard “FHS” has been adopted by these desktop-focused open-source developers… ⌘ Read more
FEX 2511 Delivers More Performance Improvements For Linux x86 Binaries On ARM64
FEX 2511 is out today for this open-source emulator akin to Apple’s Rosetta that allows running x86/x86+64 applications on ARM64. But in the case of FEX, for ARM64 Linux devices and akin to other open-source projects like Box64… ⌘ Read more
@movq@www.uninformativ.de Yeah, give it a shot. At worst you know that you have to continue your quest. :-)
Fun fact, during a semester break I was actually a little bored, so I just started reading the Qt documentation. I didn’t plan on using Qt for anything, though. I only looked at the docs because they were on my bucket list for some reason. Qt was probably recommended to me and coming from KDE myself, that was motivation enough to look at the docs just for fun.
The more I read, the more hooked I got. The documentation was extremely well written, something I’ve never seen before. The structure was very well thought out and I got the impression that I understood what the people thought when they actually designed Qt.
A few days in I decided to actually give it a real try. Having never done anything in C++ before, I quickly realized that this endeavor won’t succeed. I simply couldn’t get it going. But I found the Qt bindings for Python, so that was a new boost. And quickly after, I discovered that there were even KDE bindings for Python in my package manager, so I immediately switched to them as that integrated into my KDE desktop even nicer.
I used the Python KDE bindings for one larger project, a planning software for a summer camp that we used several years. It’s main feature was to see who is available to do an activity. In the past, that was done on a large sheet of paper, but people got assigned two activities at the same time or weren’t assigned at all. So, by showing people in yellow (free), green (one activity assigned) and red (overbooked), this sped up and improved the planning process.
Another core feature was to generate personalized time tables (just like back in school) and a dedicated view for the morning meeting on site.
It was extended over the years with all sorts of stuff. E.g. I then implemented a warning if all the custodians of an activitiy with kids were underage to satisfy new the guidelines that there should be somebody of age.
Just before the pandemic I started to even add support for personalized live views on phones or tablets during the planning process (with web sockets, though). This way, people could see their own schedule or independently check at which day an activity takes place etc. For these side quests, they don’t have to check the large matrix on the projector. But the project died there.
Here’s a screenshot from one of the main views: https://lyse.isobeef.org/tmp/k3man.png
This Python+Qt rewrite replaced and improved the Java+Swing predecessor.
@movq@www.uninformativ.de Uh, that actually looks not that terrible. Somehow, I remember Swing GUIs being way uglier.
As for Visual Basic, I only had to use VBA once in my life. That was in the beginning of my career when I inherited a project from a leaving coworker. Fuck me, was that awful. Just alone the damn compiler error dialog box popping up in my face all the time while editing and the compiler already trying to parse the unfinished and hence of course uncompilable code. Boy, that left a lasting impression on me. I ported everything to Java very quickly. Luckily, the code base wasn’t all that large at that point in time. I had to add a bunch of new features after that, so I was very glad that I convinced my workmate/project manager to do that first. We didn’t even need a GUI, the button in Excel was transformed to a command line program that just generated the large file.
But I cannot comment on the VB GUI designer, I never used that. Your screenshot looks very similar to the Delphi one, though. Only towards the end of my Delphi days I found out about the possibility to make the widgets snap to window edges and corners (I don’t remember how that was called), so that resizing the windows was actually possible without messing up their entire contents.
Switching to Linux, Delphi wasn’t an option anymore. For some reason I couldn’t use Kylix. Maybe it was already dead by the time I changed OSes. Or I couldn’t get it to run. I just don’t remember. I just recall that the unavailability of Delphi was the reason it took me a while to actually settle on Linux. I then fully switched to Java. The GridBagLayout was my absolutely favorite Swing layout manager. I reckon I used it 98% of the time, because it was so powerful and made the windows resize properly, just as I had learned to do in Delphi shortly before.
Up until discovering Swing, I used Java’s AWT for a short amount of time. That was very limited I think and I hit the limits fairly quickly. Later at uni, we had one project making use of SWT. Didn’t convince me either. I could be wrong, but I think there was also a SWT GUI designer plugin for Eclipse. If there really was, that one wasn’t in the same street as Delphi’s (there must be a reason I forgot about it ;-)).
@bender@twtxt.net Kaboom! Hahaha, I did not think of that at all, thanks for pointing it out, mate! :‘-D
But let me clarify just in case: I honestly do not want to bash this project. In fact, it’s a great little invention. It’s just that I’m not conviced by the current user interface decisions. Anyway, web design isn’t right up my alley. I just wanted to add some fun. And luckily, at least someone liked it so far. :-)
@movq@www.uninformativ.de Don’t you worry, this was meant as a joke. :-D
There was a time when I thought that Swing was actually really good. But having done some Qt/KDE later, I realized how much better that was. That were the late KDE 3 and early KDE 4 days, though. Not sure how it is today. But back then it felt Trolltech and the KDE folks put a hell lot more thought into their stuff. I was pleasantly surprised how natural it appeared and all the bits played together. Sure, there were the odd ends, but the overall design was a lot better in my opinion.
To be fair, I never used it from C++, always the Python bindings, which were considerably more comfortable (just alone the possibility to specify most attributes right away as kwargs in the constructor instead of calling tons of setters). And QtJambi, the Java binding, was also relatively nice. I never did a real project though, just played around with the latter.
man and it calls home to see if I'm allowed to do that.
Because OP twtxt seems to be a cross-post from the Fediverse, I am bringing some context here. It refers to this GitHub issue. This comment explains why the issue described is happening:
This is usually due to notarization checks. E.g. the binaries are checked by the notarization service (‘XProtect’) which phones home to Apple. Depending on your network environment, this can take a long time. Once the executable has been run the results are usually cached, so any subsequent startup should be fast.
OP network must be running on 1,200 Baud modem, or less. 🤭 I have never, ever, experienced any distinguishable delays.
@movq@www.uninformativ.de My impression also is that good sysadmins are missing. No wonder if they all get laid off because they’re “not doing anything” and developers can just operate their shit themselves. Or so the bosses and plenty devs think. Sadly, that’s the general view.
Hell no, devops is bullshit in my opinion. Most developers (including myself) are rather bad at administrating. A good sysadmin offers other skills. Great admins appear to just sit around, but they’re much more proactively working than programmers who also operate the same stuff. The latter have a waaay more reactive work model in comparison. When things have already gone south. The sysadmin, on the other hand, would have noticed and thus prevented the vast majority very early on when it was far from becoming a problem in the future.
At least that’s my personal experience in all those years in different projects and what my mates tell me from their companies. Sure, skills can be learned, but it’s just not happening (enough). And obviously, there are people out there who excel in both disciplines, but they are rare. Most fall in one of the categories. Not to forget, plenty are just bad at everything. :-)
It happened.
“Can you help me debug this program? I vibe coded it and I have no idea what’s going on. I had no choice – learning this new language and frameworks would have taken ages, and I have severe time constraints.”
Did I say “no”? Of course not, I’m a “nice guy”. So I’m at fault as well, because I endorsed this whole thing. The other guy is also guilty, because he didn’t communicate clearly to his boss what can be done and how much time it takes. And the boss and his bosses are guilty a lot, because they’re all pushing for “AI”.
The end result is garbage software.
This particular project is still relatively small, so it might be okay at the moment. But normalizing this will yield nothing but garbage. And actually, especially if this small project works out fine, this contributes to the shittiness because management will interpret this as “hey, AI works”, so they will keep asking for it in future projects.
How utterly frustrating. This is not what I want to do every day from now on.
Hopefully I can muster up the energy to start this new project:
Put up lots of thermometers and hygrometers in the apartment, have them report their readings wireless to a database.
I suspect that I’ll have to “build” these myself, because ready-to-use kits most like require some sort of cloud service. Dunno, haven’t checked yet.
Speaking of groff: I’ve been following their mailing list for a while now and this G. Branden Robinson person invests an insane amount of energy into that project. 🤯
@prologic@twtxt.net No, this is a Linux manpage from the man-pages project: https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man/man7/ascii.7
I do have an idea what’s going on. Could be an unfortunate interaction between the table preprocessor tbl and the man macro package. 🤔
@lyse@lyse.isobeef.org @dce@hashnix.club It’s pretty cool, I won’t argue that, but also really simple, to be completely honest. 😅 The BIOS already provides all you need to send data to the printer:
https://helppc.netcore2k.net/interrupt/bios-printer-services
The BIOS actually does provide a great deal of things, which, to me, was one of the most surprising learnings of this project (the project of writing a little 16-bit real-mode OS, that is). It often doesn’t feel like I was writing an operating system – it felt more like writing a normal program that just uses BIOS calls like we would use syscalls these days.
(I’ve also read a lot of warnings, like “don’t use the BIOS for this or that”. Mostly because it tends to be very slow.)
Now that’s interesting. Some of these bots start crawling at URLs like this:
That is obviously completely wrong. But I can explain it. Some years ago, I screwed up my nginx rewrite rules, and that’s how these broken URLs came to be.
It all redirects to /git now, which is why that endpoint sees so much traffic lately.
But what does that mean? Why do they start there? I can only speculate that this company bought an old database of web links and they use that to start crawling. And it was probably a cheap one, because these redirects have been fixed for quite a long time now.
@movq@www.uninformativ.de having to go to a gopher proxy to see a text document better served on readily available web servers… 🤭, but I digress. Verbatim text:
What's Missing from "Retro"
~softwarepagan
------------------------------------------------------------------
You know, often, when I say I miss older ways of computing or
connecting online, people tell me "there's nothing stopping you
from doing that now!" and they are technicay correct in most cases
(though I can't, for example, chat with friends on MSN ever
again...) However, let me explain that while this type of thing can
*sort of* fill that hole in my heart, it isn't *the same.*
Say, for example, I wanted to connect with others over a BBS. This
wouldn't offer the same types of connections it used to. While
there are BBSes around with active users, they're no longer there
to discuss movies, Star Trek, D&D, games, etc. They're there to
discuss *BBSes.* The same can be said for Gopher, old-school forums
and all sorts of revival projects (such as Escargot, Spacehey,
etc.) Retrocomputing enthusiasts, while they have a variety of
interests, are often in these spaces to discuss the medium itself
and not other topics. This exists at a stark contrast from how
things were in the past, where a non-tech-inclined person may learn
the tech to connect with likeminded others (as I did as a
Zelda-obsessed kid.)
The same can be said of old media. People will say "well, nobody is
stopping you from watching old shows/movies now!" Again, they are
technically correct. I can go home right now and watch *Star Trek:
The Next Generation* to my heart's content. It will never again,
however, be current, or new. When something is new, it serves as a
shared cultural experience. Remember how "Game of Thrones* felt in
the mid-to-late 2010s? Yeah, that.
It's sad. I sustain myself on a mixed diet of old things, new
things, and new things intended for old millenials like me who like
old things. It can be bittersweet.
@movq@www.uninformativ.de Yeah, luckily, there is the suckless project. I couldn’t live without dmenu!
@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.
Someone did a thing:
https://social.treehouse.systems/@ariadne/114763322251054485
I’ve been silently wondering all the time if this was possible, but never investigated: Keep doing X11 but use Wayland as a backend.
This uses XWayland’s “rootful” mode, which basically just gives you a normal Wayland window with all the X11 stuff happening inside of it:
https://www.phoronix.com/news/XWayland-Rootful-Useful
In other words, put such a window in fullscreen and you (more or less) have good old X11 running in a Wayland window.
(For me, personally, this won’t be the way forward. But it’s a very interesting project.)
It annoys me when I clone a git repository A in order to build and self-host some software, only to realize later that I also needed to clone repos B, C and D. I’m not saying that’s a bad thing–logical separation of code between, say, a client and a server is very handy–but some projects do not communicate very well when you need multiple tools to get it running independently.
I was this 🤏 close to buying a couple of baby-cactus plants but, I couldn’t … I still have to save up for that future screen printing project. 🥲
(Of course, if we’re talking about a project you’re doing for a customer and the customer keeps asking for new stuff, then you’re never done, and you have to think ahead and expect changes. Is that what they mean? 🤔)
@prologic@twtxt.net Ahhh, right, my bad, I could have easily found that. 🤦
There’s also a project page which lists some limitations of this study: https://www.media.mit.edu/projects/your-brain-on-chatgpt/overview/
It certainly sounds plausible. “Use it or lose it.”
On my blog: Developer Diary, Day of the African Child https://john.colagioia.net/blog/2025/06/16/african-child.html #programming #project #devjournal
Current toy project: an image feed generated by mk(1). Still some edges to clean up but it’s nice: http://a.9srv.net/img/_readme.html
On my blog: Developer Diary, International Sex Workers’ Day https://john.colagioia.net/blog/2025/06/02/sex-workers.html #programming #project #devjournal
On my blog: Developer Diary, Memorial Day https://john.colagioia.net/blog/2025/05/26/memorial.html #programming #project #devjournal
Please don’t upload my code on Github!
I’m thinking about putting this up on all my projects and even on the front page of my Gitea instance 🤔
My vision with this newsletter is to have a slower medium for communicating about my art as well as ideas and projects I’m working on regarding how we can use digital technology to our own benefits instead of being exploited by big tech.
Twtxt not sloe enough for you? 🤣
On my blog: Developer Diary, Malcolm X Day https://john.colagioia.net/blog/2025/05/19/malcolm-x.html #programming #project #devjournal
On my blog: Developer Diary, International Nurses Day https://john.colagioia.net/blog/2025/05/12/nurses.html #programming #project #devjournal
On my blog: Developer Diary, Day of the Midwife https://john.colagioia.net/blog/2025/05/05/midwives.html #programming #project #devjournal
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
@eapl.me@eapl.me I honestly believe you are overreacting here a little bit 🤣 I completely emphasize with you, it can be pretty tough to feel part of a community at times and run a project with a kind of “democracy” or “vote by committee”. But one thing that life has taught me about open source projects and especially decentralised ecosystems is that this doesn’t really work.
It isn’t that I’ve not considered all the other options on the table (which can still be), it’s just that I’ve made a decision as the project lead that largely helped trigger a rebirth of the use of Twtxt back in July 1 2020. There are good reasons not to change the threading model right now, as the changes being proposed are quite disruptive and don’t consider all the possible things that could go wrong.
Finally I propose that we increase the Twt Hash length from 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
On my blog: Developer Diary, Workers’ Memorial Day https://john.colagioia.net/blog/2025/04/28/workers-memorial.html #programming #project #devjournal
@doesnm.p.psf.lt@doesnm.p.psf.lt Because I’m a lazy project manage and I haven’t grooomed the backlog in a while 🤣 Since you’re there, do you mind cleaning it up for me? 🙏
On my blog: Developer Diary, Grounation Day https://john.colagioia.net/blog/2025/04/21/grounation.html #programming #project #devjournal
On my blog: Developer Diary, Pohela Boishakh https://john.colagioia.net/blog/2025/04/14/pohela-boishakh.html #programming #project #devjournal
On my blog: Developer Diary, 1994 Rwandan Genocide https://john.colagioia.net/blog/2025/04/07/rwanda.html #programming #project #devjournal
On my blog: Developer Diary, Transgender Day of Visibility https://john.colagioia.net/blog/2025/03/31/transgender.html #programming #project #devjournal
On my blog: Developer Diary, World Tuberculosis Day https://john.colagioia.net/blog/2025/03/24/tuberculosis.html #programming #project #devjournal
On my blog: Developer Diary, Saint Patrick’s Day ☘️ https://john.colagioia.net/blog/2025/03/17/patrick.html #programming #project #devjournal
On my blog: Developer Diary, Harriet Tubman Day https://john.colagioia.net/blog/2025/03/10/tubman.html #programming #project #devjournal
On my blog: Developer Diary, World Wildlife Day https://john.colagioia.net/blog/2025/03/03/wildlife.html #programming #project #devjournal
On my blog: Developer Diary, Kingdom of Ava https://john.colagioia.net/blog/2025/02/24/ava.html #programming #project #devjournal
On my blog: Developer Diary, World Eve of Social Justice https://john.colagioia.net/blog/2025/02/17/social-justice.html #programming #project #devjournal
On my blog: Developer Diary, Freedom to Marry Day https://john.colagioia.net/blog/2025/02/10/freedom-marry.html #programming #project #devjournal
On my blog: Developer Diary, Sámi National Day https://john.colagioia.net/blog/2025/02/03/saami.html #programming #project #devjournal