Comment by jimminyx

22 days ago

OP here. Appreciate your perspective but I don't really accept the framing, which feels like it's implying that I've been caught out for writing and coding with AI.

I don't make any attempt to hide it. Nearly every commit message says "Co-Authored-By: Claude Opus 4.5". You correctly pointed out that there were some AI smells in the writing, so I removed them, just like I correct typos, and the writing is now better.

I don't care deeply about this code. It's not a masterpiece. It's functional code that is very useful to me. I'm sharing it because I think it can be useful to other people. Not as production code but as a reference or starting point they can use to build (collaboratively with claude code) functional custom software for themselves.

I spent a weekend giving instructions to coding agents to build this. I put time and effort into the architecture, especially in relation to security. I chose to post while it's still rough because I need to close out my work on it for now - can't keep going down this rabbit hole the whole week :) I hope it will be useful to others.

BTW, I know the readme irked you but if you read it I promise it will make a lot more sense where this project is coming from ;)

The problem with LLM-written is that I run into so many README.md's where it's clear the author barely read the thing they're expecting me to read and it's got errors that waste my time and energy.

I don't mind it if I have good reason to believe the author actually read the docs, but that's hard to know from someone I don't know on the internet. So I actually really appreciate if you are editing the docs to make them sound more human written.

  • I think the other aspect is that if the README feels autogenerated without proper review, then my assumption is that the code is autogenerated without proper review as well. And I think that's fine for some things, but if I'm looking at a repo and trying to figure out if it's likely to work, then a lack of proper review is a big signal that the tool is probably going to fall apart pretty quickly if I try and do something that the author didn't expect.

    • I agree with that also.

      I use this stuff heavily and I have some libraries I use that are very effective for me that I have fully vibed into existence. But I would NOT subject someone else to them, I am confident they are full of holes once you use them any differently than I do.

