unix - LeFreq/Singularity GitHub Wiki

Note: many of the ideas below have been scrapped. Note2: some of the idea below have been updated to more interesting.

Unix already partly implements the concepts of the GOOP for a data ecosystem. If shell scripts are considered the "objects with a name", then it has a uniform API with pipe operators and input> and output< flows.

Paired symbol usage within the interactive system:

  • double-quotes `' or ""?: homogenous character sequences, often treated as a single item.
  • paratheses (): homogenous non-character sequences
  • curly brackets {}: named fields of a struct or a database table row {"username":"average", "userid": 0, "password":"honeycheck", }
  • square brackets []: crude, unorganized data.
I conject that all commands in unix can and should be done in a Rule of Four fashion. Everything else should build from there allowing customization, understandability, community improvement, and ease of maintenance (due to self-documenting nature).

Thereby, four levels of order: lateral (using pipes), hierarchical (using < and > or similar), parameters (on the command itself), and function NAMEs (each object/app has a different name, describing it`s purpose and becoming part of the language like Forth).

XXX this is mostly wrong: must think in tgerms of applications, not admin. Sysadmin commands:

  • adduser
  • show processes
  • create/update file
  • move file
  • meta: nohup
Network admin (power sysadmin commands):
  • diskquery (mounted disks) = $
  • userquery (current users) = &
  • networkquery (current open connections) =
  • create connection (from device1 to device2) @
  • meta: shutdown/halt/reboot type command !!!
File or document-processing commands (processing inside the file -- parameters unlimited, all nestable) + 1 meta:
  • delimit(based on {",", "/t", "/n"," "}) separate files into lines, words, fields, etc.; nestable
  • tabulate or map (like uniq and wc)
  • sort
  • remap(input dictionary, outputdictionary)
  • "meta": bindump(bitwise processing: taking a fixed struct and splitting into fields, for example)
Shell:
  • menu command
  • query command (uses getinput command which takes a range of valid inputs), which fills out a field (struct) of data.
These are as by symbols for standardizing interactions
  • "|": interaction between commands
  • "<": pushing data up (towards user input)
  • ">": pushing data down (towards the storage system).
  • "+": A tee symbol to split data to more than one input.
  • meta: "^": processing in the background and releasing terminal I/O.
Metaprocessing commands:
  • union ||
  • intersection &&
  • not ~ or !
  • compare to equal =?=
  • push/pop stack "]"= push, "["]= pop
With these primitives, one can imagine very powerful abilities in simple commands like connecting a user to another process or hardware device. Connecting to a remote terminal. Processing log files. I can hardly imagine all of it. --- Unix attempts to approach the ideals utilized in PositionOS, but fails to achieve them due to the dominance of compiled applications. User-editable text files are the best offered, yet without a unifying architecture fall short of being universal.

Further, the dominance of apps, makes re-useability or adaptability unavailable in most cases, except by dedicated and specially-skilled users.

⚠️ **GitHub.com Fallback** ⚠️