To gain more experience with Rust I'm implementing an interpreter for a Lisp-like language in it. As an additional challenge I've committed myself to record the entire development process and put it on YouTube. https://github.com/ema-fox/amber
I think Gothic II did this really well. While there are some clear borders a lot of the transitions between the three categories are gradual and organic. You're mostly safe in the secondary settlements but go too far into someone's backyard and you might suddenly find yourself fighting for your life. It also managed to make the place feel expansive without any place feeling like repetitive filler content.
Centralized infrastructure is fragile and to the extent that the internet has become centralized unscheduled Internet shutdowns are bound to happen. The benefit of scheduled Internet shutdown is that people can prepare for it while at the same time gaining experience which helps with dealing with an unscheduled Internet shutdown.
The reason you're not hearing any difference between the words in those pairs is because they are pronounced the same. At least according to Wiktionary and my own subjective judgement as a German native speaker.
There has been open source before Linux and there will be open source after Linux. Yes Linux is a flagship project but the whole culture of open source is much broader than it.
> prevent this scenario from ever happening again.
Every additional nine of not getting hacked takes effort. Getting to 100% takes infinite effort i.e. is impossible. Trying to achieve the impossible will make you spin on the spot chasing ever more obscure solutions.
As soon as you understand a potential solution enough to implement it you also understand that it cannot achieve the impossible. If you keep insisting on achieving the impossible you have to abandon this potential solution and pin your hope on something you don't understand yet. And so the cycle repeats.
It is good to hold people accountable but only demand the impossible from those you want to go crazy.
While I'm always ready to throw away code when I realize that there is a better way to do things I found it quite difficult to write code with the intent to throw it away. However I often do write code with intent of modifying it once I have a better idea of what is needed. It might be because I'm comparatively better at refactoring than at starting from scratch.
While STM was a big selling point when Clojure in practice it's actually very rarely used. The persistent data structures are indeed the heart of Clojure.
While for many applications Clojure's performance is good enough it's not anywhere near what you can achieve with Rust. I once did a small game in Clojure trying to be very clever to eke out every last bit of performance and still didn't hit an acceptable frame rate. Made a very naive reimplementation in Rust that involved copying the entire state every frame and it run buttery smooth.
If there is a task for wish persistent data structures are the most performant solution it should be easy enough to implement and use them in rust too. Probably someone already did that.
Clojure is my default programming language but if I want performance (or static types) I reach for Rust.
I've found that when I'm listening to recordings of me my accent really sticks out to me in a way that's completely inaudible when listening to myself live. This happens with both English and my native German.
I suspect that for someone who reads a decent amount reading speed is also bottlenecked by the rate by which we comprehend the ideas being communicated and not the rate at which we recognize the words. I recently did a bunch of reading speed tests in all the languages I understand. I have like two orders of magnitude more experience in reading German and English than in Dutch, French and Spanish. In the former group word recognition is automatic while in the later I have to concentrate and sometimes even sound out words in my mind yet my actual reading speed for my "strong" languages is only about twice that of my "weak" languages.
Translating is a completely different skill that you have to train on top of being fluent in more than one language. The way I translate is by sort of forgetting something in one language and then remembering it in another. It's a slow and awkward process but I suspect if I did this for like a thousand hours hearing something and then repeating it in another language would be as easy as switching the language in which I'm thinking. I think the real difficulty of simultaneous translation comes from having to speak while you're listening. Consider recording your response to an audio message while listening to it, that would also be very difficult but there is only one language involved.
I think half life already is well on its way to be considered high brow. I played it a few years ago and while I did enjoy it part of my motivation to play it was "this is what the people who have more experience than me think is good".
It doesn't only need to make economic sense now but you also need to be fairly certain that all the battery capacity that is likely to be added to the grid in the future will still allow this to be profitable until your expected break even point.