[ my public key: https://keybase.io/dmytrish; my proof: https://keybase.io/dmytrish/sigs/oCCIZQXIgvSoV7t8uYgibLpsvszNB2GHc_60zpe882Y ]
- dmytrish parentThanks so much for great work! I hope to finally see VisionFive 2 with enabled GPU acceleration soon.
- +1, SREs can spend months during their onboarding basically reading design docs and getting to know about services in their vicinity.
Short of publicly releasing all internal documentation, there's not much that can make the AWS infrastructure reasonably clear to an outsider. Reading and understanding all of this also would be rather futile without actual access to source code and observability.
- So far, most of Zig enthusiasts look to me like people who get sugar rush from writing fast native code and are ignorant (i.e. newcomers to system programming) or arrogant (e.g. long time C programmers stubbornly stuck in their ways) enough to think that memory safety is just a question of not writing stupid bugs. Or luddites that think that programs must always be simple enough to get memory safety right.
- Actually, the strong type system is often why people like to write Rust. Because encoding logic invariants in it also helps to prevent logic bugs!
There is a significant crowd of people who don't necessarily love borrow checker, but traits/proper generic types/enums win them over Go/Python. But yes, it takes significant maturity to recognize and know how to use types properly.
- There are type hints for function parameters. With some care and guards, Dialyzer can be somewhat helpful.
What actually drove me nuts was absence of guards and meaningful static analysis on return values. Even in my small but nontrivial personal codebase I had to debug mysterious data mismatches after every refactor. I ended up with a monad-like value checking before abandoning Elixir for my compiler.
- I don't know where you got this myth from. Extermination of elite VDV units was not just one plane shot down.
There were many russian helicopters successfully landing at Hostomel, the area saw heavy fighting for several days until it was under Ukrainian control.
> The Russian Il-76s carrying reinforcements could not land; they were possibly forced to return to Russia.[35]
https://en.wikipedia.org/wiki/Battle_of_Antonov_Airport
Rumors of an Il-76 downed close to Vasylkiv did not prove to be true:
> Claims have been made that Ukrainian aircraft shot down two Russian Ilyushin Il-76 aircraft transporting assault troops.[33][124][34] However, The Guardian reports "no convincing public evidence has surfaced about the two downed planes, or about a drop of paratroopers in Vasylkiv".[125]
https://en.wikipedia.org/wiki/Northern_front_of_the_Russian_...
- Async might be a wrong abstraction for high-level programming: green threads/goroutines are so much easier to use.
On the other hand, writing a state machine for handling concurrent events/transitions is literally async done manually. libuv, any high-performance network server, UI events handling are all like that.
I agree that doing low-level async right is difficult and might be an impractically long process.
- I have already spent more time than I wanted on reading through verbose but elusive articles about Vale, without any insight into how this actually happens.
I have already spent too much time trying to compile Vale compiler which is a weird mix of Scala and C++ with a small Vale driver. Once it is actually written in Vale without segfaults, I'll revisit the language again.
Thanks for the Verona recommendation.
- Please demonstrate a practical and memory safe systems programming language without borrowing.
I'd be delighted to see it, because right now I am not aware of any practical way to have memory safe regions without static tracking of borrowing from these regions. It's either that or runtime checking.
- My perspective, from a non-native speaker: Latin alphabet has happened to overlap with majority of world capital and economy. That is all to it. It's a never-ending baroque timesink to learn English spelling properly, but it did not matter.
Computing based on Chinese or Arabic would be a hindrance. Computing based on Hebrew, Cyrillic, Greek or Hindi would not be in any way (although for Slavic languages I do find flexibility of word order and plethora of word forms a hindrance, but it's a linguistic one).
- Well, it still involves some kind of public key infrastructure, but encryption could be optional even in https. Linux distros have been hosting their packages on plain http for two decades, PGP signatures (again, not a great example of "trivial", I admit) were sufficient to ensure integrity.