My friend had a nice, wooden and apparently really creaky bed frame, and after it broke he gave me the wood. What a canvas to paint on! Today I took advantage of a long weekend and used the wood to build a chair optimised for reading. The labor was minimal but it took a lot of thinking: I would like to share the story.
When you have a long command you need to type correctly, and you only have left, right and backspace to navigate, it can soon feel tiresome. I wouldn't want you to tell all your friends you gave command line a go but it was like some caveman alternative to Microsoft Office products. When typing a command you can move it to a text editor with "hold-ctrl-press-x-then-e", and that's what the post is about.
Sometimes the programs you are running aren't as fully featured as you need them to be. If it's your program, extend it to do work like you want it, the ad-hoc extensions will make it soon feel like a warm worn-in shoe. If it's not your program, and the missing feature is correctness, just fix your copy, and submit the fix to the author. Otherwise add the extra functionality outside, with an appropriate contraption. Here's a couple from me, based around pipes.
There is a belief, especially popular under university graduates with heads full of Noam Chomsky, in the inherent hierarchy of grammars, and there are people out there who think it's something that has to be followed. Obey the hierarchy, they tell you. I suggest you hear them out, learn what is there to be learned, and then reply, I didn't know there were any rules about this. Dear reader, you are my fellow human and I want you to be strong and empowered. I'm gonna show you how to parse XML with regular expressions, and then you can make your own choices.
The usual way to control a script's behaviour is to provide a config file or command line arguments at startup. Actually, it's also common to modify the script's code, typically after executing it and noticing it's not doing the right thing. Neither of these are very convenient when you are including the script somewhere else. This post is about the third way, its curious advantages, and how it's usually epically bad but sometimes it isn't.