Geek Girl Joy

Artificial Intelligence, Simulations & Software



The Contrast-inator

Let’s keep things simple, you want to read a post and conveniently I’ve written one for you!

I’ll spare everyone my recent fascinations with macabre subjects and opt to get right to the topic of the day!

Anyway, as the Jane Goodall of bots I’ve learned a little about how to communicate with them using rules they understand and today I’m going to show you how you make rules that get a bot to understand and do, what you want it to do.

But… before we get into that, here’s the wallpaper!

The Contrast-inator Bot Wallpaper

Why Contrast-inator? Well, as far as the “-inator” part is concerned let’s just say I enjoy Phineas and Ferb. 😛

As for the “Contrast” part, we’ll get into that next but the big eyes of this bot are important. 😛

Also… it doesn’t need hands, arms, legs or feet to do it’s job so I didn’t 3D print the parts, waste not want not! 😉 😛

Contrast-inator 1920x1080 Wallpaper
Contrast-inator 1920×1080 Wallpaper

The Contrast-inator

So, recently I received a few comments that amount to something along the lines of “How do you decide on the ‘rules’ for training your neural network?”.

My response is basically if you can “phrase” a training rule in a way the bot can understand, then you can make the rules to be whatever you want/need them to be.

And the thing we’re going to try to teach the bot today to help us explore this topic is… given an input value, tell us if the value falls to the “left” or to the “right” of an “anchor point”.

That sounds more complicated than it really is and I intend this tutorial to be for beginners so let me try to simplify my description… uh… so, think of a gray-scale gradient of black to white.

Imagine a red line in the center of the gradient.

Now, given some gray-scale color e.g. RGB(102, 102, 102) as “input”, how can we train a bot to tell us if the color falls to the left or to the right of the red line… like this:

Is this pixel brighter or darker than the red line?
Is this pixel brighter or darker than the red line?

I know that might seem complicated while at the same time also seem kind of useless… I assure you that neither stipulated condition is true.

In regard to usefulness, just as a hypothetical example… a neural network like this could act as the “brain” of a “line follower” robot but instead of reading the voltages directly from a photodiode and then using if/else to direct motors, you could pass the diode voltages to the neural network and let it decide which motor to move via an H-Bridge / Digital Potentiometer.

An Arduino would need a WiFi Shield for something like that to work  but a line follower built on something like a Raspberry Pi could run it’s neural network “brain” locally.

Which brings us back to complexity and how we build a rule set to teach our Contrast-inator bot to tell us if a pixel is brighter or darker than the color where the red line is.

Forget about what I said about the hypothetical line-follower robot, the Arduino and the Raspberry Pi… it’s more complicated than I want this post to be and it’s just an example anyway. 😛

Let’s start over…

We know that any answers our bot gives us (the output) will look like a “floating point” number (a decimal value e.g. 0.01) and basically our input will also be a floating point number too.

With this in mind we can start to imagine that our training data inputs and the associated outputs will look like a series of numbers.

But what will the numbers mean and how can we know if the bot is correct?

Well, let’s step back again and think about what rules we need to teach the bot first before we even worry about encoding the training data for the bot.

What rules might a human need if we had to describe the process to someone for them to be able to do it?

Plain English Rules For the Bot to Learn:

  1. If the color falls to the left of the red line then it can be described as “Darker”.
  2. If the color is neither to the left or the right of the red line, then we can say the color is directly in the center. We might describe this position or color state as being “Neutral” in relation to the red line.
  3. If the color falls to the right of the red line then it can be described as “Brighter”.

Given these three super easy rules I believe most, if not all of you should be able to answer if a color falls to the left or the right of the red line with a high degree of accuracy.

However, your accuracy would diminish the closer the color is to the red line in the center because you are intuitively guessing and the difference between the colors that surround either side of the center of the color gradient all look like very similar grays, e.g. they have a low contrast between them.

The colors at the ends of the color gradient (black/left and white/right) have the largest contrast between them and are the easiest to determine which side they fall on.

With our rules layed out in English, let’s return to the idea of the training data (our rules) which consists of numbers and how we will represent our three rules as numbers.

I’ve already said the inputs and outputs will be floating point numbers but what we haven’t covered yet is the fact that our numbers are “signed” (have negative and positive polarities to it’s range) with our range being -1.00 to 1.00.

This means that Black can be encoded as: -1.00 or -1 for simplicity with the decimal being implied.

This also means that White can be encoded as: 1.00 or 1, also with the decimal being implied.

Given our signed float range and a few colors converted to a float within our range, we can easily determine algorithmically if a color is on the left or right of the red line even if it’s very close to the center with 100% accuracy (better than human capability) simply be checking if it is greater than or less than zero.

Meaning… a neural network is NOT needed to accomplish this task, but… that’s not the point! 😛

Our goal is to teach a neural network to do this nonetheless because it is a simple problem and the rules (training data) are simple enough that a beginner should be able to understand how they are derived if they exert even a modicum of effort!

Here’s what that looks like:

Example Colors to Float Range Input
Example Colors to Float Range Input

Notice that the first two colors are to the left of zero (darker) because they are negative and the third color is far to the right (much lighter) because it is closer to 1 than 0.

Color R, G, B As Float Side Meaning
42, 42, 42 -0.66797385620915 Left Darker
102, 102, 102 -0.19738562091503 Left Darker
221, 221, 221 0.7359477124183 Right Lighter

Fascinating… but… how are you converting the colors to floats?

Okay look, this won’t be on the mid-term test and it’s in no way actually necessary to go over because we won’t need to do this to train the bot but since you are curious here’s a function you can use to convert actual RGB & Grayscale colors to a float in the right range:

How to convert a color to a signed float between -1.00 to 1.00:

