@bender@twtxt.net Goes to show you just have a good nose for that. :^)
No doubt, I really do love them. Not only wonderful humans and like-minded, but also technically gifted. That made for a superb combination. I just hope the new team turns out to be equally great.
Bwahahahahaaahaaahaaahaaa, what a brilliant story! :‘-D I’ve been given at most ten weeks to return, let’s see. ;-)
Let’s hope that the two cakes turn out better than last week: https://lyse.isobeef.org/tmp/tote-und-lebendige-kuchen-2025-12-02.jpg Got some gingerbread as backup. Yeah, best lighting…
@kiwu@twtxt.net It also greatly depends on what kind of videos you plan to record. When you go, let’s say, diving, the specs need to be probably more suited to that type of environment. What about zoom, macro shots, wide landscapes, and so on? When typically mounted on a tripod, I’d say builtin image stabilization is not required, but for more action shots, this is fairly important to not get sea sick. :-)
I’ve got a Nikon Coolpix S9300. I typically only take photos, but it also works for the occasional video. Free hand moves are quite difficult, but when mounted to a tripod, this is not too shabby. There’s absolutely no way around a (makeshift) tridpod when zooming in, though. The audio is definitely not the best, especially wind destroys everything. If I recorded more video, I would certainly want to have an external microphone.
I’m kind of tired of late of telling support folks, for example, ym registrar, how to do their fucking goddamn jobs 🤦♂️
Hi James,
Thank you for your patience.
There are several reasons why a .au domain registration might fail or be cancelled, including inaccurate registrant information, ineligibility for a .au domain licence, or issues related to Australian law.
For a full list of possible reasons, please see this article: https://support.onlydomains.com/hc/en-gb/articles/6415278890141-Why-has-my-au-domain-registration-been-cancelled
If you believe none of these reasons apply to your case, please let us know so we can investigate further.
Best regards,
Yes, so tell me support person, why the fuck did it fail?! 🤬
So blackholing my Gitea instance’s DNS for the day seemed to have worked 🤣 (if only I had a real target I could have made their fucking crawlers DDoS themselves 😂) – Let’s also see if enabling DDoS proection on the Edge via Vultr’s DDoS capability also helps? 🤔
Tired to re-enable the Ege route to git.mills.io today (after finishing work) and this is what I found 🤯 Tehse asshole/cunts are still at it !!! 🤬 – So let’s instead see if this works:
$ host git.mills.io 1.1.1.1
Using domain server:
Name: 1.1.1.1
Address: 1.1.1.1#53
Aliases:
git.mills.io is an alias for fuckoff.mills.io.
fuckoff.mills.io has address 127.0.0.1


