Skip Navigation
InitialsDiceBear„Initials” ( by „DiceBear”, licensed under „CC0 1.0” (


Posts 6
Comments 800
Canvas 2024 Simplex Chat room
  • Not good initial experience: starts with the colonial UK flag which is not a symbol for languages, site doesn’t quite work without JS so no menu access (popover works without JS), puts proprietary services Microsoft GitHub & Reddit in priority position, using VC funding leads to hesitation, no mention in the FAQs or otherwise how to contribute to the code (not for general users sure, but missing entirely).

  • Take action to stop chat control now!
  • You don’t need to worry about data retention when you own the server & you are the only user. It’s the servers you or someone you know & trust don’t own where you should actually worry about this.

    It’s also more problematic with all systems built on eventual consistency models, so best to avoid those since you’ll never be able to get the data dropped. Chat being ephemeral is good.

  • What's Some Tech That Was Better Than It Is Now?
  • XML is meant for you to create & embed entire namespaced specification schemas that don’t have very strict limitations. JSON schemas are more ad-hoc than a built in since it isn’t a part of the spec or namespaced & IIRC Matrix uses events all stringly-typed by a message name instead of the XMPP approach which assumes already the message body can/will contain arbitrary data according to a XEP or other spec. I’m non as knowledgeable on the subject as I would like to be tho…


  • Take action to stop chat control now!
  • Folks, this should inspire you to start self-hosting a federated, decentralized chat server with freely available source code by yourself or with a small community. Governments can coerce these big, usually-corpo centralized servers to give up data but good luck if there are hundreds of thousands (of millions?) of small servers with 1–10 users on it & clients not controlled by a single entity for distribution (easier now that y’all coerced Mommy Apple to let you sideload applications & use alternative package managers).

  • Zed on Linux is out!
  • I like to be just as comfortable coding remotely as I do locally. I have the same setup on my machine & on servers. TUIs are sometimes a better UI/UX since they tend to not come with so much bloat & compatibility with all window managers as well as working great for extremely lightweight, low-latency pairing like the experience provided by upterm. My terminal is also GPU-acceraletd too for performance.

  • What's Some Tech That Was Better Than It Is Now?
  • Like Matrix the clients aren’t all equivalent without feature parity (& no concept of the flagship or implementation client). For desktop, Gajim has the most power user features but issues rendering in smaller windows like a tiling split (& being written in Python has other issues). Dino is feature-complete & calls tend to always work—great if not connected to tons of chats. Profanity is the best TUI which is very fast but usability is really good for some things & really bad for others (like accepting no OMEMO keys). I use all three depending on the environment & task. Android it is a lot clearer where Cheogram takes the cake for me being a Conversations fork but with OLED black support as well as webxdc. For the web, Movim has the best UX/feature set & can be used anywhere a browser can with PWA support. You can also just check to see what provide OMEMO:

    ActivityPub is a JSON-based protocol for seems primarily built for social networks, with the DMing experience normally not being secure or particular fast. XMPP is largely for building networks for passing messages & client presence—which can be extended to support PubSub like MQTT. It isn’t normally built for social networks but Movim & Libervia have extended XMPP to be a social network.

  • What's Some Tech That Was Better Than It Is Now?
  • They are both using the exact same double ratchet Signal protocol for end-to-end encryption down to the same problems of other clients keys for haven’t used in a while due to ‘inactivity’.

    The only difference is that XMPP is an extensible protocol where you very much can drop encryption all together if that doesn’t suit your use case for the protocol (such as not chat). However, all modern servers folks actually use for chat comminacations follow with the Conversations compliance suite & OMEMO support is expected in clients—meaning everyone using XMPP for standard coms in 2024 have a good encryption story.

    Matrix’s extensibilty is limited due to the choice of JSON over XML relying on adhoc, stringly-typed message names. Due adopting an eventual consistency model, Matrix server can’t be run on a potato in your bedroom & most folks are relying on public servers rather than the decentralized, federated self-hosted tendency of the XMPP network in practice not just theory. Most users are on or servers syncing all metadata back to a single entity started with funds from Israeli intelligence. If you ask me which one has a better story for freedom, it’s going to be the one that is lightweight enough & designed to be individually-hosted over the defacto centralized option with resource-intensive clients.

  • iPhone users, what's stopping you from switching to Android?
  • I am not sure why you think this is so bad. You have a way to upload the apps you can’t get on F-Droid (default or by adding repositories (I have microG, DivestOS, Molly, Cheogram repos)). Many apps work fine enough without Play services with microG—except the stupid banking ones that don’t want you to root, run custom OS, unGoogle, or literally do anything with the device you own.

    Personally I hope this is all a stop-gap to Linux phones. I tried Ubuntu Phone last year & while parts of it looked great, the rough edges were apparent—especially the chroot environments for applications not in the Ubuntu store.

  • iPhone users, what's stopping you from switching to Android?
  • It’s troubling seeing the amount of brands moving from freely unlockable, to waiting periods with registration, to all-out blocking unlocking. I am happy I double checked the unlock status before purchases an ASUS Zenfone last year right before they took their unlocking servers offline with just a marketing promise they would be back (they never came back online, & they paid out a lawsuit this years already over it).

  • If there's one thing you want people to learn, what would it be and why?
  • Digital privacy matters as much as physical privacy & we need to keep the governments & corporations out since they can constantly surveil. Method for doing so need to legal, cheap, & accessible. If decentralization is a requirement, you system that requires Amazon S3 buckets & a beefy VPS are not sufficient when these sorts of things rarely have a technical reason why they couldn’t be democraticized to run from an apartment (why some ISPs don’t let you have an IP (v6 or not) or symetric connections as bits are bits is a different matter).

  • XᴍʟHᴛᴛᴘRequest

    Acronyms/intialism use capital letters to encode information about words. Losing that information is a mistake. SᴍᴀʟʟCᴀᴘCᴀsᴇ is now considered a best practice.

    …Or consider snake_case or kebab-case 🤷


    Ask: How do you handle your résumés?

    Usually I rely on my network & haven’t needed this kind of document in ages, but I’ve been tasked with creating a résumé for myself. I’ve grown more privacy-conscious every year & I think it’s weird that we are expected to give out so much information about ourselves to companies that lie about their culture & don’t want you sharing salary information with your coworkers. I have read stories about how these documents & information can sometimes get leaked & shared on the web which is pretty sketch.

    TIL about “functional résumés” which it appears are usually meant to cover up your lack of work experience, but I like the idea of covering up a lot of my specific history as it is the skills that should matter more, no? Do you give out all of your info?


    Movim service merged into Nixpkgs

    There is a little bit more than just service.movim.enable = true; but it’s not far off. For those looking to a Docker alternative & reproducible/declarative builds, this could be quite useful.


    Ok, but what is XMPP? | Video

    A quick primer on XMPP & how/why you should host your own server for low-resource-usage, encrypted chat & other pubsub server.

    A place for everything about web development toastal

    Is highlight.js Harmful for Your Site? Is highlight.js Harmful for Your Site? | toastal

    Syntax highlighting on the client-side has unforeseen consequences shipping & executing a bunch of code for what should be cachable, idempotent functions at build-time or server-side instead runtime affecting performance & wasting resources.