Hacker Newsnew | past | comments | ask | show | jobs | submit | infinitebit's commentslogin

I feel this way about code. Writing things by hand is the quickest way for me to fully understand it, and that is what I am paid to do, to understand it. It will be executed millions and millions of times for every time it is modified, so even if writing it by hand is 10x or 100x as slow, it is still a better payoff.


I think here the question is what is the goal? If the goal of the code is to learn and teach, then understandability is critical. If the goal to efficiently produce useful software, then that is not necessarily the case, because the end-users could not care less if the code is understandable. They just want it to work. And maybe understandability and "working" are correlated, but not necessarily.


> “why engineer something fundamentally well at the start if there it is zero cost to fix it later when problems actually show up?”

Because this is a myth. it is not true that there is zero cost to fix it. LLMs become less effective the more convoluted codebases become just like humans, if only at a different rate.


Is there something about an LLM that makes it incapable of simplifying a codebase? I have only seen that the slop jockeys who wield LLMs most ardently don't seem to care about that, and that older models were worse at everything, including that.


I try this really hard but it seems that getting an LLM to simplify a code base meaningfully is a much harder problem than getting it to output mostly functioning features very quickly.

They are great at adding but reducing takes much more hand-holding in my experience. Maybe this will improve, maybe it does not matter, maybe I am holding it wrong, I don't know.


I tend to think this is mostly because the training set has generally been "low quality code cranked out as fast as possible" and the goal has been "do more of that". After all, most code in general is mostly throwaway. And most frontier model labs are startups where code is short lived.

Different goals/context/training is all I think it takes to change this. Though yes, for now, I revel in my role as the one who can contribute a touch of elegance to the stupid robot's solution.

Edit: and yes, better models, but I think the Sol-generation are already good enough.


What models are you using?


Mostly Claude code so Opus and Fable in recent versions.

It is not that they cannot simplify or refactor, but understanding how a codebase can reasonably be tidied up seems hard for them.


Weird, does not seem my experience. Then again we have loads of code where claude can look up our best practices and just copy it for another module, and we try to do everything as idiomatic as possible. Especially Opus 5.5 seems to be very good at this. It really is a step up even from Fable 5.1.

Also when doing a cleanup session we do give pointers where we see friction. That seems to help point it in the right direction.


No. Coding agents are great at simplifying, they just need to be told to do it.

I often see agents skip opportunities for simplification when not explicitly prompted. I have mixed feeling about this, but for now I think it's probably for the best that they stick to the script versus take initiative for things they haven't been told to do.


has the estate of arnold lobel been compensated for this?


That might not be necessary.

Copyright law varies internationally, which is especially tricky given we have the internet which can transfer copyrighted material between jurisdictions in the blink of an eye, but this is how one jurisdiction might approach it:

In Germany, there has been a long standing legal dispute between the band Kraftwerk and the musician Moses Pelham about him sampling 2 seconds from Kraftwerk's track "Metall auf Metall" (if you search for this term, you will get a lot of results about the dispute) without permission. This disputed has steadily escalated until it reached European Court of Justice who delivered a judgement establishing a principle that Moses Pelham's use of the sample was legal, and covered by the copyright exemption for "pastiches" (a term that has been mentioned several times in this discussion already).

Wikipedia article (German): https://de.wikipedia.org/wiki/Rechtsstreit_zwischen_Moses_Pe...

Press release by the Court of Justice (PDF): https://curia.europa.eu/site/upload/docs/application/pdf/202...

The actual judgement: https://infocuria.curia.europa.eu/tabs/jurisprudence?sort=DO...

A rather long expert opinion from before the judgement (PDF): https://freiheitsrechte.org/uploads/documents/Englische-Doku...

So, this work here might be a pastiche, meaning a European court might find that there is no compensation due. Or not, who knows, I am not a court and not even a lawyer.


A small addition: With effect from 1 August 2021, the German legislature has amended copyright law to explicitly mention pastiches.

  § 51a Karikatur, Parodie und Pastiche

  Zulässig ist die Vervielfältigung, die Verbreitung und die öffentliche Wiedergabe eines veröffentlichten Werkes zum Zweck der Karikatur, der Parodie und des Pastiches. Die Befugnis nach Satz 1 umfasst die Nutzung einer Abbildung oder sonstigen Vervielfältigung des genutzten Werkes, auch wenn diese selbst durch ein Urheberrecht oder ein verwandtes Schutzrecht geschützt ist.
See: https://www.gesetze-im-internet.de/urhg/__51a.html

Translation:

  Section 51a Caricature, parody and pastiche

  It is permitted to reproduce, distribute and communicate to the public a published work for the purpose of caricature, parody and pastiche. The authorisation under sentence 1 includes the use of an illustration or other reproduction of the work used even if this is itself protected by copyright or a related right.
