@movq@www.uninformativ.de Wow, Iām sorry to hear about that. Permanent emergency mode sucks, Iāve been there, and it always felt like drowning.
Fortunately, at my current job, weāve been given time to keep our technical debt from overtaking the project. Unfortunately, weāve been forced to use AI (mostly in the form of GitHub Copilot). Of course, now that the tokens cost more than a developerās salary, theyāve been rethinking that position somewhat. š
In my experience, you are 100% correct - even in the best case, AI is a force multiplier. If the code is clean, it can speed you up. But if the code is a mess, itāll just multiply the mess.
Okay. I have lost the ābattleā against āAIā at work and I will no longer try to āfightā any of it.
It is simply what people want. They want to use it. And thatās the end of it.
And why do they want it? Because it makes their job easier. And why is that? In very large parts, itās because we have accumulated a metric fuckton of technical debt due to decades long mismanagement. We were (and are) operating in āemergency modeā all the time. There simply was no time to clean things up or to rethink designs. We always have to go with the cheapest and quickest solution. We are never ahead of things: Earlier this year, I started an initiative and wanted to tackle some issue that I could see coming. I was shut down because this wasnāt āurgentā. Very soon after, this exact thing became that exact problem ā but now, there was no time anymore to do it properly because NOW itās urgent, so, once again, we had to go with a quick and dirty solution.
Itās always like that and I had brought it up again and again. And now we have a huge spaghetti mess that hardly anyone understands anymore.
Nobody ā except AI. It can still make some sense of this and, obviously, this is useful to people.
So, any argument I make against AI is completely pointless to begin with. Iām such a fool for not having seen this earlier.
The last argument I made today was: āLook, we already have so much technical debt and spaghetti systems, we really, really must clean this up. If we throw AI on top of this now, itāll only get so much worse.ā And once more, I was shut down. My intentions were āadmirableā, but āthereās no time for thatā.
Okay. Good luck with that. Theyāll keep doing it this way. At some point, itāll either explode entirely and some poor soul has to clean it up, or itāll explode and theyāll have no other choice but to throw everything away and start from scratch ā assuming they can still afford that.
In other words, none of this about AI, really, nor caused by it. Our departmentās massive spike in AI usage is just a symptom of the underlying management issues. And since those arenāt being addressed, nothing will change and this whole mess will only get worse.
(I blame all this on management, because, well, thatās whoās to blame. I do not have a solution for it, though ā and assigning blame without constructive criticism always sucks big time. I donāt like doing this. If you had put me into that particular management position, I wouldnāt have been able to solve any of this. The thing is, though, Iām not an expert on management and it isnāt my job ā Iām just the āprincessā who solves your technical issues.)
@prologic@twtxt.net Wow, thanks everyone for the kind words! š
In answer to @movq@www.uninformativ.de and @bender@twtxt.net: Iām sorry, itās just the default camera app on my Samsung Galaxy S23 phone with the āPortraitā mode turned on. Itās a trick I learned from my wife, who used to work for a dog daycare and took pics of doggos for their FB page. It works well for humans, too. š
@lyse@lyse.isobeef.org Thanks (again) for the heads-up!. Iām not sure why you were seeing black text, but I just pushed a new version of the library (v0.10.1) with some updated colors in the demoās themes (which should hopefully address the contrast issues).
The dark mode was an aesthetic choice by a designer with a strong preference for dark mode (and who thought the maroon looked better as a background color), but in the interest of being supportive of my audience, I added a localstorage-backed memory to the theme toggle (so when you turn it to light mode, it should remember for future visits).
@kiwu@twtxt.net I am trying to read our Information Security Office āmindā to grasp what they want. So far they seem to want to get logs from our BIG-IP F5 load balancers into Azure Sentinel, but the Telemetry Streaming plugin normally used for it is on maintenance mode, with deprecations happening on the F5 and Microsoft side soonish. So, yeah⦠āfunā. Oh, and they want it on production by tomorrow. LOLz!
The Whatsapp application on my Galaxy is now in Deep Sleep mode.
./bin/mu -B -o ... -p muos/amd64 ... target.
@prologic@twtxt.net Iād love to take a look at the code. š
Iām kind of curious to know how much Assembly I need vs. How much of a microkernel can I build purely in Mu (µ)? š¤
Canāt really answer that, because I only made a working kernel for 16-bit real mode yet. That is 99% C, though, only syscall entry points are Assembly. (The OpenWatcom compiler provides C wrappers for triggering software interrupts, which makes things easier.)
But in long mode? No idea yet. š At least changing the page tables will require a tiny little bit of Assembly.
./bin/mu -B -o ... -p muos/amd64 ... target.
@movq@www.uninformativ.de Yes!
Did you do the whole dance with BIOS boot and everything?
Yup! Farkān LBA shit and all, loading up the GDT, TSS and switching to x86_64 long mode š¤£
@shinyoukai@neko.laidback.moe Yes; however the interpreter is also platform dependent and relies on making raw syscalls. This is so the runtime semantics remain the same between the two execution modes.
Iāll see if I can add support for linux/amd64 and netbsd/amd64 for the VM at least.
At around 19 seconds in the video, you can see some minor graphical glitches.
Text mode applications in Unix terminals are such a mess. Itās a miracle that this works at all.
In the old DOS days, you could get text (and colors) on the screen just by writing to memory, because the VGA memory was mapped to a fixed address. We donāt have that model anymore. To write a character to a certain position, you have to send an escape sequence to move the cursor to that position, then more escape sequences to set the color/attributes, then more escape sequences to get the cursor to where you actually want it. And then of course UTF-8 on top, i.e. you have no idea what the terminal will actually do when you send it a āšā.
Mouse events work by the terminal sending escape sequences to you (https://www.xfree86.org/current/ctlseqs.html#Mouse%20Tracking).
ncurses does an amazing job here. Itās fast (by having off-screen buffers and tracking changes, so it rarely has to actually send full screen updates to the terminal) and reliable and works across terminals. Without the terminfo database that keeps track of which terminal supports/requires which escape sequences, weād be lost.
But gosh, what a mess this is under the hood ⦠Makes you really miss memory mapped VGA and mouse drivers.
@prologic@twtxt.net That might be a challenge, at least in 16-bit Real Mode: The OS follows the model of COM files on DOS, i.e. the size of the binary cannot exceed 64 KiB and heap+stack of the running program will have to fit into that same 64 KiB. š (The memory layout is very rigid, each process gets such a 64 KiB slice.)
And in 64-bit Long Mode, there is no ākernelā yet. The thing in the video is literally just a small bare-metal program.
But some day, maybe. š
My little toy operating system from last year runs in 16-bit Real Mode (like DOS). Since Iāve recently figured out how to switch to 64-bit Long Mode right after BIOS boot, I now have a little program that performs this switch on my toy OS. It will load and run any x86-64 program, assuming itās freestanding, a flat binary, and small enough (< 128 KiB code, only uses the first 2 MiB of memory).
Here Iām running a little C program (compiled using normal GCC, no Watcom trickery):
https://movq.de/v/b27ced6dcb/los86%2D64.mp4
https://movq.de/v/b27ced6dcb/c.png
Next steps could include:
- Use Rust instead of C for that 64-bit program?
- Provide interrupt service routines. (At the moment, it just keeps interrupts disabled.)
dark mode forevah!
donāt mind the glaring light mode i just think the pink looks pretty. this ādesktop modeā is just a bunch of css repurposing the sidebar into the taskbar, but the file manager and its supporting code is proving a very fun endeavour. my favorite part is u can just turn javascript off and it functions like a regular website with nothing suspicious about it at all
sorry i havenāt been working on bbycll or even hanging around twtxt much at all as of late ā gf was over for a few weeks, i turned twenty years old, and have been doing extremely unnecessary things to my website

Javaās Swing is allegedly in āmaintenance modeā, so I doubt itās a good idea to use it for new programs. For example, I very much doubt that it will ever support Wayland.
The replacement is supposed to be JavaFX, but thatās not included in JREs ā anymore! It used to be, now itās not, even though itās well over 15 years old now.
This whole thing (āJava GUIsā) appears to have stagnated a lot. Probably because everything is web stuff these days ā¦
https://www.oracle.com/java/technologies/javafx/faq-javafx.html#6
@prologic@twtxt.net Hmm, Iāll have to take a look. Appears to be Go only, doesnāt it?
Iām not quite sold yet on the idea of āimmediate modeā GUIs. š¤
@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.)
Good morning. Driving the dot matrix printer from my little real-mode toy OS. šØļø
(This is just a wrapper around BIOS INT 17. I love it nonetheless. š )
curl -s gopher://⦠does that for you.
@movq@www.uninformativ.de nice āsilent modeā, thank you!
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.)
I did a ālectureā/āworkshopā about this at work today. 16-bit DOS, real mode. š¾ Pretty cool and the audience (devs and sysadmins) seemed quite interested. š„³
- People used the Intel docs to figure out the instruction encodings.
- Then they wrote a little DOS program that exits with a return code and they used uhex in DOSBox to do that. Yes, we wrote a COM file manually, no Assembler involved. (Many of them had never used DOS before.)
- DEBUG from FreeDOS was used to single-step through the program, showing what it does.
- This gets tedious rather quickly, so we switched to SVED from SvarDOS for writing the rest of the program in Assembly language. nasm worked great for us.
- At the end, we switched to BIOS calls instead of DOS syscalls to demonstrate that the same binary COM file works on another OS. Also a good opportunity to talk about bootloaders a little bit.
- (I think they even understood the basics of segmentation in the end.)
The 8086 / 16-bit real-mode DOS is a great platform to explain a lot of the fundamentals without having to deal with OS semantics or executable file formats.
Now that was a lot of fun. š„³ Itās very rare that we do something like this, sadly. I love doing this kind of low-level stuff.
@movq@www.uninformativ.de neither do I š and Iām going full Albert Camus mode. Embracing the Absurdism of life just to cope, itās the only choice I have left.
@prologic@twtxt.net ah thatās alright! the banner is just for fun :] it might be easier to skip to the comments with this link if you want (itās in the site view mode rather than my pageās theme) https://luckyzukky.dreamwidth.org/98451.html?style=site#comments
@movq@www.uninformativ.de not bad! The yellowish/ivory tint makes it much easier on the eyes. I have gotten so use to ādarkā mode, that find it hard switching to anything else.
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. š¤
An AlphaStationās SROM
The AlphaStation 500 is a workstation from Digital, circa 1996. Mine is a 500 MHz model and has an Alpha 21164A processor (aka EV56). And the way it boots is weird. On your common-or-garden PC, there has always been some kind of ROM chip. It holds a piece of firmware known as the BIOS. This ROM chip is available at a well-known location in the processorās address space (remembering that any PC processor boots up in 16-bit, 8088 compatible mode, with a 1 MiB address space, just like an I ⦠ā Read more
@arne@uplegger.eu Iām very glad I only rarely have to deal with .docx & Co. And when I have to, 99% is in read mode only. Even though, I donāt think that Markdown is the best choice, I use it on a daily basis. Some things, like links, in reStructuredText are better in my opinion.
Jira just resists to switch to Markdown and forces us to use its silly markup language.
For real typesetting, LaTeX is the way to go. But I very, very rarely do that.
@thecanine@twtxt.net And this is exactly why there are quirks modes in browsersā¦
Iām actually glad I donāt have to deal with all this web shit and work with compilers that hit me in the face when I do something illegal. :-)
Hello, i want to present my new revolution twtxt v3 format - twjson
Thatās why you should use it:
- Itās easy to to parse
- Itās easy to read (in formatted mode :D)
- It used actually \n for newlines, you donāt need unprintable symbols
- Forget about hash collisions because using full hash
Here is my twjson feed: https://doesnm.p.psf.lt/twjson.json
And twtxt2json converter: https://doesnm.p.psf.lt/twjson.js
@lyse@lyse.isobeef.org @bender@twtxt.net It already is a tiling window manager, but some windows canāt be tiled in a meaningful way. I admit that Iām mostly thinking about QEMU or Wine here: They run at a fixed size and canāt be tiled, but I still want to put them in āfull screenā mode (i.e., hide anything else).
@movq@www.uninformativ.de You could also just use a tiling window manager. :-) As a bonus, it doesnāt waste dead space, the window utilizes the entire screen. To also get rid of panels and stuff, put the window in fullscreen mode.
I have released new updates to the twtxt.el client.
- Markdown to Org mode (you need to install Pandoc).
- Centred column.
- Added new logo.
- Added text helper.
The new version I will try to finish the visual thread. You still canāt see the thread yet.
#emacs #twtxt #twtxtel
Philadelpia - Long run: 14.22 miles, 00:10:02 average pace, 02:22:39 duration
great long run. had a few places in mind to try and visit (tun tavern, rocky steps, the river thing) and hit them all with not really any idea where they were. pretty much just went tourist mode taking pictures and reading signs. it was so freaking cold! 22F i think. took the beanie off and the sweat had turned to ice, and my torso was all red from the rubbing of my clothes.
#running
Did the Windows 95 setup team forget that MS-DOS can do graphics?
One of the reactions to my discussion of why Windows 95 setup used three operating systems (and oh there were many) was my explanation that an MS-DOS based setup program would be text-mode. But cāmon, MS-DOS could do graphics! Are you just a bunch of morons? Yes, MS-DOS could do graphics, in the sense that it didnāt actively prevent you from doing graphics. You were still responsible for everything you ⦠ā Read more
Hendersonville - Long run: 7.29 miles, 00:09:56 average pace, 01:12:28 duration
missed the 9 mile target. wrong shoes for the job. had to cut my route short due to flash flooding so turned on tourist mode. did some mud skating and just took everything in
#running
Reviving a dead audio format: the return of ZZM
Long-time readers will know that my first video game love was the text-mode video game slash creation studio ZZT. One feature of this game is the ability to play simple music through the PC speaker, and back in the day, I remember that the format āZZMā existed, so you could enjoy the square wave tunes outside of the games. But imagine my surprise in 2025 to find that, while the Museum of ZZT does have a ZZM Audio section, it recommends t ⦠ā Read more
The invalid 68030 instruction that accidentally allowed the Mac Classic II to successfully boot up
A bug in the ROM for the Macintosh II was recently discovered that causes a crash when booting in 32-bit mode. Doug Brown discovered and documented the bug while playing with the MAME debugger. Why did it never show up before? It seems a quirk in Motorolaās 68030 CPU inadvertently fixes it when executing an illegal instruction that shou ⦠ā Read more
Snowdrop OS: a homebrew operating system from scratch, in x86 assembly language
Snowdrop OS was born of my childhood curiosity around what happens when a PC is turned on, the mysteries of bootable disks, and the hidden aspects of operating systems. It is a 16-bit real mode operating system for the IBM PC architecture. I designed and developed this homebrew OS from scratch, using only x86 assembly language. ā« Snowdrop OSā website I have created and includ ⦠ā Read more
While the US politicians and tech billionaires are going full-on fascist mode, here is a reminder that there are European alternatives for many well known digital and online services: https://european-alternatives.eu
:diffoff a vim command...
@prologic@twtxt.net it offends someone with a different opinion? š¤£
No, seriously⦠:diffoff is used to disable vimās diff mode thatās usually started running vim -d someFile someOtherFile or by having both files on a split window and applying :diffthis on both panes. (just learned this this morning)
Iāve been making a little toy operating system for the 8086 in the last few days. Now that was a lot of fun!
I donāt plan on making that code public. This is purely a learning project for myself. I think going for real-mode 8086 + BIOS is a good idea as a first step. I am well aware that this isnāt going anywhere ā but now Iāve gained some experience and learned a ton of stuff, so maybe 32 bit or even 64 bit mode might be doable in the future? Weāll see.
It provides a syscall interface, can launch processes, read/write files (in a very simple filesystem).
Hereās a video where I run it natively on my old Dell Inspiron 6400 laptop (and Warp 3 later in the video, because why not):
https://movq.de/v/893daaa548/los86-p133-warp3.mp4
(Sorry for the skewed video. Itās a glossy display and super hard to film this.)
It starts with the laptopās boot menu and then boots into the kernel and launches a shell as PID 1. From there, I can launch other processes (anything I enter is a new process, except for the exit at the end) and they return the shell afterwards.
And a screenshot running in QEMU:

