Archive of posts with category 'Software'

Writing an Arduino library for Pixel Dice

I wrote a library for connecting Pixel dice to the ESP32 mcu and published it for Arduino and PlatformIO.

Custom Sound Board for Pixel Dice Using QPython

Well the Pixels Dice KickStarter I supported like 3 years ago finally came in. I wanted to do something fun with them before I played my next TTRPG session, so...

Understanding Linux Pipes to Capture a Process's Last Words

For a work tool, I wanted to capture the last output from a process if it crashed. I ended up doing a deep dive into Linux data pipes to accomplish...

Optimizing Searching a File for a Binary Sequence in Python

I recently spent some time optimizing a deserialization tool at work. I wanted to walk through my process for optimizing this Python code.

CLI Murder Mystery

For old time’s sake, I decided to do a quick write up of the cute “educational” mystery game that tests your Bash knowledge https://github.com/veltman/clmystery. This is very reminiscent of the...

Running Syncthing on ancient QNAP NAS

Syncthing is a Dropbox alternative that I’ve wanted to try out. I decided to set it up to run on my decade old QNAP NAS.

Software Bug Hunt

Recently, at work, I was faced with one of the more satisfying bug hunts that I’ve had in awhile.

Server Side Site Analytics

I’m removing Google Analytics from my blog, but I’d still like to see view counts. To do this I’m running my own analysis on the HTTP request logs provided by...

Running Card Conjurer Locally

Unfortunately, the custom magic card creation tool Card Conjurer has been taken down by Wizards of the Coast. However, you can still use the tool if you run it locally....

Phoenix Wright Reenactment of Alex Jones Trial

After watching a clip from the insane Alex Jones Cross trial, I thought it would be funny to make a Phoenix Wright reenactment.

Toy AVR OS

As an educational project I could do purely in software, I decided to make a toy OS for an AVR microcontroller from scratch.

Understanding C Struct Binary Representation

While C structures seem very straightforward, there are some surprising behaviors if you need to get consistent binary representations across different processors and compilers.

Custom PCB Magic Card Game Life Tracker

I had my first circuit board printed. I made an extremely over engineered life total counter.

Controlling WLEDs with Scratch

Scratch is an online visual programming tool meant to introduce children to programming. I made an extension that allows the language to control LEDs through a WLED controller.

Haunted Doll Keyboard with VUSB

I added a USB cable to a doll which would be detected as a USB keyboard, and give a personality quiz through notepad. The user starts and responds to the...

Two Keys Wedding Gift Box

I made a decorated box that opens when a magnet key is placed on both sides.

Logging a Cheap Air Quality Monitor

With fire season approaching in California I wanted to get a air quality monitor to see how bad the air is over time. I thought I’d do another reverse engineering...

Adding Wifi to a Weather Station

I bought a cheap weather station with the intent of adding networked data logging. I ended up reverse engineering both the RF transmission, as well as the inter-chip communication at...

Setting Up GNURadio and Tracking Planes

I bought a cheap software defined radio (SDR), and tracked planes in realtime with ADS-B. This was a bit of a warmup for a bigger project I wanted to use...

Testing Cross Compiling with QEMU

Having to frequently set up cross-compilers, I figured it would be interesting to write out my current understanding and see what gaps I have. I found it educational to set...

Dashboard to See Dice Stats from Roll20

Unsurprisingly, I am a member of a DnD (Pathfinder actually) group. During the pandemic we switch to playing online with a service called Roll20. We would often joke about the...

Creating a Library for Google Nest API Monitoring

After the Roomba and Reolink, I thought Nest devices would be a snap. How wrong I was. Google made this much, much then it had any right to be.

Reolink Python API with checkmk

Who watches the watchmen? In this case I set up a check to monitor my security cameras.

Roomba Python API with checkmk

I wanted to know what my Roomba was up to without going through official channels.

Creating Home IT Monitoring with checkmk

My home has a lot of computers and other devices on the network. To the point where I decided to set up some monitoring infrastructure.

Hacking a Yo Digital Microscope

Since the last article was on the female side of fertility why not switch to the male? Yo produces a test kit to measure sperm count. It’s main selling point...

Tearing Down a Digital Ovulation Tester

In starting to try to have a baby, my wife got a digital device to track her hormones. Who am I to turn down an opportunity to reverse engineer something?...

A Sun Following Chair for my Cat

I wanted to do a quickish project over my time off for the holidays. I had a recently broken a coffee grinder, and it inspired me to automate a chair...

Scraping a web journal with Selenium

Last year I kept a daily journal using the Journey android app. After falling off the wagon, I wanted to export my entries to a more durable format, so I...

Adding Video Call Effects with OpenCV

After seeing some co-workers use snapchat filters with Zoom, I was inspired to find a simple way to program custom effects that would work with video calls. I skipped out...

Experimenting with GCC Linker

I spent a little bit of time trying to expand my understanding of the GCC linker. I was a bit surprised the hoops I needed to jump through, but I...

Internet Cutoff Switch

I had a really cool 3 position key switch that I’ve been trying to come up for a use for. I decided to make an IoT controller that could turn...

Dishonored 2 Jindosh Riddle

