Live data from Hacker News

The Unix Philosophy

catb.org

51–60 of 269 posts

Re: The Unix Philosophy

#51
post #48

When making a microservice application you have to choose between a text (JSON) or binary (Thrift) interface. You cloud argue that the unix way is to make it JSON until it becomes a performance problem.

This is a false choice - you can serialize/deserialize Thrift objects to/from JSON. I think the choice here is between having a clearly-defined /schema/ or not.

Re: The Unix Philosophy

#52

I keep wondering about what seems to be the most important component of Unix philosophy: write many small programs that do one thing well and interface using text streams! Yes, modularity is important. However, in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. I think Unix philosophy is stru…

Are you saying you disagree with the use of subroutines, functions and interfaces? After all, they are essentially small programs that do one thing and do it well.

Re: The Unix Philosophy

#53
post #44

Earlier quoted context omitted.

Rob Pike doesn't know Smalltalk, Self, or Common Lisp/CLOS--why should you care what his opinions are concerning OO as a paradigm?

Most developers touting OOP don't know those languages; so why should we care what their opinions are concerning OOP as a paradigm. If you exclude one person because they disagree with X and don't know Y, then you must equally disregard all who agree with and disagree with X, because they don't know Y. Otherwise you're just cherrypicking :)

Fine by me, since those developers are doing so on behalf of systems like Java and Python, which fall far below the mark.

However, it has become quite trendy to bash OOP itself, especially here on HN, without acknowledging that there are less awful ways of doing it that just aren't mainstream. Try making similarly blanket criticisms of FP here using Python (Why, it has lambdas and list comprehensions after all--isn't that enough?) or some other impure language and see what happens.

Re: The Unix Philosophy

#54
post #48

When making a microservice application you have to choose between a text (JSON) or binary (Thrift) interface. You cloud argue that the unix way is to make it JSON until it becomes a performance problem.

>You could argue that the unix way is to make it JSON until it becomes a performance problem.

I'd argue that the unix way is to make it JSON until it becomes a performance problem by which time the format is so entrenched in so many programs and since there's no real central coordination, you just get to live with it.

Re: The Unix Philosophy

#55
post #4

Earlier quoted context omitted.

It's a really great read and did a lot to inform my approach to writing all kinds of software. It's a shame that I cringe to recommend in now due to the politics of its author.

That's really bizarre. A person's political views have no bearing on the validity or usefulness of what they write.

Except if he writes anything about politics, economics, society, etc -- in which case his political views have quite a bearing on the validity or usefulness of what they write.

Re: The Unix Philosophy

#56
post #50

> Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features. Which means that no program is more un-UNIX-y than Emacs...

Emacs is a collection of separate Elisp programmes that all cooperate and share data structures. You would not call Unix tools un-UNIX-y only because they all share procedures from the C library.

Emacs also interfaces with external processes (e.g. using comint mode). It's the ultimate bottle of glue.

Re: The Unix Philosophy

#57
post #48

When making a microservice application you have to choose between a text (JSON) or binary (Thrift) interface. You cloud argue that the unix way is to make it JSON until it becomes a performance problem.

This is a false choice - you can serialize/deserialize Thrift objects to/from JSON. I think the choice here is between having a clearly-defined /schema/ or not.

Thanks for the insight.

Re: The Unix Philosophy

#59
post #40

I keep wondering about what seems to be the most important component of Unix philosophy: write many small programs that do one thing well and interface using text streams! Yes, modularity is important. However, in some cases, this philosophy has resulted in the "tangled mess held together by duct tape" kind of systems architecture that no one dares to touch for fear of breaking things. I think Unix philosophy is stru…

The big problem I've found is serialization of sum types. thrift (or protobuf or any number of similar systems) is very good at serializing most of the data one tends to work with, with declarations that are suitably strict but easy to write. But it doesn't have a good way to represent "this field is an A or a B".

Thrift has unions, so does Apache Avro. Afaik Protocol Buffers is the only one where you have to string together one yourself with a required tag and a bunch of optionals.

Re: The Unix Philosophy

#60
post #11

Earlier quoted context omitted.

Among other unpopular opinions, ESR denies AGW, believes that race and IQ are correlated, and was strongly in favor of the Iraq war.

That's a surprise to me, I hadn't heard any of that. Not that I've followed things that closely. What I found so far is [1], in which he seems to just be doing a bit of a "show me the data" thing wrt global warming (its fairly old I guess in defense). In [2] he's definitely saying IQ is race-related, and gender related to a lesser extent, in my quick readings. I quite like that he doesn't mince his words, sugar coat…

Regarding [2]. So I guess this quote is the problem:

> And the part that, if you are a decent human being and not a racist bigot, you have been dreading: American blacks average a standard deviation lower in IQ than American whites at about 85. [...] And yes, it’s genetic; g seems to be about 85% heritable, and recent studies of effects like regression towards the mean suggest strongly that most of the heritability is DNA rather than nurturance effects.

So is the problem with him saying this that (a) this is factually false or (b) that it's an inconvenient fact that should be glossed over? He seems to be saying that it's factually true since he obviously read it in some or other study. If it is factually true it's disingenuous to label him as a racist.

Post reply on HN