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
watch cmd in linux https://ban.ai/multics/ http://shell.cs.pomona.edu/shtepper http://wiki.c2.com/?GreenspunsTenthRuleOfProgramming https://christine.website/blog/why-i-use-suckless-tools-2020-06-05 posix 'anti-web' framework Unix is my IDE
https://news.ycombinator.com/item?id=24256883 portable executables!
unix shell programming: the next 50 years
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
fully formalize and implement the posix shell, showing differences between specifications across semantics
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?