Hacker News new | ask | show | jobs
by gavinhoward 1180 days ago
Username checks out because you missed the point.

Yes, I know calculators can encourage people to not think; I should know because I wrote one. [1]

But the current "AI" tech is so much worse on that front. It's a difference of degree, and that degree does matter.

By the way, when I was learning to fly helicopters [2], I used my calculator to calculate weight and balances, but I also did it by hand!

[1]: https://git.gavinhoward.com/gavin/bc

[2]: https://gavinhoward.com/2022/09/grounded-for-life-losing-the...

3 comments

I think you missed their point - calculators don't exist in accountancy firms to 'encourage accountants not to think', they exist because they dramatically speed up accountancy and make accountants more productive.

Sure you can open an accountancy business and refuse to use calculators, but that's just working with a strange self-imposed limit rather than using technology to best support your business.

And you missed my point.

Yes, calculators do that. I'm arguing that "AI" does not let programmers write better code faster. It lets them write worse code faster, or better code slower.

I'm sure people said the same thing about compilers. And then interpreters. Even today people complain about interpreted languages being too slow and not requiring people to understand "enough" of what's actually happening.

Turns out that really doesn't matter. I think your argument is incredibly weak; the fact that some people don't use these tools effectively doesn't mean that nobody can. Whoever figures this stuff out is going to win, that's just how it works.

That is to say, there will always be a niche for people who refuse to move up the chain of abstraction: they're actually incredibly necessary. However, as low-level foundations improve, the possibilities enabled higher up the chain grow at an exponentially-higher rate, and so that's where most of the work is needed. Career-wise it might be better to avoid AI if that's what you want to do, but as a business I can't see a dogmatic stance against these tools being anything but an own goal.

> Turns out that really doesn't matter.

Except that it does!

For every level of abstraction, you lose something, and abstractions are leaky.

The lower levels of abstraction make you lose the least, and they are also the least leaky. The higher you go, the more you lose, and the more leaky.

What I'm claiming is that these "AI" tools have definitely reached the point where the losses and the leaks are too large to justify. And I'm betting my career on that.

We all rely on abstractions over layers we don't deal with directly, that's just a fact. You're not running a home-grown OS on custom-built hardware made from materials you mined out of the ground yourself. AI is just another layer. Not everyone operates on the highest, newest layer, and that's absolutely fine. You can carve your niche anywhere you like. Telling yourself that the layer above you isn't feasible isn't going to do you any favors but it does generate buzz on social media which seems like it's the goal here.

You're not betting anything because the cost for you to change your mind and start working with AI tools is exactly 0. This rhetoric is just marketing. I'm sure you'll find the customers that are right for you, but you can at least admit that this kind of talk is putting the aesthetic preference of what you want work to look like above what's actually the most effective. Again, I'm sure you'll find customers who share those aesthetic preferences, but to pretend like it's actually an engineering concern is marketing gone too far.

> We all rely on abstractions over layers we don't deal with directly, that's just a fact.

Did I ever deny that? Sure, some of those layers are worth it. That doesn't address my assertion that these "AI" tools are not.

> Telling yourself that the layer above you isn't feasible isn't going to do you any favors but it does generate buzz on social media which seems like it's the goal here.

You're halfway there.

> You're not betting anything because the cost for you to change your mind and start working with AI tools is exactly 0.

And here is where you contradict yourself.

If I'm getting loud about this bet, and making customers because of this bet, then it will cost me a lot to start working with "AI" tools. My customers will have come to be because I don't, so if I start, I could easily lose all of them!

> This rhetoric is just marketing.

Yep! But that's what makes my best actually cost something. I'm doing this on purpose.

> I'm sure you'll find the customers that are right for you, but you can at least admit that this kind of talk is putting the aesthetic preference of what you want work to look like above what's actually the most effective.

No, I will not admit that because I believe very strongly that my software will be better, including engineering-wise, than my competitors who use these "AI" tools.

> Yes, calculators do that. I'm arguing that "AI" does not let programmers write better code faster. It lets them write worse code faster, or better code slower.

The idea isn't to write better code faster, it's to build better products faster.

Although IMO in the future, AI will probably also enable programmers to write better code too (faster, less bugs, more secure, more frequently refactored etc)

> The idea isn't to write better code faster, it's to build better products faster.

All else being equal, better code means better products.

Also, to have a better product without better code, you're implying that the design of the product is better and that these "AI" tools help with that.

Until they can reason, they cannot help with design.

I think all else being equal, better code means you aren’t changing the system as fast and likely have stagnated in the business or growth side. Maybe that is appropriate for where your company is, but worse is better wins so often.

And I would bet that AI design would help things where the existing designers are bad, e.g. so much open source UI (that is, not cli UX) written by devs, but it is still a bit away from the top quality like Steve Jobs.

Maybe this is like the transition from hand crafted things to machined things; we go from a world some some excellent design and some meh design to a world with more uniform but less great designs.

I don't need my business to grow. I want to support myself and my wife. That's it. You can call that whatever you like, but stagnation isn't it, unless you think that SQLite is stagnant because SQLite had the same business model.

"AI" design will not help until we have a true AI that can reason. (I don't think we ever will.)

Why is reasoning necessary? Because design is about understanding constraints and working within them while still producing a functional thing. A next-word-predictor will never be able to do that.

Everyone has limited time, and if AI assistance can increase the speed you can develop & iterate the product to better match user needs that is how it can result in a better product.

Equally if it can help devs launch a month earlier, that’s a huge advantage in terms of working out early product/market fit.

All things being equal, I would rather have a company with better product/market fit than one with great code (even though both are important!).

> if AI assistance can increase the speed you can develop & iterate the product to better match user needs that is how it can result in a better product.

That's a very big "if", and one I just don't think will exist.

Also, that only helps at the beginning. Add the product gets more complex, I believe the AI will help less and less until velocity will become slower than companies like mine.

And product/market fit is just a way for companies to cover up the fact that their founders wanted to found a company, not solve a real problem. If you solve a real problem first, founding a company is simple and you "just" have to sell your solution.

I'm sure that all was very rewarding for you. I'm not sure how it translates into a business. We don't want to teach accountants to deploy their own calculator from the command line and we don't want pilots to do math while they're flying.

You act like encouraging people not to think is a problem. Thing is, you'd be wrong. We want people not just to think, but to focus. If I'm a pilot and I have to worry about the runtime environment of the command-line calculator I use to hand-calculate my route and cockpit configuration, is that a good use of my focus? I think most people would say no. We definitely want to discourage the pilot from actively thinking about that kind of stuff. Should they have a grasp of the basics in case of emergency? Sure. Do we have a sustainable and efficient system of transportation if that's how our pilots spend their time? No.

You don't know much about aviation, do you?

Aviation is about redundancy. Redundancy is a good use of a pilot's focus. That's why I did both. I didn't blindly trust my calculator to not have bugs (even though I wrote it!), and I didn't blindly trust my hand calculations to be correct.

If they agree, though, it's a good sign that everything is in good order. That's what redundancy is for, to ensure that a problem in one thing does not lead to another problem, like in the Swiss cheese model of accidents.

Redundancy is not a good use of focus for most people (except SREs and the like). The whole point of redundancy is to remove something from focus. I'm guessing you checked everything by hand for the sole purpose of not having to focus on these calculations mid-flight. I'm sure most commercial pilots rely on a larger organization to make these checks for them and their organization probably employs its own system of checks and redundancies at scale. Putting that all on the pilot is not going to give you a sustainable transportation business.

If you're just trying to get off Gilligan's island, that's another thing entirely.

The final authority, and final liability, for the airplane is on the head of the pilots.

A commercial pilot friend has told me that they still check the calculations. When they don't, they get accidents like the Gimli Glider.

It's like saying that putting all of the legal checks on the lawyers is not going to give you a sustainable business. But we all know that's wrong.

What was the outcome of that incident? Fault was found with the Air Canada procedures, training, and manuals, while the Captain and First Officer went on to receive FAI Diplomas for Outstanding Airmanship. What did not happen was mass calls for the individual pilots to write their own calculation software. I'm not sure what point you're trying to make here, as reading about the incident you mentioned only paints a clearer picture that systematic redundancy is the responsibility of the creating and maintaining the system, not of those using it.
Yes, they did, but I think they should have also been censured for their lack of care as well.

When I wrote that calculator, I didn't write it for flight. I wrote it as a general calculator and just used it for flight. I would have used the GNU bc if I didn't write my own.

So it's a bit disingenuous to claim that I am claiming that pilots should write their own.

And pilots are included in those maintaining the system; they're not just using it.

It is the ability to do the calculations that matters, not that you would do so in actual practice. He very explicitly mentioned 'while I was learning'.
thats a weird flex