”I don't care deeply about this code. It's not a masterpiece. It's functional code that is very useful to me.” - AI software engineering in a nutshell. Leaving the human artisan era of code behind. Function over form. Substance over style. Getting stuff done.

  • “Human artisan era of code” is hilarious if you’ve worked in any corporate codebase whatsoever. I’m still not entirely sure what some of the snippets I’ve seen actually are, but I can say with determination and certainty that none of it was art.

    The truth about vibe coding is that, fundamentally, it’s not much more than a fast-forward button: ff you were going to write good code by hand, you know how to guide an LLM to write good code for you. If, given infinite time, you would never have been able to achieve what you’re trying to get the LLM to do anyway, then the result is going to be a complete dumpster load.

    It’s still garbage in, garbage out, as it’s always been; there’s just a lot more of it now.

  • There should never have been an "artisan era". We use computers to solve problems. You should have always getting stuff done instead of bikeshedding over nitty-gritty details, like when in the office people have been spending weeks on optimizing code... just to have the exact same output, exact same time, but now "nicer".

    You get paid to get stuff done, period.

    • > There should never have been an "artisan era".

      Firm no. There should be and there will continue to be. Maybe for you all code is business/money-making code, but that is not true for everyone.

      > We use computers to solve problems.

      We can use computers for lots of things like having fun, making art, and even creating problems for other people.

      > You get paid to get stuff done, period.

      That is a strange assumption. Plenty of people are writing code without being paid for it.

      5 replies →

    • Yeah. Exactly the same as there should never be an “artisan era” for chairs, tables, buildings, etc.

      Hell even art! Why should art even be a thing? We are machine driven by neurons, feelings do not exist.

      Might be your life, it ain’t mine. I’m an artisan of code, and I’m proud to be one. I might finally use AI one of these days at work because I’ll have to, but I’ll never stop cherishing doing hand-crafted code.

      7 replies →

    • > just to have the exact same output, exact same time, but now "nicer".

      The majority of code work is maintaining someone else's code. That's the reason it is "nicer".

      There is also the matter of performance and reducing redundancy.

      Two recent pulls I saw where it was AI generated did neither. Both attempted to recreate from scratch rather than using industry tested modules. One was using csv instead of polars for the intensive work.

      So while they worked, they became an unmaintainable mess.

    • You use computers to solve problems. I use computers to communicate and create art. For me, the code I write is first and foremost a form of self expression. No one paid me to write 99% of the code I've written in my life.

      For a long time computers were so expensive they could only be used to do things that generate enough money to justify their purchase. But those days are long gone so computers are for much much more than just solving problems and getting stuff done. Code can be beautiful in its own right.

    • The exact mindset is what has led to the transition from quality products to commercialized crapware, not just with software, but across all industries.

    • "You get paid to get stuff done, period."

      It sounds like you hate your job? To be sure, I've done plenty of grinding over my career as a software engineer but in fact I coded as a hobby before it turned into a career, I then continued to code on the side, now I am retired and code still.

      Perhaps the artist in me that keeps at it.

      5 replies →

  • Was about to comment precisely this, that line does not inspire any confidence.

    And it reminds me of a comment I saw in a thread 2 days ago. One about how RAPIDLY ITERATIVE the environment is now. There area lot of weekend projects being made over the knee of a robot nowadays and then instantly shared. Even OpenClaw is to a great extent, an example of that at its current age. Which comes in contrast to the length of time it used to take to get these small projects off the ground in the past. And also in contrast with how much code gets abandoned before and after "public release.

    I'm looking at AI evangelists and I know they're largely correct about AI. I also look at what the heck they built, and either they're selling me something AI related, or have a bunch of defunct one-shot babies or mostly tools so limited in scope they server only themselves with it. We used to have a filter for these things. Salesmen always sold promises, so, no change there, just the buzzwords. But the cloutchasers? Those were way smaller in number. People building the "thing" so the "thing" exists mostly stopped before we ever heard of the "thing", because, turns out, caring about the "thing" does not actually translate to the motivation to getting it done. Or Maintain it.

    What we have now is a reverse survivorship bias.

    OOP stating they don't care about the state of their code during their public release, means I must assume they're a Cloutchaser. Either they don't care because they know they can do better which means they shared something that isn't their best, so their motivation with the comment is to highlight the idea. They just wanted to be first. Clout. Or they don't exactly concern with if they can as they just don't care about code in general and just want the product, be it good or be it not. They believe in the idea enough they want to ensure it exists, regardless of what's in the pudding. Which means to me, they also don't care to understand what's in the ingredient list. Which means they aren't best to maintain it. And that latter is the kind that, before the LLM slop was a concept in our minds, were precisely ones among the people who would give up half way through Making The "Thing".

    See you in 16 weeks OP. I'll eat my shoe then.

  • Code is the means to an end of getting stuff done, not the end in itself as some people seem to think. Yes, being a code artisan is fun, but do not mistake the fun for its ultimate purpose.

  • The art department is that way, we do engineering here. Faster is better.

    • What part of faster is better means engineering to you? Non engineers will prefer you get there faster, but however you get there, better is better.

      3 replies →

    • > we do engineering here

      Well, we make software, at any rate.

      Most of the time that's pretty divorced from capital-E engineering, which is why we get to be cavalier about the quality of the result - let me know how you feel about the bridges and tunnels you drive on being built "as fast as possible, to hell with safety"

      3 replies →

  • > AI software engineering in a nutshell. Leaving the human artisan era of code behind. Function over form. Substance over style. Getting stuff done

    The invention of calculators and computers also left the human artisan era of slide rules, calculation charts and accounting. If that's really what you care about, what are you even doing here?

  • I too miss gathering 20 devs in the same room and debating company-wide linter rules. AI ruined the craft \s

Hey, you do you, I’m glad you appreciate my perspective. I wasn’t trying to catch you out but I see how it came across that way - I apologise for my edit, I had hoped the ;) would show that I meant it in jest rather than in meanness but I shouldn’t have added it in the first place.

As I said in my comment, no shade for writing the code with Claude. I do it too, every day.

I wasn’t “irked” by the readme, and I did read it. But it didn’t give me a sense that you had put in “time and effort” because it felt deeply LLM-authored, and my comment was trying to explore that and how it made me feel. I had little meaningful data on whether you put in that effort because the readme - the only thing I could really judge the project by - sounded vibe coded too. And if I can’t tell if there has been care put into something like the readme how can I tell if there’s been care put into any part of the project? If there has and if that matters - say, I put care into this and that’s why I’m doing a show HN about it - then it should be evident and not hidden behind a wall of LLM-speak! Or at least; that’s what I think. As I said in a sibling comment, maybe I’m already a dinosaur and this entire topic won’t matter in a few years anyway.

For example - I checked src/, and there’s clearly more than ~500 lines of code, ignoring the other dirs. I’m on mobile, maybe someone else can run wc -l on the repo and confirm. Is there a reason this number is inaccurately stated? Immediately makes me wary of the vibe coded nature of it.

So you created a project, implicitly to help individuals keep their computers and credentials secure, but you can’t be bothered to proofread a read me?

I get using AI, I do all day everyday day it feels like, but this comes off as not having respect for others time.