Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

100% Positive

Analyzed from 821 words in the discussion.

Trending Topics

#code#free#something#fence#puppy#job#request#here#more#doing

Discussion (20 Comments)Read Original on HackerNews

JKCalhounabout 1 hour ago
Something I'll call Milito's Meadow [1]. Start with a clean slate. Everything goes: fences, farmhouses, roads… Down to the bare earth.

Then build up again from scratch. Likely you will in fact put a fence here or there—but of course you'll know with certainty why it is there. (And more times than not, there will be fewer fences when you are done.)

[1] Naming this for a friend who taught me about fence razing.

bombcar36 minutes ago
A ground-up rebuild can be wonderful, but something is lost in those US plaster-planned cities that attempt to imitate Florence or other EU cities; something about organic growth that is very hard to replicate ex-nihilo.

This likely doesn’t correlate to code as much.

stephantulabout 1 hour ago
Extreme programming in a nutshell. I like doing this to features: build it, then take it down and rebuild but better.
cainxinth35 minutes ago
I wouldn’t have thought that black text on a lavender background would make for pleasing reading, but it was actually quite nice.
stephantul17 minutes ago
Ha thanks, it was pink a while ago
ChrisMarshallNYabout 3 hours ago
I’ve found utility in removing code.

I feel that doing the job with the fewest lines of code, is best.

I also believe in focused/pure scope. If I write a type or API to do a job, then it should do that job, and only that job. If I want to add functionality that is out-of-scope, then I’ll often write another type, instead of adding it to the existing one. Making this type of decision is always fraught.

But, like in all things, it depends. Sometimes, reducing the overhead of things like setup and testing is a good reason to not introduce a whole new resource, but I should make it a point to document the reason for the incongruity.

This is especially true, when designing user interface. I’ve found that, usually (not all the time, though), less is more.

Josef Albers is known (amongst other things), for the quote “Sometimes, in design, one plus one is three or more.”.

fransje26about 1 hour ago
> I’ve found utility in removing code.

> I feel that doing the job with the fewest lines of code, is best.

And that is one of my gripes with AI models and code. They are so, so verbose. It's a nightmare.

"Why don't you let AI implement that small feature, it will be faster.", they would ask.

Well, because if do, it will completely pollute my carefully crafted interface that I kept small, simple and understandable for easier maintenance and extension.

And yes, I might spare a few hours by having _it_ work for me. But then I need to spend a more hours to clean-up the code noise and complexification.

Sorry for having polluted the conversation by bringing AI in, when for once, ironically, it was not about AI.. I needed to vent, while fully approving of your take.

trollbridge12 minutes ago
I evaluate how good models are now by how good they are at removing code.

It’s fairly simple (assuming the test harness and agents.md are well written): do iterations of trying to remove code, ensure it passes, then have a human review it. Less code to review that way.

joshkaabout 4 hours ago
The counterpoint is that building software is not building a fence. When you create something in software, nothing tangible changes until that's accepted and running on all the places that you deploy to. A PR is just a hey, here's a fence that the contributor built elsewhere that proves that building something like this is possible.

The corollary is design your open source libraries so they're obvious enough that the chesterton's gaps are obvious. Anytime an AI tool submits something that breaks your expectation of things not being necessary it usually highlights that there's a missing gap in the explanation of what is necessary.

stephantulabout 3 hours ago
I’m not sure I share your view of PRs. I still see submitting PRs as something that puts pressure on maintainers. Even incorrect PRs take time to verify and review.

I also don’t see how this differs between the “gap” and the “fence” part of the metaphor. Whether someone submits a rewrite/removal (fence) or a new feature (gap) for PR review, it’s still going to cost me attention.

joshkaabout 2 hours ago
It's only pressure if you believe the social contract in a PR is that everything that is written is something you're obligated to read / respond to. If you flip that a bit to a PR being the first step in a way of saying "I tried a thing and it worked, what's necessary to make that an actual thing that other can use", then you will sort of land here.

Previously I wrote https://news.ycombinator.com/item?id=48517931

wnoise10 minutes ago
Saying your quoted words is a request for someone to read and respond; it's still pressure and a burden.
ndrabout 4 hours ago
Related to this, the concept of "free as in puppies" from D. Richard Hipp, creator of SQLite:

> Suppose you had a pull request for SQLite. "Hey, I've got this new feature for SQLite. Here's the pull request." When you want me to pull that into the tree, you say, "Oh, it's free."

> No, it's not free. What you're doing is asking me - you've got this cool feature, and you want me to maintain it for you, to document it for you, to test it for you, to maintain it for you for the next twenty-five years. That's not free.

> Linus Torvalds is famous for saying there's free as in beer and free as in speech. But there's another kind of freedom: free as in puppies. "Oh look, I've got a free puppy for you." You see where this is going?

> A pull request is a free puppy. And then you've just got a kennel full of puppies at the end of the day. And you can't just throw them out - you're morally obligated to take care of them for their natural life.

> I don't want any free puppies.

source: https://youtu.be/x8_ZZhRL3YU?t=1715

stephantulabout 3 hours ago
Thanks! This is very similar indeed. Related: I see a lot of “drive-by” PRs by agents, who obviously have no intent of ever maintaining the code they wrote.
apiabout 1 hour ago
Puppy cannons. Puppy carpet bombing.
ChrisMarshallNYabout 1 hour ago
A new definition of "puppy mill."
stephantulabout 1 hour ago
Puppy slush automatically pushed through vents into your codebase
akoboldfryingabout 3 hours ago
FYI there are quite a few glitches in there:

> and want you want me to maintain it for you

> to to document it for you

> Linus Torvalds is famous famous

> A pool request

> They're you you're you're morally obligated

ndrabout 2 hours ago
Thank you, I was too eager copy-pasting YT transcriptions.
trollbridge11 minutes ago
It’s refreshing to read something not run though an LLM to make it look plausible first.