pp.awk
sysbox
pp.awk | sysbox | |
---|---|---|
1 | 9 | |
8 | 209 | |
- | - | |
1.0 | 4.8 | |
about 1 year ago | 10 months ago | |
Roff | Go | |
The Unlicense | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pp.awk
-
M4 – the one true templating language
For simple templating I use my own version[1] of pp[2] preprocessor. The idea behind it is ridiculously simple: everything between ^#!$ markers is shell script. Output of the script is pasted verbatim in the document.
[1]: https://github.com/TeddyDD/pp.awk
sysbox
-
OpenBSD cron(8) now supports random ranges with steps
Yes, I first learned this and the name "splay" from CFengine, back in the day.
I put together a small busybox-like collection of sysadmin tools, and one of the subcommands is "splay" to sleep for a random amount of time. It's one of those things that is useful surprisingly often, even outside cron.
https://github.com/skx/sysbox
-
The Rust Implementation of GNU Coreutils Is Becoming Remarkably Robust
I remember in 1999 there was a project to reimplement a bunch of these tools in perl:
https://perlpowertools.com/
I even contributed a little, back then. I guess writing basic versions of "ls", for example, is trivial. But there's a lot of work getting all the tools done, with all the flags implemented and behaving as expected.
I guess there are tools like busybox, toybox, and similar, which also implement a lot of "stuff" to varying degrees of completion. From my side the biggest takeaway from those projects is the sheer convenience of deploying a single binary and installing symlinks to change functionality.
I replicated something similar with my sysbox project, collecting tools together in one golang binary with various subcommands:
https://github.com/skx/sysbox
I use at least one of those tools on a daily basis, though I suspect they're not so universally useful.
-
Operating Systems
If you've got perl installed you'll might have a "GET" binary present, mine is /usr/bin/GET, which comes with the WWW-module.
Although this is written in portable perl, rather than being compiled, so the static vs. dynamic choice doesn't really mean much it is a simple alternative.
Otherwise I built a simple busybox-inspired collection of tools, written in golang, which includes a simple HTTP client too:
https://github.com/skx/sysbox
Those are just a couple of examples, I'm certain there are multiple other choices out there. But I guess curl is ubiquitous enough that most people just use it directly, and add it when missing!
- sysbox: sysadmin/scripting utilities, distributed as a single binary
- Show HN: A collection of sysadmin utilities, in a single binary
-
M4 – the one true templating language
That's pretty cool.
I wrote something similar in my static collection of sysadmin tools - https://github.com/skx/sysbox - In my simple pre-processor I only allow two special things:
#include "file/goes/here"
-
Ask HN: Tools you have made for yourself?
I bundled together a small collection of sysadmin/scripting-tools here:
https://github.com/skx/sysbox
Those are probably amongst the things that I use most often which are non-standard.
-
Sd: My Script Directory
I used to have very full ~/bin, and ~/$(hostname), directories. In the end I pared them back and started bundling things together in one binary.
The end result is very similar to this approach, I run "sysbox blah", or "sysbox help", and use integrated subcommands.
Very helpful and makes deployment easy by having only a single binary:
https://github.com/skx/sysbox
Not bash/shell, but similar and useful idea to experiment with.
-
New Cli Tool (Golang) for custom commands (input during the execution) and with REPL
I support that in my sysbox utility-box, via the subcommands processor, and it is very helpful.
What are some alternatives?
jinja2-cli - CLI for Jinja2
yasha - A command-line tool to render Jinja templates for great good
wireguird - wireguard gtk gui for linux
tpl - Render templates with data from various sources
dockly - Immersive terminal interface for managing docker containers and services
shpotify - A command-line interface to Spotify.
m4b-tool - m4b-tool is a command line utility to merge, split and chapterize audiobook files such as mp3, ogg, flac, m4a or m4b
qdoc - Convert documentation within a Lua script into a Markdown file.
BookStack - A platform to create documentation/wiki content built with PHP & Laravel
pdftilecut - pdftilecut lets you sub-divide a PDF page(s) into smaller pages so you can print them on small form printers.
AutoHotkey - AutoHotkey - macro-creation and automation-oriented scripting utility for Windows.