If you spend any time using the command line, you're probably familiar
with aliases. The idea is to substitute a short and easy name for
frequently-typed or long commands. For example, the following common
alias lets you shorten
ls -la to just
alias ll='ls -la'
Some commands, like
git, provide hierarchical subcommands. To view the
status of a git repository, you run
git status, where
git is the
command your shell executes and
status is the subcommand interpreted
by Git. Git also provides an alias feature very much like shell aliases.
git config --global alias.st status defines an alias
status subcommand, so that you only need to type
What if you could define new subcommands like that anywhere you wanted?
I do all of my gaming these days on a Nintendo Switch (with the exception of Zachtronics games on my Linux machine). Lately I've been playing Hyper Light Drifter, a gorgeous retro-styled action adventure game that its creator calls a mix of 2D Zelda and Diablo. The game is challenging, but plays nearly perfectly. Except…
There is one optional challenge which calls for you to dash 800 times consecutively in a confined space. This requires you to button mash with precise timing while directing the character in a circle to avoid bumping into any walls. It's brutal, and discussion spaces related to the game are filled with stories and complaints about this challenge.
After many failed attempts and probably tens of thousands of button mashes later, I decided there was probably a better way. On the PC version, many players have decided to simply cheese the game by abusing the keyboard controls or even using a program to automate the entire feat. Doing this on the Switch is a bit trickier, though.
OpenWrt supports quite a few dynamic DNS providers in its very nice ddns-scripts package. Many of them are free, but if you already pay for a domain name and DNS hosting at Gandi.net why not just use that? Unfortunately Gandi is not a supported provider, but it's fairly straightforward to get it working with a custom update script.