Mauve 👁💜

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.


Jeeze I need to curate a second less stressful fedi feed.


Pretty excited by the fact that I can reach both #BlueSky and #nostr via bridges now. 🥰 Hope more of these federated systems get bridged soon too.


Thinking of the "trusted compute" stuff that's been getting more widespread and wondering if it'd lead to users having less agency over their devices a la Verner Vinge's Rainbows End where all computing has to be approved by a central authority first. :P


#DistributedPress now has a product offerings and services page for anyone interested in hiring us to set up your #ActivityPub integration, static site hosting on the #dweb across different #p2p protocols like #ipfs or #bittorrent, and general tech stuff in this area.

https://distributed.press/services/


Everything about Apple the company pisses me off so much. They're some of the most abusive companies out there with how they treat the needs of others.

https://open-web-advocacy.org/blog/its-official-apple-kills-web-apps-in-the-eu/


Instead of #selfhosted servers it'd be nice if software was #CloudFree and #P2P

Not only should we not ve reliant kn centralized corporate hosting, we should be able to just use whatever devices we have on hand without extra server maintenance.


nostr:npub14d70xk632yuqshz7hdrnnj79j3yufrphy4u7ryekmpr7vztwvf5q8zdm4s I think you mostly need lots of money


God I love *databases*


nostr:npub1f6a33pfyp67y8llhunlhrf855xm47n3fdqymvxfj7yx78c6vqf4scxpnql I'll dig around. Are there already llm plugins that specify how to change parameters? Might have a pr up my sleeve if there's time this weekend.


Now that I have my own place and can vibe more easily I'm getting back into science and math youtube.

i really misses it tbh. Main change tbh has been that I finally installed newpipe on the tv to avoid the brain draining ads youtube shoves in my brain.

every month I yearn for getting a degree of some sort. 💀


nostr:npub1f6a33pfyp67y8llhunlhrf855xm47n3fdqymvxfj7yx78c6vqf4scxpnql I'm on a steam deck and the speed is actually great!


nostr:npub1f6a33pfyp67y8llhunlhrf855xm47n3fdqymvxfj7yx78c6vqf4scxpnql Any clue why your #LLM tool with gpt4all's ggml-replit-code-v1-3b would perform worse than this replicate demo?

Is there a need to tweak the parameters for the model somewhere maybe?

https://replicate.com/replit/replit-code-v1-3b?prediction=zarihvjb2xfluvwsplgye4bude


Fucks me up when I read a blog post or article or something and it makes my cpu/gpu go grazy with some rabdom js rendering thing which is totally unnecessary to the actual content 💀💀💀💀


Happening now!


Hey folks! I'll be doing an AMA about #Agregore and how it works with the #p2p #dweb on discord in about three hours.

feel free to join us here: https://discord.gg/bMZPGHmb?event=1158108698896510997


Feeling really good this week. Got my living stuff figured out. Tying up some stuff in my work life. Social connections going strong and finding cadances there. Very thankful to be out of the hole.


nostr:npub1u64wldnq2kke9epyhuwgh6t5sps6sfrkdytdzhuzed4x7pe8da5qt2254l Interesting. Do you mean for hosting servers from within the browser? We currently resolve ".local" domains if your system has mdns support at the OS level. Also most integrated protocols have support for local network peer discovery.


feels good to be back in the saddle! catching up on all of my missed notifications and emails, starting writing new design dogs for projects, tugging on potential leads. I still don't have my computer table or monitor set up but I'm enjoying just sitting on the couch with my steam deck and my speech to text


Looks like my chortisol levels are finally decreasing. Been a really intense few months with lots of big spikes. Tomorrow I'll be getting back in the groove and utilizing my newfound energy reserves.


nostr:npub1j46ucxgzwukd6tkufgzkfrq3sltkdry3gspys4tntsdtljxjs3uq5hyl3a nor wipe off any dust or dirt 💀💀💀


