Geek Girl Joy

Artificial Intelligence, Simulations & Software


April 2019

Bot of Thrones

I know what you are thinking…

“Joy, bring back the code!!!!”

Look, I hear you! Really I do, and we’ll look at more code don’t worry!

But today I want to talk about something even more important that affects us all.

You see I was scrubbing my toilet this past weekend when I thought to myself…

“This job is quite literally shitty, somebody ought to build a robot to do this! Since I occasionally resemble something of a tech professional, why don’t I do something about this?”

I swear it happened just like that! πŸ˜›

Then I remembered a thing called “development costs”… that’s why!

So I started to ponder ways to bring down the cost of building a hypothetical “Latrina Exuperet Automaton” and it occurred to me, the answer already exists!

Hear me out… what about all those cheep (relatively) plastic ride on wheeled toys that are powered (I’m desperately trying not to mention a children’s brand name of toys but it has power and wheels in the name, partially so I don’t get sued (please don’t sue me!) and partially because they didn’t sponsor this lovely content! πŸ˜› ).

What if you basically did what they did… thermoform a series of parts out of polyethylene with form fitted rubber gaskets between the joint seals making the bot effectively waterproof.

Kinda like this (appearance subject to change πŸ˜› ):

Everywhere there is a switch in the toy circuit you would replace that with a potentiometer tied into an H-Bridge which connects to a Raspberry Pi (or equivalent) thusly replacing the child with something that can actually be taught! πŸ˜›

The wheels are hollow and plastic and it can only drive 2 miles an hour so your cat can outrun it and most of the weight is from the 1 Gallon (~37.8540999993543 Deciliters) of on board clean water and that’s only 8.34 Lbs (~3782960 Miligrams) so if it starts to give your toddler guff they can easily body slam the robot no problem, though experts agree young children should not bench press more than 1 Lbs (~4.53592e+11 Nanograms).

I’m gonna go out on a limb here and just say that in the event of robot uprising “experts” can stuff it!

Now, I know you are worried that I haven’t seen the 1984 Sci-Fi film Runaway, let me assure you I have!

Seriously, are you really all that concerned about the possibility of domestic robots rebelling against you?

“Like… what if it gets a hold of dad’s old revolver like the robot in Runaway did?”

Paranoid aren’t we!? Okay, I’ll play along! But I have to ask… why are you leaving it out for a robot to find anyway? That’s just irresponsible!

Anyway, if Runaway taught me anything it’s that as a society, we will have to grapple with (but ultimately accept) the ethical issues associated with cloning Tom Selleck.

Look… there just isn’t enough Selleck to go around with only one to keep us all safe!

Cloning Tom is the only rational course of action left on the table for humanity and it ensures that any bot that violates Asimov’s three laws of robotics will have to face an elite squad of laser toting Selleck clones.

It just has to be people!

I’m sure Tom knows this and for the good of all humanity will volunteer for this heavy responsibility!

As such, we should put Mr. Selleck’s face on the front of the $7 dollar bill with “In Selleck We Trust!” emblazoned across the back and along the top with a robot being crushed in a flying eagles claw!

With the safety of our civilization assured and the obligatory cultural recognition for the plurality of Mr. Selleck accounted for, we can now turn our attention to how we actually make the bot address our excremental sanitation needs.

What follows, while not a formal proposal, is my intellectual property and I am absolutely open to offers for licensing production rights if the offer is reasonable. πŸ˜›

God damn it iRobot, (not a sponsor πŸ˜› ) don’t you steal this from me!

I’m being totally reasonable! All I am asking for is a flat licensing fee plus a small “per unit royalty in perpetuity” but we don’t need to discuss such details just yet. πŸ˜‰

Anyway, what if we just got some cheep old school webcam’s with a resolution around say… 300×250 so no pooling (down sampling) is required.

That would kinda look like this:

The Bot's View of the World
The Bot’s unprocessed 300×250 pixel View of the World

You take the feed from the camera and run several convolution kernels on the image, like Laplacian:

The Bot's unprocessed 300x250 pixel View of the World after a Laplacian operation.
The Bot’s unprocessed 300×250 pixel View of the World after a Laplacian operation.

Let’s also use a vertical Sobel kernel:

The Bot's unprocessed 300x250 pixel View of the World after a Sobel operation.
The Bot’s unprocessed 300×250 pixel View of the World after a Sobel operation.

While were at it lets also try a vertical Scharr kernal:

The Bot's unprocessed 300x250 pixel View of the World after a Scharr operation.
The Bot’s unprocessed 300×250 pixel View of the World after a Scharr operation.


And of course we can also run the inverse as well as horizontal versions of these kernels.

These images are “fed” to a neural network which uses the edge information of the images to find and highlight the “work area”… it’s a little more complicated than that but I’m on a roll so ignore it! πŸ˜›

It would roughly be the equivalent of this where the “work area” is colored red:

Additional images and processing let’s you infer bowl depth and contouring, effectively mapping the pixels to three-dimensional vector coordinates thereby making it possible for the bot to plot it’s position in space and also traverse the surface of the bowl, scrubbing it with a rotating wand scrubber.

As the robot cleans it updates its internal map of the scene to know where it’s cleaned, looking something like this:

Once the scrubbing is complete the bot uses a pressurized jet of water to scour the surface and remove any remaining detergent.

I hear your worries about the seat! I assure you that will be resolved and the bot will remember to put the seat down when it’s done! πŸ˜›

I’m also hearing grumblings about not wanting the same scrubber that the bot uses on the toilet to be used on the sink and tub. Eww! I know what you mean!

