If you stick to the POSIX space you can write a lot of software that's durable and portable.

It might also be awful for other reasons, but it's likely to stay as awful as it ever was, rather than actively getting worse as your dependencies mutate and rot around you.


In practice, sticking to POSIX is really hard in the modern day. In particular, there's really no POSIX happy way to parse JSON (yes, you can do it in pure awk, but bleah). So mostly my portable environments depend on `jq`, which is used mostly to parse JSON and turn it into something I can munge with awk.

The other thing POSIX doesn't have is the latest in regular expressions, so I usually want the GNU egrep from binutils - that's generally easy to install.

@ed_packet @sungo Pedantic side note, since POSIX is being talked: GNU grep is its own package and not part of binutils, and POSIX 2008 mandates that ‘grep -E’ support EREs (but does not mandate supporting invocation as ‘egrep’, considering it “historical”). 📕

Of course if you want PCRE or something that's a different story!

@emv It also means you can't have a GUI, you have to write your own parsers for files, etc. What you really need to be is mindful of the dependencies you make. If a library changes an API consistently avoid that library. If the library has no update for a long time determine whether it is because it is complete and doesn't need changes or if it is simply unmaintained.
Sign in to participate in the conversation
Ann Arbor, Ypsilanti & Friends Community

👋 is a friendly social network for people living, working, studying around Ann Arbor — including Ypsilanti and elsewhere. And our friends.