Just got my temporary fob to get in my new building!! They're finishing up the landlord special (thick layer of white paint) but I should be good to move in tomorrow. Feels good to be almost done with everything 😭😭


To be clear by number I meant the lil ticket thingie that tells you which place you are in the queue :P


nostr:npub1rdcldgy8tlcczh9f5h7aj4rcqykzh2v8c02rv23sf8u7xpvgnl9qfpjdax i'm gonna headcannon them as looking like marx with an extra little goatee glued on top of his beard


nostr:npub1rdcldgy8tlcczh9f5h7aj4rcqykzh2v8c02rv23sf8u7xpvgnl9qfpjdax are anticommunists like start trek evil clones of communists?


Some lady gave me her number cause we sat together and chatted and I got to jump ahead 20 spots 🥰


Waiting at the canadian DMV. Over 40 people ahead of me 💀 might go back home and get my deck so I can at least do some coding


Casual listening to pack the last of my belongings to.
https://on.soundcloud.com/Xoi7T

i think Igorrr is my fave band right now.


nostr:npub1tfxfn2gufyh5y0wv7z62kmnz8urrlefylva7k9249kz3u2akuhlq8cjeun Jeeze that sounds especially bad given thr cost of living crisis. It feels like some gpvernments/corpos are actively trying to get people to die with their policies.


nostr:npub18nexvs44uwvzhjlp3x3ua3f4n8npw45krta6nv9u5rkddecwnfqqlu2mm9 Jeeze, sorry to hear you're positive. I wish you a swift recovery with minimal side effects 🙏🙏


nostr:npub18nexvs44uwvzhjlp3x3ua3f4n8npw45krta6nv9u5rkddecwnfqqlu2mm9 dang! That's pretty pricy. My roomies are sick right now and I'm prettty thankful I ca  just get to thenearest pharmacy and get as many as they need. Glad to hear there's free options for folks over there still. Ty for the info!


Fucked up my phone can't listen to the radio.


Went to my first hardcore punk show. It was fun.


Packing up my stuff and god damn I have more stuff than I expected :P


One thing the fediverse has that email doesn't is communities that care about their instance. I genuinely think this is it's biggest strength to combat centralization.


My hot take is that the #ActivityStreams and #ActivityPub are fine. Having some more standards for working with groups might be nice but honestly I'm happy with how much folks are able to do already and how many implementations are out there that can work together. This is from a few months of working on a new implementation. Honestly there's been a decent amount of docs spread around the place to go off of.


lol looks like my household is infested with covid so I can't socialize for a lil while 🥲


#TIL dogs can pet other dogs. #undertale


I'm pretty glad that the number of things I'm deeply stressed about had been cut down by like 60% over thr past couple weeks 😅 Sadly some things are looming and out of my control but at least I can check off some of the ones I can actually influence.


My lease got approved so I can stop stressing about it 🥳🥳🥳


My secret is that Cool 3D World is one of my favorite artists. Their animations are so disturbing and surreal. 🥰
https://www.youtube.com/watch?v=jE6UqdoOtHo


nostr:npub153vkpzctt4tadv3ztp0tggm4fup4suyv3fhz9e3zm7krhr02mf0q99deel HonestlyI wouldn't be surprised if we were thrown another scorcher before October gets here. Either that or snow. :P Maybe both?


writing documentation on the new stuff I've been doing with #ActivityPub and #DistributedPress and listening to this electronic music artist from Paris.

not sure what it is but french people know electronic music 🥰

https://soundcloud.com/oizo-mr-3000/tracks


I used to get frustrated a lot by folks misgendering me back before I came out as non-binary. It didn't matter too much but it was like I wasn't performing gender well enough and folks would give me a hard time about it.

Now I go to the pizza place and get sir and mammed minutes apart by different employees and it just makes me giggle since I can sit comfortably in my androgny.

Also when folks they/them me without needing to have to spell it out for them. 🥰


