The Government already has a monopoly on force and steals our money under the threat of imprisonment in the form of taxation: Now that money is supposed to be allocated into risky investments for abstract, unmeasureable benefits like "soft power," for the benefit of people somewhere else? That creates resentment here. It also infantilizes the Global South.
How much better would it be if we eliminated the IMF, shrank government, and lowered taxes so individuals could freely choose how to benefit the Global South via nonprofit giving? If people don't give voluntarily, why should they be compelled to give in the form of taxation?
I feel like Graeber, an anarchist, would appreciate a decentralized solution like that instead of trying to handle this from the top down.
Very true and worth evangelizing to others. I have unknowingly violated -fstrict-aliasing in some part of my code only to discover later that it is benign at -O0 and metastasized at -O3.
This freaks me out the most in networking code, where there is all kinds of casting of structs (esp. if you blindly copy-paste examples from StackOverflow) and performance usually matters. Rust has inspired me to take more time to profile C code to see whether strict aliasing (strict overflow, etc.) actually make a significant enough improvement to merit the UB-risk, review time, and acid in the stomach.
I buy the premise that Zig is better if you know you will have lots of pointer arithmetic going on. Having written a fair amount of unsafe C interop code in Rust, I feel like these critiques of the ergonomics are valid. The new #![feature(strict_provenance)] adds a new layer of complexity, that, I hope, improves some of this experience while adding safety. Rust's benefits are not free.
The benefits of Rust's (wonderful) model around references and lifetimes come at a significant cost to ergonomics when having to go into the Mordor of some C library and back. I usually find myself wishing I could have some macro where I just write in C and have it exposed as an unsafe back in Rust. I know I can do this by just writing a C dylib and integrating that, but now I've got two problems.
Even still, I prefer writing unsafe Rust to writing C. std::mem::ptr forces me to ask the right questions and reminds me of just how easy it is to fall into UB in C as well.
The Noise Protocol spec is fantastic. It asks a reasonable set of questions to a protocol designer and in exchange gives a set of safe choices for key exchange. It's a great example of building powerful systems from a handful of simple abstractions. Trevor Perrin (and I'm sure, not just he) did a phenomenal job.
That would be really cool, but I think enforcing that is undecidable. My gut tells me that having that language feature at compile time is the same as the Halting Problem.
As an Italian-American, this explains why every time I go to a Buca di Beppo, I feel like I'm in some kind of merger between a mediocre Italian restaurant and a minstrel show. To those of us who grew up in this culture, it's ridiculous (almost bordering on offensive). Thankfully, I grew up in communities where the Italian's could proudly go to other restaurants that were more respectful of a 3,000 year old culture.
It's tough to feel proud of what Buca di Beppo has done to popularize Italian-American culture in the same way it's tough to feel proud of the movie The Godfather. We aren't all mobsters and we don't all have giant busts of the Pope and cherubs in our houses. Some of us are just computer scientists who like basil.
The dueling rhetoric is the same rhetoric that has been around for decades: Some people really feel type systems add value; others, feel it's a ball and chain. So which is it? The answer is probably "yes." We should all believe by now since history has proven this correct. Most of the time you start with no type system for speed. Then you start adding weird checks and hacks (here's lookin' at you clojure.spec). Then you rewrite with a type system.
I'm a devout Clojure developer. I think it delivers on the promises he outlines in his talk, but I also have no small appreciation for Haskell as an outrageously powerful language. Everyone robs from Haskell for their new shiny language, as they should. Unfortunately, not a night goes by where I don't ask God to make me smart enough to understand how a statement like "a monad is just a monoid in the category of endofunctors" can radically change how I implement marginably scalable applications that serve up JSON over REST. Clojure talks to me as if I were a child.
Rich Hickey is selling the case for Clojure, like any person who wants his or her language used should do. His arguments are mostly rational, but also a question of taste, which I feel is admitted. As for this writer, I'm glad he ends it by saying it isn't a flame war. If I had to go to war alongside another group of devs, it would almost certainly be Haskell devs.
Why are we down voting this? Of all people in the world, Ray Dalio would want us to ask, "Why." Principle #1: Trust in truth. Whether I'm being facetious is an exercise to the reader.
Something is awry in our understanding of moral capitalism at large for statements like that to be met with anything other than derision, and DHH is getting at the heart of why: We've all become obsessed with growth. When the way to get rich in the world is capital gains, as opposed to value creation, the abnormalities in behavior and ethics, which are glorified elements of Silicon Valley culture, fall out as a natural consequence. Having real, powerful values that help evaluate whether something legal is actually ethical means saying "no" to certain kinds of work. God forbid you do that though, lest your investors punish you.
Where your treasure is, your heart will be also. It comes as no surprise to anyone tarrying long over the facts that SV's treasure is gold.
How much better would it be if we eliminated the IMF, shrank government, and lowered taxes so individuals could freely choose how to benefit the Global South via nonprofit giving? If people don't give voluntarily, why should they be compelled to give in the form of taxation?
I feel like Graeber, an anarchist, would appreciate a decentralized solution like that instead of trying to handle this from the top down.