Monday, August 8, 2016

Shell lovin' fool

        I am a shell lovin' fool. No..really. I love shells. I love playing with new ones, and I have   strong opinions on the ones I have tried. Don't get me started on zsh, or when the appropriate time to  use 'set -o vi' is. I think tab completion is about the most awesome thing ever created.
        It's easy if you know me, to know this about me. My github is a mess of shells that never even  made it to an alpha release. Right now I am committed to finishing two that I think are actually useful. I currently am working on one in python, called trash, and a second that has some networking   tools integrated called beastietools(GoLang).
        Why make shells? Particularly, why make shells that are API, or a set of related APIs specific? It's all about interface. I'm sure plenty of normies love their clickety clicks, but I don't. I use a   tiling desktop, and have for a long while. I started with awesomewm, or ratpoision or something, and    now I use i3. It's not a ricer thing at all either. My i3, is nearly a standard install with slight     modifications. I give no shits about aesthetics. I mean look at this blog. My vimrc is more heavily     modified than my i3 config. You could make a bunch of aliases, sure. But there's more than one problem  with that. All those curl or httpie commands become way to difficult to manage, even if you are using an import in the .bashrc file, to separate the commands.
        Another thing with aliases, is I see a lot of people using them in such a way it hinders, rather than aids. As a sys admin or a dev, you need to create your aliases in such a way that the compliment the commands you would already use. If you're in the scenario of jumping from box to box, you are going to be tangling yourself up in commands that don't exist. I'll expand more on the philosophical way to execute aliases in a future post.
        With trash I have gotten to an alpha release. I invite you to take a look at my alpha, and be critical. I want any constructive idea you want me to add, remove, or change.

No comments: