@mauve Omg, seriously. Back in 2016, when browsers started pulling support for generating client certs, I basically spent a year creating a new cross-domain authn system for the Solid Project (it relied solely on client certs before that).
But I still think about the kind of awesome world we could have had, had the vendors supported client certs properly. Just boggles the mind.
like the one where your identity is your mobile phone number right? making metadata really trivially attributable??? the one where you can't make an account using only a desktop computer? "doesn't suck"??
We've been punching above our weight at @ddosecrets: we're a small transparency team with a shoestring budget, but hosting over 100 TiB of documents, operating search engines for some of those datasets, and fielding data requests from journalists and researchers, all costs money. If you can donate today, or share our fundraiser, your support right now means the world to us.
Here's an example server: https://github.com/julie-ng/nodejs-certificate-auth/blob/master/server/server.js
Seriously, why the hell are we still using username/password when browsers have supported requesting client certificates for years now.
Literally just learned today that it's an API that's supported in all the major browsers already. Maybe because it's at the TLS/Server-side layer instead of inside client-side JS or the HTTP layer?
Only downside is now I need to add this functionality to Agregore. :P
💵 $1,000,000,000,000 💵
If only we could spend a TRILLION dollars every year to fight global heating and promote climate justice. But where would we get that kind of money??
Oh...
Governments Spent Record $1 Trillion Last Year Subsidizing Fossil Fuels
LLM, AI
Been firguring out how to integrate an LLM into my flow. So far I'm thinking of using one of these LLAMA based models running locally. I tried one and it kinda sucks for code generation but at least I can run it entirely locally on my steam deck.
My UX flow is going to focus on using selected text in an X11 session. I'm using nerd-dictation to give prompts to the model, fetch "input" from selected text, then have the genertated "output" fed back over the selected text.
»Today, we find ourselves in a situation in which technology has become conflated with capitalism, which has in turn become conflated with the very notion of progress. If you try to criticize capitalism, you are accused of opposing both technology and progress. But what does progress even mean, if it doesn’t include better lives for people who work? What is the point of greater efficiency, if the money being saved isn’t going anywhere except into shareholders’ bank accounts?»
With local-first apps, users have full control over their data, and it is stored on their own device rather than on remote servers. This reduces the risk of data breaches and unauthorized access to data.
ODD apps are not only local-first, but they are also able to work offline and collaborate across multiple devices. #oddsdk #localfirstcomputing #p2p
Agregore 2.2.0 just got released with improvements to load times and our extension system.
https://github.com/AgregoreWeb/agregore-browser/releases/tag/v2.2.0
You can check out @mauve doing a live toot of their debugging here: https://mastodon.mauve.moe/@mauve/110340934453455969
For anyone curious, here's the diff for the work I was doing: https://github.com/AgregoreWeb/agregore-browser/commit/575528d9e21b84fcfd4798e4eb52c79f157866a2
Love me some deleted code 🥰
I'm especially happy with this file for tracking all the built in extensions. Should make it way easier to customize Agregore for communities.
Also! While I'm at it I've added more mime types to the JSON renderer so now when I view ActivityStream data I can get a nice formatted view with clickable links. 😁
Adding new extensions and updating versions for extensions is now super easy.
All I need to do is add a new entry to a JSON file with a `url` for downloading the zip file for an extension, as well as a `version` string which is used to compare against the manifest on disk.
The URL also has some basic templating where the system will replace occurances of `{version}` with the version number. With this I just need to update the one line to update the version.
Occult Enby that's making local-first software with peer to peer protocols, mesh networks, and the web.
Exploring what a local-first cyberspace might look like in my spare time.