Live data from Hacker News

Has the cost of building software dropped 90%?

martinalderson.com

741–744 of 744 posts

Re: Has the cost of building software dropped 90%?

#741

Earlier quoted context omitted.

Here's an example from this morning. At 10:00 am, a colleague created a ticket with an idea for the music plugin I'm working on: wouldn't it be cool if we could use nod detection (head tracking) to trigger recording? That way, musicians who use our app wouldn't need a foot switch (as a musician, you often have your hands occupied). Yes, that would be cool. An hour later, I shipped a release build with that feature fu…

I appreciate this example. This does seem like a pretty difficult feature to build de novo. Did you already have some machine vision work integrated into your app? How are you handling machine vision? Is it just a call to an LLM API? Or are you doing it with a local model?

There was no machine vision stuff in the app at that point. Claude suggested a couple of different ways of handling this and I went with the easiest way: piggybacking on the Apple Vision Framework (which means that this feature, as currently implemented, will only work on Macs - I'm actually not sure if I will attempt a Windows release of this app, and if I do, it won't be for a while).

Despite this being "easier" than some of the alternatives, it is nonetheless an API I have zero experience with, and the implementation was built with code that I would have no idea how to write, although once written, I can get the gist. Here is the "detectNodWithPitch" function as an example (that's how a "nod" is detected - the pitch of the face is determined, and then the change of pitch is what is considered a nod, of course, this is not entirely straightforward).

```

- (void)detectNodWithPitch:(float)pitch { // Get sensitivity-adjusted threshold // At sensitivity 0: threshold = kMaxThreshold degrees (requires strong nod) // At sensitivity 1: threshold = kMaxThreshold - kThresholdRange degrees (very sensitive) float sens = _cppOwner->getSensitivity(); float threshold = NodDetectionConstants::kMaxThreshold - (sens * NodDetectionConstants::kThresholdRange);

    // Debounce check
    NSTimeInterval now = [NSDate timeIntervalSinceReferenceDate];
    if (now - _lastNodTime  0.0f) ? std::min(delta / kMaxDisplayDelta, 1.0f) : 0.0f;
    _cppOwner->setNodProgress(progress);

    if (!_nodStarted)
    {
        _cppOwner->setNodInProgress(false);

        // Check if nod is starting (head tilting down past nod start threshold)
        if (delta > threshold * NodDetectionConstants::kNodStartFactor)
        {
            _nodStarted = YES;
            _maxPitchDelta = delta;
            _cppOwner->setNodInProgress(true);
            DBG("HeadNodDetector: Nod started, delta="  threshold)
            {
                DBG("HeadNodDetector: Nod detected! maxDelta=" handleNodDetected();
            }
            else
            {
                DBG("HeadNodDetector: Nod too weak, maxDelta=" setNodInProgress(false);
            _cppOwner->setNodProgress(0.0f);
        }
    }
}

@end

```

Re: Has the cost of building software dropped 90%?

#742
post #507

Earlier quoted context omitted.

These posts like the one OP made is why I'm losing my mind. Like, is there truly an agentic way to go 10x or is there some catch? At this point while I'm not thrilled about the idea of just "vibe coding" all the time, I'm fine with facing reality. But I keep having the same experience as you, or rather leaning more on that supercharged Google/SO replacement or just a "can you quickly make this boring func here that d…

> for bash scripts etc Everyone keeps telling me that it's good for bash scripts but I've never had real success. Here's an example from today. I wanted to write a small script to grab my Google scholar citations and I'm terrible with web so I ask the best way to parse the curl output. First off, it suggests I use a python package (seriously? For one line of code? No thanks!) but then it gets the wrong grep. So I pul…

I don't know your setup but I only use Claude Code w/ Sonnet and basically tell it to type low caps, drop the formatting (it seemingly makes it type out confident statements causing it to go deeper into hallucinations)

and best is when you have e.g. some scripts that you want a new variant of, e.g. to generate the same thing but for X

you have to give it your wishes, otherwise it'll go to whatever median training thing it had in mind

I don't know what your requirements here were, if it was some kind of custom format then I don't know how well it'd perform

for those kind of situations, leaning on its bash capabilities (Claude Code) to test its sed / awk whatever is a good idea before just telling it to go write the thing

I think for super novel strange things you want to be in the loop first, solve the main problem and them kind of tell it to make it into a script you can call with args or whatever that'd otherwise be a pain to write manually

And that's kind of one of my main uses for it, writing scripts I'd otherwise hate to write, e.g. a bunch of just parsing, args, ifs, error handling, duplicate behavior etc..

Re: Has the cost of building software dropped 90%?

#743

FTA > I've had Claude Code write an entire unit/integration test suite in a few hours (300+ tests) for a fairly complex internal tool. This would take me, or many developers I know and respect, days to write by hand. I have no problem believing that Claude generated 300 passing tests. I have a very hard time believing those tests were all well thought out, consise, actually testing the desired behavior while communic…

Experience from 2 days ago: I had CC write a bunch of tests to make sure some refactoring didn't break anything, and then I ran the app and it crashed out of the gate. Why? Because despite the verbosity of the tests it turns out that it had mocked the most import parts to test, so the _actual_ connections weren't being tested, and while CC was happy to claim victory with all tests green, the app was broken.

so you do integration tests, if possible, however CC will claim victory even if test is red, or CC just deletes the failing tests

Re: Has the cost of building software dropped 90%?

#744

Earlier quoted context omitted.

>Like, is there truly an agentic way to go 10x Yes, absolutely. >or is there some catch? Yes, absolutely. The catch is that to go 10x you have to either do a lot of work of the variety that AI excels at, mainly boilerplate and logical but tedious modifications. There's a lot of code I can write, but I will probably need to check the syntax and implementations for 10 or more functions / methods, but I know what they a…

Okay, I got two questions and I never seem to get satisfactory answers but I'm actually curious. 1) What kind of code are you writing that's mostly boilerplate? 2) Why are you writing code that's mostly boilerplate and not code that generalizes boilerplate? (read: I'm lazy. If I'm typing the same things a lot I'm writing a script instead) I'd think maybe the difference is in what we program but I see say similar thin…

I could probably be using the word boilerplate wrong, but to me, it's anything that isn't logic. So anything with basic interfaces, interacting with databases, etc is boilerplate. It's not literally the same code every time, but it's the parts of code that I don't have to make a map of how it should work.

E.g. I write financial modeling software, designing the interface, getting data from APIs, pulling transactions from database is all boilerplate. I can write in plain English how that should be done, for me to do it, is to just look up the exact methods / structures / etc. AI can do that pretty well... sometimes.

The hard part is figuring out how to make that information meaningful and take action on it, display it to the user, and make certain there aren't mistakes in the interaction of the previously mentioned areas.

Post reply on HN