44 Matching Annotations
  1. Sep 2024
  2. Apr 2024
    1. the Peter Principle, the idea that in an organization where promotion is based on achievement, success, and merit, that organization's members will eventually be promoted beyond their level of ability

      Applying the principle to software, you will find that you need three different versions of the make program, a macroprocessor, an assembler, and many other interesting packages. At the bottom of the food chain, so to speak, is libtool, which tries to hide the fact that there is no standardized way to build a shared library in Unix. Instead of standardizing how to do that across all Unixen the Peter Principle was applied and made it libtool's job instead.

  3. Sep 2023
  4. May 2023
    1. Proposal for internet wall . By Pradeep kumar Xplorer ex sun .com engineer currently victim of cybercrime using dhyanayoga.info california resident unable to return there and his mother murdered. If you like this proposal or design please email pradeepan88@hotmail.com and request some financial aid to expand the design and have the project rolling. I propose the internet wall . Wall is old unix command line utility where a user can message all users logged in with some wall message. Like the system administrator in the evening giving half an hour more time to finish work and log off, or informing of some meeting to discuss some projects.The internet wall is where you see the internet as a giant computer. Once you are online you are one user of the internet which can have several million to billion users online at the same time. The internet wall is a suite of applications cross platform cross domain that would be in your desktop or smart fone screen that you can invoke and wall everyone online or some subset of those who are online. I propose a website internetwall .com or or any other domain extensions

      😂🤣😭

      This draft is a rogue submission with author impersonation, isn't it ? 🤔

  5. Apr 2023
    1. On any Unix-derived system, a path is an admirably simple thing: if it starts with a /, it’s a path. Not so on Windows

      Paths on Windows are much more complex

  6. Mar 2023
  7. Jan 2023
  8. Apr 2021
    1. Functional UNIX[edit] Broadly, any Unix-like system that behaves in a manner roughly consistent with the UNIX specification, including having a "program which manages your login and command line sessions";[14] more specifically, this can refer to systems such as Linux or Minix that behave similarly to a UNIX system but have no genetic or trademark connection to the AT&T code base.
  9. 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.
  10. 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.
  11. Jan 2021
  12. Dec 2020
    1. pic (a drawing language)

      Text really is kind of versatile in this manner... Is the current text-dominance in programming part of UNIX "heritage"?

    2. non-hierarchical control flow

      pipes seem straightforwardly hierarchical?

    3. Rewriting History
  13. Aug 2020
  14. 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.
  15. May 2020
    1. I'd like to offer my thoughts on ctime verses mtime. Sorry, but this will be a little verbose. First, if you change the contents of a file you change the mtime of a file. Since this is a change to the inode, ctime is updated as well. The mtime is bit like the date on a letter and ctime is a bit like the postmark on the envelope. You can set mtime to anything you want via the utime() system call or the touch command. Doing so sets the ctime and you cannot reset ctime. If you restored last year's payroll records from tape, you might want to set the mtime back to the end of last year. But the ctime will reliably still indicate when the last change to the file occurred. This is how your backup program will know that it must back up the file. The ctime is really used by backup program. But an application program that prints out a payroll listing would use mtime.
    2. ctime indicates inode data change: ie. when you do chmod. chown on the file or when the file size changes. Not the contents of the file.

      ctime -inode -? ->file changes sizes

    1. ctime refers to changes made to the file's inode (such as changing permissions, etc). mtime refers to changes to the data within the file. So cnewer will use a reference files inode change time for the comparision, whereas newer will use a reference files data modification time.

      ctime - inode changes mtime - file changes atime - access time

    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.
    1. So be careful running editing a bash script that may be currently executing. It could execute an invalid command, or do something very surprising.

      Never modify a running bash command as it can execute something surprising

  16. Jan 2020
  17. Nov 2019
    1. In practice, it’s more accurate to say that “everything is a stream of bytes” than “everything is a file.” /dev/random isn’t a file, but it certainly is a stream of bytes. And, although these things technically aren’t files, they are accessible in the file system – the file system is a universal “name space” where everything is accessible. Want to access a random number generator or read directly from a device? You’ll find both in the file system; no other form of addressing needed. Of course, some things aren’t actually files – processes running on your system aren’t a part of the file system. “Everything is a file” is inaccurate, but lots of things do behave as files.

      unix simplicity

  18. Nov 2018
    1. This idea was brought into CP/M by Gary Kiddal in 1974. You could do neat things with it like copy data off the serial port into a text file, or print a textfile right from the command line! This is done in unix by having special files existing in special folders, like /dev/tty for the console or /dev/lp0 for the first printer. You can get infinite zeros from /dev/zero, random bytes from /dev/random, etc! but here's the problem: CP/M is designed for 8-bit computers with very little memory, and no hard drives. At best you've got an 8" floppy drive. So directories? you don't need 'em. Instead of directories, you just use different disks. but without directories you can't put all your special files over in a /dev/ directory. So they're just "everywhere", effectively. So if you have FOO.TXT and need to print it, you can do "PIP LST:=FOO.TXT" which copies foo.txt to the "file" LST, which is the printer. and it works where ever you are, because there are no directories! it's simple. but what about extensions? Here's the problem: programs like to name their files with the right extension. so if you're running a program and it goes "ENTER FILENAME TO SAVE LISTING TO" you could tell it LST to print it or PTP to punch it out to tape (cause it's 1974, remember?) but the program might try to put .TXT on the end of your filename! LST.TXT isn't the printer, right? Nah. It is. These special devices exist at all extensions, so that this works. so if "CON" is reserved to refer to the keyboard, so is CON.TXT and CON.WAT and CON.BUG

      special files in cp/m

  19. Sep 2017
    1. NixOS is a Linux distribution with a unique approach to package and configuration management.

      This is another approach to systems management and software as a services. I don't really understand in detail the difference between NixOS and docker, but googling NixOS vs Docker shows that its a topic that is ripe for a bunfight.

  20. Apr 2017
  21. Jul 2016
    1. /aftp/xx.yy.edu/pub/doc/README Fig 1. Some alternative tagged and untagged representations

      An alternative notation that was considered for URIs

  22. 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.

  23. Jul 2015
    1. Much like a Unix power user will compose multiple single-purpose tools into a complex piped command, a functional programmer will combine single-purpose function invocations into chains of operations (think Map/Reduce).
  24. Feb 2015
  25. Feb 2014
    1. "We should have some ways of connecting programs like garden hose--screw in another segment when it becomes necessary to massage data in another way. This is the way of IO also."

      And here we are with a web of hoses (nee tubes) and we still only have simplistic linking mechanisms with no way to link directly to the content we are referring to: https://hypothes.is/a/G3usyxJQRFyvOS-bzyXaVQ

    1. 1. We should have some ways of connecting programs like garden hose--screw in another segment when it becomes when it becomes necessary to massage data in another way. This is the way of IO also.
    2. Point 1 is the interesting one. It provides the historical background for Doug's encouragement of the Unix pipe notation. The linked paper gives appropriate credit; in interviews, Doug has been explicit in saying that he very nearly exercised managerial control to get pipes installed.
    3. Advice from Doug Mcilroy

      I love finding these kinds of documents that capture the thoughts of moments in history where simple, profound ideas are made manifest and have the kind of longevity to still be the core of the foundation that the modern world is built on.

    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.