What do you think I just learned about in this awesome Computerphile video with Matt Godbolt called “Subroutines in Low Level Code”? https://www.youtube.com/watch?v=1su3lAh-k4o
Here’s the plot twist, the phrase “till the cows come home”. Hahaha, I never heard this before, but I love it! It’s always interesting to me to hear English sayings. Sometimes we have the same in German, sometimes – like in this case – entirely different ones. It’s fascinating that even though one hasn’t come across proverbs, it’s typically still clear from the context what’s meant.
Yep, some unexpected language stuff. ;-)
Nobody want to be a shitty programmer. The question is: Do you do anything not to not be one?
Reading blogs or social media and watching YouTube videos is fun. After them, your code may be a little better, of course. But you need a lot. You need to study! Read good books and study the code of other programmers, for example. Maybe work with a new language, architectures and paradigms. You need break the routine.
If you know Object-oriented programming, you learn functional programming.
If you know Model-View-Controller, you learn Model-View-ViewModel.
If you don’t know anything about architectures, you learn Clean Architecture, Hexagonal Architecture, etc.
If you know Python, you learn Ruby or Go.
If you know Clojure or Lisp… you don’t need to learn anything else. You are already a good programmer. Just kidding. You can learn Elixir or Scala.
Be a good programmer my friend.
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) 😅 And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! 😱 #Twtxt #Update
I’m with @andros@twtxt.andros.dev and @eapl.me@eapl.me on this one. But I have also lost interest in twtxt lately and currently rethinking what digital tools truly add value to my life. So I will not spending my time on adding more complexity to Timeline
. Still a big thanks to you @prologic@twtxt.net for all the great work you have done and all the nice conversations both here and on our video calls.
Moving Beyond Containers – Introducing Boxer by Daniel Phillips WASM I/O 2025 [video]
Comments ⌘ Read more
The VTech Socratic method
We’ve had a lot of fun with VTech’s computers in the past on this blog. Usually, they’re relatively spartan computers with limited functionality, but they did make something very interesting in the late 80s. The Socrates is their hybrid video game console/computer design from 1988, and today we’ll start tearing into it. ↫ Leaded Solder web log Now we’re in for the good stuff. A weird educational computer/game console/toy thing from the late ’80s, by VTech. I have a massive soft s … ⌘ Read more
A tour inside the IBM z17
Welcome to a photo-driven tour of the IBM z17. I’ve scoured the image library to pull dig deep inside these machines that most people don’t get an opportunity to see inside, and I’ll share some of the specifications gleaned from the announcement and related Redbooks. ↫ Elizabeth K. Joseph at the IBM community website These IBM mainframes don’t have to be beautiful, but they always are. I wish I could see a z17 up close – hopefully IBM will release a detailed video walkthrough of … ⌘ Read more
@kat@yarn.girlonthemoon.xyz OMG! You used the video capabilities of yarnd
🤣 Nice! 😊
@movq@www.uninformativ.de So cool! 😎 Where’s the time lapse video you used to have of this tree? 🌳 Hmm 🧐
Realized I could definitely have a silly gameplay montage youtube channel if I wanted to. All of my best video editing has been goofy visual gags… I could do it…
Packing Input Frame Context in Next-Frame Prediction Models for Video Generation
Comments ⌘ Read more
SDL2 ported to Mac OS 9
Well, this you certainly don’t see every day. This is a “rough draft” of SDL2 for MacOS 9, using CodeWarrior Pro 6 and 7. Enough was done to get it building in CW, and the start of a “macosclassic” video driver was created. It DOES seem to basically work, but much still needs to be done. Event handling is just enough to handling Command-Q, there is no audio, etc etc etc. ↫ A cast of thousands The hardest part was a video driver for the classic Mac OS, which had to be created mostly f … ⌘ Read more
@thecanine@twtxt.net My apologies, mate! :-( As @david@collantes.us pointed out, this was definitely not my intent at all.
For the easter egg hunt, I first looked for a hidden image map link on the pixel dog in the right lower corner itself. Maybe one giant pixel just links to somewhere else, I figured. But I couldn’t find any and then quickly moved on. Hence, I naturally viewed the HTML source. Because where else would be a good hiding place for easter eggs, right?
Next, I noticed the <font>
tags. I thought I had read quite some time ago that they are not an HTML5 thing, but wasn’t entirely sure about it. So, I asked the W3C HTML validator. Sure enough. I thought I let you know about the violations. If somebody had found a mistake on my site, I’d love to hear about it, so I could fix it. I’m sorry that my chosen form of report didn’t resonate with you all that well. I reckoned you’ll also find it a bit funny, but I was clearly very wrong on that.
I actually followed the dog cow link to the video, so I ended up on the easter egg. However, I didn’t recognize it as such. ¯_(ツ)_/¯ Oh well.
Regarding my message about the browser quirks: I read your answer that you were arguing against the HTML validator findings. Of course, everybody can do with their sites whatever they likes.
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
The Mastodon admins say that it’s probably because of the size of my account (~600 MB), so the export process times out. And I understand that. Here on twtxt, I always use auto-expiring links when I post images or videos. It just gets too much data otherwise. I think I’ll just set my Mastodon account to auto-delete posts after ~180 days or something like that. Nobody cares about old posts anyway.
Playing multimedia with Dillo
What if you want to use a web browser like Dillo, which lacks JavaScript support and can’t play audio or video inside the browser? Dillo doesn’t have the capability to play audio or video directly from the browser, however it can easily offload this task to other programs. This page collects some examples of how to do watch videos and listen to audio tracks or podcasts by using an external player program. In particular we will cover mpv with yt-dlp which supports YouTube … ⌘ Read more
@movq@www.uninformativ.de Yeah, most of the graphical applications are actually KDE programs:
- KMail – e-mail client
- Okular – PDF viewer
- Gwenview – image viewer
- Dolphin – file browser
- KWallet – password manager (I want to check out
pass
one day. The most annoying thing is that when I copy a password, it says that the password has been modified and asks me whether I want to save the changes. I never do, because the password is still the same. I don’t get it.)
- KPatience – card game
- Kdenlive – video editor
- Kleopatra – certificate manager
Qt:
- VLC – video player
- Psi – Jabber client (I happily used Kopete in the past, but that is not supported anymore or so. I don’t remember.)
- sqlitebrowser – SQLite browser
Gtk:
- Firefox – web browser
- Quod Libet – music player (I should look for a better alternative. Can’t remember why I had to move away from Amarok, was it dead? There was a fork Clementine or so, but I had to drop that for some unknown reason, too.)
- Audacity – audio editor
- GIMP – image editor
These are the things that are open right now or that I could think of. Most other stuff I actually do in the terminal.
In the past™, I used the Python KDE4 bindings. That was really nice. I could pass most stuff directly in the constructor and didn’t have to call gazillions of setters improving the experience significantly. If I ever wanted to do GUI programming again, I’d definitely go that route. There are also great Qt bindings for Python if one wanted to avoid the KDE stuff on top. The vast majority I do for myself, though, is either CLI or maybe TUI. A few web shit things, but no GUIs anymore. :-)
@kat@yarn.girlonthemoon.xyz this is how i find out the videos are capped at a minute
I’d need to think about it deeply, but at a first sight, nanoblogging
would be a simple text (like the original twtxt spec, aimed for TUIs), and microblogging
(like Twitter was a few years ago), would be about sharing texts, images, videos, GIFs, links, and perhaps Markdown styling.
Why? You have shorter messages than in a blog, but you may add almost anything you could do in a blog.
Buuut… who knows?
A depressing video about the current state of printers that just ends with “fuck this, I’m gonna talk about my cat now”: https://www.youtube.com/watch?v=bpHX_9fHNqE
And I just added a video clip of the woodpecker. As you can easily see from the shaking, it hammers so dang hard that the whole ground around the tree vibrates.
@prologic@twtxt.net I wonder if we watched the same video.
@andros@twtxt.andros.dev Just before the pandemic, we watched Uncle Bob videos once a week in the lunch break. While almost all of my old teammates agreed with his views, I partially found them to be very odd and even counterproductive.
I didn’t come across John Ousterhout or any of his work before, at least not deliberately. So, this document is my first contact.
I only finished the chapter on comments and I totally agree with John so far. This document just manifests to me how weird Bob’s view is on certain subjects.
I always disagreed with the concept of a maximum method length. Sure, generally, shorter functions are probably better, but it always depends. And I’ve certainly seen super short methods that just made the code flow even worse to follow. While “one function should only do one thing” is a nice general rule, I’m 100% in team John with the shown examples. There are cases, where this doesn’t help readability at all. Not even close.
To me, a function always has to justify its existence. Either by reusing it at least at another place or by coming up with dedicated tests for it. But if it is just called once and there are no tests, I almost always decide against it. Personally, I don’t mind longer methods. We just recently had a discussion about that and I lost against two other workmates who are more in Uncle Bob’s camp, they refactored one medium sized method into three very short ones. Luckily, we agree on most other topics.
Lol, what!? The shorter the method, the longer the variables inside? I first thought I misread or the writeup mixed it up. I’ll always do it the other way around.
I’ve been also bitten badly by outdated comments in the past, but Bob must have worked on really terrible projects to end up with such an attitude to dislike comments. Oh well. No doubt, I’ve come across by several orders of magnitude more useless comments, in my experience (autogenerated) JavaDocs fall in the category more frequently than not. So, I know that there are different types of comments. A comment doesn’t automatically mean that it is good and justified.
But I also partially agree with Bob and John and think that a good name has a proper chance to save a comment. Though, when in doubt, I go John’s route and use a shorter name with a comment rather than use a kilometer long identifier. Writing good comments typically takes some time, sometimes much longer than writing the code. It regularly takes me several minutes. It’s a hard art.
I perhaps should read up on John’s work. He seems to be more reasonable and likeminded. :-) Let me continue to complete this document.
Those are some impressive wigs: https://imgur.com/gallery/life-imitates-video-game-5KlJBhj I wonder how it feels to wear such a thing for a day – especially in summer. 😅🥵
@falsifian@www.falsifian.org Mate, what an amazing video, holy cow! :-D We only get complete jokes of icicles compared to what you had there ealier today. It’s a giant wall. For how many days did that grow on your roof?
@falsifian@www.falsifian.org Wooooaaaahhh! That is BY FAR the biggest icicle I’ve ever seen. Really cool! :-) How long did it take to melt in your sink? The video download is still dripping in, looking forward to that.
Some satisfying icicle-breaking in our backyard: photos.falsifian.org/video/sM7G3vfS6yuc/VID_20250217_203250.mp4
I couldn’t resist taking home a prize:
It’s been snowy here in #Toronto.
(I tried formatting the images in markdown for the benefit of yarn and any other clients that understand it.)
This Sculpt OS video walkthrough explains how to use Sculpt OS
We talk about the Genode project and Sculpt OS quite regularly on OSNews, but every time I’ve tried using Sculpt OS, I’ve always found it so different and so unique compared to everything else that I just couldn’t wrap my head around it. I assume this stems from nothing but my own shortcomings, because the Genode project often hammers on the fact that Sculpt OS is in daily-driver use by a lot of people with … ⌘ Read more
Reviving a dead audio format: the return of ZZM
Long-time readers will know that my first video game love was the text-mode video game slash creation studio ZZT. One feature of this game is the ability to play simple music through the PC speaker, and back in the day, I remember that the format “ZZM” existed, so you could enjoy the square wave tunes outside of the games. But imagine my surprise in 2025 to find that, while the Museum of ZZT does have a ZZM Audio section, it recommends t … ⌘ Read more
Android 16 Beta 1 has started rolling out for Pixel devices
Basically, this seems to mean applications will no longer be allowed to limit themselves to phone size when running on devices with larger screens, like tablets. Other tidbits in this first beta include predictive back support for 3-button navigation, support for the Advanced Professional Video codec from Samsung, among other things. It’s still quite early in the release process, so more is sure to come, and some … ⌘ Read more
SDL 3.2.0 released
SDL, the Simple DirectMedia Layer, has released version 3.2.0 of its development library. In case you don’t know what SDL is: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve‘s award winning catalog and many Humble Bundle games. ↫ SDL website This new release has a lot of impr … ⌘ Read more
Auf arte läuft heute Abend “The Cure”. Erst eine Doku über die Band und jetzt das Jubiläumskonzert von 2018. https://www.arte.tv/de/videos/120866-000-A/the-cure-anniversary-1978-2018/