641 karma · joined July 15, 2019
https://sujansundareswaran.com/blog/why-hsl-is-better-than-h...
Hate it's argument handling.
I forgive languages with similier capabilities because they're passing a low level array, or aren't designed with command line conventions in mind; but even then I am wishing for better! Bash already provides the args array as a native array, and has no excuse for not incorporating existing command-line help, version, and keyword-argument standards into accessible builtins: one allowing values to be a read (returning `0`, `1`, or `"string"`), and one that's just sugar for `$read_arg "foo" && { printf '%s\n' "$bar"; exit 0; }`.
Might sound trivial, but parsing arguments is a core component of Shell that simply doesn't need written out explicitly as often as it is. GNU Getopts is the best we get, while if we go down the strict POSIX path, users would apparently rather use an idiomatic loop over `shift` than a similer loop over the portable `getopt`. Wonder what ZSH has for this.
Anyways, Docopt's approach sounds pretty neat, love that 'declarative' usage text, that's slick. I want that all over the place. Don't like how hard the generated code is to read (Argbash seems to be a step ahead in that regard), but this is still great, this'd be an improvement almost anywhere, certainly anywhere where that generated code could be hidden in the implimentation, but definitely in Shell.
1. Handmade Network: Values creating software that works with computers, rather than against them, and prioritizes the needs of the user over those of the programmer. Believes that the current state of software is terrible and that the software development community is responsible for this through thoughtless behavior, such as ignoring hardware and putting their desires above the user's. The Handmade idea is about reinventing wheels, looking under the hood, and building software that is better than what currently exists. They value curiosity and an open mind over formal education or experience.
2. Local-first Software: Values software that prioritizes both collaboration and ownership for users. They argue that cloud apps centralize data storage on servers, which takes away ownership and agency from users. Local-first software, on the other hand, enables users to work offline, collaborate across multiple devices, and have greater control over their data while improving security, privacy, and long-term preservation. Suggests Conflict-free Replicated Data Types (CRDTs) as a potential foundational technology for realizing local-first software, and they have developed prototypes to test the viability of CRDTs in practice.
For my own part, idk, I like Scheme and Smalltalk and the post-RMS GNU foundation projects. Copy-left has been a really fascinating movement that I wouldn't have expected to become as popular as it has. I like the suckless philosophy, but wish they weren't associated with nazis^Wasshats[3] and right-wingers like FRIGN (Laslo Hunhold) and Luke Smith. All the Plan9 and formal verification nerds I've met have been cool folks.
1: https://handmade.network/manifesto
2: https://www.inkandswitch.com/local-first/
3: https://lobste.rs/s/qjuqpi/how_you_respond_security_research...
While might be more pre-oackaged containers available for linux, our OCI stack has nothing on BSD's Jails. ZFS was ported to linux from Solaris, and still runs better on the BSD's (at least in regards to license controversies, if not feature support or performance, which have mostly converged in OpenZFS). The linux-native option would be BTRFS (love them both :p).
I've got an Emacs plugin installed that's kinda like easy-motion, and actually have started to use that.. but I think I'll be sticking to eg. `hhjjjj` for the rest of my life.
I write a lot of Lisp, so I wonder of learning more structural editing commands (eg. something like `jump-to-sibling-sexp`) could help me map my intents more cleanly, but wouldnt be able to carry that into other languages and expect I'd fall right back into my old ways.
Maybe it just isn't so bad. When your findger is on a key, there's a lot of value in not moving at all. Counting is taxing and lacks feedback, which is why I hate resizing terminal panes. Maybe there's more power in learning and integrating new habits, like easy-motion or search-forward (even for short distances), than in eliminating old ones.
As an aside, the most jarring thing about going back to Vim from Emacs (which I do multiple times a day) is not having nornal-mode & co. in the mini-buffer / command-line. Love how emacs treats it as just another buffer, so even eg. visual-mode works in there.