PS: Would anyone be interested if I started a massive global class action suit against companies that do this kind of abusive web crawling behavior, violate/disregards robots.txt and whatever else standards that are set in stone by the W3C? 🤔
@prologic@twtxt.net Let me know if you still need an account for testing. My tin-can bandwidth is slow AF but usable if you don’t mind the speed.
@movq@www.uninformativ.de In my current project I’m typically far away from this pile of shit. Let’s see how the project will be in this regard.
The last few days I’ve been converting some charts to grayscale and adding letters to them in order to improve accessibility. Inskscape’s “Replace Colour” extension made things much easier.
I wonder if I could one day try my hand at making an improved variation of that extension that could save and reload a dictionary of replacements to help apply them to multiple files…
Another idea would be to allow replacement color fills with patterns and vice versa!
Let me save this on vault of ideas for the future :)
I just noticed this pattern:
uninformativ.de 201.218.xxx.xxx - - [22/Nov/2025:06:53:27 +0100] "GET /projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 301 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
www.uninformativ.de 103.10.xxx.xxx - - [22/Nov/2025:06:53:28 +0100] "GET http://uninformativ.de/projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 400 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
Let me add some spaces to make it more clear:
uninformativ.de 201.218.xxx.xxx - - [22/Nov/2025:06:53:27 +0100] "GET /projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 301 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
www.uninformativ.de 103.10.xxx.xxx - - [22/Nov/2025:06:53:28 +0100] "GET http://uninformativ.de/projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 400 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
Some IP (from Brazil) requests some (non-existing, completely broken) URL from my webserver. But they use the hostname uninformativ.de, so they get redirected to www.uninformativ.de.
In the next step, just a second later, some other IP (from Nepal) issues an HTTP proxy request for the same URL.
Clearly, someone has no idea how HTTP redirects work. And clearly, they’re running their broken code on some kind of botnet all over the world.
@lyse@lyse.isobeef.org @bender@twtxt.net Pfft, they want folks to relocate to Sydney. Fuck that 🤣 Sydney is a bit like San Francisco, I’m not actually sure which is worse. Fuck’n expensive as hell, the only palce you’d be able to afford to buy or rent is at least ~2hrs out of the city by public transport (i.e: train) and by that time you’ve just pissed your life down the toilet, because you’d be expected ot work a 9-10hr day + 2-3hrs of travel each way, buy the time you factor in having to wake up super early to get ready to travel in to work, you basically have zero time for anything else, let alone your ufamily,
Fuck that.
@thecanine@twtxt.net Cool! Let’s hope they truly keep their word.
@prologic@twtxt.net you take a look at it, see if it is a good fit, ask the headhunter more details about it, and the company they represent for this hire, bring the results clearly, simply stated, but without missing any information to your CFO (AKA wife), and then arrive at a decision as a family.
Don’t let the temptation of more compensation be the driving factor.
@bender@twtxt.net Hahahahahaahaaa, you’re right, it can’t be anything else! :‘-D Must have been one of these manmade objects. Let’s hope they will become a full member of the Grant Wishes Council soon. In any case, I will keep trying.
@threatcat@tilde.club Let me guess, sl? 😏
@bender@twtxt.net Of course, I didn’t do anything yet at all. Maybe I will find some time next weekend. Let’s see.
Demon girl not letting go (TheSafeAnnaAnon) [Anna Anon] ⌘ Read more
Don’t let Frieren know (Proud Banana) [Frieren: Beyond Journey’s End] ⌘ Read more
@prologic@twtxt.net Let’s go through it one by one. Here’s a wall of text that took me over 1.5 hours to write.
The criticism of AI as untrustworthy is a problem of misapplication, not capability.This section says AI should not be treated as an authority. This is actually just what I said, except the AI phrased/framed it like it was a counter-argument.
The AI also said that users must develop “AI literacy”, again phrasing/framing it like a counter-argument. Well, that is also just what I said. I said you should treat AI output like a random blog and you should verify the sources, yadda yadda. That is “AI literacy”, isn’t it?
My text went one step further, though: I said that when you take this requirement of “AI literacy” into account, you basically end up with a fancy search engine, with extra overhead that costs time. The AI missed/ignored this in its reply.
Okay, so, the AI also said that you should use AI tools just for drafting and brainstorming. Granted, a very rough draft of something will probably be doable. But then you have to diligently verify every little detail of this draft – okay, fine, a draft is a draft, it’s fine if it contains errors. The thing is, though, that you really must do this verification. And I claim that many people will not do it, because AI outputs look sooooo convincing, they don’t feel like a draft that needs editing.
Can you, as an expert, still use an AI draft as a basis/foundation? Yeah, probably. But here’s the kicker: You did not create that draft. You were not involved in the “thought process” behind it. When you, a human being, make a draft, you often think something like: “Okay, I want to draw a picture of a landscape and there’s going to be a little house, but for now, I’ll just put in a rough sketch of the house and add the details later.” You are aware of what you left out. When the AI did the draft, you are not aware of what’s missing – even more so when every AI output already looks like a final product. For me, personally, this makes it much harder and slower to verify such a draft, and I mentioned this in my text.
Skill Erosion vs. Skill EvolutionYou, @prologic@twtxt.net, also mentioned this in your car tyre example.
In my text, I gave two analogies: The gym analogy and the Google Translate analogy. Your car tyre example falls in the same category, but Gemini’s calculator example is different (and, again, gaslight-y, see below).
What I meant in my text: A person wants to be a programmer. To me, a programmer is a person who writes code, understands code, maintains code, writes documentation, and so on. In your example, a person who changes a car tyre would be a mechanic. Now, if you use AI to write the code and documentation for you, are you still a programmer? If you have no understanding of said code, are you a programmer? A person who does not know how to change a car tyre, is that still a mechanic?
No, you’re something else. You should not be hired as a programmer or a mechanic.
Yes, that is “skill evolution” – which is pretty much my point! But the AI framed it like a counter-argument. It didn’t understand my text.
(But what if that’s our future? What if all programming will look like that in some years? I claim: It’s not possible. If you don’t know how to program, then you don’t know how to read/understand code written by an AI. You are something else, but you’re not a programmer. It might be valid to be something else – but that wasn’t my point, my point was that you’re not a bloody programmer.)
Gemini’s calculator example is garbage, I think. Crunching numbers and doing mathematics (i.e., “complex problem-solving”) are two different things. Just because you now have a calculator, doesn’t mean it’ll free you up to do mathematical proofs or whatever.
What would have worked is this: Let’s say you’re an accountant and you sum up spendings. Without a calculator, this takes a lot of time and is error prone. But when you have one, you can work faster. But once again, there’s a little gaslight-y detail: A calculator is correct. Yes, it could have “bugs” (hello Intel FDIV), but its design actually properly calculates numbers. AI, on the other hand, does not understand a thing (our current AI, that is), it’s just a statistical model. So, this modified example (“accountant with a calculator”) would actually have to be phrased like this: Suppose there’s an accountant and you give her a magic box that spits out the correct result in, what, I don’t know, 70-90% of the time. The accountant couldn’t rely on this box now, could she? She’d either have to double-check everything or accept possibly wrong results. And that is how I feel like when I work with AI tools.
Gemini has no idea that its calculator example doesn’t make sense. It just spits out some generic “argument” that it picked up on some website.
3. The Technical and Legal Perspective (Scraping and Copyright)The AI makes two points here. The first one, I might actually agree with (“bad bot behavior is not the fault of AI itself”).
The second point is, once again, gaslighting, because it is phrased/framed like a counter-argument. It implies that I said something which I didn’t. Like the AI, I said that you would have to adjust the copyright law! At the same time, the AI answer didn’t even question whether it’s okay to break the current law or not. It just said “lol yeah, change the laws”. (I wonder in what way the laws would have to be changed in the AI’s “opinion”, because some of these changes could kill some business opportunities – or the laws would have to have special AI clauses that only benefit the AI techbros. But I digress, that wasn’t part of Gemini’s answer.)
tl;drExcept for one point, I don’t accept any of Gemini’s “criticism”. It didn’t pick up on lots of details, ignored arguments, and I can just instinctively tell that this thing does not understand anything it wrote (which is correct, it’s just a statistical model).
And it framed everything like a counter-argument, while actually repeating what I said. That’s gaslighting: When Alice says “the sky is blue” and Bob replies with “why do you say the sky is purple?!”
But it sure looks convincing, doesn’t it?
Never againThis took so much of my time. I won’t do this again. 😂
@bender@twtxt.net Not sure, if we actually have a law like that. But I wish it was the case. The clamp doesn’t say anything like that, just that it is now cactus.
The glue takes three days to reach its final strength. Let’s see. I’m sceptical.
@movq@www.uninformativ.de Oh shit! :-( Time to switch companies. If you found something, please let me know. This hype train is derailing here as well.
I’m building a service that lets you:
create and manage disposable, brandable email aliases so you can track leaks, forward important messages, and keep your real inbox clean.
I’ve just finishing building it for the most part, and have cut a v0.1.0 release. It’s currently closed source (to be decided later) and now open to beta testers. cc @bender@twtxt.net 🙏 I fully intend to monetize and offer this as a paid service in teh coming weeks/months, but beta/invite-only testers and early adopters/users first 🤟
Fuck me! I made a giant mess by knocking over the fresh cup of hot chocolate. I completely soaked my desk, t-shirt, pants, socks, house shoes, seat pad, chair, footstool, chair mat and floor. Showering beforehand was well worth it. :-D Let’s see where I will locate the smell of spoiled milk in the next days. Maybe underneath the baseboard? I’ll take bets.
At least my aiming skills are pretty good. I missed keyboard, mouse and other electronics.
Let’s do it! 🤟 https://meet.mills.io/call/Yarn.social
@bender@twtxt.net Kaboom! Hahaha, I did not think of that at all, thanks for pointing it out, mate! :‘-D
But let me clarify just in case: I honestly do not want to bash this project. In fact, it’s a great little invention. It’s just that I’m not conviced by the current user interface decisions. Anyway, web design isn’t right up my alley. I just wanted to add some fun. And luckily, at least someone liked it so far. :-)
@bender@twtxt.net @prologic@twtxt.net Let’s see on which day we’ll finally settle.
I reckon the white-space: nowrap is a bit evil on the gatherly notes, though.
@movq@www.uninformativ.de Hähähä, let’s feed the trolls! :->
We’re supposed to see storm gusts up to 79 km/h. Let’s get the kites!
(I know, this is nothing for folks at the coasts.)
Netanyahu’s wife pressed several ministers to sign a letter urging President Herzog to pardon Netanyahu, saying: “This is good timing - even Trump asked, it’s important for us. The cases are baseless and will lead nowhere anyway, let’s just finish with this.” ⌘ Read more
Obviously none of this requires an Internet connection, let alone a Network connection. All of it can be done over Bluetooth! Just like Carplay itself!
@movq@www.uninformativ.de Yeah, this is similar to my 2025 GWM Cannon Ute (truck) that we recently bought. It has this app called the “GWM App” that lets you view various health/stats of the vehicle, open/close the door, locks, control the A/C etc, all from your Mobile Phone. – But… Guess what?! :D It has a goddamn fucking SIM card in the head unit (dash) somewhere that once you “consent” and agree it signs up to some god knows what local cellular service and all that wonderul functionality is controlled by, guess what… A fucking goddamn CLOUD service! da actual flying fuck is wrong with these people?! – Are we some of the only people in the world that realize how fucking dumb all this Internet-connect shit™ really is?
Did Man City let De Bruyne leave too soon?
Kevin de Bruyne is in sparkling form for Napoli and Belgium this season - did he leave Man City too soon? ⌘ Read more
The weirdest bug:When Reflected XSS Won’t Let a Page Breathe ⌘ Read more
I noticed Google put out this article: https://android-developers.googleblog.com/2025/09/lets-talk-security-answering-your-top.html it’s very current day Google, but the comments under the YouTube video are pretty on point and I saw a few familiar faces there. There is also, unexpectedly, ways to contact Google.
First a form for “teachers, students, and hobbyists”, that I filled politely, as someone who falls under their hobbyist category. It can be filled both anonymously, or with an e-mail attached, to be contacted by them (I chose the second option).
Also a general feedback and questions form, that I was not as polite in and used to send them the following message:
I have already provided some feedback, in the teacher, student and hobbyists form/questionaire, as well as an open letter I’ve recently sent to the European Commission digital markets act team, as I do believe your proposal might not even be legal, given the fact it puts privacy-focused alternative app stores at risk (https://f-droid.org/cs/2025/09/29/google-developer-registration-decree.html) and it was proposed this early, after Google lost in court to Epic Games, over similar monopoly concerns. Why should we trust Google to be the only authority for all developer signatures, right after the European courts labeled it a gatekeeper?
Assuming this gets passed, despite justified developer backlash and at best questionable legality, can you give us any guarantees, this will not be used to target legal malware-free mods, or user privacy enhancing patchers, like the ones used for applying the ReVanced patches? I have made a few mods myself, but I am in no way associated with the ReVanced team. I just share many peoples concerns, Google Chrome has been conveniently stripped of its manifest v2 support, that made many privacy protecting extensions possible and now you’re conveniently asking for the government IDs, of all the developers, who maintain these kinds of privacy protections (be it patches, or alternative open-source apps) on Android.
Finally, new books arrived. Let’s see if Dead Silence is as good as it sounds. 😃
@bender@twtxt.net So far so good 😊 I’ll let you know how things go though!
@lyse@lyse.isobeef.org In my case it was a silver necklace, a hummingbird with a wing connected with the cold welding I mentioned using thin brass wires.
It made it in a goldsmithing class (I went to a private craftmanship high-school) so no phones allowed (no photos of it) and no “take home” of the works.
Here’s a rough sketch of it drawn by memory, the dots in the wing is where it connects to the body.
The technique is basically the same as i described, but the scale is much smaller, the whole piece was about 5-6 cm on the largest side.
The rivet was made by drilling a hole through the parts, than with a short and thicker drill you widen the hole on the surface to let the rivet settle flatter on the piece, then with a rubber hammer you hit it to flatten the head until it’s snug on the hole, lock them together by doing the same on the other side.
Note that widening the hole with a thicker drill head won’t make a difference with bigger holes, mine had holes of about 1-2 mm of diameter maximum.
Here’s a sketch of what is going on for clarity.
NATO allies discuss letting pilots open fire on Russian aircraft: Report ⌘ Read more
iOS 26: See Your Full Call History With Any iPhone Contact
Buried within iOS 26 is a hidden history that lets you see every call you’ve ever exchanged with a specific contact, potentially going back years. You might not know it, but you can access this detailed call history on your iPhone in seconds.
Viewing the new extended history screen can come in handy when you need to recall when you last spoke with someone. … ⌘ Read more
Tories pledge to scrap Sentencing Council and let ministers issue court guidelines
Shadow justice secretary Robert Jenrick will set out plans they say would put ministers in charge of sentencing policy. ⌘ Read more
Trent Dalton’s latest is about how far a journalist will go for a story
In Gravity Let Me Go, a struggling crime journalist lands the scoop of a lifetime, to the detriment of his loved ones. That’s something Trent Dalton understands intimately. ⌘ Read more
** Wobbly updates or a sort of week notes **
Hello RSS goblins.
It’s unseasonably warm here, and well, I suppose everywhere. That’s…frightening, but before I let that weigh to heavily on this post I must move on.
It’s been a gorgeous weekend. We took the kids to the beach Friday after dinner, expecting to play on the sand and scramble up the rocks, but they actually each went swimming. They had a blast. The car is filled with sand, and I hope that last little hurrah of summer hangs around for a bit.
We also went putt putt golfi … ⌘ Read more
cargo-subspace: Make rust-analyzer work better with very large cargo workspaces
Let me preface all of this by saying that rust-analyzer is an amazing project, and I am eternally grateful for the many people who contribute to it! It makes developing rust code a breeze, and it has surely significantly contributed to Rust’s widespread adoption.
If you’ve ever worked with a very large cargo workspace (think hundreds of crates), you know that rust-analyzer eagerly builds compile time dependencies (e.g. proc macros) and index … ⌘ Read more
From the chicken archive, 2017.
Not mine, these were more or less free roaming chickens. Farmers didn’t use some of their fields for a while and allowed some other farmer to let the birds live there in the meantime.
9 macOS Tahoe Tips You’ll Actually Use
While the most obvious change to macOS Tahoe 26 is the newly rounded and translucent Liquid Glass interface appearance, there are also a variety of neat new features and customization options that you’re sure to appreciate easily well. Let’s review some of the most useful tips for macOS Tahoe that you’ll want to check out, … Read More ⌘ Read more
Spec-driven development: Using Markdown as a programming language when building with AI
I coded my latest app entirely in Markdown and let GitHub Copilot compile it into Go. This resulted in cleaner specs, faster iteration, and no more context loss. ✨
The post [Spec-driven development: Using Markdown as a programming language when building with AI](https://github.blog/ai-and-ml/generative-ai/spec-driven-development-using-markdown-as-a-p … ⌘ Read more
Pretty happy with my zs-blog-template starter kit for creating and maintaining your own blog using zs 👌 Demo of what the starter kit looks like here – Basic features include:
- Clean layout & typography
- Chroma code highlighting (aligned to your site palette)
- Accessible copy-code button
- “On this page” collapsible TOC
- RSS, sitemap, robots
- Archives, tags, tag cloud
- Draft support (hidden from lists/feeds)
- Open Graph (OG) & Twitter card meta (default image + per-post overrides)
- Ready-to-use 404 page
As well as custom routes (redirects, rewrites, etc) to support canonical URLs or redirecting old URLs as well as new zs external command capability itself that now lets you do things like:
$ zs newpost
to help kick-start the creation of a new post with all the right “stuff”™ ready to go and then pop open your $EEDITOR 🤞
Task for this weekend:
https://movq.de/v/b05a7ce782/vid-1758959332.mp4
When you call man ascii, you get this nice table, but there’s a weird vertical line at the bottom. That line is supposed to be a vertical rule and is supposed to go from the bottom of the table all the way to the top.
Let’s see if I can debug this. (Not getting my hopes up at this point, but I’ll try.)
Hey @itsericwoodward@itsericwoodward.com, I just wanna let you know that twtstrm/0.4.0 sends a broken User-Agent header. Instead of the URL, the nick is repeated.
Each origin feed numbers new threads
(tno:N). Replies carry both (tno:N) and (ofeed:<origin-url>). Thread identity = (ofeed, tno).
@movq@www.uninformativ.de Yes it’s kind of terrible 😞 – Let’s not do this 🤣
I was trying to say (badly):
That’s kind of my position on this. If we are going to make significant changes in the threading model, let’s keep content based addressing, but also improve the user experience. Answering your question, yes I think we can do some combination of both.
Run, Test, and Evaluate Models and MCP Locally with Docker + Promptfoo
Promptfoo is an open-source CLI and library for evaluating LLM apps. Docker Model Runner makes it easy to manage, run, and deploy AI models using Docker. The Docker MCP Toolkit is a local gateway that lets you set up, manage, and run containerized MCP servers and connect them to AI agents. Together, these tools let… ⌘ Read more
@alexonit@twtxt.alessandrocutolo.it Yhays kind of love you!! Stance and position on this. If we are going to make chicken changes in the threading model, let’s keep content based addressing, but also improve the use of experience. So in fact, in order to answer your question, I think yes, we can do some kind of combination of both.
@lyse@lyse.isobeef.org I don’t think there’s any point in continuing the discussion of Location vs. Content based addressing.
I want us to preserve Content based addressing.
Let’s improve the user experience and fix the hash commission problems.
Here is just a small list of things™ that I’m aware will break, some quite badly, others in minor ways:
- Link rot & migrations: domain changes, path reshuffles, CDN/mirror use, or moving from txt → jsonfeed will orphan replies unless every reader implements perfect 301/410 history, which they won’t.
- Duplication & forks: mirrors/relays produce multiple valid locations for the same post; readers see several “parents” and split the thread.
- Verification & spam-resistance: content addressing lets you dedupe and verify you’re pointing at exactly the post you meant (hash matches bytes). Location anchors can be replayed or spoofed more easily unless you add signing and canonicalization.
- Offline/cached reading: without the original URL being reachable, readers can’t resolve anchors; with hashes they can match against local caches/archives.
- Ecosystem churn: all existing clients, archives, and tools that assume content-derived IDs need migrations, mapping layers, and fallback logic. Expect long-lived threads to fracture across implementations.
@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
❤️ 🎶: It’s a lie to say that I love you and let you go by Ramit
JMP: Newsletter: (e)SIM nicknames, Cheogram Android updates, and Cheogram iOS alpha
Hi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update! (it’s been 7 months since the last one 😨)
In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Y … ⌘ Read more
is there someone (ideally not in the opposite timezone to me) who’d be willing to let me bother them with technical questions abt twtxtv2 and/or yarn’s inner workings? :3
@lyse@lyse.isobeef.org hihi ^^ i did that at first, but i personally i don’t like it when websites don’t let me change my password when i am already authenticated — fwiw you can view and log out other sessions, if that diminishes this attack vector at all
@bender@twtxt.net The address is/was correct but probably got mangled by the Markdown renderer. Let’s try again in a code block:
gopher://uninformativ.de/0/phlog/2025/2025-09/2025-09-03--roophloch.txt
@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. 😂
Since 2020, I’ve been putting together one playlist every year, in which each track represents one month of that year. However, I also have assigned each season two specific songs, which does not change year-to-year: Spring: “A Little Bit Of Love” by Weezer and “Gretel” by Alex G; Summer: “Dumb” by Roe Kapara and “Endless Bummer” by Weezer; Autumn: “1979” by The Smashing Pumpkins and “The Dead Come Talking” by Roe Kapara; Winter: “Red Water (Christmas Mourning)” by Type O Negative and “Christmas Time (Don’t Let The Bells End)” by The Darkness
@eldersnake@we.loveprivacy.club Haha, yeah well “thinking” isn’t really something we even know how to define, let alone simulate 🤣
Sam Whited: Notes
I’ve recently been using the Mixxx software for DJs. This page includes some
personal notes on my own use cases, what’s good, what’s bad, etc.
It is not really made for general consumption, but is thrown up here anyways.
It will be a bit rambling and/or ranty at times, most likely.
Let’s get my overall impressions of the software out of the way up front: it’s
absolutely great and I recommend it over the commercial alternatives for DJs of
all stripes (except maybe Radio DJs, it’s not really for … ⌘ Read more
@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.
** 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
/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 @movq@www.uninformativ.de Sorry, I neither finished it nor in time. :-( That’s as good as it’s gonna get for the moment: https://git.isobeef.org/lyse/gelbariab/-/tree/master/rss-proxys?ref_type=heads
The README should hopefully provide a crude introduction. The example configuration file is documented fairly well, I believe (but maybe not). You probably still have to consult and maybe also modify the source code to fit your needs.
Let me know if you run into issues, have questions, wishes etc.
Of course, @kat@yarn.girlonthemoon.xyz! But I’ll first write some instructions (hopefully this week) and then let you know. :-) Should be much easier then.
@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 give up.
Let’s try again next year. I don’t have the stamina. Death by a thousand paper cuts.
Can’t set up a meaningful taskbar: https://github.com/labwc/labwc/discussions/2924 (This is not a labwc issue, it’s a generic issue in the broader Wayland ecosystem.)
@bender@twtxt.net Finally! Let’s wait and see how it turns out. :-D
@movq@www.uninformativ.de This is a really good example of “simplicity” but achieves the intent and goals 👌
(Now, I don’t know if your screen reader can work with this. Let me know if it doesn’t.)
I don’t use a screen reader fortunately (actually they’re pretty garbage). So all good 👍 (I juse use full-screen zoom).
@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.
@eldersnake@we.loveprivacy.club Yeah for sure! The thing that annoys me about a lot of this, is the sheer fact you can’t really self-host let alone self-train these things I’ve been playing around with AI at home over the past few months and building my own neural networks from scratch (in Go) with genetic algorithms on a few tasks and training sets, but man it’s hard™ 🤣 I feel like we’re doing something wrong here…
hey! i asked this a while ago but i have to ask again – is anyone willing to offer space on their yarn pod to my friend? i would love to invite her to my own but she’s unable to access my site for personal reasons. she’s really interested in seeing what yarn is about so if anyone is willing and able, let me know!
What kind of half-assed nonsense is this? They only broadcast half of the current european soccer cup … (Let me guess, I’m supposed to subscribe to some streaming service if I want to watch every game, right?)
The lid is on and the first saw brackets are done. Let’s see how impractical they are. I might have to add heavy chamfers to better guide them in.
I added 07 to 11: https://lyse.isobeef.org/tmp/hobelbankschubladen/
#Meta to the #EU: “the focus should be on creating a regulatory infrastructure that ensures any licence that is sufficiently permissive for the user is considered open source, rather than anointing specific licences as “open source”.”
Brilliant, sure, let’s ignore existing definitions and go with gut feeling (incidently, Meta has a gut feeling generator).
Okay, here’s a thing I like about Rust: Returning things as Option and error handling. (Or the more complex Result, but it’s easier to explain with Option.)
fn mydiv(num: f64, denom: f64) -> Option<f64> {
// (Let’s ignore precision issues for a second.)
if denom == 0.0 {
return None;
} else {
return Some(num / denom);
}
}
fn main() {
// Explicit, verbose version:
let num: f64 = 123.0;
let denom: f64 = 456.0;
let wrapped_res = mydiv(num, denom);
if wrapped_res.is_some() {
println!("Unwrapped result: {}", wrapped_res.unwrap());
}
// Shorter version using "if let":
if let Some(res) = mydiv(123.0, 456.0) {
println!("Here’s a result: {}", res);
}
if let Some(res) = mydiv(123.0, 0.0) {
println!("Huh, we divided by zero? This never happens. {}", res);
}
}
You can’t divide by zero, so the function returns an “error” in that case. (Option isn’t really used for errors, IIUC, but the basic idea is the same for Result.)
Option is an enum. It can have the value Some or None. In the case of Some, you can attach additional data to the enum. In this case, we are attaching a floating point value.
The caller then has to decide: Is the value None or Some? Did the function succeed or not? If it is Some, the caller can do .unwrap() on this enum to get the inner value (the floating point value). If you do .unwrap() on a None value, the program will panic and die.
The if let version using destructuring is much shorter and, once you got used to it, actually quite nice.
Now the trick is that you must somehow handle these two cases. You must either call something like .unwrap() or do destructuring or something, otherwise you can’t access the attached value at all. As I understand it, it is impossible to just completely ignore error cases. And the compiler enforces it.
(In case of Result, the compiler would warn you if you ignore the return value entirely. So something like doing write() and then ignoring the return value would be caught as well.)
@movq@www.uninformativ.de Yeah. :-( But hey, there are at least six of us using mail as it should be™. :-)
I sent the dealer an e-mail about that with all sorts of other issues as well. Let’s see if they fix anything of that some day. Or yet just even read it.
fn sub(foo: &String) {
println!("We got this string: [{}]", foo);
}
fn main() {
// "Hello", 0x00, 0x00, "!"
let buf: [u8; 8] = [0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x00, 0x21];
// Create a string from the byte array above, interpret as UTF-8, ignore decoding errors.
let lossy_unicode = String::from_utf8_lossy(&buf).to_string();
sub(&lossy_unicode);
}
Create a string from a byte array, but the result isn’t a string, it’s a cow 🐮, so you need another to_string() to convert your “string” into a string.
- https://doc.rust-lang.org/std/string/struct.String.html#method.from_utf8_lossy
- https://doc.rust-lang.org/std/borrow/enum.Cow.html
I still have a lot to learn.
(into_owned() instead of to_string() also works and makes more sense to me, it’s just that the compiler suggested to_string() first, which led to this funny example.)
Lately (since there are AI summaries at the top), each time I Google for the answer to a question, the AI summary has at least a part of the answer wrong. It makes up laws that do not exist, books that were never published - in sum, well written sentences that make linguistic sense, but with made up content.
Let me repeat: each time. Maybe I only search for hard stuff, or fringe stuff, or this some other explanation - but seriously, it’s hard to understand how isn’t Google ashamed of its AI overviews… or not sued under some regulation regarding fake news.
PS: yes, I know, my fault for using Google as a search engine.
@bender@twtxt.net Let’s start a counter penguin feed! Or something along those whiskers. Should also at least mentally help with the heat.
“Later in the evening, posting on X, #Macron said: “I’m banning #socialmedia for #children under 15. Platforms have the ability to verify age. Let’s do it.”
French authorities are already progressing with efforts to force certain social media sites — including X, Reddit, Bluesky and #Mastodon — to introduce age verification, by classifying them as pornographic websites.
French measures forcing porn sites to verify their users’ ages came into effect on June 7, prompting the world’s largest porn website, Pornhub, to stop operating in France. Demand for virtual private network services, which allow users to trick websites into thinking they are in a different location, immediately surged.”
https://www.politico.eu/article/emmanuel-macron-social-media-ban-minors-france/
$560 Bounty: How Twitter’s Android App Leaked User Location
A Silent Broadcast That Let Any App Spy on You Without Asking
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/560-bounty-how-twitters-android-app-leaked- … ⌘ Read more
watchOS 26 Features New Gesture to Dismiss Notifications
Apple in watchOS 26 has added a new one-handed wrist-flick gesture to easily dismiss notifications, but the gesture only works on newer Apple Watch models.
When you raise your wrist to check a notification but aren’t ready to respond, you can now simply flick your wrist – turn it over and back – to dismiss it. The quick gesture lets you dism … ⌘ Read more
‘Let the alibi artists stand aside’ - why Oakmont is toughest US Open test
There are few, if any, tougher more uncompromising tests than Oakmont Country Club, the home of this week’s US Open, writes Iain Carter. ⌘ Read more
WebSocket Wizardry: How a Forgotten Channel Let Me Sniff Private Chats in Real-Time ️♂️
Hey there!😁
[Continue reading on InfoSec Write-ups »]( … ⌘ Read more
One of the all-time greatest matches? Alcaraz will ‘let the people decide’
Carlos Alcaraz says he will “let the people decide” if his French Open comeback over Jannik Sinner is one of the greatest matches of all-time. ⌘ Read more
$1,000 Bug: Firefox Account Deletion Without 2FA or Authorization
How a Missing Backend Check Let Attackers Nuke Accounts With Just a Password
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/1-000-bu … ⌘ Read more
Securing Kubernetes Traffic with Calico Ingress Gateway
Kubernetes, Envoy, GatewayAPI, cert-manager, CNI, Calico If you’ve managed traffic in Kubernetes, you’ve likely navigated the world of Ingress controllers. For years, Ingress has been the standard way of getting our HTTP/S services exposed. But let’s… ⌘ Read more
I Let ChatGPT Make All My Architectural Decisions for a Month: The Surprising Results
Comments ⌘ Read more
Trump says it might be better to let Ukraine and Russia ‘fight for a while’ ⌘ Read more
**☠️ CORS of Destruction: How Misconfigured Origins Let Me Read Everything **
Free Link 🎈
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/%EF%B8%8F-cors-of-destruction-how-m … ⌘ Read more
letting off some steam ! ⌘ Read more
JWT the Hell?! How Weak Tokens Let Me Become Admin with Just a Text Editor ️
Hey there!😁
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/jwt-the-hell-how-weak-to … ⌘ Read more
Deals: M4 MacBook Air for $812! MacBook Pro 16″ M4 Max 48GB/1TB for $3440, & More
Amazon isn’t letting up on the great deals, with the M4 Macbook Air 13″ model now being offered at just $812 for the base 13″ model with 16GB RAM, 256GB SSD, and Midnight color. You can also get great deals on other colors, but the cheapest by far is the dark Midnight color at the … [Read More](https://osxdaily.com/2025/06/03/deals-m4-macbook-air-for-812-macbook-pro-16 … ⌘ Read more