This code is crap

Posted on Thu 31 August 2023 in Software Engineering • Tagged with engineering

Throughout my career, I've frequently heard developers lament that "this code is crap!" (well, they usually say ). It's usually some mid or senior level engineer looking at the existing codebase whining about how "bad" the old code is. To those situations, I say there's never a valid time to say …


Continue reading

Dad Jokes As a Service

Posted on Mon 24 July 2023 in Python • Tagged with python

Everyone loves a good dad joke

... now, if only there were some good dad jokes!

The ICanHazDadJoke site claims to maintain the internet's largest collection of dad jokes. GitHub user CrossNox has made a nice wrapper around their API. Together, this lets you retrieve a random dad joke programmatically.

Why …


Continue reading

Getting a Boolean from any value in Python

Posted on Fri 14 July 2023 in Python • Tagged with python

Getting a Boolean value from any data type

Recently, I was building a webhook that needed to accept and operate on varied data from outside sources. Included in that data were values meant to be Booleans. However, some callers were sending values like "Yes" or "no" or even "-1". I …


Continue reading

Mr. Huntley's 1914 Chandler Light Six

Posted on Thu 09 March 2023 in cars • Tagged with cars

Identifying the car in an old photo

One of the greatest parts of living in an old house is identifying the history of its occupants. In this photo, we see A.E. Huntley, the original owner of our house, looking rather dapper in his car. His grandaughter shared the photo …


Continue reading

My first custom PCB

Posted on Wed 25 March 2020 in Making • Tagged with electronics, pcb

I had many troubles this year with my Christmas light electronics. Solder connections went bad multiple times. Wires got snagged and tangled during setup. It was tough re-soldering connections while sitting in a snowbank with the circuit hanging by its wires from a yard decoration.

I decided I could fix …


Continue reading

Remote work

Posted on Sun 15 March 2020 in Software Engineering • Tagged with engineering

As I write this, Coronavirus / Covid-19 is on everyone's mind. For many, social distancing and self-quarantines will mean working from home for perhaps the first time. I've worked remotely for over 20 years. Let me share some of what has worked, and what hasn't for me.

I'll start with some …


Continue reading

Dark mode with CSS variables

Posted on Sun 09 February 2020 in WebDev • Tagged with html/css, webdev

Dark mode is the hot schnitzel these days. Not wanting to be left behind, I recently updated my site to use a dark or light mode depending on your operating system preferences. Thanks to the magic of CSS media queries and CSS custom properties (otherwise known as CSS variables) this …


Continue reading

Controlling Christmas lights with MQTT

Posted on Thu 02 January 2020 in Making • Tagged with python, arduino, xmas

I'm one of those Clark Griswold kind of guys that totally over-decorates his house. To make my lights more interesting, I've built my own light animation system which I call PiLit.

Of course, all my code is free and open source. Check it out at https://github.com/skypanther/PiLit …


Continue reading

Robovision on our 2019 FRC bot

Posted on Mon 15 April 2019 in OpenCV • Tagged with robotics, opencv, python

Now that our 2019 FRC season is over, I'd like to describe how Team 1518 implemented vision processing on our bot. We set some aggressive goals, which we aimed to achieve by using the the robovision library, OpenCV, and Python on a Jetson TX2. The primary goals of this post …


Continue reading

Introducing Robovision

Posted on Sun 10 March 2019 in OpenCV • Tagged with python, opencv, robotics

The FIRST robotics competition (FRC) challenges high school students to design and build a robot capable of performing multiple challenging tasks. These annual challenges typically involve computer vision components, such as identifying and using reflective markers to locate targets. High school computer science curriculum rarely covers software engineering topics, let …


Continue reading