๐Ÿ“• subnode [[@jakeisnt/posix]] in ๐Ÿ“š node [[posix]]
๐Ÿ“• text contributed by @jakeisnt ๐Ÿ”—

https://github.com/dylanaraps/pure-sh-bible https://github.com/gigamonkey/monorepoize

tui everything interactive grep with query ui and fuzzy search make JSON greppable command line hex viewer command line benchmarking tool automated image compression for distributing images wikipedia summaries from the command line

automate command line text processing just: simple command runner terminal file manager

watch cmd in linux https://ban.ai/multics/ http://shell.cs.pomona.edu/shtepper http://wiki.c2.com/?GreenspunsTenthRuleOfProgramming <button class="pull-url" value="http://wiki.c2.com/?GreenspunsTenthRuleOfProgramming">pull</button> https://christine.website/blog/why-i-use-suckless-tools-2020-06-05 posix 'anti-web' framework Unix is my IDE

a full ACME protocol implemented in shellWeb

https://gist.github.com/katef/59450aa622315bd35fc27bd383c2dbe6#file-life-utf8-c C and C++ fun ideas for pranks at the shell and https://github.com/mathiasbynens/evil.sh

https://news.ycombinator.com/item?id=24256883 portable executables!

terminal utils to look at

unix shell programming: the next 50 years

srcand discussion

The good

  • Universal language for interoperability

  • Works with anything and is a medium between anything

  • Incredibly expressive (and often efficient) EDSL for stream processing

  • Interactive environment for interacting with the computer


  • insane specification that isn't implemented correctly in any shell, not even worth diving into

  • too arbitrary - it has infinite flexibility and that prevents it from doing anything

  • too dynamic - everything in a shell script is dependent on global state, which prevents any form of optimization or program change

  • performance cannot scale because it cannot be optimized


  • Smoosh :: fully formalize and implement the posix shell, showing differences between specifications across semantics

  • PaSH/POSH :: annotation languages as a high level specification interface for interactive programs, can be used as abstract models for command behaviors! This allows for better system specification that can actually be enforced (thinking of tools like Alloy here!)

  • static reasoning :: previous bullets name annotation languages that give us information about the shell - why not dynamically rewrite and inspect every shell command?

Receiving pushes... (requires JavaScript)
Loading context... (requires JavaScript)
๐Ÿ“– stoas (collaborative spaces) for [[@jakeisnt/posix]]