Live data from Hacker News

Kernighan and Pike were right: Do one thing, and do it well

medium.com

201–210 of 256 posts

Re: Kernighan and Pike were right: Do one thing, and do it well

#201
" The model [Unix Philosophy] never successfully made the jump to desktop operating systems. So popular modern programs like Photoshop and Word are about as “encrusted with dubious features” "

You export your phtoshop design as a .png file and you import it into word. There you go.

Windowed desktop programs like Photoshop and Word do offer interoperability, in the form of files. (Which by the way is another way programs communicate in UNIX, pipes are just a way for that communication to happen on memory).

Re: Kernighan and Pike were right: Do one thing, and do it well

#202
The way in which microservices, unix programs and extensible editors in this article are compared as if they are all attempts or at least examples of how to somehow "solve software architecture" is really rubbing me the wrong way. The author is speaking as if "How to organize software" is the nail and these things are all attempting to be hammers when they are really not.

Would I want to build a world wide streaming service, I would probably need some custom microservices and I will not need some kind of plugin architecture for them. Would I want to build a slick editor that non-programmers can use for knowledge organization I will not wire something together with awk and gnuplot. If I want to quickly search some log files and sort and count the errors in them I will not look for an obsidian extension nor build a microservice. The question of how to architect such software is still an open one.

I was happy about the clear thesis statement in the byline of the article:

> Extensible programs like Obsidian have achieved a Holy Grail of software architecture, after decades of failed attempts

However, by focusing on categories like "Applets", "Unix programs" or "microservices" the article in effect did barely touch the topic of software architecture and offered no evidence to support that byline.

Re: Kernighan and Pike were right: Do one thing, and do it well

#203
What the article says about the hub and spoke model, singing praises of Obsidian, couldn't these points just as easily apply to Eclipse (the open source editor)?

Eclipse isn't universally beloved. I haven't been following Eclipse development very closely of late, but there were versions released in the early 2010s that were universally derided.

This is one example of cherry-picking I noticed in the article.

Also linear relationships in Unix - ever heard of heard of tee?

Also "enshittification" is turning into a meme at this point, I believe mistakenly applied here.

Re: Kernighan and Pike were right: Do one thing, and do it well

#204
post #197

Earlier quoted context omitted.

That caught my attention too. The misuse is especially strange because the author both cites Doctorow and links to a definition in line with Doctorow's usage, before then using it in a completely different sense https://en.m.wiktionary.org/wiki/enshittification

It isn't misuse - this is just how language works. Especially with what is essentially a meme word.

Language works through shared understanding.

Re: Kernighan and Pike were right: Do one thing, and do it well

#205
post #16

Good article, but to me it seems to be co-opting the term enshitification in a strange way: > Large codebases will eventually reach an “enshittification point” — the point at which bugs are introduced faster than they can reasonably be fixed. I think of enshitification primarily as an organisational/business phenomenon rather than a technical one. It doesn’t necessarily emerge “bottom up” as the result of technical d…

To me enshittification is when the overall usefulness of a piece of software starts going down as more money is attempted to be squeezed out of its users. Agree that it's not a technical phenomenon

This is why I tend to go for the "open" option (eg. open source software) wherever possible.

Not necessarily because it's better. But because the incentive to enshittify it is lacking.

Closed / proprietary ecosystems tend to be nice for a while. And then disappear without warning. Or turn into crap, like a big sinking ship taking all its users down with it.

FOSS / open platforms tend to fork and/or evolve. And (if they survive) improve over time. That I can deal with.

Re: Kernighan and Pike were right: Do one thing, and do it well

#206
post #154

Earlier quoted context omitted.

Am I the only one who thinks that the term sounds far too general given the apparently narrow interpretation that's intended by it? When first seeing the word, it literally just sounded like it meant "the process of becoming shitty", and I never would have guessed that it was intended to be so specific. It seems unfortunate that the term was picked primarily for how evocative it is rather than for its clarity.

It's a word I had not heard before this year. It's made-up. It's a Humpty-Dumpty word: it means what you want it to mean.

NB: all words are made-up!

Re: Kernighan and Pike were right: Do one thing, and do it well

#207
post #154

Earlier quoted context omitted.

Am I the only one who thinks that the term sounds far too general given the apparently narrow interpretation that's intended by it? When first seeing the word, it literally just sounded like it meant "the process of becoming shitty", and I never would have guessed that it was intended to be so specific. It seems unfortunate that the term was picked primarily for how evocative it is rather than for its clarity.

The En prefix means “causes to be”. Things can become shitty but “en” changes it to a deliberate act. Thus shitification is process of becoming shitty but enshitification is the act of making things shitty. So, it’s not as general a term as you are implying and definitely the usage in this article doesn’t make sense.

[deleted]

Re: Kernighan and Pike were right: Do one thing, and do it well

#208

Good article, but to me it seems to be co-opting the term enshitification in a strange way: > Large codebases will eventually reach an “enshittification point” — the point at which bugs are introduced faster than they can reasonably be fixed. I think of enshitification primarily as an organisational/business phenomenon rather than a technical one. It doesn’t necessarily emerge “bottom up” as the result of technical d…

> I think of enshitification primarily as an organisational/business phenomenon rather than a technical one.

Codebases can enshitified, this is a deliberate action. Having a zombie corpse codebase where bugs grow faster than features is not necessarily enshitification.

An enshitified codebase is created when a product person or a TL spends an undo amount of technical debt on new features or even better anti-features.

Re: Kernighan and Pike were right: Do one thing, and do it well

#209
Here’s the actual good advice: Build your system as a set of composable parts.

The article doesn’t really quite get there, but is close. Almost everything else in there is wrong and should be ignored. Let’s see… *nix command line never did follow DOT, that’s the definition of shitty, not enshitification, the graphs are pulled out of thin air and represent the author’s feeling, not data, microservices don’t solve problems in large projects that various other approaches don’t solve (microservices tends to combine an certain approach to architecture, deployment, organizing dev teams and assigning responsibility to them within a larger organization, organizing code, change management, etc… the relevant things here aren’t specific to microservices).

BTW, the microservices graph shown near the end is a lot like spaghetti architecture, where everything depends on everything else. (Not that you have to do it like that, but you’ll need some higher-level organization to manage it.)

Re: Kernighan and Pike were right: Do one thing, and do it well

#210
post #154

Earlier quoted context omitted.

Am I the only one who thinks that the term sounds far too general given the apparently narrow interpretation that's intended by it? When first seeing the word, it literally just sounded like it meant "the process of becoming shitty", and I never would have guessed that it was intended to be so specific. It seems unfortunate that the term was picked primarily for how evocative it is rather than for its clarity.

The En prefix means “causes to be”. Things can become shitty but “en” changes it to a deliberate act. Thus shitification is process of becoming shitty but enshitification is the act of making things shitty. So, it’s not as general a term as you are implying and definitely the usage in this article doesn’t make sense.

[deleted]
Post reply on HN