If this user/feed is violating this Pod's (yarn.meff.me) community guidelines as set out in the Abuse Policy, please report them immediately!
You are also free to Unfollow or Mute this user or feed. Muting will also remove that user/feed's content from your view and you will no longer see content from that user/feed anywhere.
āInventā āAIā (by using other peopleās data).
Get people hyped about it and ideally hooked on it.
Only provide it as a cloud service. But hey, if you want to, you can run it locally!
Buy all hardware available on the market, so that nobody but you can build more systems.
All PCs of consumers and competitors are too weak now and canāt be upgraded anymore.
Everybody depends on your cloud service! Win!
All of that is possible because corporations donāt have a āconscienceā in capitalism. Nobody forces the RAM manufacturers to sell all their stuff to just one or two buyers, but since the only goal of that manufacturer is to make money, they do it.
(#ex5vwtq) 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 āšā.
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.
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.)
(#wap76wa) @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?
(#5pjhgha) @lyse@lyse.isobeef.org You actually have a Markdown parser/renderer in there? Oh dear. I would have been (well, I am) way too lazy for that. š
I assume you made the thing load quickly, didnāt you?
Thatās the problem with Python. If you have a couple of files to import, it will take time.
I want this to be reasonably fast on my old Intel NUC from 2016 (Celeron N3050 @ 1.60GHz) and I already notice that the program startup takes about 95 ms (or 125 ms when there are no .pyc files yet). Thatās still fine, but it shows that Iāll have to be careful and keep this thing very small ā¦
Python 3.14 will bring lazy imports, maybe that can help in some cases.
Scrolling widgets appears to work now. This is (mostly) Unicode-aware: Note how emojis like āš ā are double-width ācharactersā and the widget system knows this. It doesnāt try to place a āš ā in a location where thereās only one cell available.
Same goes for that weird āƤā thingie, which is actually āaā followed by U+0308 (a combining diacritic). Python itself thinks of this as two ācharactersā, but they only occupy one cell on the screen. (Assuming your terminal supports this ā¦)
This library does the heavy Unicode lifting: https://github.com/jquast/wcwidth (Take a look at its implementation to learn how horrible Unicode and human languages are.)
The program itself looks like this, itās a proper widget hierarchy:
(#xwn45gq) @lyse@lyse.isobeef.org Well, I used SnipMate years ago (until 2012). IIRC, itās more than just āinsert a bit of text hereā, it can also jump to the correct next location(s) and stuff like that. Donāt remember why I stopped using it.
Then I used nothing for a long time. Just before Christmas, I made my own plugin (⦠of course ā¦), which does everything I need at the moment (and nothing more).
It can insert simple templates and then jump to the next location:
(#j5s5khq) @lyse@lyse.isobeef.org Iām toying with the idea of making a widget/window system on top of Pythonās ncurses. Iāve never really been happy with the existing ones (like urwid, textual, pytermgui, ā¦). I mean, theyāre not horrible, itās mostly the performance thatās bugging me ā I donāt want to wait an entire second for a terminal program to start up.
Not sure if Iāll actually see it through, though. Unicode makes this kind of thing extremely hard. š«¤
(#p4hxpnq) @lyse@lyse.isobeef.org ⦠I was about to write āit really is worse where you liveā, then I heard the first bang out on the street. š¤£
(#gslvc3q) @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.
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):