Obviously the solution to that is to give the bot holsters (cowbot style) for the attachments so that when not in use they sit in an opaque cup (more or less) with UV-C LEDs sterilizing the cleaning equipment after every use and having one for each fixture we want it to clean (toilet, sink and bath) which eliminates any chance of cross contamination and generally keeps things cleaner!

But what if it gets… you know, really dirty?

Fear not! Remember those rubber gaskets I mentioned in the beginning of this post?

Since the bot would be effectively waterproof (don’t drop it in a pool or a full bathtub) then we would be able to rinse it off in the shower.

Your choice of shampoo! I suggest following that up with a nice conditioner that supports healthy curls so the bot can rock a trendy new look for summer!

Once it’s done cleaning, like all good pets it can return to it’s induction charging pad!

Sadly for the near future you will still need to replenish the water and any cleaning solution manually… hey I can’t think of everything! πŸ˜›

Like you, I’m a little bummed we didn’t actually get to build this prototype!

Sadly those “development costs” are actually a real thing so if you would like to revisit the Bot of Thrones then leave a like on this post and convince a few thousand of your friends to support me over on Patreon for as little as $1 a month. πŸ˜›

But, if all you can do is like, share, comment and subscribe… well, that’s cool too! πŸ˜‰

Much Love,



Simulated AI Man

Been doing some modeling for upcoming projects where we need a humanoid and thought you would like a gander.

Keep in mind that it’s very rough and it’s meant to be. I was shooting for a blank “every/any man” placeholder or “simulacrum hominem”.

I nicknamed the model S.A.M. for “Simulated AI Man”.

I was originally going to go with Artificial AI Simulation… but I figured I’d catch it in the end for that one! πŸ˜‰


Here is the half-assed boning/rigging job I did:

Here’s some whole-assed action shots of S.A.M.:


If you want to see my S.A.M. in some upcoming projects then head over to my Patreon and drain your bank account of as little as $12 bucks over the next 12 months because it’s not like you we’re going to pay your student loan bills with it anyway!

But, if all you can do is like, share, comment and subscribe… well, that’s cool too! πŸ˜‰

Much Love,



The Gamer Tag

Hot patootie, bless my soul… recently I was tagged to answer some questions about gaming.

I know that I should probably just answer these questions as straightforward (shortly and sweetly) as possible with regard to the premise of “minimal effort, maximal gain” and all that sort of thing… but well… that’s just not what I do. πŸ˜›

Besides, isn’t the purpose of lists of questions like this to “pick the brain” of the person answering the question?

Usually I try not to discuss myself too much because if I’m being honest, I’m just not that interesting! πŸ˜›

But since you asked, okay let’s ponder my relationship with games and hopefully we don’t get caught in any celluloid jams on the way to the late-night double feature blog post show!

So let’s head up to the lab and see what’s on the slab.

Continue reading “The Gamer Tag”

Rocket Test

Hello everyone, hope all is well. πŸ™‚

I took last week off because… well I was busy. But, it was with future blog content so that kinda counts right? πŸ˜›

It’s actually, several prototypes for several different upcoming series and as I recently mentioned one is a neural network and that one is going to be especially fun!

All that concurrent development is great for the portfolio though limits my writing.

I keep telling myself I should write about the process as well as the results but… well, that isn’t always so great for the portfolio. πŸ˜‰ πŸ˜›

Anyway, despite my desire to prevent my blog from becoming a professional “show and tell” I didn’t want to leave my readers hanging two weeks in a row.


Rocket Test

I rendered this in Blender and I published a short flyby on YouTube. I really like it but in retrospect I wish I had spent more time and done something cooler (and longer) than a flyby… then again… I still may.

Please enjoy. πŸ™‚


I hope you enjoy my art.

If you appreciate my work and would like to say thanks, please support me over on Patreon for as little as $1 a month, thank you!

But, if all you can do is like, share, comment and subscribe… well, that’s cool too! πŸ˜‰

Much Love,



Getting Started With Neural Networks and PHP in 2019

So it turns out that I am the worlds premiere neural network developer working with PHP as my language of choice… trust me that sounds way more glamorous than it actually is! πŸ˜›

I feel confident in saying this though because I literally wrote all the examples of neural networks in PHP.

I also added the bulk of the user contributed comments about the FANN extension over on

I’ve also written a bunch of PHP Neural Network Tutorials and more are on they way! πŸ™‚

Basically, I’ve worked very hard to establish my credibility so that when I speak on the subject I do so with a modicum of authority… hopefully. πŸ˜›

Anyway, I was contacted by a reader about my OCR Neural Network this past weekend, seems they were having some difficulty in getting FANN to work on their machine:

I have tried to run this project, but i am not able to resolve the error produce by fann library. please guide me with it how to resolve it. ~Abhijit Gutal

When in doubt ask for help!

I replied to Mr. Abhijit though I got no reply.

No worries though, I’ve been meaning to re-address the issue of setting up a FANN development environment since Amazon bought C9 so now seems like a good time to do an update!

What we’ll cover in today’s post:

  • How to download and install Virtualization Software for free.
  • I walk you through the basics of how to build a Virtual Machine and install Linux on it.
  • How to install Git, PHP, FANN & the PHP extension.
  • How to test everything is setup correctly.
  • What to do next.

All that in just one post!

So… Ready to get started creating your own neural networks using PHP? Continue reading “Getting Started With Neural Networks and PHP in 2019”

Blog at

Up ↑

%d bloggers like this: