16
[-] u_tamtam@programming.dev 34 points 1 month ago

Telegram never was private, group chats never were encrypted (and that's not an opinion: the feature simply is missing). If anything, they are just removing their false and deceiving claims. That they remained there for so long is something I can't wrap my head around.

5
2
60
Creating the XMPP Network Graph (discourse.igniterealtime.org)

Sorry if this isn't the right venue for that, I thought it'd be in the tone of "self-hosting" and "federation" :)

tl;dr: some XMPP servers started to deploy a mod to report back about how they federate with the rest of the network, and now there is a pretty graph to show for it at https://xmppnetwork.goodbytes.im/webgl.html

173
submitted 10 months ago by u_tamtam@programming.dev to c/worldnews@lemmy.ml
4
9
[-] u_tamtam@programming.dev 25 points 11 months ago

If you are curious, you should give XMPP a shot, it's equivalent to Signal in terms of encryption, but anyone can host their own. Signal is ideologically opposed to anyone but themselves being in control of your account, and because of that I don't want to trust them.

[-] u_tamtam@programming.dev 88 points 11 months ago

A more accurate title could be "Privacy is Priceless, but Centralization is Expensive": with the era of cheap money coming to an end, grows a lot of uncertainty regarding the future of some large internet services. Signal is no exception and this emphasises the importance of federated alternatives (XMPP, fediverse, …) for the good health of the future internet.

606
2
[-] u_tamtam@programming.dev 67 points 1 year ago

A truly better signal is one that's not using a centralized service.

[-] u_tamtam@programming.dev 21 points 1 year ago

The goal is to replace religion with nationalism

It really isn't, though?

95
[-] u_tamtam@programming.dev 21 points 1 year ago

Just a reminder that this is the result of the greenhouse gases emitted a generation ago, and that since we went from 355ppm to 420ppm of CO2 in the atmosphere. The war in Ukraine and global food shortage is a blip in what's to come.

307
1
[-] u_tamtam@programming.dev 61 points 1 year ago

People don't choose, people use whatever most people around them use. Whatsapp and telegram are both centralized, and shouldn't be trusted because, by the nature of it, they can (and eventually will) turn user-hostile.

Messengers come and go, if we really want to make some progress in this area, we should embrace federated and p2p protocols as the logical evolution. Anything else is just wasting time and user privacy.

[-] u_tamtam@programming.dev 52 points 1 year ago

Or, you know, just use key auth only and fail2ban. Putting sshd behind another port only buys you a little time.

[-] u_tamtam@programming.dev 22 points 1 year ago

That's absolutely true in the physical sense, but in the "commercial"/practical sense, most respectable companies' QA process would shave off a large part of that first bathtub slope through testing and good quality practices. Not everything off of the assembly line is meant to make it into a boxed up product.

[-] u_tamtam@programming.dev 30 points 1 year ago* (last edited 1 year ago)

IMO Scala is one of the best programming languages out there. I know it might sound like zealotry because Scala is already way past its hype curve, and the "Through of disillusionment" already caught a fair bunch in ways that more recent and hyped languages haven't yet, but it's not only still very relevant today, but more and more so (IMO).

So, what's to like about Scala? Like most of things, those are two-edged swords:

1- multi paradigm

To my knowledge Scala is the only language that unifies object oriented programming and functional programming so seamlessly. You can pick the right tool for the job, opting for imperative-style where it's fit and choosing elegant composable/curried when appropriate, without having to bend your mind as much as you would with Haskell/clojure/OCaml/F#/… where things are more one-sided. The downside is that different programmers will have different takes and preferences as to what's the most adequate style might be, and a same codebase might look very different from one place to the other.

2- type system

Scala has one of the most advanced type system. Nothing Rust or Kotlin might match any time soon, or ever. Scala's implementation of GADTs, combined with its powerful pattern matching enables concise and idiomatic abstractions. Many of which are zero-cost thanks to things like opaque types, inlining, tail recursion, … There is a whole area of the Scala community striving to make invalid states irrepresentable (your code won't compile if your instance of a pizza is missing a topping), which makes such libraries self-documenting and easy to use. The downside is that nothing prevents you from climbing the abstraction ladder and encoding everything in the type system when all you need is a simple trait/generic, and that's a human/complexity management problem tooling and the language can hardly mitigate.

3- scalable

The author of Scala (who was a long-time Java compiler architect) wanted Scala to scale from shells one liners to complex multi-cluster distributed systems, and delivered on that. You can start small with a scala-cli proof of concept, transition to a mid-scale "python with types" kind of project, and grow up to very large and complex projects. Beyond the JVM, you can target the browser with scala-js and share models and validation logic between the front and back ends. You can target native binaries for instant startup/low footprint executables that are cheap to spin-up as microservices.

4- has a foothold in academics

A whole team at the EPFL is pushing boundaries of programming languages and using Scala and its compiler as a ground for experimentations. Scala 3 has a proven sound type system thanks to its foundations on the DOT calculus. Effects and Capabilities are being researched as part of the project Caprese to offer a solution to "what color is your function" (mixing sync and async), of memory management/lifecycles (more generic than rustc's), of pure/side-effectful code, etc. The downside is that this gives an impression that Scala's development lacks focus, but arguably those happen in distinct development branches and by different people.

Anyway, feel free to continue the discussion on: !scala@programming.dev

!scala@programming.dev

view more: next ›

u_tamtam

joined 1 year ago
MODERATOR OF