RSSGit ServerRainchan ImageboardBrowse Site on Tor
Home > Media

My Bad ASCII Art

This is going to be another "I have nowhere else to dump these, so rather than lose them to the eventual abyss I may as well dump them here" post, but this edition comes with a shell script included at the back, so it may (or may not) be worth reading. I have little to show for myself at the moment (as of writing this - at Mon 31 Aug 2020 17:23) also, so it's probable this will be added to at some point in the future.

ASCII art involves the effort of creating images with just the 128 (7-bit - 2^7) range of characters as defined in the ASCII standard. Although, I think this does vary from country to country, and as time has gone on 'ASCII art' has become a looser and looser definition anyway. You may also see similar art made with Japanese characters, in places such as text boards and old 2chan - this is Shift_JIS art, referring to the Japanese Industrial Standards character set, and a fairly similar concept. I prefer Shift_JIS, but ASCII is much more universal among machines when not running a graphical interface.

ASCII art was more common in the past, where GUIs though present were hardly universal on operating systems. Particularly when internet browsing was done much more often on BBSes (Bulletin Board Systems) and Usenet groups, and using graphics to display a welcoming banner on a BBS or TUI newsreader would have not been possible, and wouldn't be for some time. I could also imagine someone dealing with Xorg in the late 90s on Linux just opting to stay in a TTY instead.

Creating ASCII art takes a level of time commitment and obsession (particularly for more substantial pieces) that is hardly reasonable, especially now that access to actual images is readily available, and "ASCII art converters" exist. Nonetheless, I'm the perfect type of weirdo to foster pointless obsessions. It's fun to fill my time with. You can use them in your /etc/issue or /etc/motd (before login - useful for showing system information, and after login, respectively). "motd" refers to "message of the day", a relic of system administrators giving their users messages in a more convenient format than via e-mail, for example, to declare rules, and is executed before the login shell. ASCII art can also be used in your system information fetch program of choice - I've written my own, I'll probably post it when I port it to C (it's a mess).

Anyway, enough chatter.

$ cat cat

       / / o  -|       .--. 
______/ _\   w |_     / /\ \
XXXXX(___ `````\ \___/ /  \ \
      || \      ) )  _/____\ \
      ||  \____/ />_________uuu>

          | \__________
          |            |
          |  HEY BABY  |
          |            |

A Meme-y MOTD


Some Art to Lain your Non-graphical OS

I've also included some links to versions I can use in my fetch program. I think they are mostly neofetch-compatible, no promises.


This shows the relevant system information on your login screen:

Download for *fetch


Download for *fetch

As an aside mention, figlet is very useful for making a variety of stylised ASCII fonts, that I've made some use of here.

At last, the promised script

I recently made a script for the purpose of conveniently as possible making coloured art on a text terminal, without making any use of GUI. I say "conveniently as possible" for a reason, because it's hardly 'convenient', just more convenient.

I can't yet think of a smart way of writing coloured ASCII characters from the terminal, in any legible way. Just look at the "Awoo Systems Ltd" source, and you'll see what I mean. To make it convenient to write, in a way that you can see your work as you write it, would probably require a full-blown editor (completely possible, but beyond the scope of 'I was bored, so I made this' scripts).

I did however realise that the 8 "background" colours available in my TTY could be designated the numbers 0 to 7, and that they could act as coloured pixels to create simple sprites (I have a maximum of 50 rows and 160 columns to work with). The convenience of this method, is that you can see the shape of the image you are making as you write it. I have an example here.

You can download Erdrick below:


And here's my script:

message () {
cat << EOF
Colorise output based on numbers 1 - 7.
The output file can be displayed with cat.

usage: colours <inputfile>

0 - black
1 - red
2 - green
3 - yellow
4 - blue
5 - purple
6 - cyan
7 - white

[[ $# != 1 ]] && message && exit 1

char=" "

find $out > /dev/null 2>&1; [[ $? == 0 ]] && read -p "Output file \"${out}\" already exists. Overwrite? [Y/n]: " write
[[ $write != "y" && $write != "Y" && -n $write ]] && echo Exit. && exit 0

cp $in $tmp
while [ $count -le $max ]; do
	sed -i "s/$count/^[[${count}m${char}/g" $tmp

while [ $count -le $max ]; do
	if [[ $count != 3 ]]; then
		sed -i "s/$count/;3${count}/g" $tmp
sed -i "s/3m/;33m/g" $tmp
sed -i "s/;/7;/g" $tmp
sed -i "s/m /m ^[[0m/g" $tmp
cp $tmp $out
rm $tmp
printf "^[[0m" >> $out
echo "./${out} created."

exit 0

You can get it here. I've recently made a Git repository for the shell scripts I mention on this site, and it's probably best to fetch them from there, as I'll change them often. Recently I had to change the ban script because I wasn't 100% confident in it. It's also because I got around to dealing with the fact that my code blocks look terrible on text-based browers, they're illegible - they look much better on my Git front-end. Hopefully both will look good from this article onwards. I use Lynx.

Anyway, that's it for now. Nixx out.

As of: Aug 31 2020 18:20

A few additions since I was last here

I enjoy this kind of thing. I made a few of my girlfriend too, but I'll keep those ones to myself - as much as it pains me to do so, as those ones I put by far the most effort into. Anyway, take some more.





Longcat - RIP


Some random girl


2021.04.12: I have a repo on my Git server for whenever I decide I feel like making more ASCII art, you should check it out.


Send me something interesting: