Live data from Hacker News

What my dad taught me about AI coding in the 90s

askmike.org

71–80 of 91 posts

Re: What my dad taught me about AI coding in the 90s

#71
post #61

Earlier quoted context omitted.

The word "understand" seems to mean something different to you. If I understand something, I could write it in assembly if I wanted to. It might take a long time, but I know every level of the stack under my code down to bare metal. Maybe an AI level of "understand" i.e the same understanding a Senior has of a Junior's code based on daily check-ins is enough for 95% of "boring" programming. But for some tasks you nee…

> At the level of complexity I work at, it's (often) faster to just code it myself than to expect AI to converge on a result I like and then hand check it. Would love an example because no one has ever been able to give a coding example that AI isn’t helpful for. I had one person on linked in try claim their undocumented audio hardware won’t work with ai but when we got ai to probe it and build docs it ended up solvi…

Impressive, also horrifying. I love what I do and if AI can do it better than that sucks.

Anyway the use case for me is to realize a new visual style through graphics programming. It's a lot less measurable for an interative AI agent than "Meet this hardware specification from a device with a discoverable API"

I have no doubt AI could create a LOT of variations on "a new visual style" but it's less controllable than just doing it yourself.

Btw, did you "understand" the sound driver after the AI coded it? Could you modify it without further help?

Re: What my dad taught me about AI coding in the 90s

#72
post #62
post #54

Earlier quoted context omitted.

While that may be true, you can be confident that it works in a way you personally understand. Because you understood it in the past. Also, if you finish your work on a module with care - you return to a module you can trust with clear boundraries and known flaws. This is not true of AI output.

I'm skeptical of this. I have yet to build a codebase using AI that I wasn't able to subsequently understand after taking the time to do so, esp. when aided by AI that will tirelessly answer my questions. I mean, LLMs don't always code the exact way I do, but it's not writing totally alien code that's incomprehensible to the human mind here.

I'm curious, what programming language and model/harness do you use, and are there some specific practices that you use?

Re: What my dad taught me about AI coding in the 90s

#73
post #71

Earlier quoted context omitted.

> At the level of complexity I work at, it's (often) faster to just code it myself than to expect AI to converge on a result I like and then hand check it. Would love an example because no one has ever been able to give a coding example that AI isn’t helpful for. I had one person on linked in try claim their undocumented audio hardware won’t work with ai but when we got ai to probe it and build docs it ended up solvi…

Impressive, also horrifying. I love what I do and if AI can do it better than that sucks. Anyway the use case for me is to realize a new visual style through graphics programming. It's a lot less measurable for an interative AI agent than "Meet this hardware specification from a device with a discoverable API" I have no doubt AI could create a LOT of variations on "a new visual style" but it's less controllable than…

[deleted]

Re: What my dad taught me about AI coding in the 90s

#74
post #62

Earlier quoted context omitted.

I'm skeptical of this. I have yet to build a codebase using AI that I wasn't able to subsequently understand after taking the time to do so, esp. when aided by AI that will tirelessly answer my questions. I mean, LLMs don't always code the exact way I do, but it's not writing totally alien code that's incomprehensible to the human mind here.

I'm curious, what programming language and model/harness do you use, and are there some specific practices that you use?

I use Claude Code, primarily writing web applications and JavaScript. I'll have it use various frameworks. It's built apps for me using React, Ember, Astro, etc. I don't restrict myself to frameworks I'm particularly familiar with, since it's easy for the AI to teach me the basics whenever I would like to dig in.

As for specific practices, these are my main ones:

- I have a gotchas-log.md file that acts as a log of gotchas likely to trip up future runs. I have the AI write to this occasionally when things go haywire in the same way multiple times. And I have it read it as part of its iterative reviews, described below.

- I have a good-code-guidelines.md file where I write my preferences for code. I have the AI read this as part of iterative reviews, described below.

- I have a plan-and-execute.md file that prompts the LLM to make a plan, and then to review and iterate on that plan repeatedly (while reading gotchas-log.md and good-code-guidelines.md) until its reviews stop finding issues. I tag this file to implement almost every non-trivial change.

- I have other various helper prompts. For example, I can simply tag @make-a-git-commit.md and it tells the LLM to make a commit and write the message the way I like it. I have @simplify.md, which I can tag to have the LLM explain whatever it just did to me using simple language that makes it easier for me to understand, and using concentric circles of explanation that go from broad to specific so I'll repeatedly encounter important topics; this makes it much more bearable for me to read its responses.

