CODE
CIRCUITS
CAMP
MAKE
FLIGHT

lecertvend - ACME client with HashiCorp Vault storage backend

Posted Feb 4, 2023

ACME certificate issuers have drastically lowered the barriers to having browser-trusted SSL certificates on HTTPS sites and services. However, there are still challenges in managing ACME issued certs on internal-only HTTPS servers. I built the lecertvend tool to separate certificate issuance/renewal from emplacement. I used HashiCorp Vault to tie the two workflows together. The result is an easy and centralized process for acquiring and renewing certificates for both internal-only and external web servers.

Night Flying and Lightbulb Emergency - Appearance on FlightChops

Posted Nov 10, 2022

A couple of years ago I debugged a radio interference issue in a Cessna 172 that had stumped a couple of the local shops. I filmed this effort because my friend Steve has a popular aviation YouTube channel, and we thought it would be a nice fit with one of his sponsors: AeroLEDs. He ended up using that footage in his RV-14 night flight and lighting episode and I got to talk to the aviation world about tiny power supplies sometimes causing big problems.

ipannounce - Finding new SLAAC configured servers on an IPv6 network

Posted Sep 17, 2022

To get a better idea of what gaps and opportunities exist with IPv6 networks, I have been rolling out a lab environment that is 100% single-stack IPv6. One of the great things about IPv6 is that it makes address space planning so much simpler. The standard /64 subnet size is so large that hosts can choose random IPs with practical certainty that there will be no conflicts. This allows new hosts to self-configure without a central management service. So easy! But, how do I find these new servers, especially physical hosts, once they are provisioned? I wrote a small utility to help with that called ipannounce.

Aerobatics with Dave in the Chipmunk

Posted Jun 18, 2022

Dave took me out for some loops and rolls in a DHC-1 Chipmunk!

Small Tent

Posted Feb 21, 2021

Sometimes I don’t need 240 square feet of tent. For those time the “small” 12x12 helps us ease into smaller sites.

Blown Snow Over Iowa

Posted Feb 21, 2021

Flying over Iowa after a winter storm with extreme winds passed through the area, creating a briskly wind-swept look on the ground.

Lake Vermilion From The Air

Posted Feb 21, 2021

Taken from above Lake Vermilion before descending into the pattern at 12D.

Lake Vermilion Sunset

Posted Feb 21, 2021

Camping up at Lake Vermilion and enjoying a fall sunset.

Camp Cart

Posted Feb 21, 2021

The camp cart was an idea I had for adding amenities to my camp setup while towing a boat. Truck campers are too small and expensive, and require a heavy-duty pickup. Travel trailers can’t be taken along with a boat. Triple combinations are huge and also are not a half ton pickup option.

Atmel SAM D20 Based Pump Controller

Posted Feb 21, 2021

I made a speed controller for some old water pump I found. This project was to learn more about the Atmel SAM line of microcontrollers. These ARM based chips are both cheaper and have more features than the AVR line, but it comes at a cost of complexity. For added fun, this project also used size 0603 SMDs extensively on a hand-soldered board.

3D Printed Trim Switch Holder

Posted Feb 21, 2021

The only available new trim switches certified for use in a Piper Archer do not fit the original yoke cap. Initial attempts to create a modified cap with limited metal-working tools failed. Then I attempted a 3D printed new part, which worked great!

Hand Made QFN ATTINY85 Breakout Board

Posted Feb 21, 2021

Being able to create boards for and hand solder small packages like TQFP and QFN allows the use of huge range of ICs that simply do not get produced in breadboard friendly packages. Of course, an ATTINY85 is available as a DIP, but I made a breakout board for a QFN version anyway.

Scala File Glob Parser

Posted Feb 21, 2021

Years ago I worked for two days on writing a file glob parser function in Scala. I still think about that function every now and then.