Maybe https://delta.chat/en/ : completely decentralized as based on email infrastructure, e2e encryption, easy registration without providing personal data.
Some years ago I also wanted to make ocaml my primary language, but rapidly encountered problems: difficulty to install (on Linux due to the requirement of a very unusual tool which name and function I forgot), no response from community regarding how to solve that problem, no solid postgresql driver, ....
Wanting to use a functional language I pivoted to fsharp, which was not the expected choice for me as I use Linux exclusively. I have been happy with this choice, it has even become my preferred language. The biggest problem for me was the management of the fsharp community, the second class citizen position of fsharp in the DotNet ecosystem, and Microsoft's action screwing the goodwill of the dev community (eg hot reload episode). I feel this hampered the growth of the fsharp community.
I'm now starting to use rust, and the contrast on these points couldn't be bigger.
Edit: downvoters, caring to share why? I thought sharing my experience would have been appreciated. Would like to know why I was wrong.
"use opam" is always the answer but in reality its the worst package manager ever. I've never seen so many packages fail to install, so many broken dependencies and miscompilations that resulted in segfaults due to wrong dependencies. I just gave up with Ocaml due to the crappy ecosystem, although I could have lived with the other idiosyncrasies.
And even if you do get opam working for a project, it's not at all reproducible and will just randomly break at some point in the future. For instance, I had this in a Dockerfile for one project:
RUN eval $(opam env) && opam install --yes dune=3.7.0
One day the build just randomly broke. Had to replace it with this:
RUN eval $(opam env) && opam install --yes dune=3.19.1
Not a big change, but the fact that this happens at all is just another part of building with OCaml feeling like building on a foundation of sand. Modern languages have at least learned how to make things reproducible with e.g. lockfiles, but OCaml has not.
Use "opam lock" and "opam pin". Additionally, Dune's lockdir feature uses opam's solver internally to generate a lock directory containing ".opam.locked" files for every dependency. This is Dune's way of having fully reproducible builds without relying on opam's switch state alone.
Yes, the opam repository has recently been working on an archival policy to reduce the size of the checkout and hopefully ease pressure on the dependency resolver by pruning 'obviously' wrong choices. However, the heuristic they chose seems to have mainly assumed that the things in the repository are libraries, and used dependencies for tracking usages. For executables like dune, this is obviously the wrong idea, and I think they're still deciding how to proceed while adding back most versions
[ERROR] Package dune has no known version 3.7.0 in the repositories
You're right that I could change it to grab directly from GitHub, but at that point I can also just change it to a different version of Dune, as I said above. None of this negates my original point.
Just FWIW, maybe it might work the way you wanted it to if you do not update the registry; worth a try. It should be able to fetch the correct tarball.
Dune is not a dependency manager, it is a build tool. Opam is the dependency manager. By default, Dune doesn't fetch dependencies, opam does that. That said, Dune does use opam, yeah.
I mean, it's quite clunky, but on Linux or WSL I've never had the broken experience you talk about. Could you share your setup? Was this maybe on bare macOS or Windows, in which case I totally believe it because they've been neglected?
I abandoned ocaml just because I couldn't get a stepping debugger to work. Can't remember the exact issues but I tried to install in vscode to no avail & I've no interest in emacs
I was initially enthousiastic about sandstorm when I encountered it, but in the end my preferred solution for self hosting has been Docker Swarm. Dead simple setup, low maintenance, everything easily deployable within Swarm (crons, backups, first deployment setup, reverse proxy config incl. certificates, etc).
Additionally a lot of projects provide a Docker compose file which is mostly compatible with swarm. I started using Swarm [1] when k8s was already ruling, but never regretted my choice.
Honest question: isn't that introducing some weaknesses, allowing the attacker to either reactivate password auth or add it's own passkey eh by tricking the user in accepting that change after receiving a mail with a link to accept that change?
That would make the passkey unbreakable, but leave other easier to exploit weaknesses.
I thought that when Apple reached a market cap of 1 trillion, but here we are today.... I since then abandoned any such prediction, even if i share your feeling
Hard numbers for market cap is a difficult measure - Apples price earnings is 33 currently, which is high but not over high. Ie. Apple has revenue to back their market cap.
The issue with high salaries is that there is a latent assumption that these people provide the multiples in additional value. That they are so smarter than everyone else.
This is simply not true, and will lead to a competitive disadvantage.
I guess there’s a lot of loaded language it’s not really worth debating. But I would never claim they’re ALL smarter than EVERYONE else.
But I would expect them to be smart and have relevant experience that everyone else doesn’t have, and I expect the companies offering these salaries aren’t doing it for fun but because they believe their IP or ability to generate IP is very hard to come by, and it’s better to monopolize that talent than let competitors do so. If they could hire 10 people equally as good for 1/10 the price then they would do so. But I’m sure there’s also a large dose of gambling too; even in sports highly anticipated freshman drafts can turn into duds.
> If they could hire 10 people equally as good for 1/10 the price then they would do so.
I think this is where the misunderstanding is. In this context it is not 10 times as much in salary - where it is already highly improbable that a single person provides 10 times as much value as 10 other highly motivated candidates.
You have to increase by orders of magnitude.
Remember that these threads exists in the context of the posted article.
The fact is that the incumbents with all their money are in a good position to defend against anything and counterattack.
When OpenAI was making waves the first time, then Google launched their neutered incapable competitor, I thought it is “over” for Google because why would anyone use search anymore (apart from the 1% of use cases where it gives better results faster), and clearly they are incapable of building good new products anymore…
and now they are there with the best LLMs and they are at the top of the pack again.
Billions of dollars in the bank, great developers, good connections to politicians and institutions mean that you are hard to replace even if you fumble it a couple of times.
A couple of years ago I was using https://kapitan.dev/ which I found really good at the time when using jsonnet files to generate the configs. I haven't used it for some time though.