Sometimes we just need to write ludicrous things inside of a box. In this case, we have
a double box! It’s a text box inside of a linux container (box) and done via a command line tool called boxes.
Wait, is that a triple container?
This dimension is far too much for me to comprehend right now.
What is this?
I really made a consolidated effort to start working on actually important things this morning, but it epically failed when I saw this inspiration post on linux toy boxes. And because I have extreme prowess in making things that are useful sarcasm, I present to you the sarcastic quote linux box generator! Everyone needs this guy in their life. And of course it’s in a container. Let’s take a look at what I’ll show you today.
If you just run the container without arguments, it will spit out it’s usage. This is what containers should do when you run them blindly, spit out their guts and tiny little container hearts for you to see.
Ask for Help
But you can also explicitly ask for help, because that’s how good software should work (not that this is good software, it’s probably a poser).
$ docker run vanessa/boxes --help Usage: docker run <container> "Eat dog turds, you oompa loompa!" docker run -v $PWD:/data <container> /data/greeting.txt Commands: help: show help and exit list: list available templates all: run through ALL the templates (mrahaha) Options: --message: Select one or more random messages --message-file: The file of messages to choose from --template: choose the template that you want --no-color: disable color output (you scrooge!) --sleep: if you use all, the break between prints Examples: docker run <container> -t dog "I am a dog" docker run <container> -t santa greeting.txt docker run <container> all WHAT IS GOING ON docker run <container> Gogo gadget unibrow! docker run <container> Gogo gadget unibrow! docker run -v $PWD:/data <container> --message-file /data/insults.txt
The easiest thing to do (and most fun!) is to run all templates with randomly selected messages. Here is how to do that:
$ docker run vanessa/boxes all --message
If you just want one message, then remove “all”
$ docker run vanessa/boxes --message =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ^ He who stands on toilet, is high on pot. ^ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
What templates can you select?
docker run -it vanessa/boxes list ... tex-box tex-cmt tjc twisted underline unicornsay unicornthink vim-cmt whirly xes
Oh my. You can use grep to search for a template
docker run vanessa/boxes list | grep cmt ada-cmt c-cmt c-cmt2 c-cmt3 html-cmt java-cmt lisp-cmt pound-cmt tex-cmt vim-cmt
Select a specific template!
$ docker run vanessa/boxes --template unicornsay "At least I don't have a unibrow." _____________________________________________________ / \ | At least I don't have a unibrow. | \_______________________________________________ __'\ |/ \\ \ \\ . |\\/| / " '\ . . . / ) | ' _.' | '-'/ \
You can also control the sleep time between printing all templates (when all is used)
--sleep, disable color printing with
--no-color, or use your own message
--message-file (and make sure it’s in the present working directory, and you
mount a volume from there to /data in the container!)
Build Away, Confucius
If you want to build the dude, you could do that. But I provide him for you on Docker Hub, so it’s probably not needed.
$ git clone https://www.github.com/vsoch/boxes $ cd boxes $ docker build -t vanessa/boxes .
So sure, it’s pretty simple. It doesn’t have the buzzwords “AI” or “big data” or “disruptive” but guess what dude, I had fun making it, and I hope you have fun using it. Please submit a pull request or open an issue on Github if there are any bugs! I literally scrapped this together just quickly this morning so, you know :)
- vsoch/boxes Github Repository
- vanessa/boxes automated build on Docker Hub
- Funny Sayings that provided the lovely messages. Thank you!