h3i is a command line tool and Rust library designed for low-level testing and debugging of HTTP/3, which runs over QUIC.

We've replaced our hodgepodge of test tools with it and caught server bugs in the process.

Deep Dive at blog.cloudflare.com/h3i

Waymo (aka Google) admits that it trains its robotaxis to break the law. When WaPo reporter finds robotaxis fail to stop for pedestrians in marked crosswalk 70% of the time, Waymo says it follows "social norms" rather than laws.
Expert explains: When robotaxis obey law, they don't go fast enough to compete successfully with Uber, so Google execs ordered engineers to ignore laws.
wapo.st/3ZZDifm

reshared this

I continue to see a waning of ambition and optimism among technologists, or at least those who are most visible online. For example, this post: "The web is too big, or scaling down" scottrichmond.me/the-web-is-to… And I have to admit I feel it myself.
in reply to Matt Campbell

The business world tells us we should build ever faster and higher-level, to focus on delivering business value. I can see that, in the right context, this can be about more than churning out crap software to try to make money; it can be about solving an important problem before anyone else bothers to address it. That's how I justify (to myself) using Electron in one of my products. That focus on building just good enough, as fast as possible, isn't satisfying, but I guess it's inevitable.
in reply to Matt Campbell

as camus (via wikiquote) put it in 1970:

“Life continues, and some mornings, weary of the noise, discouraged by the prospect of the interminable work to keep after, sickened also by the madness of the world that leaps at you from the newspaper, finally convinced that I will not be equal to it and that I will disappoint everyone—all I want to do is sit down and wait for evening. This is what I feel like, and sometimes I yield to it.”

in reply to Matt Campbell

The current fad is generative AI. And yes, I admit that I use it myself sometimes, and it's fun to play with. But when it comes to what I actually work on, I find myself wanting to go in the opposite direction: not building on top of a big, inscrutable thing that uses as much computing power as we can throw at it, but instead, simplifying the tech stack, understanding it deeply, tightly controlling sources of complexity like concurrency and asynchrony, etc.

Rui Batista reshared this.

in reply to Matt Campbell

Another thing contributing to my bad mood today: I saw a link to a piece Steven Sinofsky wrote in 2016 about the difficulties of cross-platform apps: medium.learningbyshipping.com/… He said the best long-term strategy was to go all-in on native, and I do remember that being common wisdom in the 2010s for mobile apps, if not desktop. The industry seems to have retreated from that. As if to say, "fuck quality, fuck user experience, just get a good-enough app out there to everyone." And I'm not innocent.
in reply to Matt Campbell

This sounds like a binaristic description of the trend (in therapy parlance, "black-and-white thinking"). Another less judgmental way to describe the same fact pattern is "on balance, we need to prioritize portability and speed of delivery over certain aspects of quality which are expensive to implement". I'm not necessarily saying that the industry deserves such charity but I think it's helpful to think in terms of incentives and systemic forces and imagine most actors are rational
in reply to Glyph

@glyph Yeah, you're right, of course. I'm curious, why did you decide to use AppKit directly in Pomodouroboros, and then do a separate GTK UI for Linux? Leaving aside screen reader accessibility which isn't relevant for this app, is something like Qt still not good enough? Or did you decide you just really wanted to do a polished Mac UI since that's the platform you use? Have you already blogged about this?
in reply to Matt Campbell

In a word; yes. There were three major reasons:

1. Pomodouroboros is an unusually UX-sensitive app. It's designed to provide a very specific stimulus in a very specific way, and if it can't be provided that way, then the app is pointless. There's more than one possible way to deliver that stimulus but each distinct way is still *very* specific and sensitive to minor variations.

in reply to Glyph