I wrote a quick script to solve a logic grid puzzle in Dishonored 2. It probably would be a decent tool for solving arbitrary logic grid puzzles.

Hacking Capture the Flags

I’ve been learning the basics of penetration testing and reverse engineering by doing capture the flag (CTF) puzzles.

Unity Cat Stopwatch Game

I wanted to make a very basic game to get a bit more experience with Unity, so I made a game base on how our cat stakes out her food...

Icosahedron Travel Globe

Well it’s been awhile since we’ve been able to travel, so to feel better I decided to make a memento to the big trip Maria and I went on last...

Lying Game with React and Websockets

With the current call for social isolation, online games have been a way to get some level of socialization. Since a lot of the people I want to play with...

Exapunks Optimization

For something a little different, I thought I’d look at the process I went through to optimize a solution in the game Exapunks.

Web Based Door Control Update

Another update to Web Based Door Control. Here I take the path of least resistance to add Google Assistant integration and uptime monitoring by integrating with Blynk, IFTTT, and UptimeRobot....

Added SSL to Blog

I finally decided to go through the hassle of setting this blog up with SSL. While normally this wouldn’t be too hard with https://letsencrypt.org/, since I’m using S3 bucket based...

x86 Boot Loading

In my previous careers, I’ve spent a decent amount of time involved with bringing up processors in embedded platforms. However, despite spending a decent amount of time working with bootloaders...

Fire Emblem Lights

As gift for my wife’s birthday I wanted to make something to celebrate our shared time with the game Fire Emblem Three Houses. I was originally inspired by a light...

AWS IoT Setup

As a followup to NodeMCU Development, I decided to connect my project to the AWS IoT cloud to see what that entailed. Turns out, it’s a huge amount of headache...

SQL Murder Mystery

Had some fun playing the SQL murder mystery game at https://mystery.knightlab.com/. Pretty fun way to refresh myself on SQL syntax. I figured I’d record my thought process playing through it....

Fog of War Game

I made a tactics game with a gimmick of espionage in the LibGDX Java framework. This is probably the most complete game I’ve put together.

Sushi Go Arena

I made a framework for testing AI’s made to play the card game “Sushi Go”. Source at https://github.com/axlan/sushi_go_ai . It included a GUI to allow a human to play against...

Gif Editting

I’ve done a little GIF creation and pixel editting in the past, but I wanted to take another stab at making a sprite. I eventually found the awesome free program...

Programming Odds and Ends

Here’s a bunch of other old projects I dug up while updating the site that I’m throwing together into a pile. This time programming!

Laser Stars

This is a bit of a weird one. I’m not sure what drew me to this project, but I decided to do a project to use a laser to draw...

Using NixOS to Manage Hardware Testing Environments

This was a blog post I did for Swift Navigaiton. I appears it’s been lost to the sands of time, so I’m reproducing it here.

Site Moved to AWS / Jekyll

I decided I should probably move my site to a less fragile platform. I’ve been using Wordpress on 000webhost. 000webhost is fine for a free host, but about a year...

OKCompute Analysis Framework

As part of my work at Swift Navigation I’ve done a lot of work analyzing the results of test runs and building CI frameworks to generate metrics or raise alarms based on...

Spirit Island Boardgame Helper

Over the holidays my wife and I had some fun playing Spirit Island. The game describes itself as “The cooperative settler-destruction strategy game”. As a fun project to refresh my...

Visual Studio Code Multiline Find Extension

Visual Studio Code has been my text editor of choice for awhile. I enjoy that it’s a bit out of left field when it comes to the VIM vs Emacs...

Wreath Pixel Display

This idea was based on the concept of making a “Sound Catcher” pixel display. I’ve been wanting to make this for a long time, but only recently made the time...

Version Control Game

I often get ideas to make games, but rarely have the time needed. I had an idea for a game mechanic based on version control, and thought it would be...

Pong Clock

Wow this is an old one. I’ve decided to go back and write up some of the first projects I did.

Time Tagger App (Part 2)

After getting the most basic functionality working I realized I had hit a bit of a dead end. SQLJet was severely limited in how it could manipulate the data. I...

Time Tagger App (Part 1)

I’ve wanted to document my work from start to finish on a project for a while, so I decided to try a screen capture program. I’ve used a bunch of...

A* for 2D path finding

I wrote this almost a year ago, but never posted it since I didn’t get a chance to fully comment the code. Since I probably won’t get around to it...

Scraping Google Maps for Traffic Data

I have a daily commute that I drive down the US 101 highway. The length of the drive can vary immensely with traffic, and I’ve always been curious what the optimal departure...

Security Camera From a Webcam

Here’s a quick project that came together the evening before a long vacation. In order to get a little piece of mind I wanted to set up a simple security...

Evilution

This is a very simple evolution simulator.

Webcomic Viewer

This was another app made to add a specific function I couldn’t find elsewhere. This apps purpose is to view the title text associated with an image. Specifically for webcomics...

Plant Pal

Google Play Link My first published android app. I decided to take a problem that I couldn’t find an existent app for and make a solution myself.

GPS Spoofer

This was an app that I didn’t publish. It used the developer interface to control the phones apparent GPS location over the network. This was just a proof of concept,...

Web War

This is a simple demo that builds a video game level based on the content of a webpage.