@prologic@twtxt.net I bet our twts are already being fed to circuit monsters⦠Remember the other day when Iād snapped out about some nonsense, being an A-Hole and what not? Iāve seen an AI company employee lurking around with not much interaction (if Iām not mistaken), so my mind went on auto-pilot mode thinking āThis !#@%$ must be feeding us to the circuit peggy monster!! Arrr š¤ā š¤£š¤£š¤£ but then again, one shouldnāt judge a book by itās cover (or an employee by his title) right?
for example, ejabberd, redka, and litefs. all using sqlite+litefs for their database needs allows agents to communicate over xmpp, matrix, mqtt, and sip. other applications can use sqlite for storage or speak the redis protocol to redka. ejabberd can also handle file uploads, static file publishing, identity, and various other web application services. when scaling, litefs integrates with consul to manage replication which grants the network access to service disco, encrypted mesh networking, and various other features that can be used to build secure service grids. ejabberd and redka can be scaled to multiple nodes that coordinate over the litefs replication protocol without any changes to the db storage config. other components can be configured to plug into this framework fairly easily as well. we keep the network config fairly simple by linking nodes together with yggdrasil to flatten the address space and then linking app nodes together using consul to provide secure routing for the local grid service. yggdrasil also offers utility for buliding federated networks in a similarly flat address space, for more secure communications i2p is also available in yggdrasil mode. minibase is wonderful, and we have not even started to talk about secure IoT.
twtxt.net lost its dark mode? Itās glaringly bright now. š
gg=G and to va", ci", di{... in vim the other day š Life will never be the same, I can feel it. ref
@prologic@twtxt.net Nice. My muscle memory defaults to visual block mode then insert across rows for this circumstance. Itās funny how you do things so often without thinking about a different way of doing it.