Important thought: The world critically depends on software engineers for modernity to exist. We need to stop looking outward and instead find the answers and strength of purpose within ourselves fix the bitcoin waste problem.
This is a really a test of whether software deserves to be called an engineering discipline. Because central to engineering is a commitment to holding the welfare of the public above personal gain.
And technology which burns the equivalent energy of the country of Ireland, hastening the death of planet, all for a digital casino to gamble on human gullibility futures is absolutely a betrayal of our commitment.
Any one of our professional organisations (ACM, IEEE, BCS, Royal Society) could help hasten the end of this apocalyptic waste. But will they? Will we?
Questions we have to ask ourselves.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Goodkind, Andrew L., Benjamin A. Jones, and Robert P. Berrens. "Cryptodamages: monetary value estimates of the air pollution and human health impacts of cryptocurrency mining." Energy Research & Social Science doi.org/10.1016/j.erss…
Gallersdörfer, Ulrich, Lena Klaaßen, and Christian Stoll. "Energy consumption of cryptocurrencies beyond bitcoin." Joule 4.9 (2020): 1843-1846. doi.org/10.1016/j.joul…
Let's discuss the environmental cost of bitcoin. Because despite all the push for sustainable and green investment in the tech sector, there's a giant smoldering Chernobyl sitting at the heart of Silicon Valley which a lot of investors would prefer you remain quiet about. 🧵 (1/)
TLDR on bitcoin economics: It's a pyramid-shaped investment scheme backed by the collective delusion that value can created out of nothing by convincing greater fools to buy it after you do. (2/)
That alone is sufficiently awful on its own merits, but on top of this the environmental damages of bitcoin are enough to make even Greta Thunberg weep at the pointless waste of it all. (3/)
Let's have a frank discussion about bitcoin hype. Bitcoin is really an symptom of the problems of our era, of a post-truth world awash in crackpottery and of a breakdown of trust in our institutions. 🧵 (1/)
First, cryptocurrencies absolutely aren't currencies. They're a sort of pseudo-asset, in the sense that all people do is speculate on its price movements with the expectation of a return on investment. (2/)
Which is pretty much why all bitcoiners ever do is just talk about its price in USD, because there's nothing else *to* talk about. There's no additional structure to the asset other than what someone else will pay for it currently. (3/)
Wow, people take the FP winter quote way out of context. I didn't say FP heat death is coming.
Historically the AI winter lead to a machine learning boom twenty years later. It just took a while for spring to come back. 🌺
There is a natural ebb and flow to innovation and progress in our discipline. And good ideas genuinely take many decades to progress to adoption.
Typed functional programming is a still an amazing idea, it just may be in a for a bit of lull in progress while new ideas flower.
There are a lot of great ideas in FP that are still in the "just off the paper" kind of stage that are going to be bloom in like 10-12 years. Think of all the amazing work in Idris2, OCaml Effect Handlers, Lean4 etc that's still kind of finding applications.
Stephen, why are you so critical of Facebook and not the other big tech companies?
A 🧵 for well-intentioned engineers about how to navigate the complexities of big tech.
There's a simple inescapable truth about the distinction in kind between Facebook and the others.
Google could fix its content moderation and stop its military contracts and its business model would still be Google. (1/)
Apple could fix up its supply chain, raises the unit prices on its products for more sustainable and environmentally sound sourcing, and its business model would still be Apple. (2/)
LLVM is really great for languages that to first approximation are sugar on top of C (like C++, Rust, Swift etc). If you don't use System V calling convention, have non-standard register use, closures, or objects with dynamic lifetimes then it's basically just a clever assembler.
It's absurd to propose that somehow LLVM has solved compiler backends (because of Rust handwaving), because it absolutely hasn't. It's an amazing toolchain but it is by no means the end of history and most of the interesting work is still open problems for the non-C family.
You can get quite far with the approach where you write the whole runtime in C, compile out to IR and then let the interprocedural optimizer and LTO have at the final artifacts. But that's very brittle about guaranteeing performance and has a ton of compile-time overhead.