nostr:npub1g208yxsf9nexxhjncpyc837n0g0aahgfsnv0qg0xdp8fx9z4ksaqtq6xry Ionize the chemistry teachers!


Compaints have now been reduced to grumblings. Still hurts to type though :P Doing a bunch of docs today so I'll see if I can do the bulk via STT


nostr:npub10upwcy5gkxm48pecr883hfh86lc04dhkk5khvlqclvu6ew7vjeusuntqyu what do you usually use to browse indieweb stuff btw? Your browser?

I haven't had a chance to dive in past reading some specs so far 😅


Dang, warm hat season really snuk up on #Ottawa this year.


ha ha I think at this point I've been fully consumed by the beast known as Semantic Web. (though maybe that means I can eat some of it from the inside with p2p tech)


I think it'd be cool if in addition the #ActivityPub client-server interface we had some sort of standard for accessing your timeline using Linked Data Framgents or something similar. It'd be nice if "what you seen on your timeline" was more of a client side concern and portable accross implementations instead of needing a custom mastodon-only endpoint.

https://linkeddatafragments.org/concept/


nostr:npub1ncfvjskaqj357gyy3v0hgswwjf3993sr8kjn20e3waue0lx0kmzqy6sl0e Mama mia 😱


oof, I think I am approaching "caught up" on my sleep thanks to missing this alarm this morning 💀

Also it seems CBD actully works for me when I'm already a lil tired.


Went too hard and now every nerve ending and neuron is complaining.


honestly I'm still chasing the fun of organic social discovery from SSB 😅

Sadly I haven't been able to get aby clients to work lately


14 hours coding straight and I've got the verifiable database demo working :P


Looks like Jitsi started requiring accounts to start chat rooms. Anyone have alternatives for open source ish video calls?

- no need for registering an account
- Using webrtc in browsers
- firefox support
- "pretty" urls like "/call/my-cusom-room-name"
- open source ish and self hostable


nostr:npub14kpsnzw7y589j3tux0npwz6fy0wy80psue3n0x5wnjt56y5ccz6s6nez4u Oh jeeze yeah. that's a major mood. i'm guessing you're trying to sign and verify json data? The SSB community had a bit of a reckoning with this a while ago :P Kinda why I like using IPLD's dag-json for stuff now.


Reply-guy is out. It's "people with replies" now. Get with the program. 😤 /j


nostr:npub1kr8z9thp2m6pp33h2jdk3gcezklg6a60l7n0whl3qq6puzptwsnqnx8hcd We need more Non-binary drone operators! More transmac cops!


nostr:npub14kpsnzw7y589j3tux0npwz6fy0wy80psue3n0x5wnjt56y5ccz6s6nez4u Oh wow. What environment are you in that you had to make your own JSON parser? 🤯


One nice thing about the battery life on my steam deck is that if it gets to the low 20's I know I've been staring at my screen for too long and should switch it up.


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Neat yeah. I like the use of linking to profiles with the SubjectAlternativeName field in the certificate. Still wishing we had the future where we used client certs for auth. 😩

OIDC makes sense given the larger "identity" industry. Agree it can be annoying though. So many little pieces to keep track of.


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Yup I getcha!


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Mind linking to a TLDR for how that works? Solid is defs something I'm interested in.
Is solid-tls the tls client certificate auth? I was ranting about how it sucks that isn't used more a few months ago :P

Sadly I couldn't get it working on Linux with chromium or firefox so I gave up on pursuing it further.


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Yeah! That's what I meant about being overly dependent on DNS. If  you can't trust an HTTPS request the whole thing breaks.


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Yup! Exactly and so you have way more ways of making clients. IMO it'd be great if clients used signed requests to their inbox/outbox and if instances provided SPARQL or similar for querying data back out. Or better yet it'd be nice if clients loaded other peers' data directly.


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Err, do Actors need to be signed? I've only been using the signing for http auth. Didn't see anything about needing to sign the actor in any of the guides I looked at. 😅


