@zvava@twtxt.net There would be only one hash for a message. Some to be defined magic date selects which hash to use. If the message creation timestamp is before this epoch, hash it with v1, otherwise hammer it through v2. Eventually, support for v1 could be dropped as nobody interacts with the old stuff anymore. But Iād keep it around in my client, because why not.
If users choose a client which supports the extensions, they donāt have to mess around with v1 and v2 hashing, just like today.
As for the school of thought, personally, Iād prefer something else, too. Iām in camp location-based addressing, or whatever it is called. There more I think about it, a complete redesign of twtxt and its extensions would be necessary in my opinion. Retrofitting has its limits. Of course, this is much more work, though.
@lyse@lyse.isobeef.org i dont mind if the hash is not backward compatible but im not sure if this is the right way to proceed because the added complexity dealing with two hash versions isnt justified
regular end users wont care to understand how twt hashes are formed, they just want to use twtxt! so i guess i could work in protecting users from themselves by disallowing post edits on old posts or posts with replies, but iām not fond of this either really. if they want to break a thread, they can just delete the post (though iāve noticed yarn handling post deletes dubiouslyā¦)
on activitypub i do genuinely find myself looking through several month or even year old posts sometimes and deciding to edit/reword them a little to be slightly less confusing, this should be trivial to handle on twtxt which is an infinitely simpler specification
[2025/09/11 12:56:01.816] ā please set config.host
when trying to run "bbycll". How to bypass that tiny hurdle?
Adding too this. The configuration example at the repository reads:
{
"nick": "Example",
"description": "alice's twtxt instance!",
"host": "twtxt.example.com",
"admin": "alice"
}
Would it make more sense changing nick
to instance_name
or similar? Usually nick
is reserved for users, like here, quark
. Right? Also, is host
the same FQDN to be used while proxying traffic to the application? That is, using the above configuration, itās Caddy configuration would be:
twtxt.example.com {
encode
reverse_proxy :31212
}
Is that correct?
Hmm, not experiencing that. Using Zen (Firefox), under Linux, with uBlock Origin.
@kat@yarn.girlonthemoon.xyz @kat@yarn.girlonthemoon.xyz Pretty sure I have many more mentions in the database than the one and only one I see hmmm š¤ ā Iāll have a look at the code when I can and the SQL query itās using
@lyse@lyse.isobeef.org no, as mentioned this ādiagonal arrowā eye shape, is usually used for a smug expression. The optional white part, is in this case, where the dogs sclera would be visible, while they have their eyes, like this.
Here is a comparison between a real dog, making the face it is based on, and the exaggerated drawn version.
@kat@yarn.girlonthemoon.xyz nope, not normal. Something birdy (because why to use fishy all the time?!) is going on.
[2025/09/11 12:56:01.816] ā please set config.host
when trying to run "bbycll". How to bypass that tiny hurdle?
Woot, thank you! Using a config.json
like this:
{
"host": "localhost:31212",
"protocols": ["http"]
}
Indeed did the trick! I know it isnāt production ready, but I wanted to see with my own eyes, locally, how did it look. :-) I like where you are going! It is looking very nice, and polished. Canāt wait for an alpha, beta, and release!
Cheers @mkennedy@mkennedy & @brianokken@brianokken , listening late to @pythonbytes@pythonbytes episode 446, great as usual!
Listening to the JetBrains survey thing I always worry about the sampling bias⦠All the cool scientists using Python, all the journalists doing data journalism, the urban planners and geospace people, the blender people, the people doing movie post-production pipelines, all the hobbyists⦠I think the survey doesnāt reach or represent a large chunk of Python users.
Since Google announced their intentions to heavily limit sideloading on Android, starting end of 2026, Iāve been looking for potential solutions, for this policy change, that threatens the majority of projects I maintain, in some way. Google already killed my browser project years ago, but I have no other choice, than to fight this, any way I can.
The best choice to deal with this, will probably be the Android Debug Bridge, which can be used not only to install apps unrestricted, but also to uninstall, or remove, almost any unnecessary part of the OS. Shizuku, combined with Canta Debloater, is the winning combination for now.
Iāve already removed most Google apps from my device: the annoying AI assistant, the stupid Google app adding the annoying articles, left of your homes screen, Google One, Gboard, Safety app⦠itās amazing, no distracting Google slopware, like in the good old Android 2 days! And I absolutely intend to keep it this way, from now on, no new Google apps or services on my devices, unless Google can give me a good enough reason, to allow them there and whenever the app that verifies signatures, to block installing apps not approved by Google, Iāll just remove it from my device and advocate others do so too.
<details>
tag in HTML; it lets you write a sentence or so that someone can then click to expand to see the actual post. it's called a CW because most people use it to warn for potentially triggering/harmful subjects, but you can really use it for anything, like spoilers in a TV show or even for joke punchlines
@kat@yarn.girlonthemoon.xyz Ta. The only good use for <details>
is to collapse long logs in bug analysis reports. Other than that, I find it rather annoying to expand sections manually.
As for spoilers, personally, I donāt care at all. Not the slightest bit. If there is something that I donāt wanna read, I just stop reading. ĀÆ_(ć)_/ĀÆ
But Iāve got the feeling that Iāve got an unpopular opinion on that matter. ;-)
@bender@twtxt.net I see, thanks. Well, I never found these warnings useful. To hide answers to conundrums or the like, ROT13ing or base64-encoding them is plenty sufficient.
Hahaha, I never heard of Poopgate before. :-D Poor passengers.
@lyse@lyse.isobeef.org a content warning is kind of like a forum spoiler cut, or like the <details>
tag in HTML; it lets you write a sentence or so that someone can then click to expand to see the actual post. itās called a CW because most people use it to warn for potentially triggering/harmful subjects, but you can really use it for anything, like spoilers in a TV show or even for joke punchlines
@zvava@twtxt.net I never used any of the social media platforms, thatās why Iām probably ignorant.
I donāt understand the concept of a retwt. Just quote the (relevant) parts from whereever and comment on that. Or post a link instead of a quote. Sounds simple enough. :-) Thatās also has the benefit that it works with every source, no matter what. Since itās called retwt, Iād imagine this to only work (well) with whatever messages the system itself offers. But I could be wrong. What would be the benefit of having a dedicated message type or structure for āhey, look at thatā messages in your opinion?
Hmm, whatās a content warning?
@lyse@lyse.isobeef.org hahaha very rarely!!! it wasnāt quite a sky scraper, just a few floors up, but my perspective may be skewed because iām used to high buildings :P
I have a feeling that learning to play electric double bass through an amplifier was a big mistake.
At the core, this is an acoustic instrument. If you play it through an amp, you will instinctively only do the bare minimum to get some sound going, because the amp does the heavy lifting. But itās just not right.
This is a very physical instrument. It needs a lot of force and strength ā in comparison, an electric bass guitar is almost flimsy and delicate. I need to āfeelā whatās going on and thatās just not the case when using headphones.
I feel like I wasted ~3 years. 𫤠But maybe itāll get better from now on ā¦
i love htmx i just need to find somewhere to use it
@thecanine@twtxt.net Iād expect especially power users not to use the web frontend. Unfortunately, in order to submit MR reviews thatās very often just the only option.
How about no longer using in-browser Git repo viewers? Make the AI bots do the work and actually clone the repo.
@movq@www.uninformativ.de Interesting, yes. I didnāt know that.
No AI being used is really great. However, the same clips shown over and over again and some images being mirrored was quite annoying to me. Also, there were some quite terrible computer animations and sometimes the narration and picture didnāt match at all. Talking about the medieval period and then showing an image from the 18th hundred or so. What the heck?
These production issues made me sceptical pretty much early on. So I quickly crosschecked Wikipedia. But it seems spot on from what Iāve read. Very good. Also, the narratorās voice was really nice to listen to.
Eels are fascinating creatures. :-)
Dear dev.alessandrocutolo.it, do you really need to fetch my twtxt feed every 20-30 seconds? š
Not that itās posing a problem, but I feel like this could be optimized. For example, how about using the if-modified-since
request header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/If-Modified-Since
@lyse@lyse.isobeef.org @dce@hashnix.club Itās pretty cool, I wonāt argue that, but also really simple, to be completely honest. š The BIOS already provides all you need to send data to the printer:
https://helppc.netcore2k.net/interrupt/bios-printer-services
The BIOS actually does provide a great deal of things, which, to me, was one of the most surprising learnings of this project (the project of writing a little 16-bit real-mode OS, that is). It often doesnāt feel like I was writing an operating system ā it felt more like writing a normal program that just uses BIOS calls like we would use syscalls these days.
(Iāve also read a lot of warnings, like ādonāt use the BIOS for this or thatā. Mostly because it tends to be very slow.)
Sofri muito (e procrastinei muito) e não arrumei o #RSS da minha pÔgina do sketch-a-day :((
mas⦠tem RSS automÔtico na conta do Mastodon onde eu posto os desenhos :D
https://pynews.com.br/@villares.rss
SerĆ” que funciona direitinho @dunossauro@dunossauro ?
@dce@hashnix.club Apart from the crap produced in Redmond two decades ago, I only ever used and still happily use Linux, mainly Debian and Ubuntu. Iāve no idea, but maybe something in there catches your eye: https://en.wikipedia.org/wiki/List_of_operating_systems (I know, what a silly recommendation.)
Listen missy, donāt you disappear on us like that again, do you hear me?! š Welcome back, kat! I was wondering where you were, but figured something more interesting was keeping you busy. š
@lyse@lyse.isobeef.org IIRC theyāre getting attacked by bots on a huge level
also this is a really useful page!
@zvava@twtxt.net may I recommend to change the mention format upon hitting reply to something similar to what itās used in Yarn, and perhaps hiding the hash on the post too? Looking good!
Acreditar só nas coisas que corroboram as nossas opiniƵes Ć© um tipo de viĆ©s difĆcil de escaparā¦
dito isso⦠rsrsrsrsr
Acreditar só nas coisas que corroboram as nossas opiniƵes Ć© um tipo de viĆ©s difĆcil de escaparā¦
dito isso⦠rsrsrsrsr
āYour Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Taskā
https://arxiv.org/abs/2506.08872
Update: Puz o link direto pro artigo, que o divulgador inical parece suspeito (vide replies)
@movq@www.uninformativ.de I noticed that:
gopher://uninformativ.de/0/phlog/2018/2018-06/2018-06-01.txt
Is the first non-justified, and it is when you started using Markdown. The last justified one was:
gopher://uninformativ.de/0/phlog/2018/2018-05/2018-05-27.txt
So, I might have found the mystery! :-D
Haha, fun! I browsed your gopher hole a little bit. I noticed some entries are fully justified (formatting), while others are not. I didnāt notice a pattern, though it makes sense not to use justification on entries with code. Yet, some prose entries are, and some are not. A mystery. :-)
@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. š«¤
Now thatās interesting. Some of these bots start crawling at URLs like this:
That is obviously completely wrong. But I can explain it. Some years ago, I screwed up my nginx rewrite rules, and thatās how these broken URLs came to be.
It all redirects to /git
now, which is why that endpoint sees so much traffic lately.
But what does that mean? Why do they start there? I can only speculate that this company bought an old database of web links and they use that to start crawling. And it was probably a cheap one, because these redirects have been fixed for quite a long time now.
@prologic@twtxt.net Iām doing that now as well, but I donāt think this is a good solution. This is going to hurt āself-hostingā in the long run: I cannot afford true self-hosting where I actually do host everything here at home ā instead, I must use a cloud provider / VPS for that. It is only a matter of time until my provider starts doing AI shit as well (or rather, the customers do it) and then what? I get blocked, e.g. I canāt send email to (some) people anymore. This is already bad and itās going to get worse.
@lyse@lyse.isobeef.org Yeah, that was a lot of fun. š Now letās wait and see if I ever get to actually use this. š
@thecanine@twtxt.net We donāt use Microsoft at work ā but similar products of other big companies. Theyāre all doing the same. The core product gets worse and worse, because they focus so much on vomiting āAIā over everything.
It will die down eventually. I hope.
We use all the Microsoft programs at work - Teams and Outlook especially.
After all kinds of technical problems with Teams, that sometimes go unresolved for over a year, Microsoft shifted their priorities away from fixing things and towards adding an annoying AI Copilot button, that just takes up space and all it does, is loads the website in Teams, so I disabled it. Soon they just add it back, but in a different row of icons, therefore itās now a different button, you have to disable (I think they added yet another one, to the Teams, on my work phone and I had to disabled that too). Not too long after, the desktop one just enabled itself, because of āan errorā and I can disable it, but doing so activates a popup, that begs you to turn it back on, every once in a while. You canāt disable the popup and can only click āYesā or āNot nowā on it. I still keep it disabled, out of principle, but yesterday I noticed yet another Copilot button, this time in the top right corner of my Outlook and this one cannot be disabled, on the business version of Outlook and even on the personal one, itās only possible to do it through hidden privacy settings, by prohibiting the program from connecting to Microsoft servers, for extra āfeaturesā.
Thereās people complaining about it online, so itās clear nobody really wants it, but at this point Microsofts position is that you will have at least one useless AI button on your screen, at any given time, and you will be happy. And yes, their AI sucks and if I absolutely have to use AI for something, thereās already 2 better options, we have access to, at work.
Enjoy! This is a longer weekend for us too (Labor Day), and even longer for me, as I have asked for Tuesday off. Yayyyyy! I will not be drinking (I voluntarily stopped drinking anything with alcohol in it), but I will try to get a few things done, and then relax.
@movq@www.uninformativ.de Yeah, weāve seen how this plays out in practice 𤣠@dce@hashnix.club My advice, do what @movq@www.uninformativ.de has hinted at and donāt change the 1st # url =
field in your feed. Iām not sure if you had already, but the first url field is kind of important in your feed as it is used as the āHashing URIā for threading.
@dce@hashnix.club Ah, oh, well then. š„“
My client supports that, if you set multiple url =
fields in your feedās metadata (the top-most one must be the āmainā URL, that one is used for hashing).
But yeah, multi-protocol feeds can be problematic and some have considered it a mistake to support them. š¤
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 ā¦)
@prologic@twtxt.net @moveq@twtxt.net I think itās mostly the serious lack of competition. All the Android phone manufacturers just use the Google version of Android, bundle in piles of Google bloatware and do whatever Google tells them to. If some of them installed Lineage, or any other versions, with their own stores and rules, or even just offer a less Googly version of their phones, as an option, for more experienced users, Google wouldnāt be able, to push everyone around.
@dce@hashnix.club I donāt use Gemini, but I follow you on the good, old, HTTP(S)! :-)
@movq@www.uninformativ.de @prologic@twtxt.net this is extremely concerning and I hope there is enough push back to stop this! The ability to modify apps, is one of the two biggest reasons, Iām still using Android. If they remove that option, Iāll be forced to switch to one of the de-Googled forks.
That might not be a good solution either, because I need banking and identity verification apps on my main device and already had to get a second device for work, which has tighter sideloading restrictions and I would very much not like to be forced into using three Android phones simultaneously, to do what should be possible, with just one.
Apparently twtxt wasnāt the right client to use. twet seems to be alright, though.
Sometimes itās a small thing, itās a bit jarring when orgs that want to pose as international/global publish some copy/event based on US school terms/seasons. Thatās a reminder of how other people are at the periphery and will be probably ignored most of the time. Isnāt it obvious we have different school year arrangements & seasons around the world? I guess @melissawm@melissawm will share my sentiments about this.
I only learned about the .envelope
object/propriety in #shapely yesterday, before that I used .bounds
(a min/max of points tuple), but envelope is good to know because it provides an easy way of getting the centroid and the area of the bounding box, which can be very useful.
@prologic@twtxt.net Anything above a couple hundred Euros. š The current Epson LX-350 appears to be not that pricey, though. š¤
I mean, what do you want to do with it? If you want to use this as an actual printer for daily use, Iād get a laser printer instead, because theyāre very reliable and the print quality is top notch.
I got my dot matrix printer mostly for experiments and nostalgia, so I wouldnāt want to pay something like 300-400⬠for it.
@prologic@twtxt.net Yeah, those POS thingies are similar. Thereās āESC/POSā as a variant of āESC/Pā, if Iām not mistaken.
All I can say is, when I go to big stores like Amazon, then I have trouble finding ātraditionalā dot matrix printers for use at home. š Epson still sells them, but theyāre more expensive than my laser printer was. So yeah, they still exist, just expensive, by the looks of it.
@prologic@twtxt.net Hmm, good question. I havenāt checked the market, I got mine from someone I know. But to be honest, Iād suspect that buying a used one is actually your best shot, because there is virtually no market for these devices anymore, meaning new ones are very, very expensive. š«¤
FWIW, I have an OKI Microline 3390eco. Good thing is, you can still buy new cartridges for it.
If you want to buy a new device, check if it supports the āESC/Pā standard. Thatās very widely supported.
This is why I love tech from that era.
Write bytes to a parallel port and stuff happens. If itās just ASCII bytes, then it will print ASCII text. Even the simplest programs can use a printer this way.
With a little bit of ESC/P, you can print images and other fancy stuff. Thatās what I did this morning ā never worked with ESC/P before, now I can print images. Itās not that hard.
Hayes-compatible modems are similar: Write some AT commands to the serial port and the modem does things. This isnāt even arcane knowledge, itās explained in the printed manual.
Maybe Iām wearing rose-tinted glasses here, but I think with all this old stuff, you get useful results very quickly and the manuals are usually actually helpful. Itās so much easier to get started and to use this hardware to the full extent. Much less complexity than what we have today, not a ton of libraries and dependencies and SDKs and cloud services and what not.
@lyse@lyse.isobeef.org When/if I can pull it off, there will be videos! š
I never used hardcopy terminals, either. We did have a dotmatrix printer, but that was just used as a regular printer.
Inkjets, I donāt know. They were pretty fascinating and cool when they came out. A lot faster than dotmatrix and obviously quiter. They never gave me much trouble, actually. But I switched to a laser printer long before crap like DRMāed ink cartridges became a thing.
@movq@www.uninformativ.de Heck yeah, have fun! :-) We never had a matrix printer, started off with a cathode ray tube and an inkjet pisser.
Iām happy to see you compose your first twtxt message using ed on your new output device. We definitely need video proof of that! ;-)
Sooooooooo, things happened, and I now have a dot matrix printer again. šš
(One of the end goals is to simulate a hardcopy terminal on my old box. Iām waiting for another cable to arrive, I donāt have USB there. And then use ed(1)
like it was meant to be used! š
)
The GPG signatures of my software tarballs have been wrong for years (because Iāve been using rsync wrong, funny enough, it wasnāt a GPG issue) and nobody ever noticed. (They still are wrong at the moment, because I havenāt pushed the fix, yet.)
This confirms that this is just a total waste of time. Nobody ever checks this. Maybe this matters if youāre a distro, but why even bother as a single person ā¦
@movq@www.uninformativ.de Ucycling just rocks to hard!
@bender@twtxt.net Hahaha, I bet you could use it for a myriad of things! :-D
@lyse@lyse.isobeef.org ooooh! I wish I had that mallet here at work today. So many uses come to mind! š
@lyse@lyse.isobeef.org thatās so cool! I had to do some research, as I thought all pallets were made using cheap pine wood (which is quite soft), but, boy, as I erring big time! Oak it is also used, which is hardwood, and quite durable.
/29
IPv4 subnet with my ISP used to power my ingress. No longer.
I use Headscale. Love it!
@movq@www.uninformativ.de Oh yeah, once in the quarter to the office is absolutely amazing and luxurious. Thank you teammates and employer! Though, I would already have been on site when these things happened earlier.
Today is my last day of holiday. Back to work again tomorrow. Not looking forward, vacation is just great. So easy to get used to.
Today I finally got rid of my /29
IPv4 subnet with my ISP used to power my ingress. No longer.
A library to help use the #Beholder system of webcam detected markers with #p5js
A library to help use the #Beholder system of webcam detected markers with #p5js (made by https://enric.llagostera.com.br/)
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Ā»:
@movq@www.uninformativ.de having to go to a gopher proxy to see a text document better served on readily available web servers⦠š¤, but I digress. Verbatim text:
What's Missing from "Retro"
~softwarepagan
------------------------------------------------------------------
You know, often, when I say I miss older ways of computing or
connecting online, people tell me "there's nothing stopping you
from doing that now!" and they are technicay correct in most cases
(though I can't, for example, chat with friends on MSN ever
again...) However, let me explain that while this type of thing can
*sort of* fill that hole in my heart, it isn't *the same.*
Say, for example, I wanted to connect with others over a BBS. This
wouldn't offer the same types of connections it used to. While
there are BBSes around with active users, they're no longer there
to discuss movies, Star Trek, D&D, games, etc. They're there to
discuss *BBSes.* The same can be said for Gopher, old-school forums
and all sorts of revival projects (such as Escargot, Spacehey,
etc.) Retrocomputing enthusiasts, while they have a variety of
interests, are often in these spaces to discuss the medium itself
and not other topics. This exists at a stark contrast from how
things were in the past, where a non-tech-inclined person may learn
the tech to connect with likeminded others (as I did as a
Zelda-obsessed kid.)
The same can be said of old media. People will say "well, nobody is
stopping you from watching old shows/movies now!" Again, they are
technically correct. I can go home right now and watch *Star Trek:
The Next Generation* to my heart's content. It will never again,
however, be current, or new. When something is new, it serves as a
shared cultural experience. Remember how "Game of Thrones* felt in
the mid-to-late 2010s? Yeah, that.
It's sad. I sustain myself on a mixed diet of old things, new
things, and new things intended for old millenials like me who like
old things. It can be bittersweet.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going supper strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.com
seems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.com
seems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great āpure Pythonā (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.com
seems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything new with it.
The great āpure Pythonā (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated #Brython based site
p5py.com
seems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is the version of pyp5js Iām using most nowadays.
We did an experiment at work today: Do I even need to lock my laptop when Iām gone or is nobody able to use it anyway?
It went as expected. š¤£
@kat@yarn.girlonthemoon.xyz If youāre willing to ignore that itās proprietary software, then Windows used to be pretty good. Like, 25 years ago. After Windows 2000 (or maybe XP) it went downhill fast. Kind of makes me sad, actually. š
apt
manpage of Ubuntu recently, which, for some reason, uses blue text in one place:
Ah, so apparently they donāt like writing manpages anymore and instead use XML:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/apt.8.xml
And then they use XSLT on top and what not:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/manpage-style.xsl.cmake.in
Itās not even explicitly blue:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/apt.ent?ref_type=heads#L17
Abstractions upon abstractions upon abstractions.
You can explicitly use colors in manpages. I saw this in the apt
manpage of Ubuntu recently, which, for some reason, uses blue text in one place:
https://movq.de/v/de5ab72016/s.png
Makes little sense to me. Iām glad that most manpages donāt do this. I wouldnāt want unicorn vomit all over the place.
Using colors can be done using the low level commands \m
and \M
:
.TH foo_program 3
\m[blue]I'm blue\m[], da ba dee.
\m[red]\M[yellow]I'm red on yellow.\m[]\M[]
This is quite horrible.
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ā)
@kat@yarn.girlonthemoon.xyz On the one hand, all these programs have a very long history and the technology behind manpages is actually very powerful ā you can use it to write books:
https://www.troff.org/pubs.html
I have two books from that list, for example āThe UNIX programming environmentā:
https://movq.de/v/c3dab75c97/upe.jpg
Itās a bit older, of course, but it looks and feels like a normal book, and it uses the same tech as manpages ā which I think is really cool. š
Itās comparable to LaTeX (just harder/different to use) but much faster than LaTeX. You can also do stuff like render manpages as a PDF (man -Tpdf cp >cp.pdf
) or as an HTML file (man -Thtml cp >cp.html
). I think I once made slides for a talk this way.
On the other hand, traditional manpages (i.e., ones that are not written in mandoc) do not use semantic markup. They literally say, āthis text is bold, that text over here is italicsā, and so on.
So when you run man foo
, it has no other choice but to show it in black, white, bold, underline ā showing it in color would be wrong, because thatās not what the source code of that manpage says.
Colorizing them is a hack, to be honest. Youāre not meant to do this. (The devs actually broke this by accident recently. They themselves arenāt really aware that people use colors.)
If mandoc and semantic markup was more commonly used, I think it would be easier to convince the devs to add proper customizable colors.
@kat@yarn.girlonthemoon.xyz Hereās the full config I use.
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz Colorized manpages have been a thing for a very long time:
https://movq.de/v/81219d7f7a/s.png
Problem is, hardly anybody knows this, because you configure this by ⦠drumroll ⦠overwriting TERMCAP entries of less
in your ~/.bashrc
:
export LESS_TERMCAP_md=$'\e[38;5;3m' # Bold⨠export LESS_TERMCAP_me=$'\e[0m' # End Bold
export LESS_TERMCAP_us=$'\e[4;38;5;6m' # Underline⨠export LESS_TERMCAP_ue=$'\e[0m' # End Underline
export GROFF_NO_SGR=1 # Needed since groff 1.23
#GitHub #GitHubPages #fail This is driving me madā¦
Images randomly deciding not to load on all my pages.
Is it just me? Is it my browserās fault? Is it just in Brazil?
I was working on this #shapely + #trimesh page⦠and I can only see the last image (the animated gif)!
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html
Update: On this exact page I have bungled the image URLs (I blame Marktext for being stupid and not using a relative reference). But I swear loading problems have been going on other well formed pages.
Since Fastly acquired and recently shut down glitch.com, some of my ancient webapps are no longer available, nor do I have any plans to make them available again - all had either zero, or very few monthly visits, used outdated libraries and would be a waste of money, to continue hosting and updating elsewhere.
All art archives remain unaffected and all projects shut down before 2025, were already permanently deleted, but if thereās someone out there, still relying on the recently discontinued projects, somehow - you can reach out and request their source code.
These requests will only be honoured, until the end of this year, when we plan to permanently delete, all of this data (both webapps and files only hosted on Amazons CDN).
Canine out °_°
@prologic@twtxt.net Iād expect a custom build like that to cost at least 50ā000⬠here in Europe. Used campers with 100ā000 - 200ā000 km already on their clock are 20-40kā¬, apparently. š
@prologic@twtxt.net Cool! What program do you use to draw this up?
Stuff that nobody needs:
systemctl uses ANSI escape codes to underline text (\e[4m
) and then it also uses special escape codes ā that Wikipedia classifies as ānot in the standardā, but I havenāt looked it up ā to change the color of the underline. That color change is barely noticeable in the first place.
Some terminals donāt support this and now my systemctl output is blinking because of that.
guys i use VPS systems from time to time and they scare me. wdym they have every port open by default and the firewall is your responsibility. what the fuck bro
Global update: Trump in Scotland says EU trade deal has 50-50 chance as tariff row grows. Gaza sees 9 more starvation deaths (122 total); UN says famine is deliberate. Thai-Cambodia clashes kill 16, displace 135k. US raid in Syria kills top ISIS leader & sons.
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 Oh, huh, maybe it was just my GNOME 2 themes back then that didnāt show the icon. š¤
I like the looks of your window manager. Thatās using Wayland, right?
Oh, no. Itās still X11. All my recent Wayland comments resulted from me trying to switch, but I think itās still too early. Being unable to use QEMU (because it canāt capture the mouse pointer) is a pretty big blocker for me. This is completely broken, it just happens to be unnoticeable with modern guest OSes, so itās probably not a priority for devs.
(Not to mention that I would have to fork and substantially extend dwl in order to āreplicateā my X11 WM. And then, after having done that, Iād have to follow upstream Wayland development, for which I donāt have the resources. Things would need to slow down before I can do that.)
all that wasted space of the windows not making use of the full screen!!!1
Heh. Iāve been using tiling WMs for ~15 years now, so itās actually kind of refreshing to see something different for a change. š
Probably close to the older Windowses.
That particular theme is a ripoff of OS/2 Warp 3: https://movq.de/v/6c2a948882/s.png š
We ran some similar brownish color scheme (donāt recall its name) on Win95 or Win98
Oh god. Yeah, I wasnāt a fan of those, either. š„“
@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
@lyse@lyse.isobeef.org True, at least old versions of KDE had icons:
https://movq.de/v/0e4af6fea1/s.png
GNOME, on the other hand, didnāt, at least to my old screenshots from 2007:
https://www.uninformativ.de/desktop/2007%2D05%2D25%2D%2Dgnome2%2Dlaptop.png
I switched to Linux in 2007 and no window manager I used since then had icons, apparently. Crazy. An icon-less existence for 18 years. (But yeah, everything is keyboard-driven here as well and there are no buttons here, either.)
Anyway, my draft is making progress:
https://movq.de/v/5b7767f245/s.png
I do like this look. š
@kat@yarn.girlonthemoon.xyz Cool! I just got an idea for work tomorrow: Use dmenu to quickly start different SSH tunnels I routinely need.
@movq@www.uninformativ.de I havenāt used KDE or GNOME for ages, but Iām sure KDE at least used to show application icons in the title bars. They proabably still do. But then, one could argue that KDE is mimicking Windows. I never thought like that, I always found KDE way superior, because I was able to configure it like a madman.
In i3, I donāt have any application icons. I remember missing them at the beginning. But I donāt even have the classical minimize, maximize and close buttons in the title bar either. Just the title. Being mostly keyboard driven and a tiling window manager, these buttons are not super useful, anyway.
@movq@www.uninformativ.de @kat@yarn.girlonthemoon.xyz Iām just used to it because I deal with such things all the time. :-)
Hereās an example of X11/Xlib being old and archaic.
X11 knows the data type ācardinalā. For example, the window property _NET_WM_ICON
(which holds image data for icons) is an array of ācardinalā. I am already not really familiar with that word and Iām assuming that it comes from mathematics:
https://en.wikipedia.org/wiki/Cardinal_number
(It could also be a bird, but probably not: https://en.wikipedia.org/wiki/Cardinalidae)
We would probably call this an āintegerā today.
EWMH says that icons are arrays of cardinals and that theyāre 32-bit numbers:
https://specifications.freedesktop.org/wm-spec/latest-single/#id-1.6.13
So itās something like 0x11223344
with 0x11
being the alpha channel, 0x22
is red, and so on.
You would assume that, when you retrieve such an array from the X11 server, youād get an array of uint32_t
, right?
Nope.
Xlib is so old, they use char
for 8-bit stuff, short int
for 16-bit, and long int
for 32-bit:
That is congruent with the general C data types, so it does make sense:
https://en.wikipedia.org/wiki/C_data_types
Now the funny thing is, on modern x86_64
, the type long int
is actually 64 bits wide.
The result is that every pixel in a Pixmap, for example, is twice as large in memory as it would need to be. Just because Xlib uses long int
, because uint32_t
didnāt exist, yet.
And this is something that I wouldnāt know how to fix without breaking clients.
We finally got a caliper donated for this yearās scout flea market. We didnāt sell it, but kept it ourselves. It will come in very handy every now and then in our material store. For example, I missed having a caliper in the past when sorting our random assortment of screws or measuring the depth of a hole. Itās a wee bit banged up (probably happened during transport) and didnāt come with a box, but the latter is now solved.
The lid and bottom came from a wardrobe back panel I got from a mate, the sides were rocket sticks in their former lives. I found some scrap of felt in our material store and some hinges laying around in the drawers of my own workshop.
Unfortunately, the table saw teared up the plywood veneer fibres badly, even though I put tape around to prevent that. This is the first time it didnāt work. At. All. To cover that up, I painted the box with some decades old tinting paint (price tag says Deutsche Mark, not Euro!) from my paint cabinet. Itās awesome, works absolutely perfectly and doesnāt smell the slightest bit. I reckon, this caliper box is plenty good enough for occasional use at our scout material store.
Only figured this out yesterday:
pinentry
, which is used to safely enter a password on Linux, has several frontends. Thereās a GTK one, a Qt one, even an ncurses one, and so on.
GnuPG also uses pinentry
. And you can configure your frontend of choice here in gpg-agent.conf
.
But what happens when you donāt configure it? Whatās the default?
Turns out, pinentry
is a shellscript wrapper and itās not even that long. Here it is in full:
#!/bin/bash
# Run user-defined and site-defined pre-exec hooks.
[[ -r "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec ]] && \
. "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec
[[ -r /etc/pinentry/preexec ]] && . /etc/pinentry/preexec
# Guess preferred backend based on environment.
backends=(curses tty)
if [[ -n "$DISPLAY" || -n "$WAYLAND_DISPLAY" ]]; then
case "$XDG_CURRENT_DESKTOP" in
KDE|LXQT|LXQt)
backends=(qt qt5 gnome3 gtk curses tty)
;;
*)
backends=(gnome3 gtk qt qt5 curses tty)
;;
esac
fi
for backend in "${backends[@]}"
do
lddout=$(ldd "/usr/bin/pinentry-$backend" 2>/dev/null) || continue
[[ "$lddout" == *'not found'* ]] && continue
exec "/usr/bin/pinentry-$backend" "$@"
done
exit 1
Preexec, okay, then some auto-detection to use a toolkit matching your desktop environment ā¦
⦠and then it invokes ldd
? To find out if all the required libraries are installed for the auto-detected frontend?
Oof. I was sitting here wondering why it would use pinentry-gtk
on one machine and pinentry-gnome3
on another, when both machines had the exact same configs. Yeah, but different libraries were installed. One machine was missing gcr
, which is needed for pinentry-gnome3
, so that machine (and that one alone) spawned pinentry-gtk
ā¦
I have a Python script that transforms the original YouTube channel Atom feed into a more useful Atom feed by removing the spam description and replacing it with the video duration, filtering out videos by title, duration, etc. I just updated it to exclude the damn Shorts garbage more efficiently. Finally, YouTube updated their Atom feed generation, so that the video URL contains /short/
if itās of this useless kind. Never thought that they ever actually will improve their Atom feeds. Thank you, much appreciated!
@kat@yarn.girlonthemoon.xyz I have absolutely no idea, but I wouldnāt be surprised if it uses the closest full image after your cut point and not the one before. Hence, the deltas between the two full images have nothing to really refer to. So, the video player just shows the first full image it finds and āfreezesā the image until the video stream actually hits it.
Let me try to visualize it, |
represent full images, .
just subsequent deltas:
Original start of video
ā
|......|.....|........|......|..
ā ā
Cut point Cut point
Resulting video:
....|.....|........|....
āāāā
This is where it freezes
Could be complete bullshit, though. Wouldnāt be the first time that Iām wrong. :-)
Iām just curious, what exact command line do you use to cut the video?
i should work on my PHP project again just so i have an excuse to use htmx