> Code is code. It either does the job or doesn't.
Surely that is not the only dimension that matters when evaluating software. Maintainability and readability, for example, are crucial for any long-lived project.
If AGI is the goal and something like the Singularity is even a remote possibility, the difference between first and second place could be effectively infinite. Given China’s suppression of human rights, it’s not a chance I would want my government to take.
To expand on this a bit, I appreciate some audio overkill because, if I do hear sizzle or distortion, it eliminates one possible reason and helps me figure out what’s actually happening.
It’s like having gigabit internet to my house: I don’t actually need it, but when a website is slow, I know the problem isn’t in my internet connection.
> Once AI takes everything it can take, what is left for us?
This is a good question, but is perhaps too abstract to address well. I think a better question for right now is:
Once AI generates all the wealth it can generate, who benefits from that wealth?
If the answer is a small number of humans, that is probably a dystopia worth resisting.
If the answer is some number of AI agents, but no humans at all, that is probably also a dystopia worth resisting.
I think the only good outcome is one in which humanity benefits on the whole. If that means that we have to become a post-capitalist society in order to share in the wealth, so be it.
As a kid, I liked arithmetic function machines that "magically" force a particular output or allow one to quickly deduce the input from the output. These are usually based on non-obvious (to a kid) identities. I would invent my own and then ask family members to play along. I'm not sure if this sort of puzzle game has a name?
If, say, a certain version of Claude tends to be better at front-end than back-end work, that can be important for deciding how to use it in the future. Just like when managing human developers.
> Disclose your "AI" tools in a merge request if needed but leave them out of the damn commits, those are for technical information and not for advertising.
I think this is very poor advice. Knowing who/what changed the code is often crucial for understanding why it changed.
All types of problems. F# can do almost anything C# can do and with less ceremony. The quote I like is that once you get comfortable with F#, switching back to C# is like "having to fill out government forms in triplicate".
Unions are simpler than subclasses and more powerful than enums, so the use cases are plentiful. This should reduce the proliferation of verbose class hierarchies in C#. Algebraic data types (i.e. records and unions) can usually express domain models much more succinctly than traditional OO.
My understanding is that E2E encryption implies encryption in transit. The message is encrypted at the source and only decrypted at the destination, so it is encrypted everywhere in between.
The point is that, logically, the first part of that rule (“expose the king”) is implied by the second part (“leave that king”), so the first part is redundant. You could simplify the rule to:
No piece can be moved that will leave the king of the same color in check.
Surely that is not the only dimension that matters when evaluating software. Maintainability and readability, for example, are crucial for any long-lived project.