One big difference I see in how minds work is their ability to model. A few people I know focus on end-to-end model thinking — trying to maximize against some functions.
The rest of them seem to avoid thinking outside a small info bubble/closed system, not sure why, but it looks like it creates anxiety when they start feeding too much info. Instead of trying to extract abstractions that make it possible to model the complexity and fuzz the non-important parts.
The same people, when they come up with a product implementation idea, avoid thinking about all the things required to be in place for the product to actually satisfy some real need/want. The product ends up detached from user need. The tech doesn't work.
And it doesn't matter if they can code or if Claude can work, because the directions required to define what needs to be there are not present.
I realized I need to take the thinking of these people as their ideas and advice — as inputs that need to be sanitized. The easy way I found is to remodel why they think the way they think — it's like having a safe VM running their code (thinking) through my computer (my brain).
These same people, usually years later, realize you were telling them things they were not able to comprehend at the time, but they realized those things were so important and would have saved them from suffering so much. They start to treat your voice with reverence instead of thinking through with their own minds and stress-testing against reality.
I would love to read some research about this and how to take advantage of it, or at least avoid the toxic influence such minds can have against one's own well-being and success.
Many people try to design a perfect system on the first attempt.
And for the original requirements, it often works beautifully.
But as new requirements appear, the clean design slowly turns into layers of patches and exceptions.
you discover a deeper pattern that absorbs the complexity back into the core, and you do a rewrite.
Then the cycle repeats.
I don't worry about writing a perfect system anymore, i realize there is more to a system i do not currently know about, many things will surface once the foundation is laid.
Links are broken--proper ones below. They all have a similar tone/structure, like it had a few seeds of originality but then got 'produced'. More style than substance/depth for my liking.
"We are living in an age of mass denial. Some very smart people are telling us that we no longer need to write good software because LLMs can generate code now. But terrible software is still terrible software, whether it was written by Claude Code or by a human who did not know what they were doing."
Very rarely you're bottlenecked by typing speed. If you truly are, and you are already typing at like 200 wpm, then you are probably doing something at the wrong abstraction level. E.g. for a very simple example when making a CRUD admin, but implementing everything from the first principles for each entity, not making helper functions to render generic forms, handle add/update/remove operations uniformly, etc. Of course LLMs can help you generate such code faster, but if you then need to change something systematically in the future it'll take longer and will definitely be less consistent / more buggy.
I highly doubt it was ever really bottlenecked by typing speed. If _that_ is your bottleneck then you either don’t care about what you write or you have a perfect plan laid out and just need to type it in.
If it's well trodden ground like writing enough Vulkan to display a triangle? It's probably bottlenecked by code writing speed.
In fact, writing a video game engine is probably the most common project on the planet to the point there is hardly anything novel about it. That's how engine writing nerd snipes people. They get to feel secure due to the guaranteed possibility of success. Making and designing an actual game that people want to play is much more risky and it is much less dependent on programming skill.
Why you aren't entirely incorrect, I would argue you also aren't entirely correct.
With Vulkan the hard part isn't the typing, it's the understanding and figuring out an abstraction that suits you/your project that is the hard part. And kinda the same with writing a game engine. There is basically infinite resources and libraries to make it easier, but what you actually are spending your time on is figuring out an abstraction that makes sense for the user of the engine. There is a reason why almost no 2 engines end up with even close APIs.
Exactly. And when writing your own engine, you _should_ type these lines to render a triangle definitely by hand, to understand what is being done and then use that input to build the right abstraction so one doesn't have to type it over and over again.
I actually think we have it pretty backwards in terms of what we need now. We as humans no longer need complex front-ends. We need data. I would rather have data access to all my spending and say things like, did I go over my restaurant budget last month? And the LLM can figure out how to do it.
It makes no sense for me to use the limited UIs that companies present anymore. Let alone signup processes - it should all be LLM friendly. Simple APIs that are called by your agent.
My company uses Teams and it's ecosystem. And for email I get a lot of crappy system updates, etc.... And around the UI there are little "AI" buttons or "Ask a question" boxes. No. This. Is. Wrong. Instead I need to be able to ask my OWN agent to check my email and archive anything dumb and inform me of anything important. In fact, don't even make it a one-off prompt- make it a permanently running long-haul agent that interacts with my "personal assistant" agent that is in charge of getting my attention if it's absolutely necessary, which knows if I'm watching a movie.
One big difference I see in how minds work is their ability to model. A few people I know focus on end-to-end model thinking — trying to maximize against some functions.
The rest of them seem to avoid thinking outside a small info bubble/closed system, not sure why, but it looks like it creates anxiety when they start feeding too much info. Instead of trying to extract abstractions that make it possible to model the complexity and fuzz the non-important parts.
The same people, when they come up with a product implementation idea, avoid thinking about all the things required to be in place for the product to actually satisfy some real need/want. The product ends up detached from user need. The tech doesn't work.
And it doesn't matter if they can code or if Claude can work, because the directions required to define what needs to be there are not present.
I realized I need to take the thinking of these people as their ideas and advice — as inputs that need to be sanitized. The easy way I found is to remodel why they think the way they think — it's like having a safe VM running their code (thinking) through my computer (my brain).
These same people, usually years later, realize you were telling them things they were not able to comprehend at the time, but they realized those things were so important and would have saved them from suffering so much. They start to treat your voice with reverence instead of thinking through with their own minds and stress-testing against reality.
I would love to read some research about this and how to take advantage of it, or at least avoid the toxic influence such minds can have against one's own well-being and success.
Many people try to design a perfect system on the first attempt. And for the original requirements, it often works beautifully.
But as new requirements appear, the clean design slowly turns into layers of patches and exceptions.
you discover a deeper pattern that absorbs the complexity back into the core, and you do a rewrite.
Then the cycle repeats.
I don't worry about writing a perfect system anymore, i realize there is more to a system i do not currently know about, many things will surface once the foundation is laid.
The "go delete some code" link goes to a 404 page, which is quite fitting :D
wonder if it was on purpose...
Links are broken--proper ones below. They all have a similar tone/structure, like it had a few seeds of originality but then got 'produced'. More style than substance/depth for my liking.
[0] https://shvetsm.github.io/posts/who-looks-at-the-code/
[1] https://shvetsm.github.io/posts/keep-the-kitchen-clean/
"We are living in an age of mass denial. Some very smart people are telling us that we no longer need to write good software because LLMs can generate code now. But terrible software is still terrible software, whether it was written by Claude Code or by a human who did not know what they were doing."
Coding used to be bottlenecked by typing speed; now, it’s bottlenecked by our ability to comprehend and maintain.
Very rarely you're bottlenecked by typing speed. If you truly are, and you are already typing at like 200 wpm, then you are probably doing something at the wrong abstraction level. E.g. for a very simple example when making a CRUD admin, but implementing everything from the first principles for each entity, not making helper functions to render generic forms, handle add/update/remove operations uniformly, etc. Of course LLMs can help you generate such code faster, but if you then need to change something systematically in the future it'll take longer and will definitely be less consistent / more buggy.
I highly doubt it was ever really bottlenecked by typing speed. If _that_ is your bottleneck then you either don’t care about what you write or you have a perfect plan laid out and just need to type it in.
If it's well trodden ground like writing enough Vulkan to display a triangle? It's probably bottlenecked by code writing speed.
In fact, writing a video game engine is probably the most common project on the planet to the point there is hardly anything novel about it. That's how engine writing nerd snipes people. They get to feel secure due to the guaranteed possibility of success. Making and designing an actual game that people want to play is much more risky and it is much less dependent on programming skill.
Why you aren't entirely incorrect, I would argue you also aren't entirely correct.
With Vulkan the hard part isn't the typing, it's the understanding and figuring out an abstraction that suits you/your project that is the hard part. And kinda the same with writing a game engine. There is basically infinite resources and libraries to make it easier, but what you actually are spending your time on is figuring out an abstraction that makes sense for the user of the engine. There is a reason why almost no 2 engines end up with even close APIs.
Exactly. And when writing your own engine, you _should_ type these lines to render a triangle definitely by hand, to understand what is being done and then use that input to build the right abstraction so one doesn't have to type it over and over again.
Less code helps, but fewer unclear decisions probably helps more.
I actually think we have it pretty backwards in terms of what we need now. We as humans no longer need complex front-ends. We need data. I would rather have data access to all my spending and say things like, did I go over my restaurant budget last month? And the LLM can figure out how to do it.
It makes no sense for me to use the limited UIs that companies present anymore. Let alone signup processes - it should all be LLM friendly. Simple APIs that are called by your agent.
My company uses Teams and it's ecosystem. And for email I get a lot of crappy system updates, etc.... And around the UI there are little "AI" buttons or "Ask a question" boxes. No. This. Is. Wrong. Instead I need to be able to ask my OWN agent to check my email and archive anything dumb and inform me of anything important. In fact, don't even make it a one-off prompt- make it a permanently running long-haul agent that interacts with my "personal assistant" agent that is in charge of getting my attention if it's absolutely necessary, which knows if I'm watching a movie.