Artisanal Code

(sunnyamrat.com)

24 points | by sunnyam a day ago ago

7 comments

  • dvh a day ago ago

    Fellow artisanal code crafters of HN, what is your morning routine?

  • acron0 a day ago ago

    I am going to give a predictable rebuttal. Many of these articles come from a place of fear and uncertainty, which is completely understandable. We ascribe value to the things we love, we love coding and therefore coding is valuable. But if it's commoditized how can it be valuable anymore? This alone is enough to shake the tree of rationality and most articles, including this one, set out with a mission of bashing a force they don't really understand. One signature of these articles, as I have noticed, is that they talk about AI writing code fairly reasonably but then insist that without a clear mental view of it, how could it ever be understood, or debugged, or optimised? This simply illuminates the lack of experience with the tools. Anyone who's used Ralph or Taches skills will understand this is a non-problem because well-attuned, AI-first codebases are actually very good at debugging, optimising, and will happily relay to you the model they've used, so that your grey matter can understand it.

    • sunnyam a day ago ago

      Thanks! I agree with you to some extent. I _do_ need to get better with these tools but I remain suspicious for reasons like skill atrophy and the fact that I'm perhaps experienced enough to know how much I don't know. Using AI to plug gaps in my own skillset feels like setting a dangerous precedent on the one hand, but on the other hand, if it works then what's the problem? People just want things that work at the end of the day.

      Just to check that I've got it right by the way, are you referring to the Ralph Wiggum loops? And are these Taches? https://github.com/glittercowboy/taches-cc-resources

      I'm definitely keen to dive into these tools.

      A message that I maybe didn't land in my post is that it is a little bit ridiculous to demand or only deliver "Artisanal Code". It's more labour intensive and the end product is virtually the same at the end of the day.

      • acron0 19 hours ago ago

        I appreciate your response, and I will confess to a certain bias as at some point I think I made the leap of acceptance of AI, in the sense of "this is how it's going to be from now on so I better get on board with it".

        Spot on. These are the exact tools I was referring to. They seem a little un-magical but the real value is the boilerplate they provide for context management. Essentially allowing coding agents to perform at their beat. For what it's worth, Taches is my tool of choice.

  • zoin a day ago ago

    when I write all the code I can fit the whole system into my brain and if I forget its easier to catch up to where i left of when compared to reading AI code that I didn't write.

    nice article

    • dstanko 15 hours ago ago

      how does that work for you when working on a massive established codebase, with hundreds of engineers committing daily? do you still keep track of everything in your head? do you carve your sandbox and only work within it? I have seen way worse code from actual engineers, than from LLMs (especially lately).

      • zoin 13 hours ago ago

        I currently work on a 11 year code base with around ~20 developer who make changes to it daily/weekly.

        how does that work for you when working on a massive established codebase, with hundreds of engineers committing daily? Its unlikely that I will understand everything but each time I add a feature or fix a bug I understand part of the system better. I currently have mental models of the different systems that make up the code base and over time the more I work on it the more refined my models gets. Some section of the code base I know that really well even though didn't write it myself.

        do you still keep track of everything in your head? Like I said, for parts I haven't looked deeply into I have mental models, think a white board with a bunch of boxes and arrows between them.

        do you carve your sandbox and only work within it? some parts of our code base are well written so you don't have to understand everything to work in it just the class and methods your call. The same way you don't have to know how fastAPI classes and methods are actually code just how to use them. That being said there are time where I have to look into the actual implementation but its not the worst thing in the world.

        yes some human written code is bad but I find that its bad because its quirky and doesn't follow a familiar flow. On the other hand LLM's are pretty good at following patterns of a code base but i find that they do more than what is necessary.