That was an interesting read about C:
Just some light Sunday afternoon entertainment: Printing from NetBSD on the dotmatrix printer by dumping data to /dev/ulpt0. The netbook doesnāt have a parallel port, so this must be done over USB. NetBSD.escp was created by a little custom ESC/P converter written in C. š„³
https://movq.de/v/14b09c47a5/print-small.mp4
Video description:
Video begins with a view of the netbookās screen: 3 windows are open, one of them showing the typical NetBSD logo to print, the other one shows the commands I ran in preparation:
magick /usr/X11R7/include/X11/pixmaps/NetBSD.xpm -depth 8 -alpha set /tmp/NetBSD.pam ./pam2escp /tmp/NetBSD.pam /tmp/NetBSD.escpThe other terminal shows a root shell with this command:
cat /tmp/NetBSD.escp >/dev/ulpt0I hit Enter, the printer starts printing.
Camera pans to show the printer, an Oki ML 3390. Continuous paper. Once finished, I manually feed the paper a little bit to better show the result.
(If you turn up the volume enough, you can hear āLeavingā by āChill Carrierā from 2008.)
Awful 33°C today. But I had to move, no matter what. So, I went outside. At first, the sun was out a bit. It was brutal. Later it vanished behind the clouds. But the humidity was still through the roof.
I watched the corn harvest I came across. Dusty as hell, but it was great fun observe the machineries work.
Going up my backyard mountain, there werenāt many people around. I was pleasantly surprised. However, the smaller hill below was rather crowded. Many people with picnic mats, enjoying their dinner, painting A3 love letters, claiming all available benches, taking wedding photos, walking their dogs, etc.
The public barbecue site at the summit is still closed due to the ongoing fire hazard. I found it rather funny to see a fire extinguisher ready to go next to it. The bread and cake smell disclosed that the Mountain Baking Boys were active. The large oven right next to the BBQ was still going strong.
Yesterday, my mate and I left the house at 10 in the morning around 15 or 16°C. There was a steady wind blowing, the sun came and went every two minutes. The clouds looked really nice. Temperatures peaked at 21°C I reckon. Certainly great t-shirt weather. It was supposed to slightly rain at some point in the morning, but all we got was less than two hand full of drops and later the tiniest amount of drizzle for not even half a minute. So, nothing.
The weathermen also called for a cloudy arvo and partially sunny evening. The forecast must have scared off people right away, because there was noone around. We saw very dark clouds in the distance and there was certainly rain in the town. But out in nature, just a constant alternation between the sun and clouds.
Just before noon, we arrived at the bakery two villages over and got four fire brezels (with pepper, extremely tasty, but the fingers are an oily mess after that) and two nut sticky buns for provisions. This is where the small bird (19-23) was giving us a show.
Itās so dry, the landscape looks already like autumn for several weeks. Sooo many orange and brown leaves on the ground, itās crazy. I hope we still get a real autumn and head not straight from summer into winter. Last weekend was still an awful 37°C.
This time, we paid the small entrence fee to walk around inside the ruin of Hohenrechberg Castle. The red sandstone looks super sick. I really dig it. Itās actually purplish at parts, no kidding. Absolutely unreal! At least for me, I normally only see the beige sandstone around here.
Right when we went down the castle ditch, both camera batteries were completely drained after just 880 photos in total. What a bummer. I saw a guy with a leather glove coming out of a door and immediately followed him to the aviary in the hopes of a show or something. That flight cage wasnāt there last time I visited the ruin. And we were lucky, the falconer fed his harrisā hawk and explained us along the way. Other families came and went, but we talked to him for at least 20 minutes. Super interesting. I think that was easily the best part.
At exactly 19 oāclock I unlocked the front door. Our feet were done. It was an amazing nine hours hike. :-)
The gallery is a tiny bit larger than usual, enjoy: https://lyse.isobeef.org/wanderung-auf-die-burgruine-hohenrechberg-2026-08-22/
At 8 oāclock, we had chilly 10°C. My mate and I dashed up our backyard mountain in just a tad under an hour. And that wasnāt the direct way. Our jumpers came off quick. It was really nice, because the sun was already warming and lighting up the landscape and everbody else still asleep. We had everything to our own.
Shortly after we were atop, the first two yoga women showed up with their mats. When we decended, a bunch more were on the way up. And then came the families with dogs and kids. Very glad to have missed all this hustle and bustle.
Now, Iām really tired. But itās a great feeling of exhaustion. Two and a half hours later, weāre at 17°C. Itās supposed to hit an acceptable 23°C later on.
Unfortunately, no pics. I learned that charging via the docking station when the computer is turned off doesnāt do shit at all. Oh well.
Oh man wow š® Problem 9 was quite hard š± I had to build two new functions in the Mu stdlib for computing combinations and permutations, but then the combinations of range(1000) for triples such as a + b == c is enormous! So i had to write iterator versions of these to do lazy evaluation. Anyway solution follows:
#!/usr/bin/env mu
// Special Pythagorean Triplet
import "iter"
fn usage() {
print("Usage:", args()[0], "<n>")
}
fn sqr(x) { x * x }
fn main() {
if len(args()) < 2 {
usage()
exit(1)
}
n := must(int(args()[1]))
print("n:", n)
// For a < b < c and a + b + c == n, both a and b are strictly less
// than n/2. Generate only (a,b) combinations and derive c directly. This
// keeps the search lazy and reduces n=1000 from C(999,3) = 165,668,499
// candidate triples to C(499,2) = 124,251 candidate pairs.
pairs := iter.combinations(iter.range(1, n / 2), 2)
triples := iter.map(pairs, fn(xs) {
a := xs[0]
b := xs[1]
return [a, b, n - a - b]
})
// Enforce b < c; a < b is already guaranteed by combinations over an
// increasing range, and a + b + c == n holds by construction.
triples = iter.filter(triples, fn(xs) {
return xs[1] < xs[2]
})
// Euler 9 has one answer for n=1000. find() stops the entire upstream
// iterator chain as soon as the first Pythagorean triple is found.
answer := iter.find(triples, fn(xs) {
return sqr(xs[0]) + sqr(xs[1]) == sqr(xs[2])
})
print(answer)
if answer != nil {
print(answer[0] * answer[1] * answer[2])
}
}
main()
@movq@www.uninformativ.de Hell yeah, this is awesome! Great shots!
When I checked at the beginning, the sun was already way behind the trees. I then decided to wait until the end before leaving the house and melting in direct sunlight at 31°C. At the hill, there were around 15 people in camping chairs and on picnic rugs. Some dragged out their camera gear as well.
My first two photos were through the eclipse glasses. In contrast to others, I didnāt bring my tripod and just used a tree as a crappy makeshift one. With the large zoom itās impossible to keep it still for one second (what my cam decided to be the exposure time). Leaning the camera against the side of the tree is just not good enough.
@dce@hashnix.club @prologic@twtxt.net Weāre getting cooked at humid 36°C right now. The thundergods canāt decide if weāll be hit or not.
@lyse@lyse.isobeef.org this reminds me of when Iād started learning C. This threw me off so bad, and it took me an unreasonable time to wrap my head around the difference between the precisions of floats and doubles. š„²
Itās gonna be 31°C tomorrow, where I am. It may not sound that hot to some, but British heat certainly hits differently.
All the same, great weather for remaining perfectly stationary with a chilled beer (or several)!
@movq@www.uninformativ.de A mate showed me a graph reaching 40°C⦠:-O Itās going to be hell on earth.
@lyse@lyse.isobeef.org I also got up at 5 (I always do š ) and went on a quick stroll around 6:30, but boy, that was chilly. So I said to myself: Screw that, Iāll try again later.
And now weāre at 32 °C. š¤£
@david@daiwei.me I first thought that this is a real lake, but itās just a lake of craziness. :-D A town owned by a company (or so it reads to me), thatās insane.
Let me send you some nice 17°C.
Tops 25°C is a very welcome change. Tomorrow just 21°C (but right before I went to bed they forecasted two degrees less today).
I really think I should go back to Java.
Writing programs in Python is so exhausting. I want a compiler and I want static typing. No, linters and type checkers and IDEs are not good enough. Compilers catch way more errors in advance.
Rust is also exhausting. Theyāre constantly adding language features and, at the same time, the runtime library remains tiny and you need 3rd party libraries for everything. Many of those are still at version 0.x (SemVer!) and you canāt rely on anything. Often times, you need the latest Rust nightly compiler.
Go is ⦠I donāt like it. And huge binaries.
I like C as a language, but itās too fragile. I want to have a proper HashMap every now and then.
None of the above have good GUI libraries, at least not on Linux.
And then thereās Java. This is my fractal renderer that I wrote over 17 years ago:
https://movq.de/v/fcd3c4e557/vid-1784121825.mp4
Itās fast. It has a GUI with custom widgets and those werenāt even hard to make. It still works without changing a single line of code. The source code files have timestamps from 2009 and I just noticed that the JAR file Iām using in the video was compiled in 2010.
Java as a language is relatively easy to learn and to master. There are few surprises. The source code organization with packages is good. Java API docs are clear and well written.
The JVM ramp-up times have improved considerably:
https://movq.de/v/e7314e521e/vid-1784121998.mp4
This isnāt like the Dark Ages anymore. Might even be usable for some CLI tools.
The only thing where Java really sucks is anything close-ish to the kernel. Try issuing an ioctl() ⦠I couldnāt have made my TUI framework in Java, but then again, I wouldnāt have needed to because Swing already exists and it just works.
Linux 0.11 rewritten in idiomatic Rust, boots in QEMU | Hacker News Farkān hell, this is some ~50k SLOC of Rust code compared to the original ~8k SLOC of C of the original this was based off of. No doubt this was āvibe codedā for sure, there is no way a human can write 50k SLOC, not in a reasonable timeframe anyway š
@movq@www.uninformativ.de Hottest room is still at 24°C. But that will change in this week, no doubt. :-(
Back at 29-30 °C in my apartment. š„³š
@prologic@twtxt.net Well, 15 shows the site. On the left, I had a roll mat on a tarp. I borrowed some āNVA tarpsā from the scouts for this trip. The scouts got them from the National Peopleās Army, the German Democratic Republicās armed forces after Germany was reunited. Theyāre 1.75m x 1.75m in size and weigh 1.3kg, quite heavy, but super awesome. One tarp on the bottom, another one to cover up the clothes, shoes and sleeping bag in order to protect against the thaw. Finally, a mosquito net over all that, hung from a rope between two trees.
My mate just used a hammock with a mozzie net on the right hand side. The third tarp served as the luxurious bedside carpet. :-)
We sat on my second tarp to chill and enjoy the sunset and surroundings. It was nice to notice birds etc. die down. It took a really long time for the last light to fade away. Since we have a very high risk of forest fires, we of course couldnāt have a camp fire. But after all the exhaustion, I didnāt even miss it for one second.
Since we had dinner at home before leaving, all we brought were two lye rolls, two grain rolls, two brezels, some sausage and chocolate biscuits for breakfast. From the 2.5l of water, I ended up using 2l. Itās always good to have a little extra, despite the unnecessary weight. We had brekkie a few kilometers further on a bench in the shade. The first bench was already in direct sun.
Our camp site was maybe 30m to the side and a few meters down of a summit path hidden behind some trees and bushes. We were quite lucky, the other side of the hill got quite a bit of a breeze at night. We could hear the leaved treetops making much more noise behind us.
@movq@www.uninformativ.de Yes, these kind of dogs should really be strictly forbidden!
Itās not illegal if you own the forest or ask the owner. :-)
@david@daiwei.me Yeah, no clue. But my mate said the dog is disqualified from such adventures in the future. :-)
The temps were supposed to hit 14°C just before sunrise. Since we didnāt bring a thermometer, I canāt tell for sure. I was rather hot in my sleeping bag, so I had to pull out my arms every now and then. My mateās sleeping bag was a little lighter and, unfortunately, the zipper jammed up. Since it didnāt close all the way, it felt quite a bit cold I was told in the morning. When we got up at 6ish (we said, we donāt care about time at all), it was probably already 16°C if not more. I brought a jumper, but a t-shirt was already nice enough to wear. The jumper just served as my pillow. The mercury raised by the minute then.
Yeah, I circled the spot with a biro to keep an eye on it. Until now, thereās absolutely nothing to see. Looks like I got lucky.
Very hot above 30°C, but luckily also incredibly cloudy and a lot of wind. Thatās what we got today. My mate and I went on a quick stroll this evening and got a surprise killer sunset: https://lyse.isobeef.org/abendhimmel-2026-07-07/
@GabesArcade@gabesarcade.com The no-JS part is one thing, but you also have to disable the (nowadays common) forced-HTTP-to-HTTPS-redirect, because those old browsers canāt do modern crypto. And make sure that your webserver serves the correct page even if no Host header is sent by the client. And donāt even think about serving UTF-8 or even just putting utf-8 in the content type. š
And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 wonāt trip. 𤣠And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And ⦠probably more that I forgot by now. š
@david@daiwei.me Not sure, actually. Letās see. Those are the ones where I still have the original disks (or have bought them on eBay again):
- SuSE Linux 6.4 (itās a massive 7 CD distro with a huge manual, best thing ever)
- OS/2 2.1
- OS/2 Warp 3 (red and blue spine because
$reasons)
- OS/2 Warp 4
- PC DOS 7
- MS-DOS 6.22
- Windows 3.1
- Windows for Workgroups 3.11
- Windows 95 C
- Windows 98
- Windows NT 4 Workstation (still in the mail, though š
)
- Windows 2000
- Windows XP Professional (last Windows I ever used on my private PCs)
(Plus a few āclassicā office products as can be seen here: https://movq.de/blog/postings/2024-05-23/0/POSTING-en.html )
My mate and I hiked up the backyard mountain. We got 25°C and quite some wind, so it was actually not too terrible. The wind could have blown harder or the temps a little lower, but oh well.
I saw the squirrelās bushy tail stick up on the forest floor in the sunlight and immediately thought of this cute little feller. Since it didnāt move at all, even when we came closer, I got irritated and reconsidered that it might actually be some kind of dried up farn. But then we also were able to see its body. Unfortunately, the squirrel ran up the tree too quickly, so all the shots are kinda crap.
At one flower spot, there were sooo many butterflies, wasps, flies, bugs and other insects. The botanic was completely crowded.
The workers were transferring logs from one log truck to the other in a parking lot. Iāve never seen this happening before. When we passed the same place on the way home, they had moved logs into a sea container. That was surprising. This semi wasnāt there on the way there. One log was probably too long and sticking out the container, so they probably had to wait for somebody to return with a chainsaw. Crazy that theyāre shipping logs from here probably overseas. Why else would they put them in a sea container?
After our first break, a blackbird was really posing for us with his worm in the dark shade.
Today was my first time I ever saw a hummingbird hawk-moth (TaubenschwƤnzchen) for real. My mate photographed them many, many times before, but I never came across one myself. So, that was really special.
The forest service installed an outdoor table with two benches next to the timber lion, that was cool to see. We sat down for a few minutes and enjoyed both the view into the Fils valley and ant on the tabletop, but the sun was beating down too heavily on us, so we had to move on.
All in all, it was a very nice few hours long hike. Enjoy! https://lyse.isobeef.org/waldspaziergang-2026-07-03/
Today was really nice. Around 20°C all morning long, only in the arvo we got up to 25°C. Headed out with my mate for a quick stroll: https://lyse.isobeef.org/waldspaziergang-2026-07-01/
@lyse@lyse.isobeef.org Donāt worry, my apartment is still at around 28-30 °C, too, and thereās the construction site outside which is noisy is fuck. Everything sucks at the moment. š¤£
@movq@www.uninformativ.de Lucky you! My damn work laptop heated up this room to 29°C. The hottest so far.
@kiwu@twtxt.net Last time you asked we were all tired. Now weāre EXHAUSTED because itās 40 °C around here. š„µšš
@movq@www.uninformativ.de It was nice at around 5 oāclock on the balcony with just 22°C and the tiniest breeze. But I got eaten alive. Fucking mozzies.
@lyse@lyse.isobeef.org It was around 29 °C for a while inside and pretty nice on the balcony, but thatās over now. š¤£
@movq@www.uninformativ.de 26°C inside, 30°C outside right now.
Starting the day with 32 °C inside and absolutely no cooling from the outside.

@movq@www.uninformativ.de Oh my! :-O We reached 38°C. Itās now down one degree.
I just got up from my two, three hours siesta. And I tell you, that was bloody amazing. Layed in bed in undies, no blanket, just some power metal in my headphones and I was sleeping like a baby. Normally, I NEED a blanket, no matter what. But this summer, itās already the second time that I actually manage to drop off without one.
Weāre at 39.5 °C now. Are we going to hit 40? 
box (command-line container runtime). It works great š
@movq@www.uninformativ.de CEF turns out to be pretty easy. I had to write a bit of C and Go to bridge, but once that got going I was able to write it into my pure Go go-wayland wlui library for final rendering. The delegating the entire CEF part was a good idea though because it keeps all the complexity in a container Image, leaving me with just the Go + C stubs/interface and SHM/IPC parts.
We went to the source of the river Fils this evening. I couldnāt believe it, but as I was promised, there were just 20°C. That was super nice. Almost chilly. We only met two others with their three dogs right at the beginning and had everything to our own. We enjoyed the firefly and bat show on a bench. Now back in town and the temps are cooking at 27°C. Fuck me!
It was already fairly dark for my camera, so all the photos are even more blurry than usual. Sorry!
https://lyse.isobeef.org/filsursprung-2026-06-25/
06 shows the bench in the background. The source is next to the building under the trees. 07 shows it in its full glory. 08 is the view before the glowing show began.
@movq@www.uninformativ.de I looked into swagimg. Thatās the thing, The latest version pulls in farkān C++ (geez fuck) and luajit. Anything else Iāve round for Wayland depdns on Rust (wtf?!) ā So I built my own in Pure Go. Itās wonderful, so simple, only ~170 lines of Go š¤£
@lyse@lyse.isobeef.org My thermometer claims 27 °C now but I donāt trust it. Itās hot, itās humid, itās horrible.
@movq@www.uninformativ.de Weāre already at 29°C now. Five more to go. Itās terrible!
@lyse@lyse.isobeef.org Sounds lovely! (I think. Not sure about spider webs and such. š )
I woke up to 26°C this morning. š„µ
How truly wonderful! I went out tonight and the first thing I noticed was the temperature drop. It felt actually quite pleasing. What a welcome surprise, I didnāt expect that at all. It was warmer in the forst than between the fields. The tiniest breeze helped to cool off the surroundings I think. Right now, the temperature shows 23°C. Itās supposed to reach 18°C at 5 in the morning before it rapidly shoots through the sky again.
When I left the house I even saw the very end of a nice sunset. A bat was around, too. The several thousand fireflies delivered a fantastic show. Itās such a pity that I cannot show this to you. :-(
There were many frogs or toads around. Luckily, the light tan gravel road made for a good constrast to the darker hopping amphibians. So, I spotted them just in time. No animals were harmed.
The moon was out and lit up the scenery. I was perfectly chasing my own shadow for several hundred meters on a forest road. I had the moon right in my back. That moon light shadow felt magical. <3
It must have set a new record on picking up spider webs along the way. The threads around arms and legs always feel quite yucky. People were blasting music somewhere in town. You could here that noise in the entire forest. I found that rather annoying. All street lamps are operational again, so I got already blinded right at the entrance to the town. But other than that, this was a very nice evening stroll. Totally recommended. Already looking forward to tomorrow. :-)
Itās 34°C and all the shutters are closed. Walking past the front door, I was surprised that there is light sneaking through the covered glass next to it. I somehow thought itās already the middle of the night. :-D
Comme dāhabitude avec Ego cāest magistral, mais lĆ cāest une immense [ā¦] š https://yom.li/notes/20260616122041 š https://www.youtube.com/watch?v=j2JDvXvymBQ
The dairy farm has a new milk vending machine. The prices increased by 20%. One liter is now 1.20⬠instead of 1.00ā¬. But I donāt complain.
In a few meters of shrubs there were easily 50 butterflies. That was crazy, Iāve never seen this many in one spot. I should have taken a video.
The grain field in the beginning was looking so great. Crazy colorful and very yummy looking. I would have loved to take a bite. Or at least lie down right in the middle.
That was another great time in the outdoors. The 21°C were killing us, though. We were always glad when we reached a shady spot with a little breeze. Iām not gonna survive the 35°C later this week. :-(
@movq@www.uninformativ.de I just ran across another thing. At least I personally couldnāt care less about CI infrastructure changes. Whether theyāre using github action a or b or c or version v or w, it is not of my interest. At all. (It might be useful to estimate the supply chain attack risk, though.) If the maintainers want to include them in the changelog ā and there are probably people to whom this information is crucial ā itās probably best to document CI infrastructure changes in their own section.
Got absolutely jack and sick of all the fucking useless bots, C&C and shit⢠hitting my Git server tonight 𤬠So I sat down and built a lightweight version of Anubis, called caddy-pow. So now going forward, youāll have to (sorry) have a HS-enabled browser to hit git.mills.io which will hopefully make most (if not all) bots just go the fuck away š¤¦āāļø #Hostile #Web
@movq@www.uninformativ.de Great to be asked for feedback! I just noticed that the first wcwidth version was derived from Markus Kuhnās C code. I came across him in my ISO 8601 and RFC 3339 endeavors the other day. https://www.cl.cam.ac.uk/~mgk25/iso-time.html What a surprise. :-)
Oh, nice. In my endeavors of time in C++, I came across cal 9 1752. https://www.redhat.com/en/blog/brief-history-mktime
Oh boy, it was bloody humid this morning. Just around 20°C when we left, but climbing rapidly. The flow of air when walking was okay, but as soon as we stopped, streams of sweat were pouring down on us. Luckily, it was cloudy, but the lack of wind was bad. Now, the sun is out, 29°C will be reached in an hour and Iām glad that the house is still cool. It will be a different story in a few weeks or months. Not looking forward to that at ll.
On the bright side, we saw the first tadpoles of the year and an also first, but sadly dead slow worm that probably some bird dropped on a bench next to the fountain. The fly was stuck to its feast and also cactus. The municipality fixed the railing nicely and we came across a giant patch of great looking fire bugs on the summit.
All in all, a successful stroll through the woods but for the humid heat.
<updated> of the feed, too. But for some reason, some articles were suddenly marked as new.
Aha, yesterdayās newly added support for LC_TIME to render localized timestamps also broke the feed parsing with my LANG=de_DE.UTF-8 and LC_CTYPE=de_DE.UTF-8 environment. :-)
Atom feeds make use of RFC 3339 timestamps. They are first converted into RFC 882 timestamp representation, which is the one that RSS feeds use. However, this conversion now results in localized RFC 882 timestamps, which cannot be parsed into Unix timestamp numbers via curl_getdate(ā¦). I bet that it doesnāt know about the localization at all and expects English month and weekday names. Looking at its docs, I reckon that function was selected because of its myriad of supported timestamp formats: https://curl.se/libcurl/c/curl_getdate.html RFC 3339 is not included, though, hence the transformation up front.
The intermediate Item objects in the parser domain use std::string for the timestamp representation. This isnāt all that silly, because Newsboat supports all sorts of different feed formats with different timestamp formats. These RFC 883 timestamps are centrally parsed into time_t.
Speaking of time: Itās time to go to bed after this late bug hunting fun. :-)
Weāre currently at about 28-30°C, but the relative humidity is at a crazy low level of 20%. š³ This actually feels pretty nice. If it only were always like that ā¦
Agog to be the 2,644th backer š on BackerKit Crowdfunding for Old-School Essentials Demonic Grimoire! https://www.backerkit.com/c/projects/exalted-funeral/old-school-essentials-demonic-grimoire