I don’t have “heroes” per say, but Anders Hejlsberg is up there.
Generations of programmers have benefited from his work. His focus on ergonomics in C# made the language a total powerhouse.
Rebasing and merge conflicts are the top ways that git can turn into a mess. I know that rebasing could (in some circumstances) make merge conflicts less of an issue, but I just mostly think the value of "commit grooming" is overrated. I don't want to argue about this, if you like doing it, go ahead.
I agree with the need, but not your rationale, I’m in the “always curly braces” camp for two reasons:
- when a second line gets added in a condition block, the braces might not get added, a bug.
- one less decision to make while coding. Anything that removes trivial decision-making can speed up authoring and reading code.
Not at all! Glad it was something simple!
I think this is an important lesson in general, and one that applies in other contexts:
You don't need a "cheatsheet" for most stuff. The things you do all the time will become muscle memory, and the other stuff is easy enough to look up as it's needed.
You don't need to memorize the entire class structure of your projects. The "hot paths" get the most attention, and you'll remember the most critical stuff as you work in a codebase. There's lots of code that is basically "dark matter" - we know it's there, and it's doing something, but because we rarely review/modify it, it's only important to understand its observable effects, not the precise way that it works.
Your brain is basically like an LRU cache - the stuff that you touch a lot will stay loaded, and the stuff that you rarely use will get dropped. Embrace this property.
Are P1/P2 designations? If so, how in the world can those be correlated to time/workload?
I shared the link partially because it’s a useful utility to check any public server TLS configs for vulnerabilities.
I know almost nothing about machine learning, but I think you want to look into Text Transformers or Large Language Models. What you’re describing looks like you’re trying to build a model that would typically be used for classification, which is not how generative text systems work.
Programming and Software Engineering are related, but distinct fields. Programming is relatively easy, Software Engineering is a bit harder and requires more discipline in my opinion.