2. the integrations required are not only specific but quite *platform*-specific, requiring things like global hotkeys, overlays, shaped windows, transparency, activation policy, focus policy, and even when cross-platform toolkits provide access to this functionality, it's obscured behind APIs which do not provide cross-platform behavior. I can get Qt to do what I want on the mac, but doing what I want on Linux, if it's even possible (I've gotten close) is different code anyway
in reply to Glyph

3. the cross-platform toolkits come with a truly catastrophic amount of bloat. py2app at least does a good job of keeping the download size very manageable (as I recently posted about; approximately 32MB compressed, which is only about 75% of the size of the NYT homepage). Users don't like big downloads regardless, but user *perception* of what a "tiny" status-bar app should take up is small. Electron or Qt + Python would make this _gigabytes_ instead.
in reply to Matt Campbell

GTK has systematically removed all of the APIs that I need to implement Pomodouroboros, because Wayland has (for misguided, incorrect "security" reasons) removed the functionality those APIs depend upon, and GTK considers "Linux desktop" the most important least common denominator.

Of course since "security" is an excuse rather than an actual systemic property, I can still access all the functionality by forcing a fallback to X11 and then talking to it directly github.com/glyph/Pomodouroboro…

in reply to Matt Campbell

@glyph About cross-platform toolkits and bloat, one of the crazier things I ever did was to use Eclipse's SWT in a Python project by embedding the Avian lightweight JVM via pyjnius. This was in 2015. I think SWT *and* Avian was still a bit less bloated than wxPython or PyQt. I chose SWT because it had more consistent accessibility across Windows and macOS than wx (e.g. no need to use a different list control on each platform). But now Avian is dead. I'm probably never porting that app to ARM.
in reply to Matt Campbell

@glyph I was going to do the whole app in Java. Avian would have enabled AOT-compiling that code to a standalone executable (I think this was before GraalVM Native Image). But then writing JNI bindings by hand for platform APIs looked like way too much work, and I had some existing Python code I wanted to use, so I did the Python-embedding-Java hack. So, as you said, we're all rational actors making compromises; we can't max out quality in all dimensions.
in reply to Matt Campbell

A point I should make about Pomodouroboros is that while this is far from the _only_ issue driving delays (personal issues are a bigger factor, if I even have a real "schedule" to begin with), spending so much time hand-polishing the native API interactions to make the experience come out just right has produced huge delays by itself. Perhaps if I were more fluent with Electron and did it as a janky web-ish experience it would actually be out to users by now, getting feedback and iterating
in reply to Matt Campbell

I have played with it a little bit, and if I had to do the kind of app that benefits from cross-platform UI, I would probably reach for it first. It looks very simple but (to my eye at least) very native, across a really surprisingly big range of platforms. But one of the major benefits is that it would work really nicely on mobile, and Pomodouroboros can't even work on a mobile platform due to platform limitations :)
in reply to Glyph

Normally, I'm a defender of "bloat", <joelonsoftware.com/2001/03/23/…> has held up remarkably well, I think for the most part users just don't appreciate what it takes to make a fully functioning application, the size of all the infrastructure required to do things like "auto-updates" or "security" or even just the resource size of images or 3D models or whatever for the aesthetic touches that users expect. But that's defensible for like, 20-50% increases in size, not 10,000%
in reply to Glyph

@glyph Re: bloat, I'm ambivalent about the Spolsky article. His rebuttal of Linus Åkerlund's rant is correct, of course; demand paging has been a thing for a long time. And of course, more features are generally a good thing for users. And important things like accessibility and, as you said, automatic updates and security, make the code bigger.

And yet, why shouldn't a little utility like a registry cleaner be 50K instead of 1 MB? Is wanting that a mental health issue?

in reply to Matt Campbell

@glyph It seems to me that the biggest causes of bloat, at least today, aren't actual user-visible features, but glue layers, especially glue layers (e.g. language bindings) that require you to ship large dependencies in whole without any possibility of fine-grained dead code elimination. Electron is that taken to an extreme, shipping a whole browser engine because JS is too dynamic.

Lots of great stuff on open source & AI from Facebook's @yannlecun - As usual @karaswisher asks some great questions. Am I convinced that the bots aren't going to lead to our downfall, no. Do I think Yann's got it right on legislation no. But I liked his responses on open source, and frankly his openness to confront power.

youtube.com/watch?v=UmxlgLEscB…

#OpenSource #AI #Meta

🎉 The First 12 Castopod Plugins are Here! 🚀

We’ve hit a major milestone on the road to Castopod v2: the release of the first 12 Castopod plugins!

These plugins showcase the power of our new Plugins Architecture, enabling endless customization and exciting new features.

💡 What’s Next?
We’re working on a Plugins Repository for easy discovery and installation, plus UX improvements, async media uploads, PHP 8.4, better fediverse integration, compatibility and much more!

👉 blog.castopod.org/castopod-fir…

Unknown parent

mastodon - Link to source

Tamas G

lol! Turns out, writing frustrations into a song lyrics as a way of finding semi-closure on a project does help you find amusement where there's little, and besides. I know eventually I'll get that engine working, and if it'll be available in SAPI then me writing an NVDA driver for that one won't be as needed either xD
This entry was edited (11 months ago)

Just set up SearxNG on my tailnet and wow. That One Weird Trick(TM) made my internet feel a bit more like it did in the late 90s again.

Search results take just a bit longer to appear than Google/DDG, maybe about a second more, but there are no ads, no AI-generated answers that might be wrong, no tracking... I run a search and the first tap of "h" brings me to the first result. It was easy to add to Firefox as well, and now my private SearxNG instance is my default search engine.

Kind of sad that simplicity is the thing that feels magical but here we are.

Looking at #38c3 for differences of two PCB boards of Xperia #XA2. One phone was confiscated by police from an #climatejustice activist and released more than 2 years later with the notes by prosecution that they couldn't get it unlocked. It is encrypted with #sailfishos
#linuxphone #crypto @jolla
This entry was edited (11 months ago)

👏 Tuta's 2024 in review 👏

All of our achievements were made possible with YOUR SUPPORT, so thank you ❤️

Take a look at what we've achieved in the past year: tuta.com/blog/2024-year-in-rev…

#YearinReview2024 #yearinreview

Har putsat lite på det där starterpacket jag gjorde med svenskar på mastodon. Återfinns här: fedidevs.com/s/MTY2/

Är du inte med? Hojta så lägger jag till dig.

Vill du inte vara med? Dölj ditt konto från att sökmotorer kan hitta dig via Inställningar/Profil/Integritet och räckvidd.

This entry was edited (11 months ago)

Meanwhile In Canada, you can't even go from one side of the GTA to the other on an electrified train, let alone across the country 😥
narrativ.es/@janl/113741172743…
in reply to Sue Smith

A reminder that obnoxious, blocking cookie consent banners are not required by law but are there because tech companies had a massive tantrum at being prevented from tracking the bejesus out of you by default.. They don't need to be annoying or intrusive, companies can absolutely choose not to track, to track less, or make the consent experience easier, they choose not to 💩💩💩

reshared this

Rusko zakázalo volání přes internet na smartphony. Oficiálním důvodem je omezení podvodných hovorů
mobilmania.zive.cz/clanky/rusk…

Ruská vláda výrazně zasáhla do využívání komunikačních technologií na svém území. Konkrétně došlo k vydání směrnice, která zakazuje internetové volání na mobilní a pevné telefony. Představit si to u mobilních aplikací, jako jsou WhatsApp, Signal, Viber a další, můžete tak, že u nich nemohou být použity funkce pro volání na mobilní a pevné linky.

How MusicTeacher.com teamed up with Sound Without Sight to help everyone find the perfect music teacher soundwithoutsight.org/how-musi…

ATU708 – AI and the Future of Accessibility with Dr. Gregg Vanderheiden eastersealstech.com/2024/12/20…

StellarTrek: Exploration, Orientation and Mobility for the Visually Impaired eastersealstech.com/2024/12/24…

ClearView GO Offers Compact Option for Desktop Video Magnifier eastersealstech.com/2024/12/26…
in reply to Malte

Ich fürchte nicht. Soweit ich mich erinnere, war das seitens der Entwickler nicht gewünscht. GOS hat explizit ersucht, alle GOS Apps aus allen F-Droid Repos zu entfernen: gitlab.com/IzzyOnDroid/applist…

"We would like to request that all GrapheneOS apps are not to be hosted on the repo without our express permission."

Die "4 freedoms of FOSS" (en.wikipedia.org/wiki/The_Free…) werden dort nicht so geschätzt, was die eigenen Apps betrifft…