14,882 karma · joined September 1, 2013
Reaching really hard to try to both-sides the narrative.
Really, it feels like we're in a quiet depression.
Doesn't that factor into the future revenue? Feels like people imagine suddenly fully owning the means of production in a vibrant economy but how does that really make sense?
Layering is as much an abstraction paradigm as a performance one. Its not trivial to verify every loose bootstrap script or .deb that would be needed to build a sandbox... But in a Dockerfile you can see its just some official alpine image base, and a few added files and an entrypoint.
The time to exploit is also somewhat hypothetical. We're assuming infinite attacker resources which hasn't really been the assumption.
We see a lot more news and fear but are we seeing more actual "large scale exploitation"?
I'd love to see some numbers in that regard.
Greenthreads or what have you are not a replacement if you want to do things like have a UI thread or bind to a native thread for interop. But you _can_ with async/await.
The reason code takes time to change is not because changing it takes time.
You have to redo all the testing and relearn all the hard fought and underspecified lessons of the previous attempt. That's what takes the time.
shudders
If you want to do insane meta programming, you should look into Roslyn generators. It's like they added a robust code gen system to the language (even though its a compile stack feature). You basically get the full power of templates and macros but you get to use the target language (C#) instead of a bolted on macro or template language.
Its not but if you call from the interface and not the implementation, it has to box because that's the contract. If you for each over a List<T> and not IEnumerable you get a stack allocated value type IEnumerator.