I’ve got a prototype of my hardcopy simulator going. I’m typing on the keyboard and the “display” goes to the printer:
https://movq.de/v/56feb53912/s.png
https://movq.de/v/235c1eabac/MVI_8810.MOV.mp4
The biiiiiiiiiig problem is that the print head and plastic cover make it impossible to see what’s currently being printed, because this is not a typewriter. This means: In order to see what I just entered, I have to feed the paper back and forth and back and forth … it’s not ideal.
I got that idea of moving back/forth from Drew DeVault, who – as it turned out – did something similar a few years back. (I tried hard to read as little as possible of his blog post, because figuring things out myself is more fun. But that could mean I missed a great idea here or there.)
But hey, at least this is running on my Pentium 133 on SuSE Linux 6.4, printer connected with a parallel cable. 😍
(Also, yes, you can see the printouts of earlier tests and, yes, I used ed(1)
wrong at one point. 🤪 And ls
insisted on using colors …)
Geil, Staffel 10 von Feuer & Flamme ist da! https://www.ardmediathek.de/serie/feuer-und-flamme/staffel-10/Y3JpZDovL3dkci5kZS9mZXVlcnVuZGZsYW1tZQ/10
@thecanine@twtxt.net My daughter (who is pretty good already at art and only 10 :D) says this looks like a “blob” 🤣 I tried to explain to her that this is pixel art, but I’m not quite sure she has the same appreciation (yet) 😅
I’m using #Filen (@filen@filen) for a while now and I’m very pleased with it!
«Affordable zero-knowledge end to end encrypted cloud storage made in Germany.» Works on #Linux, nice well thought features.
So I’m going to share a referral link because «For every friend you invite to Filen you receive 10 GB - and your friend also receives 10B. It’s that easy»:
I have been using #Filen (@filen@filen) for a while now and I’m very pleased with it!
«Affordable zero-knowledge end to end encrypted cloud storage made in Germany.» Works on #Linux, nice well thought features.
So I’m going to share a referral link because «For every friend you invite to Filen you receive 10 GB - and your friend also receives 10B. It’s that easy»:
[47°09′53″S, 126°43′10″W] Analyzing samples
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldn’t understand what to do instead :(
And the plot thickens:
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding I guess you’ll want to check this out at some point. py5_tools.animated_gif uses this)
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldn’t understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about “reverting” this change allowing some “mode” on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess you’ll want to check this out at some point. py5_tools.animated_gif uses mode=“RGB”)
#Pillow #PIL #Python
On Image.fromarray()
:
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldn’t understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about “reverting” this change allowing some “mode” on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess you’ll want to check this out at some point. py5_tools.animated_gif uses mode=“RGB”)
[47°09′10″S, 126°43′37″W] Transfer aborted
guys oh my god i went to the flea market and i found a WORKING POCKET PC PDA FOR 10 BUCKS. WE ARE SO BACK
You know you’re getting old when there’s quite a few scripts in your ~/bin
that you use daily, but you haven’t edited them once in well over 10 years …
@lyse@lyse.isobeef.org “Advanced”, well, probably more “mature”. There aren’t a ton of crazy features and that icon thing is the largest code addition in the last 10 years. %)
Speaking of OS/2 … I just realized that Windows 3.x didn’t have icons, either. If I’m not mistaken, this only got added in Windows 95. In other words, OS/2 had this feature before Windows did, because at least OS/2 2.1 from 1993 had icons. Who would have thunk.
(Now I kind of want to know which system really introduced this feature.)
[47°09′12″S, 126°43′10″W] –white noise–
@movq@www.uninformativ.de According to this screenshot, KDE still shows good old application icons: https://upload.wikimedia.org/wikipedia/commons/9/94/KDE_Plasma_5.21_Breeze_Twilight_screenshot.png
And GNOME used to have them, too: https://upload.wikimedia.org/wikipedia/commons/9/9f/Gnome-2-22_%284%29.png
I like the looks of your window manager. That’s using Wayland, right? The only thing on this screenshot to critique is all that wasted space of the windows not making use of the full screen!!!1 At least the file browser. 8-)
This drives me nuts when my workmates share their screens. I really don’t get it how people can work like that. You can’t even read the whole line in the IDE or log viewer with all the expanded side bars. And then there’s 200 pixels on the left and another 300 pixels on the right where the desktop wallpaper shows. Gnaa! There’s the other extreme end when somebody shares their ultra wide screen and I just have a “regularish” 16:10 monitor and don’t see shit, because it’s resized way too tiny to fit my width. Good times. :-D
Sorry for going off on a tangent here. :-) Back to your WM: It has the right mix of being subtle and still similar to motif. Probably close to the older Windowses. My memory doesn’t serve me well, but I think they actually got it fairly good in my opinion. Your purple active window title looks killer. It just fits so well. This brown one (https://www.uninformativ.de/blog/postings/2025-07-22/0/leafpads.png) gives me also classic vibes. Awww. We ran some similar brownish color scheme (don’t recall its name) on Win95 or Win98 for some time on the family computer. I remember other people visting us not liking these colors. :-D
[47°09′10″S, 126°43′53″W] Transfer aborted
[47°09′10″S, 126°43′25″W] Resetting dosimeter
[47°09′10″S, 126°43′11″W] Working impossible due to blizzard
[47°09′10″S, 126°43′34″W] –no signal–
We covered quite some ground in the two and a half hours today. The weather was nice, mostly cloudy and just 23°C. That’s also why we decided to take a longer tour. We saw four deer in the wild, three of which I managed to just ban on film, quality could be better, though. My camera produced a hell lot of defocused photos this time. Not sure what’s going on with the autofocus. https://lyse.isobeef.org/waldspaziergang-2025-07-10/
When the sun came out, colors were just beautiful:
I didn’t manage to leave the house yesterday. But when I went into the woods this evening, activity first was 10% of what it had been the day before yesterday. By the end it got a lot busier, about 50% of last time I reckon. Around 500 fireflies I’d imagine. I might have been faster than the days before. When I left the forest, I was right in the fog, that was cool.
Shortly after, I saw another lightshow. Right behind the Wasserberghaus somewhere on the Swabian Alp there was very crazy heat lightning every 5-10 seconds. That looked absolutely amazing. :-)
[47°09′10″S, 126°43′00″W] –interrupted–
They’re all talks, not real hands-on trainings like you did.
I love listening to good, well-structured talks. Problem is, not everybody is a good speaker and many screw it up. 🥴 I’m certainly not a great speaker, which is why I gravitate more towards “workshops”, in the hopes that people ask questions and discussions arise. Doesn’t always work out. 🤣 At the very least, I almost always have some other person connect to the projector/beamer/screenshare and then they do the stuff – this avoids me being wwwwaaaaaaaaayyyy too fast.
We are usually drowned in stress and tight deadlines, hence events like today are super rare … We used to do it more often until ~10 years ago.
Once a year the security guys organize a really great hacking event, though.
Oh dear, I’d love to participate in that. 🤯 That sounds like a lot of fun. (Why don’t we do this?!)
[47°09′10″S, 126°43′24″W] Transfer 99% complete…
Saw this on Mastodon:
https://racingbunny.com/@mookie/114718466149264471
18 rules of Software Engineering
- You will regret complexity when on-call
- Stop falling in love with your own code
- Everything is a trade-off. There’s no “best” 3. Every line of code you write is a liability 4. Document your decisions and designs
- Everyone hates code they didn’t write
- Don’t use unnecessary dependencies
- Coding standards prevent arguments
- Write meaningful commit messages
- Don’t ever stop learning new things
- Code reviews spread knowledge
- Always build for maintainability
- Ask for help when you’re stuck
- Fix root causes, not symptoms
- Software is never completed
- Estimates are not promises
- Ship early, iterate often
- Keep. It. Simple.
Solid list, even though 14 is up for debate in my opinion: Software can be completed. You have a use case / problem, you solve that problem, done. Your software is completed now. There might still be bugs and they should be fixed – but this doesn’t “add” to the program. Don’t use “software is never done” as an excuse to keep adding and adding stuff to your code.
@prologic@twtxt.net I’m trying to call some libc functions (because the Rust stdlib does not have an equivalent for getpeername()
, for example, so I don’t have a choice), so I have to do some FFI stuff and deal with raw pointers and all that, which is very gnarly in Rust – because you’re not supposed to do this. Things like that are trivial in C or even Assembler, but I have not yet understood what Rust does under the hood. How and when does it allocate or free memory … is the pointer that I get even still valid by the time I do the libc call? Stuff like that.
I hope that I eventually learn this over time … but I get slapped in the face at every step. It’s very frustrating and I’m always this 🤏 close to giving up (only to try again a year later).
Oh, yeah, yeah, I guess I could “just” use some 3rd party library for this. socket2 gets mentioned a lot in this context. But I don’t want to. I literally need one getpeername()
call during the lifetime of my program, I don’t even do the socket()
, bind()
, listen()
, accept()
dance, I already have a fully functional file descriptor. Using a library for that is total overkill and I’d rather do it myself. (And look at the version number: 0.5.10
. The library is 6 years old but they’re still saying: “Nah, we’re not 1.0 yet, we reserve the right to make breaking changes with every new release.” So many Rust libs are still unstable …)
… and I could go on and on and on … 🤣
[47°09′10″S, 126°43′35″W] Non-significative results – sampling finished
[47°09′07″S, 126°43′10″W] Taking samples
Once again, I went on a hike onto my backyard mountain after calling it quits very late. This time I brought my cam along. The view was extremely hazy, but the setting sunlight resulted in cool colors. The freshly cut grass smelled wonderful.
I saw a flock of pidgeons circling around and some sort of rat or mouse quickly running over the road in front of me from one field into the next one with a giant nut in its mouth. Or so I at least believe, couldn’t really tell, it happened so fast.
A couple enjoyed the setting sun on a bench and stripped their shoes on this warm evening. Somebody forget their bottle of water on the summit, but it looked rather cool in the evening light:
Not sure what they’re doing, but they now set up scaffolding at the ruin. I heavily doubt it, but it would be cool if they rebuilt the castle. :-)
On the way back I met up with a mate who couldn’t come along right from the beginning. We saw two deer on the meadow, but it was already too dark for my camera, the photos were totally rubbish. The sunset turned really pretty and colorful just in time when I reached home. https://lyse.isobeef.org/waldspaziergang-2025-06-10/
[47°09′10″S, 126°43′06″W] Reading: 1.64000 PPM
@lyse@lyse.isobeef.org Only 10% of the German population had Internet access in 1998: https://de.wikipedia.org/wiki/Internet_in_Deutschland#/media/Datei:Diagramm_Internetnutzer_in_Deutschland.svg I guess I was lucky in that regard.
(If today’s tech wasn’t constantly trying to track and scam you, I might still be an early adopter.)
[47°09′43″S, 126°43′10″W] Saalmi, retransmit, please
[47°09′01″S, 126°43′54″W] Reading: 1.10 Sv
[47°09′40″S, 126°43′10″W] Reading: 0.84000 PPM
[47°09′15″S, 126°43′10″W] Transfer completed
Nice European greenfinch: https://lyse.isobeef.org/gruenfink-2025-05-10/
[47°09′23″S, 126°43′10″W] Transponder malfunction
@movq@www.uninformativ.de @kat@yarn.girlonthemoon.xyz @quark@ferengi.one In 2014 one person created protocol ii. Later it forked in IDEC. Why i said this? Because it’s simple “federated” forum-like protocol where from your station fetch another every 5-10 minutes. Stations has topic-based channels like idec.talks, linux.16, haiku.os, zx.spectrum. In short it’s FIDO but.. more modern? Documentation: https://github.com/idec-net/new-docs (mostly Russian, but you can use translator, also protocol already translated to english)
We havet an AI assistant at work, new version came out today “nearby restaurant recommendations” mentioned. Gotta try that!
Ask it where I can get a burger, knowing there’s 3 spots that had it on the menu, AI says there’s none. Ask it to list all the restaurants nearby it can check… it knows 3, of the 10 or so around, but 1/3, even has a burger, on the menu.
Ask it to list the whole menu at restaurant 1: it hallucinates random meals, none of which they had (I ate there).
Restaurant 2 (the one most people go to, so they must have at least tested it with this one): it lists the soup of the day and ¾ meals available. Incomplete, but better than false.
Restaurant 3: it says “food” and gives a general description of food. You have to be fucking kidding me!
“BuT cAnInE, tHe A(G)i ReVoLuTiOn Is NoW”
Nothing like being paged at 00:30
(midnight) for a P2 incident that is now resolved at 02:10
🤯 Obviously I’m not going to work tomorrow (I mean today lol 😂) at the usual start time 🤦♂️
Wrote some serious Python for the first time in like 10 years 😱 I feel so dirty 🤣
@bender@twtxt.net Thanks! The rain rapidly cooled off the 17°C to just 10°C. I certainly appreciated that. The weather is coming from the west here, so I thought you’ve sent it our way. Let me try to return it. :-)
This code displays the last 10 lines of a twtxt feed without a full dowload.
FEED_URL="https://twtxt.net/user/prologic/twtxt.txt"
MAX_RANGE=$(curl -sI $FEED_URL | grep -i 'content-length' | awk '{print $2}' | tr -d '\r')
MIN_RANGE=$((MAX_RANGE - 5000))
curl -s --range "$MIN_RANGE-$MAX_RANGE" "$FEED_URL" | grep -v -e '^#' -e '^$' | head -n 10
My self-response!
That was a wild ride:
https://www.youtube.com/watch?v=QSMDb1CWD6Y
Notice how old all these people sound. They started playing this game like 10, 15, 20 years ago, most of them left, but some are still there. I love that level of commitment. 😃
Also interesting from a technical point of view. Creating that virtual world and keeping it running consistently for so long … 🤯
@movq@www.uninformativ.de it seems you got plenty of choices. That’s the cheapest of their products, and you are quite right, amazing pricing! I pay Apple $10/month for a shared-amongst-family 2TiB storage space.
@prologic@twtxt.net you wrote:
“Based on a recent study of the brains of mice I estimated the human brain to have 200B cells/neurons and 50,000T connections.”
What’s the relation between the brains of mice, and the human brain? I am kind of lost trying to make the connection.
I also read that it isn’t 5 watts, but more like 10-20 watts. Still a super tiny consumption, comparing to what it takes to run anything AI.
Hit by the arvo sun rays behind the window I was convinced that it is t-shirt weather. Deep blue sky, yeah, for sure! It turned out to be just 15°C and declining, though. So, I had to wear my jacket on today’s windy stroll. Pretty nice. Didn’t take many photos, but there you go: https://lyse.isobeef.org/waldspaziergang-2025-04-10/
The new toy has arrived and is ready to be cleansed of it’s pre-installed Win 10 pro (yuck!) …
Finally lawn is mowed—well, the one at the front, the wild forest in the back will have to wait a bit longer. I haven’t clocked my 10,000 steps today, but what I didn’t walking, I did through full body “exercise”. Will call it a day. 😅
I’m playing with ratterplatter again: It’s a toy that watches disk I/O and emulates the noise of a real hard disk. (Linux only.) It uses sound samples from one of my older disks.
I tried a different approach at estimating the disk activity and I think I finally got it right (after almost 10 years … 🤦).
Demo, booting a Windows 2000 VM: https://movq.de/v/1400544cc6/2kboot-ratterplatter-2.mp4
(For this purpose alone, I put a couple of mini speakers into my PC case, so that the noise comes from the right place: https://movq.de/v/a3b2dc0932/speakers.jpg)
The results aren’t too bad, but this thing can’t be super accurate due to the huge I/O caches that we have these days. For the video, I dropped the caches before booting Windows, otherwise you would have heard almost nothing.
FWIW, if you don’t know it yet, this is the equivalent for proper keyboard sound: https://github.com/zevv/bucklespring
[47°09′22″S, 126°43′10″W] Storm recedes – back to normal work
[47°09′10″S, 126°43′09″W] Transfer aborted
[47°09′10″S, 126°43′40″W] Raw reading: 0x67E26281, offset +/-1
[47°09′10″S, 126°43′05″W] Reading: 0.73000 PPM
Chapter 10:
@prologic@twtxt.net @andros@twtxt.andros.dev
more examples:
2020 Jan1 New Year's Day @yearly
2020 jan 3Mon Dr. Martin Luther King, Jr Day @yearly
2020 feb 3Mon President's Day @yearly
2020 may -1Mon Memorial Day @yearly
2020 jun19 Juneteenth @yearly
2020 jul1 Independence Day @yearly
2020 jul24 Pioneer Day @yearly
2020 sept 1Mon Labor Day @yearly
2020 oct 2Mon Columbus Day @yearly
2020 nov11 Veteran's Day @yearly
2020 nov 4Thur Thanksgiving Day @yearly
2020 dec25 Christmas Day @yearly
2025-01 Fri [ ] Take out Trash @weekly
2024-10-17 Thu [x] (A) Did this and that completed:2024-10-18
2025-10-18
[ ] (A) Submit important papers
[ ] (B) Work on +ProjectB
- some note
2024-10-21
- some notes about things to remember for Monday
[ ] Do that
[ ] Travel the stars
[47°09′10″S, 126°43′44″W] Taking samples
[47°09′10″S, 126°43′22″W] Raw reading: 0x67D27461, offset +/-2
[47°09′10″S, 126°43′16″W] Dosimeter malfunction
[47°09′10″S, 126°43′25″W] Raw reading: 0x67CFED82, offset +/-4
Ontem voltei a pegar no Django depois de 10 anos para um side-project. É como se fosse um regresso a um lugar onde um dia se foi feliz.
Tem a sua personalidade e tal, mas continuo a adorar os seus pormenores e as suas escolhas sobre como deve funcionar uma framework web.
Também fiquei muito agradado de ver que muito pouco mudou desde há uma década no que toca à forma fundamental como o Django faz as coisas. Talvez isso não seja apreciado pela juventude habituada a ciclos de upgrade rápidos e drásticos, mas pra mim foi um grande alívio ver que não tenho de me atualizar muito para montar um pequeno projeto.
Há gente djangueira por aí?
[47°09′10″S, 126°43′11″W] Bad satellite signal – switching to analog communication
I went on a 5:30 hours long hike to my second backyard mountain. About 12km to get there and roughly 9km on the way back. It was super nice, sunny all day long, 12°C and luckily just a little bit of wind. Great scenery. I managed to capture one great spotted woodpecker hammering along. There was also a kestrel hovering over a meadow and then landing on a sports field light pole. At the castle ruin I could watch 10-12 gliding red kites (with the V-shaped tail) and other raptors, maybe bussards, I don’t know, for about five minutes. That was fascinating. Unfortunately, my camera doesn’t too well with moving targets.
86 more photos: https://lyse.isobeef.org/wanderung-auf-den-hohenrechberg-2025-03-03/
[47°09′10″S, 126°43′19″W] Raw reading: 0x67C09A11, offset +/-3
The big established parties are all bad traitors. I blame them and their actions to help raise AfD. They just [don’t?] give a fuck about the ordinary people, they’re only concerned about their private gain and power.
To a large degree, yes. But I think the media is also equally at fault. There was absolutely no reason to invite AfD people to every event and let them talk. This has been going on for over 10 years. When we give them a stage to spread their hate, are we really surprised that hate spreads … ?
I don’t know the answers to this desaster. I’m beginning to think that people literally just want an outlet for their frustration, nothing more. It’s not about what particular parties actually plan to do. At least I think this applies to people in their 30ies and 40ies.
[47°09′54″S, 126°43′10″W] Reading: 0.16000 PPM
It was mostly cloudy, but every now and then the sun peaked through. With very little wind, the 12°C felt quite nice. Especially for a hike. With the sun completely hidden and more wind, the lunch break at the summit was a bit chilly, though.
There’s a bad looking crack in the climbing rock in 10. When you have eagle eyes, you might be able to see the hooks in the cliff for the climbing ropes. I haven’t seen this one before. Also, it looked like several cubic meters of earth, grass and rock fell off the top.
On the way home, it got much more sunny. I found yet another skyrocket stick. That was pretty neat. And we saw the first field of snowdrops. With some bees checking them out. In total we walked a bit over 15km.
More pics: https://lyse.isobeef.org/waldspaziergang-2025-02-23/
[47°09′06″S, 126°43′10″W] Raw reading: 0x67BA0291, offset +/-5
[47°09′10″S, 126°43′17″W] Storm recedes – back to normal work
[47°09′10″S, 126°43′54″W] Automatic systems disengaged due to blizzard
NASA has a list of 10 rules for software development https://www.cs.otago.ac.nz/cosc345/resources/nasa-10-rules.htm
~10 seconds means it had to fire up Qwen 2.8b and prompt it what items would reasonably show up in a right click menu for the desktop.
@bender@twtxt.net Every base is base 10.
[47°09′10″S, 126°43′46″W] Taking samples
[47°09′10″S, 126°43′32″W] Transponder still failing – switching to analog communication
[47°09′22″S, 126°43′10″W] Weather forecast alert – storm from E
[47°09′10″S, 126°43′31″W] –no signal–
[47°09′10″S, 126°43′22″W] Raw reading: 0x67896541, offset +/-4
[47°09′05″S, 126°43′10″W] Transfer 25% complete…
[47°09′10″S, 126°43′48″W] Automatic systems disengaged due to thunderstorm
[47°09′10″S, 126°43′57″W] Automatic systems disengaged due to blizzard
[47°09′10″S, 126°43′11″W] Waiting for carrier
[47°09′14″S, 126°43′10″W] Wind speed: 83kph – batteries low
[47°09′41″S, 126°43′10″W] Transfer aborted
Estou numa conf sobre direitos digitais, e o prémio do dia vai para o representante da ERC que falou do “trabalho hercúleo” da entidade. Como bom apreciador de trocadilhos de pai, dou 10/10
[47°09′07″S, 126°43′10″W] Storm recedes – back to normal work
[47°09′10″S, 126°43′03″W] Automatic systems disengaged due to blizzard
[47°09′10″S, 126°43′38″W] Resetting dosimeter
[47°09′10″S, 126°43′56″W] Taking samples
[47°09′10″S, 126°43′10″W] Transponder still failing – switching to analog communication
[47°09′10″S, 126°43′47″W] Transponder jammed
[47°09′11″S, 126°43′10″W] Wind speed: N/A – Cannot comunicate
[47°09′10″S, 126°43′23″W] Wind speed: 108kph – batteries low
[47°09′10″S, 126°43′14″W] Bad satellite signal – switching to analog communication
@movq@www.uninformativ.de How hard would it be to implement something like (#<2024-10-25T17:15:50Z https://www.uninformativ.de/twtxt.txt>)
in jenny as a replacement for (#twthash)
and have it not care about if is http(s) or a g-protocol?
For example, this links to the previous post, no crypto needed: http://a.9srv.net/tw.txt#:~:text=2024-10-23T18:59:49-07:00
Huh. I had long forgotten about text fragment URLs. Seems relevant for linking to discussions around linking to individual twtxt posts. https://alfy.blog/2024/10/19/linking-directly-to-web-page-content.html
[47°09′46″S, 126°43′10″W] Bad satellite signal – switching to analog communication
Que maravilha, finalmente o Minetest vai mudar de nome (para “Luanti”). Já era um nome trapalhão q.b., com a agravante de um trocadilho maroto em português que é impossível de des-ver
https://blog.minetest.net/2024/10/13/Introducing-Our-New-Name/
[47°09′10″S, 126°43′29″W] Raw reading: 0x670BA831, offset +/-1