I also received Spam in the Fediverse. From multiple servers, large and small. The topic is important as the Fediverse will scale and complicated because of the implied decentralized nature of it.
Hence, I expected a thoughtful discussion and comparison of existing work, work in progress, current research questions and transferrable work between the two protocols.
What did I get: Absolutely thought free, cheap instances of tu quoque and demonstrations of incompetence about the subject being discussed. Do better.
Which brings us to one the most important tools to combat spam in the Fediverse at the moment: The block function.
Ich bin Fan vom Känguru und „VIEWS“ ist auch wirklich sehr gut.
Ich frage mich, ob Marc-Uwe Kling (@marcuwekling ) der Sache nicht mehr geholfen hätte, wenn er angekündigt hätte, ab morgen ausschließlich im #Fediverse zu posten.
Die meisten Nutzer folgen dem Content und nicht komplizierten moralischen Appellen.
Aus eigener Erfahrung würde ich sagen, dass ein zu aprupter Wechsel selten von langfristigem Erfolg gekrönt ist...ich denke, wenn einige neue Nutzer hier (zeitweilig parallel) ihre Zelte aufschlagen, sollten wir ihnen einen möglichst warmen Übergang ermöglichen...
* es benötigt auch etwas eigene investierte Zeit, dieses Netzwerk besser zu verstehen und diesen "Mehraufwand" können wir nur anteilig mit Usability-Attraktivität wettmachen...
Digital Independence Day #1 - Email-Anbieter einfach wechseln
Accounts, Mail, Cloud, Betriebssystem, Plattformen — vieles in unserem Alltag haengt an wenigen Big-Tech-Konzernen.Sascha Pallenberg (MeTacheles)
I wrote Zig bindings to quickjs-ng with 96% API coverage (~240 exported C decls) with unit tests, examples, and doc strings on all functions in less than 6 total hours with AI assistance. I never want to hear that AI isn't faster ever again. github.com/mitchellh/zig-quick…
This isn't slop. I worked for those 6 hours.
I was reviewing everything it outputted, updating my AGENTS.md to course correct future work, ensuring the output was idiomatic Zig, writing my own tests on the side to verify its work (while it worked), and more. My work was split across ~40 separate Amp threads (not one mega session, which doesn't work anyways unless you're orchestrating).
I have a ton of experience writing bindings to libraries for various languages, especially Zig. I have never achieved this much coverage in so little time with such high quality (e.g. test coverage). My usual approach is to get bind just-enough of the surface area to do my actual work and move on. This time I thought I'd draw the whole owl, because it's a new world. And I'm very happy with the result.
Anyone with experience writing bindings knows that you do some small surface area, then the rest of the coverage is annoying repetition. That's why I usually stopped. Well, LLMs/agents are really, really good at annoying repetition and pattern matching. So going from 5% API coverage to 95% is... cake.
There is probably some corners that are kind of nasty still, but I've been re-reviewing every line of code manually and there is nothing major. Definitely some areas that can just use a nicer Zig interfaces over the C API, but that's about it.
I plan on writing a longer form blog showcasing my threads, but you can at least see the final AGENTS.md I produced in the linked repo.
github.com/mitchellh/zig-quick…
GitHub - mitchellh/zig-quickjs-ng: Zig build and bindings for quickjs-ng
Zig build and bindings for quickjs-ng. Contribute to mitchellh/zig-quickjs-ng development by creating an account on GitHub.GitHub
Da vergüenza ajena que Pedro Sánchez sea incapaz de publicar su propio comunicado de condena a la invasión americana sin tener a un grupo de países al lado, como da vergüenza ajena que haya tenido que unirse al comunicado latinoamericano porque ningún otro país de la UE es capaz de criticar a los EE.UU. como sí hicieron con la invasión de Iraq.
🧵 We moved from Google Cloud to Hetzner and cut infrastructure costs by 80%. Here's what I learned:
Same workloads, same reliability, actually better performance for our use case. Main thing we lost: 47 GCP console screens to find a simple setting.
GCP isn't bad - it's powerful and right for many cases. But somewhere the industry decided "real" companies must use hyperscalers. That's marketing, not engineering.
1/2
Will I get bullied if I go to #fosdem with a macbook?
(EDIT: asking seriously)
Because of work, I haven't really made presentations since ~2016, and when I had to, I was basically forced into PowerPoint.
Back then, my conference & OSS talks were HTML+CSS for me (in Spanish, mostly). Markdown was just for Wikipedia.
Now I’m prepping a #FOSDEM 2026 talk for @badgefed and discovered #marp.
Markdown-based slides, and… wow. I'm having way more fun than I expected.
Marp: Markdown Presentation Ecosystem
Marp (also known as the Markdown Presentation Ecosystem) provides an intuitive experience for creating beautiful slide decks. You only have to focus on writing your story in a Markdown document.marp.app
Hi. I apologize in advance if my account becomes somewhat political. I am Venezuelan, and I want to talk about what is happening in my country. I will do so from my own beliefs and political position.
I am open to debate and to clarifying doubts for anyone who has them.
However, I am not open to insults, disrespect of any kind, or being called a traitor to my country. I only accept respectful dialogue here, and I thank in advance anyone who chooses to engage in that spirit.
Acabadico Babel, de Kuang. Uf, me ha flipado, genuinamente, me parece una maravilla de novela. sí, tiene sus cosas, como que la narradora es demasiado obvia a veces y tiene a explicar demasiado, confiando demasiado poco en el lector.
PERO, aún así, me ha flipado toda la novela de cabo a rabo. En tema, estilo y estructura. En general no leo libros tan largos (aunque ahora van a venir varios tochos seguidos...) y me imponía bastante. Sin embargo, me lo he bebido. Lo comencé el día 1, viajando a casapadres en tren, y me lo he acabado esta tarde.
Me encanta como el conocimiento de un campo muy concreto, la traducción, puede acabar no solo siendo un sistema de magia, sino un sistema de poder y relaciones. Que el propio sistema de magia que plantea sea en sí los vacíos del lenguaje... Mira, me flipa.
También es de los pocos sistemas de magia que he visto que, de verdad, está ahí para reforzar la trama y su mensaje anticolonial.
En fin, que recomiendo muchísimo #literaverso
Tak keep ☕, bando.
hokej.cz/sestrih-sest-ran-pro-…
SESTŘIH: Šest ran pro Kanadu! Připomeňte si strhující semifinále | Hokej.cz - web českého hokeje
(ST. PAUL, od našeho zpravodaje) Je nám jasné, že tenhle sestřih si nepustíte jenom jednou. Ale je pondělí, tak proč si ho neudělat pěkné.Hokej.cz
TAccess is a custom Telegram client built with Python and wxPython, specifically designed to be fully accessible for screen reader users (NVDA, JAWS, Narrator) on Windows.
github.com/mlapps88/t-access-a…
Release T-Access 1.0 · mlapps88/t-access-accessible-telegram-client
TAccess v1.0.0 - First Public Release We are proud to present the first stable release of TAccess, an accessible Telegram client designed from the ground up for efficiency and ease of use with scre...GitHub
reshared this
The text mode lie: why modern TUIs are a nightmare for accessibility
The mythical, it's text, so it's accessible
There is a persistent misconception among sighted developers: if an application runs in a terminal, it is inherently accessible. The logic assumes that because there are no graphics, no complex DOM, and no WebGL canvases, the content is just raw ASCII text that a screen reader can easily parse.
The reality is different. Most modern Text User Interfaces (TUIs) are often more hostile to accessibility than poorly coded graphical interfaces. The very tools designed to improve the Developer Experience (DX) in the terminal—frameworks like Ink (JS/React), Bubble Tea (Go), or tcell—are actively destroying the experience for blind users.
The Architectural Flaw: Stream vs. Grid
To understand the failure, we must distinguish between two distinct concepts often conflated under “terminal apps”: the CLI (Command Line Interface) and the TUI.
- The CLI (The Stream): This operates on a standard input/output model (
stdin/stdout). You type a command, the system appends the result below, and the cursor moves down. This is linear and chronological. For a screen reader, specifically kernel-level readers like Speakup, this is ideal. - The TUI (The Grid): This treats the terminal window not as a stream of text, but as a 2D grid of pixels, where every character cell is a pixel. It abandons the temporal flow for a spatial layout.
Case Study: The gemini-cli Madness
Let's look at a concrete example: gemini-cli, a tool written in Node.js using the Ink framework. On the surface, it looks like a simple chat interface. But underneath, Ink is trying to reconcile a React component tree into a terminal grid.
When you use this tool with Speakup (Linux) or NVDA (Windows), the application doesn't just fail; it actively spams you.
Because the framework treats the screen as a reactive canvas, every update triggers a redraw. When the AI is “thinking,” the tool updates a timer or a spinner. To do this, it moves the hardware cursor to the timer location, writes the new time, and moves it back.
For a sighted user, this happens instantly. For a screen reader user, this is what you hear:“Responding... Time elapsed 1s... Responding... Time elapsed 2s... [Fragment of chat history]... Responding...”
It drives the screen reader mad. The cursor is teleporting all over the screen to update status indicators, spinners, and history. Speakup tries to read whatever is under the cursor at that exact millisecond. You end up hearing random bits of conversation mixed with timer updates, making it impossible to focus on what you are actually typing.
Worse, lets pretend that you've somehow managed well with speakup so far, but that you want to do some work with nvda. Maybe paste an error you're getting on windows. So you open your terminal, ssh into your linux box, attach to your screen session and paste your text.
The result is an immediate crash of the screen reader (NVDA) or massive system instability. Why? Every time you type a character or paste text, the application triggers a state change. The framework decides it needs to re-render the interface. Because the conversation history is part of that state, the application attempts to redraw or re-calculate the layout for thousands of lines of text instantly. The more messages you have in a conversation, the more this will happen. And no, you can't just avoid this by using insert+5, the key combo supposed to avoid announcing dynamic change of content.
The Lag Loop
Furthermore, frameworks like Ink running on single-threaded environments (like Node.js) suffer from massive performance degradation when the history grows. If you paste a large block of text, the system has to calculate the diff for thousands of lines.
This causes input lag. You press a key, and you wait. You can wait up to 10 seconds for a single character to echo back. The system is too busy calculating how to redraw the screen to actually process your input.
Why The “Old Guard” Works (nano, vim, menuconfig)
Sighted developers often ask: “If TUIs are bad, why do you use nano, vim, or menuconfig?”
The answer is not that these tools handle the cursor perfectly by default. The answer is that they allow you to hide the cursor entirely.
1. Hiding the Cursor (nano, vim)
In tools like nano or vim, usability depends on turning off features that track cursor position. If you run nano with options that show the cursor position (like --constantshow), or if you use vim without specific configuration, the experience is broken.
When the cursor is visible and tracking is active, Speakup prioritizes the cursor's location update over the character echo. Instead of hearing the letter “a” when you type it, you hear “Column 2”. You type “b”, and you hear “Column 3”.
These older tools succeed because they allow you to disable this noise. You can configure them to suppress the visual cursor or status bar updates, forcing the screen reader to rely on the character input stream rather than the noisy coordinate updates. Modern frameworks rarely offer a “no-cursor” or “headless” mode; they assume the visual cursor is essential.
2. Single Column Focus (menuconfig)
Tools like the Linux kernel's menuconfig work because they enforce a strict, single-column focus. Even though there are borders and titles, the active area is a vertical list. The cursor stays pinned to that list. It doesn't jump to the bottom right to update a clock, then to the top left to update a title. The spatial complexity is kept low enough that the screen reader never gets “lost.”
3. The Lost Art of Scrolling Regions (Irssi)
Irssi is the gold standard for accessible chat, but not because of luck. Irssi was built over 20 years with a custom rendering engine that utilizes VT100 Scrolling Regions.
When a new message arrives in Irssi: 1. It tells the terminal driver: “Define a scrolling region from line 1 to 23.”2. It sends a command: “Scroll up.” The terminal moves the bits up. 3. It draws the new text at the bottom of that region.
Crucially, it handles this in a way that minimizes interference with the input line. It relies on the terminal's hardware capabilities rather than rewriting every character on the screen manually. Modern frameworks ignore these hardware features in favor of “diffing” the screen state and rewriting characters, which is computationally heavier and hostile to accessibility.
The “Stale Bot” excuse: A Case Study in Neglect
Google and the maintainers of gemini-cli pretend to care about accessibility. “Pretend” is the operative word here. If you look at the repository, critical accessibility regressions like Issue #3435 and Issue #11305 have been left to rot. There is no discussion, no roadmap, and no fix. Even worse is the fate of Issue #1553, which was supposed to track these accessibility failures. It didn't get solved; it got silenced. It was closed automatically by a bot with this generic dismissal: > Hello! As part of our effort to keep our backlog manageable and focus on the most active issues, we are tidying up older reports. It looks like this > issue hasn't been active for a while, so we are closing it for now.”
This is unacceptable. Closing an accessibility report because the maintainers haven't touched it in months is not “tidying up”; it is hiding evidence. It effectively says that if a bug is ignored long enough, it ceases to exist. It boosts the project's “Closed Issues” metric while leaving the actual software unusable for blind users.
Conclusion
If you are building for the terminal and care about accessibility, stop using declarative UI frameworks that treat the terminal like a canvas.
The “modern” TUI stack has optimized for the developer's ability to write React-like code at the expense of the machine's ability to render text efficiently.
If you cannot guarantee that your application allows the user to hide the cursor, or if you rely on aggressive redrawing to show spinners and timers, you are building an inaccessible tool.
For the blind user, a dumb, linear CLI stream is infinitely superior to a “smart” TUI that lags, spams, and scatters the cursor across the screen.
reshared this
I unfortunately have not found any myself. The second your ssh connection lags even a tiny little bit, things kind of fall apart.
And cursor tracking seems hardcore in wsl for some reason? It's very weird. Or it's probably nvda not liking the windows terminal all that much... Let's be honest there too, nvda rather sucks for the terminal, as unfortunate as it is.
@archos "Vazeny pa chrchly chrchly pane! Helejte, skyt, sem se vozvozral. A skyt! naboural skyt auto! Vam auto naboural. Ja. Skyt. Sorry. Robin Bedrunka. "
;)
Got an external SSD to replace a rotational USB2 slow one, that holds my photo collection of 20 years.
So of course I'm trusting Midnight Commander to copy the files over.
@purpleidea this is not for backups, but (gulp) for the main photo storage. I have backups in a spinning HDD.
What should I research about SSDs without power? I don't mind keeping this thing plugged in, but still.
Today I saw someone wearing a hat saying "FUCK LEGAULT" in bright yellow letters on black.
@feld you mentioned CCC FreeBSD jail escape recently.
Someone else asks if mkjail will get pkgbase support:
bsky.app/profile/maackintosh.b…
^ we got some work to do, but first, I'd have to be trying pkgbase.
Next item on the agenda: how well does mkjail work with securelevel?
OK, that's enough deep thoughts this early on a Sunday morning.
Jessie Kirk • 🏳️⚧️
in reply to Tuta • • •<undef>
in reply to Tuta • • •FranzHohler
in reply to Tuta • • •Radgryd
in reply to Tuta • • •Adrian
in reply to Tuta • • •【Ze i Ma】🔞
in reply to Tuta • • •Thiry Maximilien
in reply to Tuta • • •ThaMichele
in reply to Tuta • • •Jakob🇪🇺
in reply to Tuta • • •Hiki
in reply to Tuta • • •Tuta
in reply to Hiki • • •Zou
in reply to Tuta • • •qwertzalotl
in reply to Tuta • • •Micha P. Sexbeat
in reply to Tuta • • •Vojaganto
in reply to Tuta • • •Leander Lindahl
in reply to Tuta • • •I chose Tuta for stable native Linux mail client (and Mac/win/iOS/android), but most of all because of your great communications work with blog and social media pro European and/or independent software and digital services.
Looking forward to your drive (cloud) solution.
Arnaud Pz
in reply to Tuta • • •Meldriade
in reply to Tuta • • •axel.
in reply to Tuta • • •Tuta
in reply to axel. • • •Jeff
in reply to Tuta • • •Clicky Buttons
in reply to Tuta • • •Nexl
in reply to Tuta • • •L3N0X
in reply to Tuta • • •Tuta
in reply to L3N0X • • •freaeaz_
in reply to Tuta • • •Marcos Rodrigues
in reply to Tuta • • •Superboom
in reply to Tuta • • •I chose Tuta because... Well, because what would I choose otherwise? I value myself and my data, so after a quick research I found out that Proton didn't suit me at all, but Tuta is a lovely platform that I am pleased to use everyday!
Robert Rapacki
in reply to Tuta • • •Due Pazzi In Caravan
in reply to Tuta • • •nico o. s.
in reply to Tuta • • •Marcos D. Alves
in reply to Tuta • • •bookworm
in reply to Tuta • • •Sir David Nielsen
in reply to Tuta • • •Ryan Emmett
in reply to Tuta • • •Tuta
in reply to Ryan Emmett • • •🅱️eisbolCards
in reply to Tuta • • •Souljah06
in reply to Tuta • • •Lisa
in reply to Tuta • • •Lisa
in reply to Tuta • • •FrauZimorodek
in reply to Tuta • • •TwoDpadsDown
in reply to Tuta • • •Miguel Fontoura
in reply to Tuta • • •CreamofCry
in reply to Tuta • • •steppl
in reply to Tuta • • •Gert, ZL2AW 🇳🇿
in reply to Tuta • • •Tuta is just a simply to use email and calender. No distractions !!
A clear, fast, and reliable encrypted service made in Germany !
Cheers Gert
Xeronarth
in reply to Tuta • • •That's an easy one: I just wanted a good mail provider that didn't break the bank or pull me into its oversized ecosystem. No overly fancy gimmicks, tries their best, and continues to help privacy and Open Source alike.
Tuta fit to the letter in my opinion.
Eclipse
in reply to Tuta • • •Eric
in reply to Tuta • • •tyrkysovapanda
in reply to Tuta • • •Marco
in reply to Tuta • • •Manuel García Gómez
in reply to Tuta • • •Mystden
in reply to Tuta • • •