drew a blurger today
so actually, I've been playing with non-square pixels a lot lately bc I wanna do art on my VT320 serial terminal, so this week I did some calculating and some number crunching and set myself up with a GNU Image Manipulation Program template that would serve me well:
My bf challenged me to draw a burger with a specific palette bc I've been drawing some practice burgers to learn to draw, so I figured I'd do so in the domain I've already been playing with: terminal art!
when viewed with square pixels the entire drawing appears squashed. but when we turn *off* dot-for-dot mode in GNU Image Manipulation Program,
our blurger bursts to life :D
(also if your menu options are different than mine, I'm actually using preview builds for version 3.0 because older versions of GNU Image Manipulation Program use a version of GTK that doesn't support my tablet pen 😭)
But. getting the blurger where we want it was harder. See, I haven't yet written a tool to automatically process an image to a series of characters, so I instead had to do it the old fashioned way: paletted bitmaps!
With a paletted bitmap, we can reduce the bitrate of the image to let each pixel only take up half a byte! And then, with our handy dandy hex editor, we can see the raw data:
We take out a few header rows, and...
we get our burger, aligned properly and upside down! Funnily enough, bitmap images are stored bottom up but not left-to-right, and this is not the first time I've run into this.
A few more steps!
We copy each line from the hex editor, starting at the bottom (top of the burger) and work our way to the top (bottom of the burger), into a separate text document so we get our burger as numbers.
I am a fan of receipt printers and serial communication, and I have occasionally run myself into some situations in which I need to type a bunch of untypeable data or generate a stream of bytes real quick to do a specific task, so from here I actually had a tool on hand to make this a fuck of a lot easier: my markup language, aml! First I put the original at the top in comments so I had a template to work against...
and then we make a copy to which we add our colour information!
Each one of those tags (except the ones at the end of the lines, which are for new lines) is actually a macro for my markup language that I made specifically for this task to encode the ANSI control code for each of the colours:
and once all that was done and prepared, it was the simple task of running my interpreter over it (ami.py -u blurgercolours.json -i blurger.aml -o blurger.bin) and I had a binary file that I can send to a terminal that has ANSI 24 bit colour support and show off my blurger.
I hope you enjoyed blurger hour with ava, and here's one more thing before I go:
be careful not to spill kechp.