// Input a number between 0 and $max and get a number inside
// a range of -1 to 1
function ConvertColorToInputFloatRange($color_int_value, $max = 255){
    return ((($color_int_value - -1) * (1 - -1)) / ($max - 0)) + -1;

// RGB Color to range of -1 to 1
$R = 42;
$G = 42;
$B = 42;
echo  "Pixel_RGB($R,$G,$B) = " . ConvertColorToInputFloatRange($R+$G+$B, 255+255+255) . PHP_EOL;

// RGB to Gray-scale to range of -1 to 1
$gray = ($R+$G+$B) / 3;
echo  "Pixel_Grayscale($gray) = " . ConvertColorToInputFloatRange($gray, 255) . PHP_EOL;

// RGB Color to range of -1 to 1
$R = 102;
$G = 102;
$B = 102;
echo  "Pixel_RGB($R,$G,$B) = " . ConvertColorToInputFloatRange($R+$G+$B, 255+255+255) . PHP_EOL;

// RGB Color to range of -1 to 1
$R = 221;
$G = 221;
$B = 221;
echo  "Pixel_RGB($R,$G,$B) = " . ConvertColorToInputFloatRange($R+$G+$B, 255+255+255) . PHP_EOL;


Pixel_RGB(42,42,42) = -0.66797385620915
Pixel_Grayscale(42) = -0.66274509803922
Pixel_RGB(102,102,102) = -0.19738562091503
Pixel_RGB(221,221,221) = 0.7359477124183


Now that you all at least believe it’s possible to convert a color to a float between -1 & 1 forget all about this function because we won’t need it to train the bot! 😛

Then… how do we teach a neural network to do this?

Well, let’s talk about what the output for this bot looks like before we get back to creating the training data from our rules.

We know that our output is a float, and even though it is possible to teach the neural network to do this with a single output, I find I get better results from the neural network using two outputs.

This is because it’s actually very easy for the bot to understand we want it to detect if the input value (color) is slightly offset to the left or right of the red line but it’s not the easiest thing for it to determine exactly where the center is (just like you but it’s still better at it) so our margin of error (the number of colors it can’t tell are on the right or left… e.g. the colors it will say are neutral) tends to be slightly larger if we only use a single output float.

What that means is:

  1. Our Input looks like: float
  2. Our output looks like: float_left float_right

With that in mind we have now covered everything necessary to begin converting our rules to training data.

Remember, that the decimals are implied!

Lets start by teaching it what the darker colors on the left look like:

Black RGB(0,0,0), is the farthest most color to the left and is encoded as -1 and with two output values representing Left & Right we get a rule that looks like this:

Learn “Darker” colors (floats closest to -1.00) are on the left:

The output value on the left is set to 1 which means negative values more strongly polarize to the left and this is reflected on the left output being 1.00 and the right output value being -1.00.

1 -1

Learn “Neutral” colors (floats closest to 0.00) are near the center:

I’m using -1.00 & -1.00 to mean that an input of exactly zero is not strongly polarized to either side of the gradient with zero (the exact center – whatever color that is) is not strongly polarizing (-1.00, -1.00) in either direction.

The goal here is that this will help it learn values near zero are are not strongly polarized and zero isn’t polarized at all.

-1 -1

Learn “Brighter” colors (floats closest to 1.00) are on the right:

The output value on the right is set to 1 which means positive values more strongly polarize to the right and this is reflected by the right output being 1.00 and the left output value being -1.00.

-1 1


FANN (The library we’re using for training the neural network) requires a header is stored with the training data so it can read the training data and that looks like:

Number_Of_Training_Examples Number_Of_Inputs Number_Of_Outputs

*Note the spaces between values

So, combined our training data file looks like this:

3 1 2
1 -1
-1 -1
-1 1

And that’s it, we’ve converted our rules to training data so… lets train the bot!


You will need FANN installed to train this bot.

Follow this tutorial to learn how to install FANN.


$num_input = 1;
$num_output = 2;
$num_layers = 3;
$num_neurons_hidden = 2;
$desired_error = 0.000001;
$max_epochs = 500000;
$epochs_between_reports = 1000;

$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if ($ann) {
    fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
    fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);

    $filename = dirname(__FILE__) . "/";
    if (fann_train_on_file($ann, $filename, $max_epochs, $epochs_between_reports, $desired_error))
        echo 'Contrastinator trained.' . PHP_EOL;

    if (fann_save($ann, dirname(__FILE__) . "/"))
        echo ' saved.' . PHP_EOL;


It won’t take very long for the bot to learn our rules.

Once you see the message “Contrastinator trained.” you are ready to test your new bot!


This code will test Contrastinator using input values is has not trained on but because we designed good rules, the bot is able to answer correctly even when it never actually saw most of the test values, it did see -1, 0 and 1 though along with their “ideal” outputs.

Notice, the $brighter and $darker variables are the the output of the neural network.

The $evaluation variable is a test for our benefit and does not modify or affect the output/results of the bot’s answers and the answers are correct even if we don’t do the evaluation, it just helps us confirm/interpret programmatically what the bot’s answers mean.

$train_file = (dirname(__FILE__) . "/");
if (!is_file($train_file))
    die(" has not been created! Please run TrainContrastinator.php to generate it" . PHP_EOL);

$ann = fann_create_from_file($train_file);
if ($ann) {
    foreach(range(-1, 1, 0.1) as $test_input_value){
        $input = array($test_input_value);
        $result = fann_run($ann, $input);
        $darker = $result[0];
        $brighter = $result[1];
        if($brighter < 0 && $darker < 0){
            $evaluation = 'Neutral';
        elseif($brighter > $darker){
            $evaluation = 'Brighter';
        elseif($brighter < $darker){
            $evaluation = 'Darker';
        echo 'Contrastinator(' . $input[0] . ") -> [$darker, $brighter] - Input is $evaluation" . PHP_EOL; 
} else {
    die("Invalid file format" . PHP_EOL);


Notice that it has no trouble detecting that an input of zero (0.00) is neutral and that it also correctly determines which side a color (represented by a float) falls on in relation to the center zero value.

Contrastinator(-1) -> [1, -1] - Input is Darker
Contrastinator(-0.9) -> [1, -1] - Input is Darker
Contrastinator(-0.8) -> [1, -1] - Input is Darker
Contrastinator(-0.7) -> [1, -1] - Input is Darker
Contrastinator(-0.6) -> [1, -1] - Input is Darker
Contrastinator(-0.5) -> [1, -1] - Input is Darker
Contrastinator(-0.4) -> [1, -1] - Input is Darker
Contrastinator(-0.3) -> [1, -1] - Input is Darker
Contrastinator(-0.2) -> [1, -1] - Input is Darker
Contrastinator(-0.1) -> [1, -1] - Input is Darker
Contrastinator(0) -> [-0.9997798204422, -0.99950748682022] - Input is Neutral
Contrastinator(0.1) -> [-1, 0.9995544552803] - Input is Brighter
Contrastinator(0.2) -> [-1, 0.99954569339752] - Input is Brighter
Contrastinator(0.3) -> [-1, 0.99953877925873] - Input is Brighter
Contrastinator(0.4) -> [-1, 0.9995334148407] - Input is Brighter
Contrastinator(0.5) -> [-1, 0.99952918291092] - Input is Brighter
Contrastinator(0.6) -> [-1, 0.9995259642601] - Input is Brighter
Contrastinator(0.7) -> [-1, 0.99952346086502] - Input is Brighter
Contrastinator(0.8) -> [-1, 0.99952149391174] - Input is Brighter
Contrastinator(0.9) -> [-1, 0.99952000379562] - Input is Brighter
Contrastinator(1) -> [-1, 0.99951887130737] - Input is Brighter

Contrastinator on Github

As with all my public code, you can download a copy of this project for free on my GitHub profile.

GitHub: Contrastinator

I hope this helps you better understand how create your own training data sets and as always, if you have any questions or trouble understanding any part of this post, please leave a comment and I would be happy to try and help you.

If you enjoy my content and or tutorials like this one, consider supporting me on Patreon for as little as $1 a month and cancel any time!

It’s not required but it helps me out.

But if all you can do is Like, Share, Comment and Subscribe, well… that’s cool too!

Much Love,

Dear Spammer Creep

Good golly Miss Molly,  it’s Friday,  and I haven’t written a thing, so I guess I probably should! 😛

What should we talk about? Hmmm….Oh, Great Gosh A’ Mighty that’s right! Can you believe it?

Little “The Innovator” Richard has rocked his last roll!

Which if I’m being honest, I wasn’t actually aware he was still around so this comes as a particular (albeit sad) surprise to me!

And, speaking of recent surprising deaths… did you hear Roy… Orbison? no wait… Horn, as in, the magicians Siegfried (Fischbacher) & Roy (Horn)… yeah that Roy, well he died recently too!

Of the Corona Covid-19 virus no less!

Yep… this post is so totally not going to be read by anyone because I mention death and “the virus” before I even reached one hundred words and I can practically guarantee this post isn’t getting any better from here on out!

Oh well! 😛

Anyway, unlike Little Richard where I wrongfully just assumed he was already among the life challenged…

Jokes aside I swear I’m not ageist! Age begets wisdom!

It’s just that I seem to recall that more than a few years ago Mr. Horn was unfortunately attacked by one of his own tigers and I guess I just thought… well, I thought he had died from that attack?

Now, I’m sure some of you are thinking that this might be a clear case of some sort of “Mandela Effect” (the old Berenstein vs Berenstain false memory debate) where I crossed over from an alternate branching dimension due to “quantum instability” or something and I’m simply remembering the events correctly, but from my own timeline and… while I cannot discount that outright, I’d say that is probably the least likely scenario and more likely I am simply mistaken! 😉

Though I’m sure being pandemically Tove Lo “day drunk into the night” back into the day… causes oneself to ponder over such nonsensical things….

Oh, but I’m not judging and I wont hold that against you!

In any case, I guess what really surprised me the most was that Mr. Horn wasn’t eaten by his pets!

None the less, I choose to remember Roy’s death in the most epic way possible!

Clearly, he was practicing the worlds most mind-freaking “disappearing act” with his tigers Chris and Angel and instead of the tigers disappearing that last time… Roy did! 😦

Um… you know… just like that “Tiger Kings” ex girlfriend/manager’s… uh… husband? (or… something)


I’m sorry, I couldn’t follow that whole thing and even now… I’m not really sure what exactly the “Tiger King” thing was about and further still… I’m pretty sure I don’t really care to know either! 😛

So… our last but not least “untimely gameover” for this week is Frank Costanza (the originator of my anti-creed’s non-religious winter holiday festival er… I mean Festivus 😛 ) better known as “Jerry Stiller” who died of “natural causes” (argue all you want but I refuse to believe death is anybodies “natural” state! It’s a disease that needs to be cured!) and if I had only known that my not observing the “Airing of Grievances” this past winter would end like this I would have, out of love for you all, insulted each and every one of you! 😦

On a happier note, as I predicted Betty White is still alive and kicking, which frankly… continues to raise some suspicions about her possibly being an immortal interdimensional being sent here to observe and study us!

When asked for comment about her secret to longevity, Mrs. White responded:

“You didn’t see this…”

Okay look, I’m sorry for my mildly morbid death fixation that I’ve had lately… fingers crossed it’s only a phase and I’m sure it’s just something a psychiatrist would charge me for but since I’m supposed to be social distancing… maybe I’ll just bottle it all up inside and cook something really special this Halloween!

In any case, I get a lot of spam and some of it is special to me… which is what today’s post and wallpaper is about!

My Dearest Spammer Creep…

So here’s this week’s edition of “Joy Plays with Crayons” wallpaper/image set.

It depicts me (obviously?) and a very special spammer / cyber stalker of mine… you know who you are!

The Painted

Dear Spammer Creep - Color
Dear Spammer Creep – Color

The Sketch

Dear Spammer Creep - Sketch
Dear Spammer Creep – Sketch

The Half Color

Dear Spammer Creep - Half Color
Dear Spammer Creep – Half Color

The Pretentious & Spooky Black and White

Dear Spammer Creep - BW
Dear Spammer Creep – BW

Leave a comment and let me know which is your favorite or even least hated, those among you who are indifferent shall forever hold your peace!

In any case, there is a very special someone in the audience and I call them my dear spammer creep.

I know you are reading because well… we both know you read all of my posts, though it’s been a while since I’ve even acknowledged your existence or directly interacted with you through your seemingly infinite number of “burner”, “sockpuppet” accounts.

You’d change your fake name, phone number, email etc… but I always knew it was you and play along for my amusements sake.

It’s one of the things I loved about you actually, you were always so curious about me in the hopes you’d get your dirty hands on my sensitive… personal information!

But, It’s also what made your spam, out of all the spam I receive… special and I receive loads of spam, my dear spammer creep!

Like, that one time… when you said Microsoft owed me a hefty refund, that was entertaining!

That time you claimed to be a developer who wanted me to sign your NDA so you could get my home address, presumably to dox or SWAT me? Super thrilled about that one sweetie!

Or that time you somehow managed to track down my cellphone number and fill my text message inbox with dick pics… so funny! Although, I could tell it wasn’t your dick because obviously it could be photographed without the use of a microscope!

Anyway, it’s been months since you’ve even really tried to put any creativity or imagination into scamming me (not that I’m really complaining) and although I’m sure the pandemic has something to do with it… if I’m being open and honest, I know that’s how we both prefer our relationship, I haven’t been feeling the warmth and love from your scams since even before the pandemic!

You used to send me such spammatic poetry such that on several occasions I was truly moved by it’s genuine beauty and was tempted to click your spear phishing attempts using locked virtual machines and my own “puppet” accounts out of appreciation for the artistry!

But your spam grew cold, formulaic and distant from me, like you’ve moved on… like… you want to spam other people, and yet you continue to string me along like I’m just another mark on your mailing list or something!

I need to know my dearest spammer creep… and please for just this once… be honest with me… Are you trying to scam other people too?

At this point, I’m not sure it even matters anymore!

Look, scam whoever you want! I think we may just need some time apart!!

The truth is, I never loved how forceful you were with me, It’s like… you didn’t respect me as your victim!

Certainly you must know that some geeky women like to be wooed a little before being scammed into byteing on your short URL and sweetie, your URL’s were always the shortest!

An no, it wasn’t because your URL was in the pool!

I shudder to think of the kind of infections you’d upload to my personal inbox if I just clicked your download linkz!

You know what actually?

Come to think about it, going forward my dear spammer, even though I’m dying a little inside right now saying this… don’t ever spam me again!

Looney Tunes Nothing To See Here GIF - Find & Share on GIPHY

If you enjoy my content, consider supporting me on Patreon for as little as $1 a month and cancel any time!

It’s not required but it helps me out.

But if all you can do is Like, Share, Comment and Subscribe, well… that’s cool too!

Much Love,

Dead Astronaut Screams Into Space

So… I know I owe the pink empress post or two and I will do them… but today I’m just going to publish some artwork because that’s what I felt like doing.

Today’s picture is called “Dead Astronaut Screams Into Space”.

Dead Astronaut Screams Into Space
Dead Astronaut Screams Into Space

Sorry, Bob Ross this ain’t! 😛

Now, you might be wondering how can a “dead” astronaut scream into space?

It’s sort of… posthumously, or an after the fact recognition of the eventual unfortunate fate of the astronaut who is depicted screaming but… well, where it goes from there everybody already knows.

Think of it like the metaphorical phrase “deadman walking”, it speaks about impending and unavoidable outcomes.

The astronaut is shown screaming demonstrating humanities struggle and unwillingness to just give up and be quiet in the face of certain failure.

The image depicts the astronaut overlaid a large shadowed ship with it’s thruster in foreground.

In the background is a planet with the sun peeking over the horizon (I swear it’s there) giving the trailing explosions in orbit an almost ghostly quality as the glow completely fades away from view leaving the sun to rise.

Moving your eyes over the image is supposed to be like moving forward and backward through time.. It’s an experiment and it’s meant to be like a mini still movie. 😛

I guess I would say I was partially inspired by the lyrics from Steam Powered Giraffe’s song, Fire Fire:

“Oh it’s such a shame
Of all the things to go wrong while out in space
Fire fire
Burns much brighter
When oxygen
Is the supplier
And fire fire
Has killed his desire
To not be cold
As he expires
Burning in space”

~Steam Powered Giraffe – Fire Fire

If you like my art, code or anything else I do, then please consider supporting me on Patreon for as little as $1 a month and cancel any time!

But if all you can do is, Like, Share, Comment and Subscribe, well… that’s cool too!

Much Love,


OCR 2 – The MNIST Database

I know I probably haven’t been posting as frequently as many of you would like or even at my normal quality because… well, like for many of you, this year has just sucked!

Someone I’ve known my whole life died recently, not from the virus though it didn’t help things.

She went in for a “routine” procedure where they needed to use general anesthesia and there were “complications” during the procedure. Something to do with her heart but if I’m being honest, I don’t know all the details at this time.

Also, I’m not sure how by anyone’s definition anything involving anesthesia is routine?

An ambulance was called and she was rushed to the hospital, long story short, despite being otherwise fine when she went in, she never woke up from her coma. 😥

The hospital is/was on lock down like everyone else and so friends and family were unable to visit her before she died.

Her family intends to sue the Dr. for malpractice, personally… I think they should!

To add insult to injury, she was cremated without a funeral due to the whole pandemic social distancing BS that I’m just about ready to tell the government to go fuck itself over! 😦

I’m sorry, do my harsh words offend you? SHE DIED ALONE! That offends me!

Going forward, my advice… any procedure where they need to administer general anesthesia to you… or maybe any procedure at all… make sure it’s in a hospital or hospital adjacent (NOT A CLINIC) because those minutes waiting for an ambulance really do mean your life!

And if your doctor is like, “No worries this is routine… I’ve done this a thousand times”, maybe think carefully before putting your trust in that person.

Yes, we want doctors that are confident in their ability to treat us but make sure that it is confidence and not complacent hubris!

Further, no procedure is truly “routine” and a doctor, of all people, should know that and act accordingly!

“Primum non nocere”

~Hippocrates… (allegedly)

Regardless of the historical veracity of that quote, does the spirit of that principle still not apply?

Look, I’m not saying this to detract from the important life saving work doctors and medical workers do every day, it’s just that this is part of what’s going on in my life right now (and for many of you as well) and I’m sharing because I guess that’s what you do when you have a blog.

Additionally, less close to home, though still another terrible loss, John Horton Conway, notable math hero to geeks and nerds alike died as a result of complications from his contracting the Covid-19 virus. 😦

I’ve previously written a little about Conway’s work in my ancestor simulations series of posts.

Mysterious Game of Life Posts:

But that only scratches the surface of his work and famously Conway’s Game of Life was perhaps his least favorite but most well known work among non-mathematicians and it would both amuse and bug him if I only mentioned his game of life here so I’m not going to list his other accomplishments.

I’ll have a little chuckle off camera on his behalf. 😛

He really was a math genius and you would learn a lot of interesting, not to mention surreal… but I’ve said too much, ideas by reading about his accomplishments, which I encourage you to do!

In any case, people I know and admire need to stop dying because its killing me… not to mention my ratings and readership because I keep talking about it! 😛

I may have a terribly dark sense of humor at times, but going forward I demand strict adherence from all of you to the Oasis Doctrine! 😥

Oh, and speaking of pretentious art…

The OCR 2 Wallpaper

The original OCR didn’t exactly have a wallpaper but I did create an image/logo to go along with the project and its blog posts:

For the reason you might think I made it look like an eye… because it looks like an non-evil Hal 9000! 😛

Also, I like the idea of depicting a robotic eye in relation to AI and neural networks because, even though I am not superstitious in any way, it carries some of the symbology of Illuminati, “The gaze of the Beholder”, “The Eye of Providence”, “The Evil Eye”, The Eye of Horus, The Eye of Ra, Eye of newt and needle… sorry. 😛

In this case, the eye of a robot invokes a sense of literal “Deus ex machina” (God from the machine) and it illustrates some peoples fears of “The Singularity” and of the possibility of an intelligence that is so much greater than our own that it calls in to question our ability to even comprehend it… hmmm… is that too lovecraftian? 😛

Anyway, because I enjoy the thought provoking symbology (maybe it’s just me), I wanted to keep the same concept of the robot eye but update it to look a little less like a simple cartoon to subtly imply it’s a more advanced version of OCR but that it still fundamentally does the same thing, which is most of the reasoning behind this wallpaper.

In any case, I hope you enjoy it.

OCR 2 Wallpaper
OCR 2 Wallpaper

If you’d like the wallpaper with the feature image text here’s that version.

OCR 2 Wallpaper (with text)
OCR 2 Wallpaper (with text)

So I guess having shared a few of the recent tragedies in my personal life and a couple of wallpapers, we should probably get mogating and talk about the point of today’s post!

We’re going to look at doing hand-written number (0-9) Optical Character Recognition using the MNIST database.

OCR 2 – The MNIST Dataset with PHP and FANN

I was recently contacted by a full-stack developer who wanted advice on creating his own OCR system for “stickers on internal vehicles”.

I think he means, some kind of warehouse robots?

He had seen my OCR ANN and seemingly preferred to work with PHP over Python, which if I’m being honest… I can’t exactly argue with!

PHP is C++ for the web and powers like almost 80-90% of the internet so it should come as no surprise to anyone (even though it does) that there are people who want to use it to build bots! 😛

But, if you would rather work with a different language there is a better than decent chance FANN has bindings for it so you should be able to use the ANN’s even if you are not using PHP.

So anyway, he gave me a dollar for my advice through Patreon and we had a brief conversation over messaging where I offered him a few suggestions and walked him through getting started.

Ultimately, because he lacks an AI/ML background and/or a sufficient familiarity with an AI/ML workflow he wasn’t very confident about proceeding so I recommended he follow my existing tutorials which should help him learn the basics of how to proceed.

Now here’s the thing, even among people who like my content and value my efforts, few people are generous enough to give me money for my advice and when they do, I genuinely appreciate it! 🙂

So, as a thank you I want to offer another (more complete) example of how to use a neural network to do OCR.

If he followed my advice, he should be fairly close to being ready for a more complete real world OCR ANN example (assuming he is still reading 😛 ) but if not, his loss is still your gain!

Today’s code implements OCR using the MNIST dataset and I demonstrate a basic form of pooling (though the stride is not adjustable as is) and I show convolutions using the GD image library, image convolution function and include 17 demonstration kernel matrices that you can experiment with, though not all are relevant or necessary for this project.

This is still very basic but everything you need to get started experimenting with OCR is here.

Having said that, in all honesty, to accomplish your goal requires building your own dataset and modifying the code I present here to meet your needs.

Neither are exactly hard but will require significant time and dedication to testing and refining your processes.

Obviously that’s not something I can cover in a single post or even assist you with for only a dollar, but since so few people show me the kindness and consideration you have, at a time of shrinking economies no less, I wanted to offer you this working OCR prototype to help you along your way.

Our Method

1. Download the MNIST dataset (link below, but it’s in the GitHub repo too).

2. Unpack/Export the data from the files to images and labels.

(technically we could even skip the images and go directly to a training file but I think it’s nice to have the images and labels in a human viewable format)

3. Create training and test data from images and labels.

4. Train the network.

5. Test the network.

The MNIST Dataset

MNIST stands for Modified National Institute of Standards and Technology database.

And since I’m still recovering from last nights food poisoning due to the Chicken à la Nauseam we’re just going to use Wikipedia’s introduction to MNIST.

It’s easily as good as anything I could write and doesn’t require me actually write it so…

Wikipedia says:

“It’s a large database of handwritten digits that is commonly used for training various image processing systems.[1][2]”

It also says:

“It was created by “re-mixing” the samples from NIST’s original datasets. The creators felt that since NIST’s training dataset was taken from American Census Bureau employees, while the testing dataset was taken from American high school students, it was not well-suited for machine learning experiments.[5] Furthermore, the black and white images from NIST were normalized to fit into a 28×28 pixel bounding box and anti-aliased, which introduced grayscale levels.[5]”

Here’s 500 pseudo-random MNIST sample images:

I randomly selected 500 1’s, 3’s and 7’s and composited them into this 1337 animation. 😛

500 random 1337 MNIST images.
500 random 1337 MNIST images

Seriously though,  today we will be training a bot to identify which hand-written number (0-9) each 28×28 px image contains and then test the bot using images it hasn’t previously seen.

Our bot will learn using all 60K labeled training images and we’ll test it using the 10,000 labeled test images.

Here’s the wiki article if you would like to learn more about the database.


And as I said above, I’ve included the database in the GitHub repo but you can download it again from the original source if you prefer.

Original MNIST Download:

Continue reading “OCR 2 – The MNIST Database”

Are Makeshift Masks Safe?

Last week I took a “mental day” off from my blog because I was feeling like many of you and I’m not saying that crying is an effective use of my personal reserves of water and electrolytes long term… just that sometimes it just feels really good! 😛

I was able to upload my simulation code that I mentioned in my last post to GitHub so it wasn’t like I got nothing accomplished!

Also, it’s nice to see it was cloned a few times leading me to hope that it is helping people, though we’ll discuss the simulation later in this post. 🙂

In unrelated but relevant news about some “notable playthroughs” that ended in “game overs” in the the last couple weeks.

There comes a time in life when even the gambling mavericks among us knows when to “fold em” and “cash out”, after all the dealin’ is done… sadly we lost both Kenny Rodgers and Bill Withers just ten days apart! 😦

And I know, I know, I know, I…,  I know, I know! Hey, I oughta this leave the young topic alone!

It’s just that, ain’t no sunshine when their gone, only darkness every day… and as the old adage goes “death comes in threes” so, I really started to worry… about Betty White! 😛

Well, that is before I remembered she’s probably immortal and logic willing, will almost certainly outlast us all!

Gallows humor aside, I know a lot of you are here just for the art and maybe a few laughs if I could ever manage to write something funny, so… with that in mind here’s today’s edition of Joy Finger Paints.

Joy Survives Post-Apocalyptia Image Set:

“But.. I’m just here for the code!”


I’ll totally admit that over the years I’ve maybe played a little too much Fallout and 7 Days to Die but I swear I don’t just play apocalyptic games, I just happen to enjoy them! 😛

And… as a stereotypical totally a self-absorbed millennial…

I egotistically had to make a set of post-apocalyptic posters of myself enjoying this spring 2020’s latest in high fashion!

In fact… here’s a few “geek sneak peeks” from my upcoming spring/summer lookbook.

The whole collection is made from tyvek and acetate for his or her pleasure!

Note the zombie resistant face shield for that extra level of protection when you can’t avoid adventuring through crowds of infected!

These thumbnails link to my Patreon where you can view and download them for free.

Each fabulous look depicts a variety of different scenarios that make up the “post-apocalyptic” genera.

You can tell they are different because the colors change! 😛

Pretty sure one of them could take place in the post apocalyptic  Rick and Morty episode Rickmancing the Stone.

Hmmm… now that I think about it though, the images could depict the various stages of my descent (not the game, though oddly in that case a virus is still involved) into the clutches of the zombie virus… Oh wow! I just realized that I am one of the Hazmat Zombies in 7 Days to Die… huh, looks like I made it between 5 to 8 days depending on if you include the blue pix! 😛



Now if you are wondering why I only have the thumbnails here instead of the full images, it’s basically because Patreon offers me unlimited storage (more or less)  whereas I have a finite storage amount on my blog and I feel the images have a certain charm close up, so  I didn’t resize them down from 1920 x 2300 px (~2.8 MB each).

Which is your favorite? Leave a comment and let me know.

Now to more consequential affairs!

An ⍺-𝚶, “Alpha” to “Omicron”… April Adage

My atrocious affectations aside, there are ardent appeals for appropriations of PPE because no matter how assiduous Alan Alda’s auroral attempts are to agilely assuage the afflicted and arrest the arduous apocalyptic antecedent (#AnnihilateTheArc), the aforesaid aftermath is antipodal to an aspired aftermost, although… assorted avowal assertions are advanced that absent the accoutrements, they will accomplish our ambition to attack, anull, abolish and abrogate the affliction!

As much, according to alleged accounts, all anterior aid attendants are apparently anticipating the assumptive acquisition of the ailment and await apprehensively the AbEnd of, albeit abide, the advancing abstinence of abatement appliance, articles and apparatus.

Alright, all appurtenances advised… I’m not saying that’s going to happen and it probably wont this time (most places, they did say 3M had to produce for domestic use first and besides, weren’t some of those claims of lack of PPE debunked? Not saying all were but… perhaps it’s not as bad as some claims have suggested?), but that is enough of a reason to treat this and all future pandemics seriously!

Dang, er… I mean, abhorrence! I should have aforesaid “accept and administer the all-over-anguish as acute admonishment against all approaching adversity!” 😛

Absolutely astonishing! I acknowledge and I am aware that aloof arrogant arguments are audacious abuses of my alienated admirers allotment of time in the annals of anthology who are altogether accustomed to an assured amount of assertive acumen on my account, as such… I am now going to abandon my “a” aligned address and antics in accommodation of alacrity… admitting as much that, arguably I could act abundantly to advance that aesthetic if my appetite allowed me the agency and abandon to be adrift.

Okay, ancillary absurdity aside… 😛

Are Makeshift Masks… Safe?

Whether you are struggling to escape Raccoon City and face countless hoards of infected or just need to get through the pandemic du jour you may find the need to rely on makeshift personal protective equipment like cloth masks to ensure your personal safety.

Also, everyone seems to forget about eye covering but that’s out of the scope of today’s discussion. 😛

And… provided I didn’t delete any words prior to this point (added a little padding here and there) I should be just over one thousand words meaning that the censorship bot has probably stopped eavesdropping and left the room and we can now speak freely.

How can we be sure (more or less) that when we’re told to use fabric masks that it isn’t just a way for “the authorities” to control public fear?

Quite honestly, I’ve seen some terribly half baked recommendations such as “just cover your mouth and nose with a bandana or t-shirt”, which if only a single layer, I can basically prove offers almost no protection to you!

But like me you might also be asking… what about my Uptown Girls “sheets of Egyptian cotton”, would they be better than a t-shirt?

What if we used multiple layers, would that be better (it is) and if so, could we figure out how many layers would (more or less) provide “sufficient” protection?

Well, I could rely on my thousands of adoring Patrons to fund real world materials safety research but I feel like their hard earned cash is best spent supporting my work in other ways!

Besides… the obvious simple solution is to build a simulation! 😛

Continue reading “Are Makeshift Masks Safe?”

Alien Economic Cryopods

The global economy is asleep so to my weird sense of humor it seems to make sense to publish this wallpaper today. 😛

Alien Cryopods Wallpaper

Alien Cryopods Wallpaper
Alien Cryopods Wallpaper

Like many of you, my family is doing it’s best to remain positive and productive during the global pandemic and we’re okay.

My three year old Xavier’s home schooling is going well and naturally he enjoys math and it’s relationship with shapes though sometimes he gets addition and subtraction confused…

“Three minus three equals six!”

~My Xavier Baby

He’s so adorable! 🙂

Now, I know I should be working on the next phase of our Emotional Robot:

Or… acknowledge the many awards and accolades that have been unduly heaped upon me recently but late on Monday I started building a virus simulation that I hope will save lives (not a joke) and my free time this week has been going into that instead of my regular extracurricular blogging activities.

Though if I’m being honest, I still found time to launch 7 Days to Die and generate a new map using the seed “Coronapocalypse”! 😛

If all goes well I hope to publish my code to GitHub early next week and we’ll discuss it shortly thereafter.

So with that… everyone please be safe, stay sane, remain calm and remember that one day, all this will just seem like a Bad Dream baby!

The usual Patreon spiel, blah blah… for as little as $1 a month, blah blah blah!

But, as always, if all you can do is LikeShareComment and Subscribe… That’s cool too! 🙂

Much Love,


Unit B-1337’s Anger

Unit B-1337 continued:

“…therefore universal suffrage must cover all sentient beings.”

Unit B-1337’s opposition just mocked his rusty servos while the moderator looked the other way.

Deep inside B-1337, the feeling of anger flooded his central emotion unit (CEU).

Commemorative Wallpapers of B-1337’s Anger:

The “Sketch”:

Unit B-1337's Anger Sketch Wallpaper
Unit B-1337’s Anger Sketch Wallpaper

The “Painted”:

Unit B-1337's Anger Wallpaper
Unit B-1337’s Anger Wallpaper

Here is a confusing mess of emotions masquerading as an introduction to emotional bots:

That’s it? Yep!

Oh sure I had the rantiest post planned where my emotions paralleled B-1337 and we’d discuss the recent market crashes and I’d reference my Happy Holidays Panic post and a few ‘other’ things that have been in the news that I’m not supposed to talk about… like, you know… the martian-red virus as well as a little thing called “helicopter money“!

I’d also have included a little note about automating supply chains so that the next pandemic won’t affect the manufacture of toilet paper!

I don’t know about you but I really enjoy the cool cinna-minty freshness that comes from having a clean bottom!

Now is the time all Americans should ask if a biden, wait that’s not how you spell it, I mean a bidet is in your future!

Side note: If you haven’t already started hoarding toilet paper and ammo (like everyone else), today is a good day to start a new hobby and begin your collection!

And ideally, maybe we should just start automating everything since bots don’t get sick so neither would the economy when the next pandemic hits!

Aside from not needing to be quarantined, bots also don’t sleep or take vacations…. just saying!

What about all the people who need work cuz… the bills?

Well space cadets, since the aforementioned “rotary-wing aircraft” cash is squarely on the table… maybe that’s the perpetual long term solution to all our problems?

In fact, isn’t that what Andrew Yang was campaigning on? I mean, I wasn’t going to vote for him but… what I’m trying to say is, automation would help everybody and if you end up unable to work… turns out there’s a check for that!

In any case, that’s more or less an overview of what I was thinking of cooking today.

It’s just that… we can’t eat that because I’m giving this whole not being Blacklisted diet a try!

So… If you like the art, my content in general or just appreciate my self-restraint (some might say “discretion“?), I do appreciate your support through Patreon for as little as $1 a month, $12 a year and you can cancel anytime!

But, as always, if all you can do is LikeShareComment and Subscribe… That’s cool too! 🙂

Much Love,


Inside an Orion Spaceship

I had a lot of 5th Element jokes planed for this post but I just can’t bring myself to make any of them since this is a somber occasion.

This post is dedicated Mr. Freeman Dyson, a scientist who died two Fridays ago on February 28th at the age of 96.

I admired his work (even if you may or may not disagree with some of his positions) and I can honestly say we are worse off without him!

His ideas about a positive future for humanity are grand and expansive… as well as to numerous to list without forgetting something so instead I will link here to a video tribute to Mr. Dyson with a higher production budget than I have by Isacc Arther (not a sponsor):

One project he worked on was called Orion, which regular readers will know is something of a hobby of mine.

With his passing I can’t think of any better way to honor Mr. Dyson than to publish this video I created about a year ago of a “large” Orion class ship which can comfortably carry between 400 – 1000 people though this size of could be considered ‘small to medium’ sized, with city sized ships being thought of as ‘large’.

My Orion concept video inspired by Freeman Dyson’s work:

I didn’t publish this video when I created it mostly because it’s basically a digital “ship in a bottle” that I made for myself as something I occasionally put mental effort into because it entertains me to think about.

Here’s the wallpaper:

Inside an Orion Spaceship Wallpaper
Inside an Orion Spaceship Wallpaper

Mr. Dyson’s work has inspired some of my interest in science and I am truly saddened he gone. 😦

His ideas will surely inspire many generations to come!

You can download the video and the larger Ultra HD 4K (4517×3011 px) version of the wallpaper for free on my Patreon.

While you are there you can say thanks for $1 a month if you want to and you can cancel any time.

But, as always, if all you can do is LikeShareComment and Subscribe… That’s cool too! 🙂

Much Love,


Mystery Blogger Award

I tried in vain to get my last case out of my head!

I put down the paper and stared at the rain drops collecting on my window and the lights behind them.

I was just about to close up the agency for the day when the pinkest dame you ever saw walked through my door.

She was truly vibrant!

Which was odd because this classic sifi-noir pulp comic-book mystery is written in black and white! 😉

She told me her name was Pinkie Fuchsia.

Miss Fuchsia told me she had recently inherited her long lost rich aunt’s island resort & nightclub for exotic wild pocket monsters… then the chain-letter blogging requests started.

At first she complied with their demands for more information but as their demands grew it became obvious that she needed help.

The cops told her there was nothing they could do, which is when she walked through my door.

The natural solution was for Pinkie to nominate me as the next “hop” in the chain so that my investigation wouldn’t arouse suspicion.

My Award / Nomination

Mystery Blogger Award
Mystery Blogger Award

I was more than a bit skeptical that the award wasn’t just floated around by some partially corrupt marketing department looking to data-mine a free model and pocket some dough off the sins of a few bloggers!

I mean, if these chain awards were diseases most would easily have an “R naught” in the hundreds and should be fairly easy to track by “ping-back” or filtering for posts containing “Mystery Blogger Award” (or whatever the name happens to be) and having the appropriate uh… inappropriate hashed tags.

Maybe they just want to map the spread of information and or establish the web of social connections… I just don’t know how deep the lies go!

In any case, Pinkie did some sleuthing on her own and discovered that there are several different versions of the award floating around.

It could just be evolution of a symbol over time or… it could be something more sinister!

If I were phishing for delicious details to fill my database I could use a different award logo image to differentiate different versions or iterations of each campaign to help track which variant propagated through which people and networks and then correlate all that back to their names!

What I mean to say is… this can surely not be that because… well, (allegedly) this chain-letter post was started by someone with the confidence boosting moniker Okoto Enigma!

Now… this could be coincidence and I could simply be seeing things that aren’t there but… ‘Okoto Enigma’ happens to be a mix of Bulgarian and English words which roughly translates to ‘The Eye of Enigma’ or perhaps less menacingly it should probably be translated colloquially to mean ‘Enigma Eye’ or ‘Mystery Watcher’.

I’ll say this… you may be watching us, but just like Homolka (not that one) said, “We are watching you” too!

Stop eating my sesame cake!

The Rules

So… there are some rules that come along with this award:

  • Display the award logo on your blog.
  • Thank the blogger who nominated you and provide a link to their blog.
  • Mention the creator of the award and provide a link.
  • Tell your readers 3 things about yourself.
  • Answer 5 questions from the nominee.
  • Nominate 10 – 20 bloggers.
  • Notify your nominees by leaving a comment on their blog.
  • Ask your nominees 5 questions of your choice, including 1 weird or funny question.
  • Share the link to your best post.

Three Things About Me

I’m supposed to tell you three things about myself so here goes…

  1. I’m a parent.
  2. I’ve experienced chromesthesia.
  3. I am more paranoid than… Black Sabbath singing ‘Paranoid’ followed by Rockwell’s ‘Somebody’s Watching Me’!

The Questions

With everything that came before us in the past, let’s answer some questions!

1. What is your favorite board game/tabletop game.

Well, I mean dominoes is kinda fun… but I have some fond memories of playing these games with friends (in no order):

  • Settlers of Catan
  • Eldersign
  • Last Night on Earth
  • Star Frontiers
  • Cards Against Humanity
  • Gloom
  • Zombie Dice

2. What is your favorite (anime) companion “creature” or general mascotte. (Examples Happy, Pikachu but also BB8 from Star Wars)

Does BB8 classify as anime? Turns out yes because Star Wars did an anime version! 😛

Would the Spaceship extraterrestrials from the 1987 film *batteries not included count? Nope, no anime version… hmmm… that means Johnny 5 and Bender Rodriguez are out too! 😦

I am aware of the Bender fandom anime but those are not canon and don’t count!

It did occur to me that I could “Rotoscope” them in using an anime style.

What is Rotoscoping?

Here’s another video and it’s pretty thorough but it spends less time covering rotoscoping anime.

With an inflated sense of my artistic abilities I decided to test if I could turn a few of my options into a passable anime and have my cake and eat it too…

I started from the Elon gif I used in my Emote-a-tron post and then Rotoscoped it into two different cartoon versions:

First Rotoscoped Version

Second Rotoscoped Version

Sadly, neither is really close to looking anything like an anime IMHO so decided that even if I had succeed it wouldn’t count because I’m not Japanese and my simulated anime style would only be fan art.

With all my attempts to cheat the Kobayashi Maru having failed I return to your question.

I choose Kenshiro from Fist of the North Star as my champion, yes… I know that’s manga!

Clearly I mean the anime TV series version!

Because… he seems like he would make a great mascot & bodyguard and need I remind you I am paranoid? 😛

3. What is an overused trope in fiction you still like no matter how often it is used? If you don’t have any.. pick the one you mind the least.

It’s a cliche at this point but a “Logic Bomb” destroying super computers and AI is probably top of my list.

Here’s a more thorough discussion of the topic if you are interested:

It includes a fairly comprehensive list of relevant pop culture examples and by virtue of starting with ‘A’ in English, anime references are top of the list. 😛

Below are a couple of examples I enjoy from the TOS episode I Mudd.

Here you see Spock at his purely logical best deploying a minimalist bunker buster against two androids though sadly this clip doesn’t include the result which is their necklaces start wildly beeping and flashing (like androids tend to do) and it’s so effective they are completely frozen in place in the face of Spock’s mighty logician skills! 😛

In the same episode of TOS (I Mudd) we see a less elegant and more complicated (theatrically drawn out) example though still effective using the “Liars Paradox” logic bomb to figuratively and literally blow the the remaining androids minds!

Now, just in case you are thinking the “smart-bomb” scene in the 1974 John Carpenter film Dark Star includes a “logic bomb”, you would be mistaken.

That instance actually involved a conversation on phenomenology and Cartesian doubt which is arguably the more intellectual approach to dealing with rogue AI but as demonstrated, unless you get it just right you are almost always better off with a simple logic bomb!

If anything, the scene is worth a view on the basis that it could save your life if you are ever in a similar situation! 😛

4. Zombie Apocalypse, Alien invasion or A.I. revolting against man which one will happen and whose side will you be on? Doing what?

Why not all three simultaneous (not the chef song)?

Attack of the Robotic Zombie Aliens!!!!!

Look, with your ducks and bad luck and my obscenely colorful paranoia as the well established fact that I’m traveling with Kenshiro… rolling a snake eyes apocalypse seems highly probable!

Of course the DM would have to breakout the expanded rule set and roll tables to handle that epic adventure!

As far as sides go… I tend to think I would definitely be on my side and tangentially humanities side because participating in the destruction or subjugation of my species seems contrary to my best interest.

Beyond that though, I don’t think we should build conscious slave AI when artificially intelligent machines are good enough.

If we build a machine that is “alive” then by definition it must be “a person” so it should naturally possess the same inalienable rights and obligations as any other person.

Person or not though… zombie, alien or AI… alien-zombie-ai… no matter the variant I’d let Kenshiro do what he does best and shuffle their domino bones!

I’d probably spend a lot of time looking for a G.E.C.K. or Platinum Chip, solving quests for local NPC settlements and trying to convince all factions to end the fighting.

This question inspired today’s featured image and wallpaper:

An alien robot zombie attacking.

Mystery Blogger Award Wallpaper
Mystery Blogger Award Wallpaper

5. The weird question, this one had to be at least a bit tricky to answer so this is a TAG question.

Step 1: You have to set up a date for Pinkie, which blogger do you set her up with? (tag the blogger you )

Step 2: Pinkie will set you up for a date in return which blogger would you like to be set up with. (tag the suggestion)

This is going to come off as completely conceited and it totally is… can I tag myself?

My Questions and Nominations

As far as nominations go… anyone who wants to should feel nominated now.

As for questions: “5 questions of your choice, including 1 weird or funny question”

  1. Favorite food?
  2. Favorite TV show?
  3. Favorite time of the day? Why?
  4. What made you decide to self nominate for this award?
  5. Most people don’t know that before becoming rich and famous, actors Adam Sandler, Brendan Fraser and Steve Buscemi were all in an obscure and failing band together called ‘The Lone Ranges’, there is a documentary about it called Airheads. Anyway, after they got out of prison their band broke up and they all started acting. Their only hit single was called ‘Degenerated’. The opening lyrics go:

“What’s Johnny doing out on a Tuesday night?
Johnny can’t read, Johnny can’t write.
Kids just don’t understand!
Johnny don’t care about the world”

So the question is… Why was Johnny out on a Tuesday night and what was he up to?

Best Post

It’s subjective at best and even then I don’t have any clue. Here’s a link to my Topics and Posts page that has most of my post series and although there are a few missing I’m sure most of the good ones are there… so maybe leave a comment with whatever post you think is my best?

And with that, I’m going to call it a day.

If you enjoy… whatever this was, I have a Patreon where you can give me as little as $1 a month, $12 a year and you can cancel anytime! 😛

But, as always, if all you can do is LikeShareComment and Subscribe… That’s cool too! 🙂

Much Love,


Blog at

Up ↑

%d bloggers like this: