Live data from Hacker News

Don't be the out of touch Kung Fu master

twitter.com

101–110 of 427 posts

Re: Don't be the out of touch Kung Fu master

#101
> But don’t be the out of touch Kung Fu master, heir to lifetimes of tradition, that gets mauled by an amateur MMA fighter.

I have an issue with this analogy, since a professional MMA fighter is a highly skilled individual who has honed their body through years of training.

A more apt analogy might be "don't be the kung fu master who believes they can survive an atomic bomb, dropped from far above by a pilot who does not understand how it works, but who has nevertheless been gifted the ability to deploy it."

Re: Don't be the out of touch Kung Fu master

#102
post #3

We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms. I love being able to quickly bring out the program that is already running in my head without having to worry about the grind of typing it into a format that the compiler understands. Dealing with API names. Syntax. Language quirks. Library go…

a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want. AI just made it 50x better, as exactly as you said, we don't need to deal with the useless junk (what's the API syntax? what's the library syntax? oh it changed in the last 3 versions, let me look up the new API, this and that...). it's great.

> a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want

I expect "a lot of people" understand perfectly well that that's where the joy comes from for you. Do you not understand that other people have different motivations?

Re: Don't be the out of touch Kung Fu master

#103

Earlier quoted context omitted.

> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms. Focusing on data structures, architecture and algorithms is what competency in programming has looked like since forever. Building systems out of smaller pieces gets you there. If your complaint above is that you were struggling with syntax…

I think you are not interpreting GP in the most charitable way. He simply said that not having to manually write all the code lets him spend his energy on bigger things. That is different from "struggling with syntax".

It is the same. I mean many mainstream languages made thinking in datastructures hard. Not a coincidence why functional languages, Haskell, F#, OCAML, Scala, Clojure, LISP, etc. had their enthusiast, as they felt just like what you claim.

The datastructures already did the heavy lifting. The syntax was not something to struggle with, but it was the natural way to stick the bits together.

JavaScript for one never gave me this feeling, and I always felt that either the language, or the libraries, but something was always a struggle to overcome. (Python too... seriously, working with collections is a pain in the "pythonic" way for someone who has experienced LINQ... and for most line of business apps it is all about working with collections.)

Re: Don't be the out of touch Kung Fu master

#105
post #87
post #76

Earlier quoted context omitted.

but the solution, ironically, is not learning more about ai, but learning more about good software engineering, so you can tell when the ai is not doing it

No, software engineering is fundamentally changed because of AI. No amount of digging our heads in the sand is going to undo that. For example, the traditional best practice cycle of "small incremental change, code review, test, commit" is pretty much obsolete now. The way ten collaborating agents can make short work of a complex project is not something that fits in with our existing software engineering wisdom at a…

Yeah I'm hoping AI can bring us back to software engineering of 20 years ago. Where studying the solution to a problem, finding clever solutions, getting everything to work without getting buried in little concerns is really important and "best practices" can just be a line in agents.md and the uninteresting part can just be handed off.

Re: Don't be the out of touch Kung Fu master

#106

John Carmack is a personal hero of mine, so it pains me to say this: Carmack hasn't produced anything noteworthy since AI was invented, therefore, how productive can it really be? It could be he is doing incredible work in private... but it could also be that he's lost in the weeds, because AI is so counterproductive while feeling the opposite? I remain a skeptic.

[deleted]

Re: Don't be the out of touch Kung Fu master

#107
post #29

Ironically, this post comes off as out of touch. The purpose of the various martial arts isn't just to win in a life-or-death brawl or murder people as efficiently as possible. Similarly, the point of programming isn't just to generate as much code as possible, or only to be more "productive".

Code in most organizations is a means to an end to produce an actual product. The job of a SWE is to not produce the most sublime readable code with cute language bells and whistles that you can show off to your other programmer friends. Yes its fun to do and interesting, but the main value in writing code is to express your intent so you and other people that are working with you can actually build something of valu…

Products in most organizations are an end to making profit.

The job value of an SWE is to maximize that profit. It doesn't matter if the product is better to use, faster, with more features users like - that's an early 20th century model of value production.

What matters is how much money the company can extract from its customers, and how little it can pay its employees. Use dark patterns, increase lock-in, and switch to a rental system with recurrent payments. Minimize employee benefits, require broad non-compete agreements, have long vesting periods and lay people off before its reached, or simply fire them and order the others to pick up the slack using AI.

If you want to write software meant to please the user, do that for fun in your spare time -- though remember that your employer still owns your IP, so it's not like you can create a market competitor.

Alas, the above was meant in sarcasm but is all too true.

The Luddites were not opposed to machines. They were opposed to bad labor practices, with machine-breaking as way of applying pressure on employers.

Re: Don't be the out of touch Kung Fu master

#108

Earlier quoted context omitted.

a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want. AI just made it 50x better, as exactly as you said, we don't need to deal with the useless junk (what's the API syntax? what's the library syntax? oh it changed in the last 3 versions, let me look up the new API, this and that...). it's great.

> a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want I expect "a lot of people" understand perfectly well that that's where the joy comes from for you. Do you not understand that other people have different motivations?

coding for the sake of coding is, well, dumb.

Re: Don't be the out of touch Kung Fu master

#109
post #7

Earlier quoted context omitted.

I like your constructive outlook and I want to believe that we can now focus on the bigger picture, but I'm not really seeing it around me. Most everyone I know that's "AI-pilled" has spent the newfound capacity on throughput instead of altitude. Is anyone actually seeing a shift towards improved structure rather than more code, faster? We seem to be living in the Gatling-gun version of the picture John Carmack drew…

>> Is anyone actually seeing a shift towards improved structure rather than more code, faster? Yes. At work we recently finished a complete rewrite of the platform. The old codebase got abandoned and two new codebases got stood up. Previous stack was Phoenix LiveView and the new one is Phoenix API + Vue /w TypeScript. Zero code shared between the two. We took the opportunity to re-architect a lot of the core function…

Could you share more about how you guys set up the rewrite? I am interested in the shape of the software as well as how you achieved (or aimed to achieve) high quality.

Re: Don't be the out of touch Kung Fu master

#110
post #95
post #66

Earlier quoted context omitted.

Assuming the LLM never got anything wrong or otherwise had to be re-prompted, that means your devs were reviewing 130 SLOC per hour, on what was described as moderately greenfield (examining new implementations rather than comparing to old historical accidents). How? I don't want to sound flippant, but if the point is to add human thought to the mix, that's a high review rate even when examining small tweaks to an ex…

Is that actually a high review rate? Especially if you know the language and domain. Sure, initially there's a learning curve for a new codebase structure, but lots of lines will also be trivial and many changes might also be similar to each other.

For small separate changes in isolation then maybe it's ok? But not for whole days 8 hours each.

But then you need to watch for bugs coming from interaction with previous changes and in 700k loc that might be nontrivial. How do you know which states are reachable and which are not? That takes time.

It only takes a botched condition here (forgot a "not"? swapped "and"/"or"?), a swapped variable name there, code that looks ok, but isn't.

Post reply on HN