strace is an incredibly handy tool when you need it.
$ strace ./hello
execve("./hello", ["./hello"], 0x7ffc64e063b0 /* 52 vars */) = 0
write(0, "\177", 1) = 1
In other news, writing to stdin is a definite sign of a bug.
Related Posts
Rust and RISC-V both feel like they've reached critical mass and I'd guess that they'll be used more in 5 years than they are today.
What other technologies fit this description?
Some excellent safety improvements in C++26: hardening the standard library against out-of-bounds bugs, and a safer semantics for uninitialised local variables:
LLMs have been really helpful for me porting some JS projects to TS.
Since the types are erased and annotations are optional, I can go gradually and safely with more minimal human oversight.
(I'm not sure if it'll significantly help robustness, but it's lovely for navigation.)