See: https://www.gesetze-im-internet.de/englisch_urhg/englisch_ur...


Parody of copyrighted works can be fair use in the US, but whether this would count is borderline. Simply using Frog and Toad to tell an unrelated story wouldn't be parody, but there are jokes that tie back to the F&T books which help make the case that this is a real parody.

It also helps that this is not commercial and doesn't have negative impact on the originals.


> whether this would count is borderline

This is 100% fair use by the standard.


And Donetsk in on the border of Ukraine and 100% part of their territory, but lawyers/soldiers do what the people paying them want.


It reminded me I need to go out and buy copies of Frog and Toad Complete for my kid and his friends.


Whatever has happened in your life to make you such a killjoy, I'm sorry about it.


No, nor should they be, just because Disney and the MPAA spent a few hundred million dollars buying politicians to make idiotic copyright laws.


THANK YOU. I’ve always felt this way about PR review. I feel like people should write a natural language description of the change, and every section of it should link to part of the diff, and every part of the diff should be linked to by part of the description. That or just leave a comment on every chunk of the diff.


A proper natural language description of the change without links to parts of the diffs is already advanced material.

And arguably if the description needs linking to parts of the diffs then the commit is too large?


You might have use for an issue tracker I've been building the past year and a half. It lets you inspect diffs inline in the ticket, and replay the board to see how the workflow evolved over time via a timeline scrubber.

https://ljtn.github.io/epiq/

It stores issues as an immutable event log in your repo, so you can go back and inspect the context behind a change without having to litter the code with comments. Helps with traceability of intent.


People in my team are generating long and verbose PR descriptions with AI. No idea why and for whom. I certainly never read any of them.


Man I'm so sick of seeing 50-line PRs with 800 lines of AI slop markdown files included. I also don't read them.


This sounds like a fussier version of what Donald Knuth was doing with literate programming.

Which, incidentally, is a really enjoyable way to work.


The second recursion example introduces 2 syntax features without explaining them (let, square brackets)


Oh my god thank you. I have been trying to put into words what is so draining about pair programming with claude, and “doing creative work to impart meaning to the words” is exactly it.


this seems like more anthropomorphizing. even if it has similar results often enough to be useful, next token prediction is not searching a solution space.

you even end with a paragraph saying “it’s not too dissimilar from what we do”. how is that not anthropomorphizing?

and if what we do isn’t “thinking” then what is or ever has been?


> next token prediction is not searching a solution space.

Interesting take. Next token prediction (via the attention mechanism) is a "walk" through the token embedding space. Searching the solution space is what it does, mathematically. It's how we take tokens x context length possible combinations and prune them to converge on viable answers so quickly.

Does it look like search at inference time? No. With given weights, a given prompt, and a given random seed, you get the exact same answer. There's not much searching happening at inference...

The key is that most of that space is searched at training time. The weights implicitly prune the search space, blocking off or make certain token combinations effectively impossible. It's easy to think "we're just applying weights at inference time" without considering all the pre-work that's done to prune that search space.

Which is exactly why "thinking" traces (and randomization) are useful! They bust out of any local optima created by too-tightly-constrained models or system prompts. It's both useful and technically correct to speak of the process as a high-dimension combinatorial search.


I agree with the idea that the taste, for lack of a better word, was the only thing that ever mattered. What I disagree with is the idea that slop that is “good enough” is indistinguishable from something that is crafted is “indistinguishable by the market”. I think it is indistinguishable in the short term, but very distinguishable on a long enough time span. The same way that hacked together slop has always been “good enough” to close a ticket and even get someone a promotion, but later costs the company thousands of engineering hours to rewrite once it becomes completely unreliable, slow and impossible to modify. We’re just speed running that now. It’s the same battle engineers with “taste” have been fighting with sales teams and product managers and lazy teammates before LLMs, just in fast forward.


I started toying with perlin vector fields as a level design tool for a game idea, then became more interested in visualizing them than the game they were meant to support. this weekend i realized i think im making a (short) ~game in which you control a dust mote riding air currents, trying to gather enough water to fall back to earth as a raindrop


i love this. i don’t understand why web games like this aren’t more prevalent


They are. There's a LOT of web games on itch.io. It's just the typical challenge with over saturated markets: publicity.


They are incredibly hard to market, I built a web game and it’s so hard to get traction lol

And it’s quite a bit more polished than most web games. Too complex though so I’m fixing that.


Competition. Marketing. Expectations.

In the 1990's and early 2000's I loved building web and flash games, people had lower expectations, getting notice was easy (StumbleUpon etc) and there wasn't a lot other choices.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: