Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Pseudo Narrow Waist in Unix (ilya-sher.org)
4 points by infogulch on Feb 24, 2023 | hide | past | favorite | 8 comments


This seems like an unclear rant of someone who is not very familiar with Unix/command line tools.

There are no specific strong points, just calling something "atrocities" (it is not clear what), and claiming that you need semantic plugins for "most meaningful/high-level operations on the data". I have a feeling that author have something (or someone?) in mind, and we are supposed to guess.. but I have no idea what they are talking about. There is that weird "Pipes Text Hell" section - I wonder if author knows that pipes are widely used with binary data too?

The only specific examples author gave is: "wc -l does not work on multi-line CSVs" and "you cannot rename class in java program with sed" (funnily enough, the command provided uses incorrect regexp, they forgot word boundary marker... I wonder if that's the source of author's frustration? :) )

Interpreting author in the best light, I think their point is: "I want formats to be obfuscated and unreadable so that some people I know would stop creating incomplete ad-hoc text parsers and instead would be forced to go through Official Libraries And Tools". With all respect, I strongly disagree. I've dealt with hundreds of file formats, both text and binary, and I've never said: "I with I couldn't do X!". More processing options are always better (except in network protocols :) ), even if some people use them incorrectly.


> of someone who is not very familiar with Unix/command line tools.

Given that they mention wc, tr, sed, grep, diff, patch, jq, je, and vim, and show an understanding of what they do, I don’t see where you get that conclusion from.

> Interpreting author in the best light, I think their point is: "I want formats to be obfuscated and unreadable

Again, where do you draw that conclusion from?


Sounds to me like the author had a painful introduction to the vintage platform tools of Unix. The crux of his rant is:

> I prefer spreadsheet software though.

Maybe the newer zips of XML are not exactly obfuscated blobs, but I’d wager he’s happy with Excel where he sees coworkers using text interchange formats. I guess he solves different problems than I do.

> Have you noticed that most developers use IDEs that “understand” the code and not Notepad?

So, in a setting where Microsoft platform tools are available, he’s confronted with scripting that relies on the vintage Unix tools. I’ve seen many people succeed blithely where the author feels pained and challenged.


Is it hard to acknowledge that the spreadsheet application category is well designed and fit for purpose? Arguably spreadsheets were the "killer app" that made personal computers mainstream in the first place.


I see your point, and I recall Lotus 123 blowing minds. But this post is about the cultures of spreadsheets and System V tools not combining into something stronger. I think spreadsheets just demand constant interactivity and the command line promotes automation. They didn’t combine and the process of transforming data didn’t fledge its own killer app in time for the author.

The formula interface is so weird that you sometimes have to ctrl-shift-enter to color your function for vectorized input. And the terminal interface doesn’t even respect previous calculations, they just wash upward without a first-class printscreen.

At one point, if you use Excel’s statistical routines you risked malpractice because it calculated sum-of-squares wrong in a way that would have been caught in a simple unit test. And using the command-line for accounting is utterly masochistic.


I feel fairly balanced in the middle of the Overton window on the difference between spreadsheet culture and process culture:

https://news.ycombinator.com/item?id=34968457#34968652


This article was made in response to The internet was designed with a narrow waist, discussed 361 days ago [1].

I posted this article now because I saw a compelling comment on yesterday's thread Time to get the Posix elephant off our necks?. An excerpt:

---

The Unix Philosophy, as stated by Peter Salus [1] is:

1. Write programs that do one thing and do it well

2. Write programs that work together

3. Write programs to handle text streams because text is a universal interface.

The problem is that, in practice, you can only pick two of those. ...

If you want programs that do one thing and do it well, and programs that work together, then you have to abandon "plain text", and enforce some kind of common data format

---

[1]: https://news.ycombinator.com/item?id=30483914

[2]: https://news.ycombinator.com/item?id=34904337#34907237


Nitpick: CSV predates Unix.

Author of this post doesn’t like newline-studded text formats. He can thank IBM for EBCDIC and CSV.




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

Search: