Unix Philosophy

Due to popular demand, we’re listing sources of interesting material for thinking about the Unix Philosophy. Get ahead with the following:

Apache Kafka, Samza, and the Unix Philosophy of Distributed Data
One of the things I realised while doing research for my book is that contemporary software engineering still has a lot to learn from the 1970s. As we’re in such a fast-moving field, we often have a tendency of dismissing older ideas as irrelevant – and consequently, we end up having to learn the same lessons over and over again, the hard way. Although computers have got faster, data has got bigger and requirements have become more complex, many old ideas are actually still highly relevant today.

Kafka by example: Kafka as Unix Pipes
Imagine the following conversation.

You: What is Apache Kafka?
Me: Apache Kafka is publish-subscribe messaging rethought as a distributed commit log.
You: … What?
Me: Yeah, it’s a distributed, partitioned, replicated commit log service.
You: What on earth are you talking about?

The description is correct. You just have to know what those terms mean. But if you don’t know the terms, then it’s confusing.

@alabaeye Do you remember this moment in one of our conversations last week?

that is far less confusing for me for an entry point: https://en.wikipedia.org/wiki/Unix_philosophy
: )

that line from the Unix-Philosophy

"Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features.”

actually contradicts something, that @species told me about

open source programming philosophy to build on already existing frameworks or tools.

What would you think @almereyda @toka ?

I just wonder, if that conversation at the current moment is really relevant?

@almereyda would you say, that enspiral is working based on the unix philosophy?

Today at the transition network conference, in the open space, I opened a topic on online platforms and interoperability. Ade Stuart from the Transition Network IT-Crew joined, and we had a very interesting conversation.

He is totally into Linked Open Data, and Standards (as I interprete it in my very superficial understanding) as JSON LD. He also told me about Google adopting JSON LD, and that it would be magnificent, if TransforMap contributes to set a standard for map-data interoperability, he would happily adopt, or contribute to create.

Ade and Sam got me very interested in understanding more about, what @SamRossiter mentioned in a conversation qith @alabaeye IIRS.

Do not confuse the Unix-Philosophy with Open Source programming :wink:

  • Unix philosophy means to build small programs that do one thing very well (one tool for one job), and not big monoliths that try to do everything (but often only mediocre).
  • The Open Source style is more “Today probably nearly every problem has already been solved by someone”: First try to search for existing solutions, and not to build everything from scratch again, wasting resources.