Given his seniority, it could also be that he picks whatever bugs he wants to work on. Whether that is from personal interest, frequency of crashes or any other criteria.
When you're at that level in a company, it's rare that someone would be micromanaging what you work on at all times.
As someone who has debugged his fair share of tricky low-level issues, the parts that I find impressive in his blog posts are things such as "then we look at the bytes in memory and oh yeah, this looks like an exception record". I would usually not think to do that (or be able to recognise it as easily as I presume he did).
Quake 1 was worth it even if just for the multiplayer. It was so good that people were having fun online even on just the "start" map with the shareware version. Quakeworld was especially great and very playable even with a modem. Then you add the moddability (including QuakeC) and the groundbreaking renderer, it's one of the biggest technical achievements in gaming history.
The single player was weaker than the multiplayer, but still enjoyable with its strange variety of map atmospheres.
I'm glad Quake happened even if it made id Software a worse company thereafter. I would understand if the people involved feel differently though.
The philosophy of C++ is to not introduce unnecessary overhead, and to trust the programmer. This design choice is prevalent throughout the language. They were never going to make an exception, especially for something as prevalently used as references.
There are countless examples of this "no unnecessary overhead and/or trust the programmer" choice:
- primitive types and standard containers are not thread safe - it's up to the programmer to know this and use them accordingly.
- std::unique_ptr lets you grab the underlying raw pointer, in which case it's no longer a "unique_ptr". But there are cases in which it's useful to do this (e.g. interfacing with C code), so they let you do it, and trust that you do it in a safe way. They could have made unique_ptr not support this, but then it would be less useful (or force you into copying data unnecessarily to call an API that requires a raw pointer).
> But there's no enforcement.
There's no strict enforcement, but it is undefined behaviour, so compilers can randomly choose to act as if it's enforced and simply crash your program or make it act weirdly.
Programmers are notoriously nitpicky, and avoid making absolute statements in most cases (wait, I'm doing it too!).
This is because we've been trained to be humble by the machines we work with. Computers expose a lot of our mistakes, and over time they remove any illusion that we can be quickly confident about things.
I would take the qualifiers in his post as an indication of his general disinclination towards making absolute statements, not as a lack of humility.
That still doesn't make it a good comparison. The salt emitted by desalination plants is already in the sea now, it's not salt that went somewhere else.
Yeah. Worrying about salt in the sea is like worrying about oxygen in the air. Can too much oxygen in the air sometimes be a problem? Yeah, in some corner cases. Is it a major problem that we can't solve? Not at all.
If any company announces that they use token consumption as an employee performance signal, for me that's close to a red flag to stay away from that company.
No company with good engineering leadership should act like this is remotely a good idea.
Everything about this story is so satisfying, that if I read it in a lesser source I would be doubting it.
The person finding the baby was the person who eventually adopted him. The judge asking the guy to adopt the baby was the same judge that performed the wedding of the couple doing the adoption. Just so many great details.
Both of them contained a search algorithm that explored some moves from each considered position, usually not all moves. Both of them contained logic (learned or programmed) to evaluate moves and/or positions.
The differences between them are many, but brute force doesn't enter into it in either case.
Yeah, and back then people moved the goal posts too, saying Deep Blue was just "brute-forcing" chess (which isn't even true since it's not a pure minimax search).
> One in three employers spent more on restaffing than they saved from the original layoffs. That is not efficiency. That is a wire transfer with extra steps.
When you're at that level in a company, it's rare that someone would be micromanaging what you work on at all times.