I wish the web monetization spec didn't end up breaking down. It'd be really cool if folks could use whatever payment system they wanted and have their user agents and bridges figure out how to route stuff. The single implementation and hard requirements to use Know Your Customer tracking wasn't great though.

Like what if we had a FEP for tying ways folks could pay you with your ActivityPub Actor.


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat I think the dynamics become similar to a password in the end but it makes it just a little harder to spoof requests and it makes it just a little easier to not have to deal with JWTs/UCANs/Bearer tokens


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Yeah that too. In our case the answer to "what happens when I lose my keys or they are stolen" is "make a new keypair and add it to your actor object" which IMO is an improvement over "ha ha you lost your identity forever lol". Leaves a lot to be desired still though.


For real we should ditch wallets and password managers and OAuth and instead use public keys + ActivityPub Actors + HTTP Signing. Though I guess it puts a lot of trust into the DNS layer?


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat I think there is risk in folks adding fake actors if they can add arbitrary files to a site, but I'm hoping that querying the webfinger endpoint to verify would help there.

Spoofing https certs and DNS might be a risk though? 🤷


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat could you elaborate more on the exploit you have in mind?

the flow for verifying looks like this:
- somebody creates an http request to our server and signs it with an actor URL pointing to their key
- our server fetches the actor URL and takes the public key out from the object
- the server then verifies the signature but the public key and verifies the digest of the request as well as the date to prevent replay attacks
- server resolves actor object to a web mention username


Fun fact, looks like our admin registration is going to use the same http auth mechanisms.

Here's how it looks:
- Keep list of admins in webmention format in the DB
- Admins talk to the API using signed HTTP requests
- API verifies requests by verifying the signatures

Cool side effects? No need for storing a password or issuing tokens or actual admin account data. We can also use wildcards in the list like `@*@hypha.coop` to allow any account from a given domain to have access.


Tee hee, just added blocklist importing to the #SocialInbox using Mastodon's blocklist format :P


nostr:npub175xmk7p9dul7guytswp6gcm0hszw24mzds2r54nup97js8nc54aqdv2fat Truuuuue!


See my pals in meatspace definitely know I'm a massive tech geek but I feel like they don't always think about the depth to which tech geekery has a stranglehold on my soul. 😅


Every time I need to load a large chunk of data into memory instead of streaming it and processing chunks of it at a time my brain starts buzzing from the code smell.

Also whenever I use blocking IO on a single threaded codebase 😱😱

My poor RAM. It should be caching files instead of buffering!


I feel like humans being persistence hunters carries over in my hunt for making code work. I'm out here tracking the functioning configuration through the potential space of all possible code and sweating up a storm not to overheat.

"aha, the import didn't work due to a version conflict" is pretty much the same as "Aha here's a tuft of gazelle fur on this branch" or whatever


Luckily I am a wizard and have made NPM and Node.js do things so depraved that a mere typescript inconvenience cannot stop me 😈

The stuff I've done to make stuff build for react-native and cordova qualifies for one of those "This Place is not a Place of Honor" signs.


Now some dependency's build system for typescript got busted and it doesn't have the transpiled JS available in the dist folder. And of course NPM decides it has to preemptively update all my dependencies when I try to install an unrelated new one. 🙃

Is this really worth it? Hours wasted dealing with build systems to catch bugs that would be caught by a linter and unit tests anyway?


Gosh typescript brings me so much needless suffering sometimes. 😅

The real pain is when it refuses to run when the equivalent in regular JS would work. Like, I promise you the types match up just trust me bro. I think I'd find it less frustrating if it wasn't wrong so often.

```
Type 'ReadableStream<Uint8Array>' is missing the following properties from type 'ReadableStream<any>': values, [Symbol.asyncIterator]

35 const parser = Readable.fromWeb(response.body)

```