@shinyoukai@neko.laidback.moe I canât believe Trace and Edgewall Software is still around and in use đ€Ł
New post: 2025 - A Year in review (https://www.itsericwoodward.com/journal/2025/12-31-year-in-review.html)
Happy New Year, everyone!
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.
On my way to having windows and mouse support:
https://movq.de/v/95bbbbd3e8/basic-windows.mp4
It would be cool to have something like Turbo Vision eventually.
(I considered just using Turbo Vision, but itâs a C++ library and thatâs not quite what Iâm looking for. But itâs not yet completely off the table.)
@lyse@lyse.isobeef.org I havenât spoken to a single person yet who was a fan of all this. Not even the more conservative family members.
Some people have detonated several really loud bombs yesterday. This wasnât a âBöllerâ. It shook my walls, doors, windows. Family members in other parts of the country reported the same ⊠Is this a new trend?
@javivf@adn.org.es Happy New Year! Letâs hope so. đ
The only good thing about this absolute craziness is that I can restock my rocket sticks. I picked up twelve along the way. Unfortunately, it looks like 99.999% of ammunition is bombs instead of rockets. Some sections of my street look exactly like an arbitrary Pakistanian town that Iâve seen online.
There was surprisingly much snow in the woods. Also, all ponds have frozen over. I didnât expect that. Not at all. There were even illegal ice skating tracks in the natural reserve. We came across a large puddle and it was at least 10cm solid ice to the ground. Crazy!
fib(35) doesn't regress too badly as I continue to evolve the language.
@lyse@lyse.isobeef.org Itâs actually not nearly as half bad as I really thought it would be. Just having to eventually deal with the âlowering downâ to machine code / ARM64 assembly in the end once youâve verified the semantics in the VM.
fib(35) doesn't regress too badly as I continue to evolve the language.
@prologic@twtxt.net Not bad for a start, ey! Looking forward to see you going down these rabbit holes and opening one can of worms after the other. :â-D Very, very impressive, hats off to you. :-)
println("Hello World"):
@lyse@lyse.isobeef.org A âHello Worldâ binary is ~372KB in size. I currently have peephole optimization and deac code optimizations in play, and a few other performance related ones, but nothing too fancy. I have a test case that ensures fib(35) doesnât regress too badly as I continue to evolve the language.
@prologic@twtxt.net Can you just make them optional? :-) But that of course complicates things.
println("Hello World"):
@prologic@twtxt.net Thatâs impressive. How large are the resulting binaries? You donât have any optimizations in place yet, do you?
@movq@www.uninformativ.de I hid in the workshop with earmuffs for the absolute worst part.
@javivf@adn.org.es Heck yeah, letâs do this! :-) Welcome to 2026.
Opinion / Question timeâŠ
Do you think Mu (”)âs native compiler and therefore emitted machine code âruntimeâ (which obviously adds a bit of weight to the resulting binary, and runtime overheads) needs to support âruntime stack tracesâ, or would it be enough to only support that in the bytecode VM interpreter for debuggability / quick feedback loops and instead just rely on flat (no stacktraces) errors in natively built compiled executables?
So in effect:
Stack Traces:
- Bytecode VM Interpreter: â
- Native Code Executables: â