13 Matching Annotations
  1. Mar 2021
    1. the Unix Philosophy is a crucial part of the patterns, opinions, and culture of Node.js
    2. Nothing about the Unix Philosophy explicitly relates to a culture of software sharing. However, it should be no mystery that it comes from the software community where we argue at length about the best way to make our programs properly Free. Software that is developed according to these principles is easier to share, reuse, repurpose, and maintain.
    3. The Unix Philosophy is an ideology of pragmatism.
    1. Isaac then continues on to compare that philosophy to Node.js. They are slightly less succinct but still very enlightening.
  2. Feb 2021
    1. Most users make mistakes while typing, so a backspace key is often useful. This could of course be implemented by the applications themselves, but in accordance with the UNIX design philosophy, applications should be kept as simple as possible. So as a convenience, the operating system provides an editing buffer and some rudimentary editing commands (backspace, erase word, clear line, reprint), which are enabled by default inside the line discipline.
  3. Jan 2021
  4. Aug 2020
  5. unix.meta.stackexchange.com unix.meta.stackexchange.com
    1. Remember that Unix’s forte (or not, depending on your point of view) has always been that it’s a self-hosted operating system designed to make it easy to develop itself, and the result is (still) that advanced system administration often ends up being programming in one way or another. In such a context, exposure to better tools and techniques is good for everyone.
  6. May 2020
    1. Pipes are great for taking output of one command and transforming it using other commands like jq. They’re a key part of the Unix philosophy of “small sharp tools”: since commands can be chained together with pipes, each command only needs to do one thing and then hand it off to another command.
  7. Aug 2015
    1. As I did 20 years ago, I still fervently believe that the only way to make software secure, reliable, and fast is to make it small. Fight Features.

      Fight Features.

  8. Feb 2014
    1. What is missing is a space between the $( and the following (, to avoid the arithmetic expression syntax. The section on command substitution in the shell command language specification actually warns for that:

      This is a very good example of why shell scripting does not scale from simple scripts to large projects. This is not the only place where changes in whitespace can lead to scripts that are very difficult to debug. A well-meaning and experienced programmer from another language, but new to bash scripting, might decide to clean up formatting to make it more consistent-- a laudable goal, but one which can lead to unintentional semantic changes to the program.

      Flat, short bash scripts are extremely useful tools that I still employ regularly, but once they begin creeping in size and complexity it's time to switch to another language to handle that-- I think that is what (rightly) has driven things likes Python, Puppet, Ansible, Chef, etc.

      Despite the syntactic horrors lurking in shell scripts there is still a beautiful simplicity that drives their use which is a testament to the core unix philosophy.