Skip to content

The Proving Grounds

Technical thoughts, adventures, and projects pulling in no particular direction. Mostly personal musings about things I'm playing with on the side. Sometimes, they're even completed.

Article ·

GitHub Action Runners and the Personal Repository

A while back I made the decision to try and standardize on a single CI/CD/Git platform, and at the time GitHub made the most sense. I've spent years bouncing between GitLab, Gitea, Bitbucket, and GitHub and probably lost dozens of projects in the switches over the

Project ·

Building a Monthly Planner

A post highlighting my current planning/journaling/note taking solution, with a custom set of pages printed and bound together each month.

Article ·

MacOS Setup Essentials

I recently picked up a Mac Mini to offload some longer running tasks from my hand-warming MacBook Air, and with a suspected new laptop also coming in the future I had to stop myself part way through my trawl through the MacOS settings menu and realized I should be writing

Interview ·

Technical Challenge: Checking For Overlap in a Series of Ranges

Introduction I recently stumbled across a question that seemed fairly innocent at first. Something like: Given 3-5 price ranges, validate that none of them overlap. It wasn't immediately clear to me why this would ever be a validation step that would be required, but that's not

Project ·

What Day Is It Today?

One of the common phrases I've picked up over the years and reach for on a regular basis is "it's today today", often in response to someone asking how I'm doing. I think it dates back to an IRC user I used

Interview ·

Technical Exam - Valid Chess Moves

This technical exam question involves taking a chess board as a nested array consisting of <colour><piece> pairs such as "wp" for white pawn or "bk" for black knight, and calculating the total number of valid moves for either side. Given a

Small Part Storage ·

A Storage Grid is Born

Coming in at just over 6 months after I first detailed then plan, it is time for a bit of an update. The first part of the update is that my initial estimate of "a few weeks, and 10 times the cost of just buying some containers" was

Article ·

Ludum Dare 51

This past weekend it was Ludum Dare time again! This time in the lead up I made the biggest pre-event change I have made yet, did almost no prep work, failed to take any meaningful screenshots during the event, and ordered a lot of pizza. Time to dive in. Run

Article ·

Personal Introduction to Mac OS

After reading all the M1 hype, getting ready to buy an M2 device, and then turning my nose up at the increased prices for base models, I've finally taken the plunge head first into the world of Mac OS. It's been 13 years since I last

Article ·

PHP Logging - Injecting File/Log Context

Introduction Recently a work conversation came up around writing interfaces for log events, and whether it was necessary to require __FILE__ and __LINE__ as arguments for a logging event in PHP. For non-PHP developers these are the magic constants that represent the file and line that is currently being executed

Article ·

4th of July Barbecue

The 4th of July, Independence Day, has turned into a day of fireworks and backyard barbecues over the years. Thankfully I am not in a country that celebrates the 4th of July as its Independence Day, but that does not mean I can not talk about barbecues. Specifically, Charbroil barbecues.

Electronics ·

eBay Lottery - Pokemon Crystal

In January, I came across an eBay lot for a single Game Boy Color game, Pokemon Crystal. The listing has since been removed from eBay entirely and I can no longer view the description (not the first time this has come back to bite me), but to the best of

Interview ·

Technical Exam - Laravel Web Crawler

Question > Backend Challenge Using PHP, build a web crawler to display information about a given website. Crawl 4-6 pages of a website given a single entry point. Once the crawl is complete, display the following results: * Number of pages crawled * Number of a unique images * Number of unique internal

PHP ·

Technical Exam - Simple 2D Coordinate Library

This technical exam question revolves around writing a quick library to handle working with some shapes in a Cartesian coordinate system: > Create a small object-oriented PHP library for working with primitive geometric shapes. 1. It should support 2D points, circles and polygons. 2. You only need to implement two

Small Part Storage ·

Small Part Storage

Having picked up some small electronic repair projects over the course of the pandemic, the number of small parts floating about my workspace has reached a ridiculous level. What you see in the title image for this post is some of the parts that go into Nintendo Switch products -

Ludum Dare ·

Ludum Dare 50

It's that (semi-annual) time of year again - Ludum Dare 50 ran from April 1st to 3rd (Compo), and I submitted an entry at the end of the event. This post is a recollection of problems I faced, the bugs I fixed after submission, and some ramblings regarding

Open Source ·

VSCode Bug Tracking (#142109)

Discovery This bug starts out like most bugs do - I came across it by accident, didn't understand it at first, and it consumed an entire day where I got very little done because of it. The initial work wasn't anything special: switching from writing stylesheets

Ludum Dare ·

Ludum Dare 49 Wrap Up

It's now a few months past a few months after Ludum Dare 49, and I'm quite late at getting this finished. I've also lost all my notes on the development process and the whole process is a blur - but with Ludum Dare 50

3D Printing ·

Salton Toaster Oven Dials

This post is related to an existing post [https://tharba.kim/app-fueled-configuration/]. There may be some overlap in content. Recently I pulled our aging Salton "Convectaire" toaster oven out of the cupboard it has called home for the past 5+ years, and wanted to use it for toasting

Project ·

App-Fueled Configuration

Lets talk about this trend that has been around for a few years. Configuring some physical object using an "app" on a phone or tablet. Generally speaking it's pretty slick, and the whole process is pretty painless when it works. When it works. Unfortunately that'