• 1 Post
  • 51 Comments
Joined 4 years ago
cake
Cake day: June 28th, 2020

help-circle


  • 2.0 was released 20 years ago in 2004… a lot of things, including software, can change in 20 years. 3.0 finally has adjustment layers, et al. that they have been working on since I first started following in 2008 but had blockers on GEGL & all sorts of massive refactors… which are now finally coming. If there was a time to try to get a new opinion on GIMP, it will be now (or very soon when 3.0 is finally officially released).











  • Inside of strings or comments or as an encoding is close to universal now, but for wide support for operators & variable names I would generally it isn’t. Some languages straight up do not support non ASCII like OCaml, others only support bicameral scripts like PureScript, but others like JavaScript can support Unicode for variable names but doesn’t support defining infix operators or uses Unicode for any existing operators. Raku is probably the most Unicode-friendly language, & some of the mathier ones like Agda as well.



  • toastal@lemmy.mltoProgrammer Humor@lemmy.ml#godot #GodotEngine
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    4
    ·
    edit-2
    1 month ago

    Unironically awesome. You can debate if it hurts the ability to contribute to a project, but folks should be allowed to express themselves in the language they choose & not be forced into ASCII or English. Where I live, English & Romantic languages are not the norm & there are few programmers since English is seen as a perquisite which is a massive loss for accessibility.

    The hotter take: languages like APL, BQN, & Uiua had it right building on symbols (like we did in math class) for abstract ideas & operations inside the language, where you can choose to name the variables whatever makes sense to you & your audience.


  • V3 has chathistory + away status so the bouncer isn’t needed. Voice & video would be out of scope if trying to use a single tool, but the way these protocol operate is just to handshake & negotion for another protocol. My mates & I use Mumble (looking for alternative but everything kinda sucks & uses too many resources) for audio & share terminal sessions for other tasks where video is a massive liability for bandwidth & accessibility with video artifacts making text illegible.

    Even still none of this requires perpetual data replication—what it leads to is Alice joining Bob’s server instead of setting up her own server & joining that way since the cost of hosting all that data + CPU/RAM prohibit her sovereignty in the space. Our society has enough of that where you can’t own your own land or other resources, reliant solely on those in power. With tech we can give that power back to folks so they can run their own stuff if they want, but we can’t have that if the cost of running everything is too high due to bloated design.


    Also this was hard ta read: Is your space bar broken? ’Cause a lot of words are stuck together… ins & outs*, DMs* …apostrophes don’t make words plural.




  • Matrix servers chew up an order of magnitude more CPU/RAM which limits the places you can deploy it. The eventual consistency model makes storage balloon as every message, attachment, metadata must be copied to all nodes in a conversation which is resilient, but wasteful in duplicated content in practices which has historically caused many medium & larger servers to shut down due to the explosive just of storage (similar issues with Mastodon). That same model is why it takes on the order of minutes to just join a room or come back to a client that hasn’t been opened recently. Element X & new servers have to work so damn hard to work around asynchronously than fundamental decision to attempt to hide it from the sluggish UX but behind the scenes still too expensive. & since it is expensive to run in many vectors this causes folks to then move to the biggest servers that can handle the load which means the Matrix network is in actuality a small number of massive servers (most of which managed by Matrix.org) & a small number of tiny hobbyists running nodes of <10 users is practice. With so many users on Matrix.org-controlled instances (& again with eventual consistency), almost all data gets synced to their nodes make subpoenas a breeze.

    A healthier network would have many fewer massive centralized nodes, medium-sized nodes, & the resource requirements would be low enough that more folks would be encouraged more often to run their own nodes they control so they aren’t required to trust an unknown serves operator. Meaning “just making an account on any public server” isn’t a great mode of operation for privacy—especially as with Matrix joining a medium-sized server will put them under a lot of strain causing them to throw in the tower & joining the few massive servers further exacerbating the centralization issue.

    Copying the UX of Slack/Telegram/Discord in a decentralized manner is a fool’s errand. Keeping the chat history for eternity is already a questionable call over using forums, but trying to distribute that out like a blockchain is so wasteful.

    https://lukesmith.xyz/articles/matrix-vs-xmpp/ https://www.freie-messenger.de/en/systemvergleich/xmpp-matrix/ https://www.process-one.net/blog/matrix-and-xmpp-thoughts-on-improving-messaging-protocols-part-1/