Folks, I finally made something I wanted to make for a long time, a T-Shirt design thing.
Available at Redbubble https://www.redbubble.com/i/t-shirt/numpy-shapely-trimesh-and-py5-by-villares/173500912.7H7A9?asc=u
And also available in Brazil at Uma Penca: https://umapenca.com/villares/
You can also buy stickers and other items… soon my “Python Reading Club” and “Python is also for artists!” designs will be available. This will help support my free and open source activities. I make free and open educational resources, I teach at several places and I need to make ends meet.
#python #numpy #shapely #trimesh #py5 #creativeCoding #FLOSS
@lyse@lyse.isobeef.org (Haha, every time I read the word “Gophers”, I have to stop and remind myself that this is about Golang. 🤪)
@movq@www.uninformativ.de Oh, nice read!
If I’m in the woods, I’d like to not waste my time with computers and focus on the beauty of nature. ;-) So, I’m not gonna participate in that event. But I’d read your articles on that subject anytime. :-)
@movq@www.uninformativ.de that works! Reading! :-)
Hustle culture lied to you (here’s a better way) ⌘ Read more
@klaxzy@klaxzy.net I’ve had many SD cards die in Raspberry Pis. Really annoying. I’ve eventually switched to using a read-only rootfs. 🫤
Honest Government Ad | Visit Norway! ⌘ Read more
@dce@hashnix.club Yeah, I’ve read about that approach. Sounds clever. Truth is, I’m too tired. 😢 I don’t want to spend too much of my time fighting assholes.
I’ve now started blocking entire cloud hosters. Sorry, not sorry.
As expected: Didn’t last long. They’re coming from different IPs now.
I’ve read enough blog posts by other people to know that this is probably pointless. The bots have so many IPs/networks at their disposal …
** Answering some questions about Baba Yaga **
My previous post found its way to Hacker News; I don’t have an account there, but a commenter asked a few questions that I thought I could answer in a follow up post.
Baba Yaga uses call-by-value evaluation, not call-by-need (aka“lazy”).
From the interpreter,
”`hljs javascript
function visitFunctionCall(node) {
const callee = visit(node.callee);
// Arguments ar … ⌘ Read more”`
There’s always something more urgent: I’ve been known for a long time that sooner or later I’d feel prompted to switch from #github to somewhere else (since 2018 at least!), but I’ve been postponing and only very slowly flirting with the idea… That didn’t work too bad for me: if I had rushed into it I would have probably migrated to #gitlab, before knowing about the more objectionable sides to it. In the end, 2025 was the year I finally acted upon the urge to move. I did not do a very thorough analysis of the alternative hosts - what I have been reading about them along the years felt enough, and I easily decided to choose #codeberg. Being hasty like that, alas, was a mistake: I just now found - during this slow and time-consuming process of deciding what and how to migrate - that there is a low repository limit on codeberg: “The owner has already reached the limit of 100 repositories.” I’m not complaining, mind you, and those “lucky 100” that are already there will stay - at least as a sort of backup. But this means that codeberg is not for me - and so this time I turn to you, the #mastodon community.
What github alternative, not self-hosted, should I move my >100 projects into?
CPU Summary - Computerphile ⌘ Read more
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 …)
** To the surprise of literally no one, I’m working on implementing a programming language all my own **
Inspired by conversation at a recent Future of Coding event, I decided I’d write up a little something about the programming language I’ve been working on (for what feels like forever) before I’ve gotten it to a totally shareable state. I have a working interpreter that I’m pretty pleased with, but I don’t yet have an interact … ⌘ Read more
Dear @doctormo@doctormo, I’m a great admirer of your work in general and hopefully I won’t creep you out by telling everyone I’m your fan!
As a creator of digital vector-based art I find the color management stuff (trying to figure how to generate things to print “in CMYK”) mind boggling. I slowly try to read and acquire the concepts and vocabulary to understand more about this. I’m grateful for your work in this area. Thank you!
@prologic@twtxt.net Yes, this is another instance of restricting “personal” computing. You won’t be able to install arbitrary software anymore (“sideloading”, as they call it).
It’s not unique, it’s not new. Boiling the frog alive.
We’re heading towards this: https://www.gnu.org/philosophy/right-to-read.html
Its like TV. Very few good channels and many bad channels. Or like books. Very few good books and many bad books. Look for spezialized channels and educate your children. Read the bible.com . But only Jesus is reliable. Forget Moses and the punishing God.
James Gleick: “The lie of AI”
https://around.com/the-lie-of-ai/
Long read, it starts with Claude Shannon and Markov chains…
@movq@www.uninformativ.de Yeah I just got a bit curious after watching your video and reading your OP 😅
Why everyone is quitting social media ⌘ Read more
The Next Big SHA? SHA3 Sponge Function Explained - Computerphile ⌘ Read more
BlueSCSI Wi-Fi Desk Accessory 1.4 Released ⌘ Read more
Video: C Programming on System 6 - VCFMW, CMaster ⌘ Read more
Regarding Mourning Posts 2.0 ⌘ Read more
[47°09′34″S, 126°43′49″W] Raw reading: 0x68964931, offset +/-4
[47°09′28″S, 126°43′31″W] Raw reading: 0x689335B1, offset +/-1
** Make awk rawk **
A friend online recently replied to something I wrote about awk by saying:
[…] it’s a danged shame [awk] didn’t continue to evolve the way Ruby, Python, PHP have evolved over the decades.
I had exactly this thought while working on my slightly unhinged“lets see if I can implement a basic scheme using awk by writing an assembler and VM in awk,” skwak. Which eventually lead me to start noodling on how to layer in some modern niceties into awk, without breaking awk’s portability.
… ⌘ Read more
Gödel’s Incompleteness Theorem - Computerphile ⌘ Read more
[47°09′37″S, 126°43′28″W] Raw reading: 0x6891E431, offset +/-3
[47°09′51″S, 126°43′42″W] Raw reading: 0x688F08F2, offset +/-5
[47°09′31″S, 126°43′37″W] Reading: 0.77 Sv
How the 1% stole minimalism (then threw it away) ⌘ Read more
Hahaha, I first thought of https://www.youtube.com/watch?v=zA52uNzx7Y4 when I read @kat@yarn.girlonthemoon.xyz’s “lyrics”. ;-)
Doesn’t sound bad, I like it. The synth reminded me of some song by Beast in Black.
mandoc is nicer to read/write than the man
macro package and, most importantly, it’s semantic markup.
HTML output is a bit broken in GNU groff, though (OpenBSD on the left, GNU on the right):
https://movq.de/v/f1898e648f/s.png
🤔
Still, I’m inclined to convert my manpages to mandoc.
@kingdomcome@yarn.girlonthemoon.xyz Yeah, it’s all about simplicity. That’s what got me hooked. In its original form without the extensions, you can even read the raw feed and it doesn’t feel all that bad.
Writing a Text Editor - Computerphile ⌘ Read more
[47°09′35″S, 126°43′14″W] Reading: 1.02000 PPM
[47°09′57″S, 126°43′45″W] Reading: 0.87000 PPM
Heck yeah, that’s damn cool: Reading QR codes without a computer! https://qr.blinry.org/
37C3 and New Year’s Eve 2023
Another one from the vaults. The 37C3 conference took place in
December, 2023. This report was mostly written in January, 2024.
Mostly finished it at night in my cottage between 28 and 29th
December, then edited and added some stuff in July, 2025. So… Only
1.5 years late?
It was a little ironic, and a little sad, that I was finishing the
37C3 report during 38C3. I didn’t manage to get any tickets for me and
#3 for 38C3 and had to make do with watching the stream.
The links to the talks go to [C … ⌘ Read more
[47°09′56″S, 126°43′19″W] Reading: 0.36000 PPM
[47°09′32″S, 126°43′25″W] Reading: 0.07 Sv
@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′19″S, 126°43′27″W] Reading: 1.34 Sv
gomdn: Yet another Static Site Generator
Yet another Static Site Generator (SSG), but this one is mine.
It’s a stupidly simple Go program ( wc
says 229 lines), more like a
hack, really, but I don’t need something like Hugo. Most of the real
work is done by the goldmark package, of course. This is mostly just a
wrapper, deciding if something needs to be rebuilt.
I’ve been using a Perl script together with cmark
(originally
Markdown.pl
) since forever. And before that the old [txt2tags](htt … ⌘ Read more
[47°09′13″S, 126°43′30″W] Raw reading: 0x68806C51, offset +/-1
Memory Mapping - Computerphile ⌘ Read more
Status 2025-07-21
Morning, computer! Spending my days off trying to figure things out.
Some of them will occur in this post. I think best when I’m writing,
after all.
I’m back from a short vacation since a couple of weeks. I’m still
going to take a few days off every week for a while. I need the break.
It’s been way too many 12-16 hour workdays. I’m nominally working 80%
(~6 hour days), so I figure I’ve been working a lot for free.
Yeah, well, I like the TKey project to succeed. The ideas behind it
have implicatio … ⌘ Read more
[47°09′59″S, 126°43′41″W] Raw reading: 0x687DC951, offset +/-4
[47°09′33″S, 126°43′43″W] Raw reading: 0x687D3CB2, offset +/-3
[47°09′09″S, 126°43′14″W] Reading: 0.13000 PPM
@kat@yarn.girlonthemoon.xyz I kind of like XML because it’s mostly well-defined and easy for humans to read (unlike YAML, which is a complete mess, imho) … and at the same time, it can get complicated really fast. 🫤 But at least it’s plain-text – that’s the important part in this case. 😅
[47°09′08″S, 126°43′36″W] Reading: 1.88 Sv
[47°09′25″S, 126°43′01″W] Raw reading: 0x687C77D1, offset +/-3
[47°09′48″S, 126°43′05″W] Reading: 0.30 Sv
Xfce does one thing very right: It stores its settings in plain-text XML files. This allows me to easily read, track, and maybe even distribute these settings to other machines.
(Unlike GNOME’s dconf, which uses some binary file format. Fun fact: The older and now deprecated gconf also used XML files.)
[47°09′22″S, 126°43′17″W] Raw reading: 0x687B4271, offset +/-1
[47°09′49″S, 126°43′27″W] Reading: 1.87 Sv
[47°09′11″S, 126°43′57″W] Reading: 0.34 Sv
How brands manipulate you into buying more ⌘ Read more
Zip It! - Finding File Similarity Using Compression Utilities - Computerphile ⌘ Read more
@aelaraji@aelaraji.com And I read the following funny response to that:
Bluesky: Users verify their age by adding a payment method or uploading a photo ID.
Mastodon: Users verify their age by posting pictures of the vintage computer equipment in their homes.
https://beige.party/@maxleibman/114848276288629121
😏
ROFL 🤣 I’ve just read from someone on the Fedi, that Bluesky has started asking people for ID
[47°09′14″S, 126°43′59″W] Raw reading: 0x68752981, offset +/-3
TKey: The Next Generation
Not speaking for my employer, just as an interested developer in an
interesting open source project.
As you might have noticed, the platform repo of the Tillitis TKey has
some alpha tags for the next generation, Castor:
https://github.com/tillitis/tillitis-key1/tags
An alpha tag means that all planned features for the platform are in
place, but there’s not yet a complete audit and a lot of testing … ⌘ Read more
[47°09′09″S, 126°43′30″W] Reading: 0.61 Sv
[47°09′35″S, 126°43′36″W] Reading: 1.44000 PPM
setpriv
on Linux supports Landlock.
@prologic@twtxt.net Yeah, it’s not a strong sandbox in jenny’s case, it could still read my SSH private key (in case of an exploit of some sort). But I still like it.
I think my main takeaway is this: Knowing that technologies like Landlock/pledge/unveil exist and knowing that they are very easy to use, will probably nudge me into writing software differently in the future.
jenny was never meant to be sandboxed, so it can’t make great use of it. Future software might be different.
(And this is finally a strong argument for static linking.)
setpriv
on Linux supports Landlock.
Another example:
$ setpriv \
--landlock-access fs \
--landlock-rule path-beneath:execute,read-file:/bin/ls-static \
--landlock-rule path-beneath:read-dir:/tmp \
/bin/ls-static /tmp/tmp/xorg.atom
The first argument --landlock-access fs
says that nothing is allowed.
--landlock-rule path-beneath:execute,read-file:/bin/ls-static
says that reading and executing that file is allowed. It’s a statically linked ls
program (not GNU ls).
--landlock-rule path-beneath:read-dir:/tmp
says that reading the /tmp
directory and everything below it is allowed.
The output of the ls-static
program is this line:
─rw─r──r────x 3000 200 07-12 09:19 22'491 │ /tmp/tmp/xorg.atom
It was able to read the directory, see the file, do stat()
on it and everything, the little x
indicates that getting xattrs also worked.
3000
and 200
are user name and group name – they are shown as numeric, because the program does not have access to /etc/passwd
and /etc/group
.
Adding --landlock-rule path-beneath:read-file:/etc/passwd
, for example, allows resolving users and yields this:
─rw─r──r────x cathy 200 07-12 09:19 22'491 │ /tmp/tmp/xorg.atom
CPU Kernel Mode - Computerphile ⌘ Read more
[47°09′50″S, 126°43′12″W] Reading: 1.94 Sv
[47°09′53″S, 126°43′13″W] Reading: 0.99 Sv
@prologic@twtxt.net Yeah, this really could use a proper definition or a “manifest”. 😅 Many of these ideas are not very wide spread. And I haven’t come across similar projects in all these years.
Let’s take the farbfeld image format as an example again. I think this captures the “spirit” quite well, because this isn’t even about code.
This is the entire farbfeld spec:
farbfeld is a lossless image format which is easy to parse, pipe and compress. It has the following format:
╔════════╤═════════════════════════════════════════════════════════╗
║ Bytes │ Description ║
╠════════╪═════════════════════════════════════════════════════════╣
║ 8 │ "farbfeld" magic value ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4 │ 32-Bit BE unsigned integer (width) ║
╟────────┼─────────────────────────────────────────────────────────╢
║ 4 │ 32-Bit BE unsigned integer (height) ║
╟────────┼─────────────────────────────────────────────────────────╢
║ [2222] │ 4x16-Bit BE unsigned integers [RGBA] / pixel, row-major ║
╚════════╧═════════════════════════════════════════════════════════╝
The RGB-data should be sRGB for best interoperability and not alpha-premultiplied.
(Now, I don’t know if your screen reader can work with this. Let me know if it doesn’t.)
I think these are some of the properties worth mentioning:
- The spec is extremely short. You can read this in under a minute and fully understand it. That alone is gold.
- There are no “knobs”: It’s just a single version, it’s not like there’s also an 8-bit color depth version and one for 16-bit and one for extra large images and one that supports layers and so on. This makes it much easier to implement a fully compliant program.
- Despite being so simple, it’s useful. I’ve used it in various programs, like my window manager, my status bars, some toy programs like “tuxeyes” (an Xeyes variant), or Advent of Code.
- The format does not include compression because it doesn’t need to. Just use something like bzip2 to get file sizes similar to PNG.
- It doesn’t cover every use case under the sun, but it does cover the most important ones (imho). They have discussed using something other than RGBA and decided it’s not worth the trouble.
- They refrained from adding extra baggage like metadata. It would have needlessly complicated things.
@movq@www.uninformativ.de Yeah that’s why I’m striking this conversation with you 😅 Not only do I respect your opinion quite highly 🤣 But like you say (and I’ve read their philipshpy) it can be a bit “elitism” for sure. I’m genuinely interested in what we think of as software that “doesn’t suck”. Tb be honest I haven’t really put thought to paper myself, but I reckon if I did, I’d have some opinions/ideas…
@eldersnake@we.loveprivacy.club This was an interesting read for sure! 👍 I don’t think it had anything I hadn’t already considered in terms of the ethical/moral points of view. I’m not sure where I stand myself either to be honest. I’ve forced myself to get familiar with the ecosystem and tooling, because in my line of work as a tech lead (staff engineer in sre) you don’t want to be that one guy that ya know 😉 Ethically/Morally though, I’m definitely with the sentiment of this post 😅 Much like the whole Crypto hype yaers back (if y’all remember?!) this is also one of the most energy hungry pieces of “tech” (if you can call it that?) in a while. Then there’s these other issues “stealing people’s work”, “reliance is causing humans to become cognitively weak and neural connections to shrink”, to name a few…
[47°09′47″S, 126°43′12″W] Raw reading: 0x686A9D81, offset +/-5
[47°09′32″S, 126°43′31″W] Raw reading: 0x686A1EF1, offset +/-1
World Foundation Models - Computerphile ⌘ Read more
** Om nom nom LLMs, in which I respond to Simon Willison’s analogy **
I am hesitant to wade into the tumultuous waters that are the discourse around generative AI and LLMs, but this morning I came across a thing that so thoroughly melted my brain I feel uncontrollably compelled to respond.
This morning, at evidently 4:10 AM (no mention of timezone), Simon Willison shared the following blog post, quoted here in full:
Quitting programming as … ⌘ Read more
Why I’m still a minimalist after 14 years ⌘ Read more
[47°09′35″S, 126°43′25″W] Reading: 0.83 Sv
[47°09′52″S, 126°43′06″W] Raw reading: 0x6864BCD1, offset +/-4
[47°09′57″S, 126°43′52″W] Raw reading: 0x68643031, offset +/-2
[47°09′51″S, 126°43′21″W] Reading: 1.91000 PPM
[47°09′46″S, 126°43′48″W] Reading: 0.18 Sv
Vimconf 2025 Small Tickets ⌘ Read more
@prologic@twtxt.net I like the last two, on the first three you sent. I looked up “Canarvon Gorge”, and read more about it. Thanks for introducing me to it!
[47°09′37″S, 126°43′07″W] Reading: 1.99000 PPM
[47°09′48″S, 126°43′55″W] Raw reading: 0x685EEA31, offset +/-5
[47°09′49″S, 126°43′48″W] Reading: 0.74 Sv
[47°09′30″S, 126°43′18″W] Reading: 1.61000 PPM
Thanks @bender@twtxt.net! Yeah, so super cute. I couldn’t pet them, though. Despite very curious, they were also very restless.
I persuaded my dad to check out the fireflies with me tonight. He only wanted to go for a short trip, so we came just across a couple hundred of them. Otherwise, the thousands mark would have been exceeded in no time. He was super glad I talked him into that. :-)
It was also my first time to see them over the meadows. Those numbers don’t compare to the ones inside the forest, no question, but we probably saw 60 or so. Haven’t come across them there before, I only heard and read about that.
Note to future-Lyse next year: Leaving at 21:45 seems like a good time. We left earlier and had to wait just a few more minutes for them to come out in masses.
Too bad it’s impossible to share photos or videos. My camera isn’t made for that at all, not even close.
Reinforcement Learning - Computerphile ⌘ Read more
[47°09′21″S, 126°43′14″W] Reading: 1.25000 PPM
[47°09′17″S, 126°43′30″W] Raw reading: 0x685AF5B2, offset +/-3
[47°09′35″S, 126°43′09″W] Raw reading: 0x685A4CF2, offset +/-4
Read Lukas 1, the announciation and birth of the prophet John the Baptist. bible.com
[47°09′23″S, 126°43′34″W] Reading: 1.72 Sv