@movq@www.uninformativ.de Right 😅
So, are you guys up for an experiment?
I’m really not happy with the domain “uninformativ.de” anymore. I’m going to switch to “movq.de” soon (or maybe something else if I get another fancy idea).
If I keep the url = field in my twtxt file, nothing should break, right? Right? 🤣
@prologic@twtxt.net Yup. 😅
Fark me OS Dev is hard 🤣
@movq@www.uninformativ.de that’s just 🎁 🕯️.
@movq@www.uninformativ.de infinite interaction!
./bin/mu -B -o ... -p muos/amd64 ... target.
@lyse@lyse.isobeef.org Thanks!
Wow, as I anticipated, this is waaay out of my capabilities to really understand it. But I’m quite happy to just have spotted a mistake in an explanatory comment in section 4.5.2 “The icode Array”. Of course, it should be /e + tc + /i + ni + t\0. Let’s hope that my e-mail with the patch actually makes it into Briam’s inbox. I fear GMail just hides it in the spam folder.
@bender@twtxt.net gemini-cli, something something https://github.com/google-gemini/gemini-cli/issues/16723
I recently got an email with this byte sequence:
\xf0\x9f\x8e\x81\xf0\x9f\x95\xaf\xef\xb8\x8f
That’s U+1F381, U+1F56F, U+FE0F. The last one is a “variation selector”:
https://unicodeplus.com/U+FE0F
My toolkit renders this incorrectly – and so do tmux and GNU screen.
Unicode ain’t easy. 🥴
/me clones the repository, calls gemini-cli, and asks for an executive summary. Gemini-CLI replies “Don’t bother!” LOL.
@movq@www.uninformativ.de Just 323 pages! That’s cool, let’s have a look. :-)
./bin/mu -B -o ... -p muos/amd64 ... target.
@prologic@twtxt.net Tada! Maybe one day I might look into this lowlevel stuff, too. But I can’t see it on the horizon yet. Happy hacking! :-)
https://github.com/unix-v4-commentary/unix-v4-source-commentary
A comprehensive, line-by-line commentary on the UNIX Fourth Edition source code (released November 1973; tape recovered from June 1974 distribution).
./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.
I’m kind of curious to know how much Assembly I need vs. How much of a microkernel can I build purely in Mu (µ)? 🤔
./bin/mu -B -o ... -p muos/amd64 ... target.
I’ve only got a handful of syscalls working right now. Taking inspiration from the calling convention of the Linux kernel and even made the service/interrupt handler int 0x80h 🤣 I’ve only got read, write, alloc and exit working righ tnow 🥲
./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 🤣
./bin/mu -B -o ... -p muos/amd64 ... target.
@prologic@twtxt.net Damn, nice! I know exactly what you mean – the output/screenshot looks trivial, but there’s so much going on behind the scenes. 😃
Did you do the whole dance with BIOS boot and everything?
./bin/mu -B -o ... -p muos/amd64 ... target.
Whohoo! 🥳
You have no idea how great a feeling this is! This includes the Mu stdlib and runtime as well, not just some simple stupid program, this means a significant portion of the runtime and stdlib “just works”™ 🤣
Btw @movq@www.uninformativ.de you’ve inspired me to try and have a good ‘ol crack at writing a bootloader, stage1 and customer microkernel (µKernel) that will eventually load up a Mu (µ) program and run it! 🤣 I will teach Mu (µ) to have a ./bin/mu -B -o ... -p muos/amd64 ... target.
@eldersnake@we.loveprivacy.club haha! I read as Golang the first time too. It is just the way our minds work. :-P
@kiwu@twtxt.net problems are aplenty everywhere, Kiwu. As we all know, ups and downs flare often times when we least expect them. When downs come, don’t despair: nothing lasts forever, and ups will soon come, one way or another. Pa’lante!
@kiwu@twtxt.net me too, me too! Thank you for sharing! 🫶
Took me nearly all week (in my spare time), but Mu (µ) finally officially support linux/amd64 🥳 I completely refactored the native code backend and borrowed a lot of the structure from another project called wazero (the zero dependency Go WASM runtime/compiler). This is amazing stuff because now Mu (µ) runs in more places natively, as well as running everywhere Go runs via the bytecode VM interpreter 🤞
@kiwu@twtxt.net Always stay positive! 🙏
My favorite group released a song today! I love it very much :) https://www.youtube.com/watch?v=gOjG-70-D5o
@prologic@twtxt.net @bender@twtxt.net going through a lot of family and personal things. I’m doing better at this very moment, but who knows how I’ll be in the next few days. trying to stay positive!
Did a double take at the headline 😅
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@movq@www.uninformativ.de I guess so, yes. I read something about that in some ticket. In v3 the terminfo support was dropped, though. I’m still on v2 at the moment.
Why Go is Going Nowhere
Go, the ancient board game that China, Japan and South Korea all claim as part of their cultural heritage, is struggling to expand its global footprint because the three nations that dominate it cannot agree on something as basic as a common rulebook.
When Go was registered with the International Mind Sports Association alongside chess and bridge, organizers had to adopt the American Go Association’s rules because the East As … ⌘ Read more
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@lyse@lyse.isobeef.org … I sure hope that they generate these files from the general terminfo database instead of maintaining their own DB. 😳
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
And tcell seems to support my urxvt in general: https://github.com/gdamore/tcell/blob/v2/terminfo/r/rxvt/term.go#L144
@movq@www.uninformativ.de Woah, that’s really amazing progress! :-)
@bender@twtxt.net I’m already using it for tracktivity (meant for tracking activities and events, like weather, food consumption, stuff like that), which is basically a somewhat-fancy CSV editor:
https://movq.de/v/f26eb836ee/s.png
I have a couple of other projects where I could use it, because they are plain curses at the moment. Like, one of them has an “edit box”, but you can’t enter Unicode, because it was too complicated. That would benefit from the framework.
Either way, it’s the most satisfying project in a long time and I’m learning a ton of stuff.
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@movq@www.uninformativ.de Yeah, I know that terminals are super weird and messy. In both the KDE Konsole (identifying itself as TERM=xterm-256color) and xterm (TERM=xterm) it just works flawlessly. My urxvt (TERM=rxvt-unicode-256color) just doesn’t. I also tried messing with TERM in urxvt, but no luck so far.
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
@lyse@lyse.isobeef.org Unix terminals are quite limited in that regard. 🫤 You know how Ctrl works? The XOR 0x40 thing? And Alt doesn’t exist at all, it’s just a prefixed ESC byte.
I was surprised to see curses knowing about “Shift+Tab”, wondering how that is supposed to work. Well, it’s an escape sequence, of course (depending on the terminal, of course).
tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
Well, in Xterm, I actually do get key combinations with the Shift modifier. Also, combinations of several modifiers just work exactly as I expect. But not in URXvt. Hmm.
@movq@www.uninformativ.de that some lovely development from the initial one. Curious to know where this will lead!
Here am I looking at the different tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace… :-D Yep, suddenly there went my X…
So far, it appears as if I can have either only Ctrl or Alt as modifiers. But not in combination. And Shift is just never ever set at all. Interesting.
Some work on the menu system to brighten my mood a little bit. No mouse support yet.
@prologic@twtxt.net Probably not, but thanks. 💚 It’ll get better.
@movq@www.uninformativ.de Anything we can do? Lend a listening ear? 👂
@prologic@twtxt.net Work and the general state of (gestures broadly) everything.
@movq@www.uninformativ.de What’s up? hmm 🧐
Frustration level: Through the roof.
tt. Boy, is parsing the key names into tcell.EventKeys a horrible thing. This type consists of three information:
Ha, I just stumbled across https://codeberg.org/tslocum/cbind, perfect!
@movq@www.uninformativ.de I figure that’s exactly what it is.
@bender@twtxt.net ICQ, yeah, I vaguely remember these times, despite I still know my ICQ number like it was yesterday. :-D
@shinyoukai@neko.laidback.moe No, it’s not dead. The one account in question actually is on jabber.org.
@bender@twtxt.net I vaguely remember this, some leftover from the old-style hashtags? The (#foo) stuff? 🤔