- Occasionally, whenever a particular system of my codebase starts to get hairy, I spawn a Claude Code session to read through and trace all the relevant code paths, then write a short guide to that system in a markdown file that lives in the codebase. IT's useful for me to read and also useful to tag for future prompts to get the LLM up to speed quickly. Only challenge here is that these guides go stale and require updating, so it's important to prompt the AI to write them at the appropriate level (not to specific) that prevents them from being overly brittle and getting out of date with every little change. They're mostly high-level guides.

Re: What my dad taught me about AI coding in the 90s

#75
post #43

Earlier quoted context omitted.

Have you heard of the worked-example effect https://en.wikipedia.org/wiki/Worked-example_effect ? It's quite a surprising result: it turns out that there are cases where seeing someone else work through a worked example is more effective than struggling through the problem yourself. (Obviously it doesn't apply universally, but your "see how ridiculous that sounds?" suggests to me you may not have heard of this before…

As that link says, this approach is used in Maths textbooks, and yet, as the parent of two kids, I have never come across a single student who is able to pass trig without working the problems. If reality differs from the results of academic studies, it's not the reality that is wrong.

The worked-example effect doesn't say that worked examples replace exercises. It says that worked examples prior to exercises beats exercises alone.

There's a section on that page about faded worked examples:

> "In order to facilitate the transition from learning from worked examples in earlier stages of skill acquisition to problem solving in later stages, it is effective to successively fade out worked solution steps"

Re: What my dad taught me about AI coding in the 90s

#76
post #71

Earlier quoted context omitted.

> At the level of complexity I work at, it's (often) faster to just code it myself than to expect AI to converge on a result I like and then hand check it. Would love an example because no one has ever been able to give a coding example that AI isn’t helpful for. I had one person on linked in try claim their undocumented audio hardware won’t work with ai but when we got ai to probe it and build docs it ended up solvi…

Impressive, also horrifying. I love what I do and if AI can do it better than that sucks. Anyway the use case for me is to realize a new visual style through graphics programming. It's a lot less measurable for an interative AI agent than "Meet this hardware specification from a device with a discoverable API" I have no doubt AI could create a LOT of variations on "a new visual style" but it's less controllable than…

Right now, at least, I haven't found an AI capable of replacing a software engineer. Ive seen AI that can easily replace basic programmers, however.

I also think AI can replace non-coding artitects, and probably most middle management type jobs (my company has 6 levels of management between the CEO and "individual contributors" in my area (8 counting inclusivity)).

That's a lot of management levels, and every level has to be paid more than the level they manage as a fraud disincentive. So that's a lot of money...

Re: What my dad taught me about AI coding in the 90s

#77
post #68

Earlier quoted context omitted.

I guess you didn't understand my comment ;) Look, goals can differ. If you don't need to understand and predict every part of the code the AI is generating and you just need it to meet a "sketch" of what you want - by all means use AI. I do use AI in that situation for related or unimportant code. But if you need full understanding, in my experience the only way to get that is to program it yourself. Unless what the…

> However often the best way to handle grunt work is to write better abstractions, something AI sucks at. If you checked out of ai in 2023 then this is true. It’s simply not true anymore. If you struggle then it’s a skill issue not an AI issue

As someone who spends way too much time searching for the best abstractions, absolutely this is still true.

I often have a long back and forth with codex to explore the problem space and settle on the best abstractions. Occasionally it will make a suggestion that helps me, but for the most part it's reviewing while I'm in the driver's seat.

Contrast this to simply giving it a function name and a vague description of what the function will do. I'll generally accept its output with a few refinements.

But for larger project structure and metaphors, it falls flat, and often lands on a solution that's going to be a maintenance nightmare or result in endless repetition across not-quite-the-same cases. I've never seen it happen upon an appropriate abstraction that can cleanly cut through the nonsense.

Re: What my dad taught me about AI coding in the 90s

#79
I use AI every day and have unlimited budget. I will certainly not trust it to write safe, system level code for our systems. You absolutely do need to be playing blindfold chess and you can’t do that if the other actor doesn’t tell you the moves it made. Using LLMs as described here is essentially what vibe coding is all about. To use this chess analogy, the model says “checkmate!” and you just believe it because you never heard or looked at the moves it claimed to have made.
Post reply on HN