@prologic@twtxt.net High five, I’m “generation Java” as well! 😂 There were some leftovers of C++, we used that in the computer graphics courses in Uni a lot. But pretty much anything else that involved programming was Java.
(There was nothing even remotely resembling CS in our “high school”. That school neither had the required teachers nor the equipment / PCs.)
I finally found the NASM assembler.
I had heard that name before, many times, but somehow never looked into it. Weird. 🤨🤔
This is the kind of program I was looking for.
- It is free software. Especially in the DOS ecosystem, free/libre software is a very scarce resource.
- It’s a small command line program, not a huge behemoth.
- Documentation appears to be well written.
- It can even cross-compile DOS binaries from Linux.
I noticed that some of my software projects have a rather long lifetime, so I made a little graph:
@xuu@txt.sour.is That was one of the horror puzzles where I had to look for help. 🥴 I modelled my solution after this: https://www.youtube.com/watch?v=2pDSooPLLkI (I can’t explain it better than the video anyway.) It takes a second on my machine and that’s with my own hashmap implementation which is probably not the fastest one.
@lyse@lyse.isobeef.org They sure are silly at times. :-) You really have to combine this event with something else, like learning a new language. Otherwise it gets boring real quick.
What I absolutely love about AoC is that it’s – indeed – a bit like school. 😅 The problems are well-defined, the inputs are well-defined, and there is a definite answer. It’s either right or wrong – period. Compared to real life and work, I welcome this very much. 🤣
But when you do take the time to analyze / reverse-engineer this puzzle, then it’s really cool. Might be my favorite one so far. 😃
I’m really bad at competitive programming. 🙄 For today’s #AdventOfCode puzzle, I spent an eternity trying to understand exactly what kind of bG9naWMgY2lyY3VpdAo= the puzzle input describes – I haven’t done that in well over a decade, so I made little progress. I knew right from the start that SSBoYWQgdG8gbG9vayBmb3IgY3ljbGUgbGVuZ3RocyBhbmQgdGhlbiBmaW5kIHRoZSBMQ00K. It just didn’t occur to me to just run my program on cGFydGlhbCBpbnB1dAo= and print those numbers. 🥴 I only did that after over 4 hours (including time to debug my nasty C code) and then, boom, solution …
Ah, there it is. Today’s AoC puzzle is of a categeory that I find the least interesting. Gonna take my time with this one. 😴
I bet today’s AoC puzzle was the last easy one before we descend into madness. 🤣
Today’s Advent of Code puzzle was rather easy (luckily), so I spent the day doing two other things:
- Explore VGA a bit: How to draw pixels on DOS all by yourself without a library in graphics mode 12h?
- Explose XMS a bit: How can I use more than 640 kB / 1 MB on DOS?
Both are … quite awkward. 😬 For VGA, I’ll stick to using the Borland Graphics Interface for now. Mode 13h is great, all pixels are directly addressable – but it’s only 320x200. Mode 12h (640 x 480 with 16 colors) is pretty horrible to use with all the planes and what not.
As per this spec, I’ve written a small XMS example that uses 32 MB of memory:
https://movq.de/v/9ed329b401/xms.c
It works, but it appears the only way to make use of this memory is to copy data back and forth between conventional memory and extended memory. I don’t know how useful that is going to be. 🤔 But at least I know how it works now.
Never in my life will I understand why Americans bleep out curse words. 🤔
One thing to note about #AdventOfCode: It is really, really important to inspect your input data.
Your data could be considered part of the puzzle description. By inspecting it, you can find clues and you might find out that you can make certain assumptions.
(I mean, what’s the alternative? There could be a list of allowed assumptions in the textual descriptions, right? That wouldn’t be a lot of fun, I think, as it would give away too much information about the solution. It’s more interesting to find those clues yourself.)
Today’s AoC puzzle is a very simple problem on modern machines, but quite tricky for me: It involves a number that doesn’t fit into 32 bits. 🤔 I wonder if/how I can manage to port this beast to DOS. (I once wrote a “big int” library myself, but that was ages ago and I hardly remember it anymore.)
… it just finished and brute-force worked. 18 minutes of computing time on my 11 year old machine, single-threaded.
It is a pleasure to work with the help system of Borland’s Turbo C++ 3.0 on DOS. The descriptions are clear and concise. There are short and simple examples. Pretty much every help page is cross-refenced and those links can be clicked.
@xuu@txt.sour.is Ah, you went with the “scanning” approach as well. I did that, too.
It’s quite surprising to see (imho) how many people on reddit started substituting strings (one
becomes 1
etc.). That makes the puzzle much harder by introducing nasty corner cases.
(Maybe I was just lucky this time to pick the correct approach right from the start. 🤣 Or maybe it’s a bit of experience from doing past AoC events …)
@eapl.me@eapl.me Which problems are those? 🤔
The only “advanced” Tetris I played back then was “Block Out”:
https://www.youtube.com/watch?v=ZpeSH6pbio4
Except it didn’t run nearly as smooth as in this video. 😅
The amount of shady Android apps in Google’s “Play Store” is so large, it makes me want to write my own software instead. 😖
@shreyan@twtxt.net The only problem is that there is no such thing as “plain text”. Is it ASCII? UTF-8? DOS or UNIX line endings? Something else?
.txt
or “plain text” are ambiguous terms, I’m afraid. 🫤
Other than that, it looks neat and interesting. 😅
In case you haven’t heard yet …
https://groups.google.com/g/vim_announce/c/tWahca9zkt4
Bram Moolenaar has died. 😢
@prologic@twtxt.net FWIW, I pay a little under 3€/month for a VPS with 1 vCPU, 2 GB RAM, 20 GB disk, 40 TB traffic. 🤔
I’d love to read the original source code of this:
https://ecsoft2.org/t-tiny-editor
This was our standard editor back in the day, not an “emergency tool”. And it’s only 9kB in size … which feels absurd in 2023. 😅 The entire hex dump fits on one of today’s screens.
Being so small meant it had no config file. Instead, it came with TKEY.EXE
, a little tool to binary-patch T.EXE
to your likings.
I’m having an Internet outage at the moment … and now I can’t use valgrind
anymore, because it needs to fetch stuff from the net during startup. 😒
I’m in love with Wasabi.
A GTK 4 application showing an empty window uses about 160 MB of RAM:
$ wget https://movq.de/v/138ab3e622/win.c
$ cc -Wall -Wextra -o win win.c $(pkg-config --cflags --libs gtk4)
$ ./win
It also takes several seconds to start on my machine because it is compiling shaders and initializing DRI (it’s faster on the second run, unless you happen to lose ~/.cache/mesa_shader_cache/
). This might be a hint as to why it’s using so much memory: There’s obviously much more going on behind the scenes these days, not just a little bit of internal housekeeping and then creating a window.
Enjoying a day off, sitting on the balcony in some nice 18°C. 👌
Random photos: https://movq.de/v/863829c893
Here’s a massive image (5928x24180, 12 MB JPG) showing many of the planes that flew by: https://movq.de/v/34a6d39baa/montage.jpg
People complain about the noise that the crows in our area make. Well … https://movq.de/v/7b8c06eb73/noise.ogg Notice anything?
Follow-up question for you guys: Where do you backup your files to? Anything besides the local NAS?
@mckinley@twtxt.net Yeah, that’s more clear. 👌
Systems that are on all the time don’t benefit as much from at-rest encryption, anyway.
Right, especially not if it’s “cloud storage”. 😅 (We’re only doing it on our backup servers, which are “real” hardware.)
Bell Witch released a new album/song recently. I nominate this as “soundtrack of the apocalypse”. 🤘 // Bell Witch - Future’s Shadow Part 1: The Clandestine Gate // https://www.youtube.com/watch?v=Mg8TLge8gUU #NowPlaying
God, that’s brilliant. 😂
@xuu@txt.sour.is @prologic@twtxt.net Yarn.social without threading (as it would be the case in a “truncated” feed) does not make sense to me.
Put another way: Yarn.social is not twtxt. The content that we all have in our feeds really is much closer to a web forum or usenet or whatever. It’s threaded conversations. twtxt, as I believe it was originally intended, are short little status updates – that’s it. The formats of Yarn.social and twtxt might be very similar, but the content is vastly different and, in a way, incompatible. (As such, I think I understand very well that the original twtxt crowd is disgruntled.)
That proposed truncated feed doesn’t really provide any value, if you ask me. 🤔 It’d just be chaotic.
Why, oh why, does YouTube include upcoming videos in RSS feeds? “This video premiers in 21 hours.” Oohhhhhhkay. I will long have forgotten about it by then, thank you very much.
I’ve been lost in my DAW for a week now. Making music – especially something along the lines of Metal with actual instruments, not just synthesizers – is so hard. 😩 Makes you appreciate the work of all those artists out there a lot more.
Hmm, @prologic@twtxt.net / @lyse@lyse.isobeef.org: Should we remove the section “Traditional Human-Readable Topics” from the spec? Or mark is as deprecated? I haven’t seen this being used in the wild for years. 🤔
@chronolink@chrono.tilde.cafe Replies are not part of the original twtxt format. They were added later as an extension by Yarn.social: https://dev.twtxt.net/doc/twtsubjectextension.html (only the section “Machine-Parsable Conversation Grouping” is used these days)
We assembled one of those yesterday: https://www.omlet.de/shop/h%C3%BChnerzucht/walk_in_run_h%C3%BChnerauslauf/ Way more exhausting than I thought. 🤣 I’m so sore …
Spent the last few days debugging network issues at work.
Exhausting. You never get a full picture. You poke a little here, poke a little there, … Form a hypothesis and test it. Eventually, maybe, you can narrow it down a bit to some segment or even some component.
A very time consuming process. Even more so if you try not to cause downtimes for your users.
I want a magical device that allows me to look inside a cable/fibre.
But hey, at least we got rid of a bunch of Cisco switches in the process. So there’s that.