Cloudy with a Chance of Static

For my latest post, I’m going to talk a little bit about, well, this blog! Specifically, I’d like to share my recent project to convert it from a dynamic, WordPress-based application hosted on a traditional web server to a collection of (mostly) static pages living in…[insert magical hand wave here]…The Cloud.

Continue Reading →

The Sound of Plastic: Turning a Lego Radio into a Wireless Speaker

I think I can say with near-absolute confidence that I get just as much joy out of building Lego now as I did decades ago. My latest project was the Lego Icons Retro Radio (Item #10334). This model has a clever feature that lets you pop a phone inside to mimic a real device. But what if, instead of using my phone, I could put some dedicated electronics inside to create my very own wireless speaker?

Continue Reading →

Polishing the Chrome: Installing Google’s OS on a Rusty, Technically Incompatible MacBook Pro

When the computing needs of an older relative of ours recently outgrew an aging Android tablet, my fiancée and I turned to a brand new, easy-to-support Chromebook.

But if anything went wrong, how would we be able to help without a Chromebook of our own to follow along on? If only I could figure out how to successfully boot ChromeOS on a 14-year-old MacBook Pro with an incompatible video card…

Continue Reading →

Extra Credit: Displaying the top score in a popular word game

For good reasons, the New York Times does not openly publish the total possible points for its daily Spelling Bee puzzle. But when my partner and I play the game, we like to figure it out anyway and then see how close we can get. This is a well-defined task with well-defined inputs, so I decided to find a way to calculate and display the “Queen Bee” threshold automatically.

Continue Reading →

On the Merge of Something Awesome

I recently detailed a technique for auto-generating a slideshow in Adobe InDesign using data from a spreadsheet. (This is great for awards ceremonies!) But wouldn’t it be cool if there were a way to do this completely within the “free” Google ecosystem? By using a tool called Google Apps Script, I determined that you can, in fact, accomplish the same thing with Google Sheets and Google Slides.

Continue Reading →

Rough Surf: Emulating MacOS 9 – in 2022!

After successfully booting MS-DOS inside an emulator on my M1-powered MacBook Pro, I decided to try out another ancient operating system: MacOS 9.

In this post, I explore what it takes to get it running and what it’s like to browse today’s World Wide Web using a 20-year-old operating system.

Continue Reading →

Getting into the Spirit of Shortcuts

Because we’re nerds, my fiancée and I like to keep track of our score every time we play Spirit Island, a fun but complicated cooperative strategy game. Calculating the score requires looking up a difficulty rating in a table, a fair bit of counting, and some math.

While none of that is especially hard to do, the process could go a bit quicker if most of the work (aside from the counting) could be done automatically.

As it turns out, this is a great job for Apple’s Shortcuts app!

Continue Reading →

It’s Not the Heat, It’s the Humidity!

After the pandemic canceled our Winter Break travel plans for the second year in a row, this meant that my fiancée and I would have a lot more time on our hands than expected.

That, combined with some exceptionally dry knuckles, was just the excuse I needed to try my hand at a new electronics project. My goal was to answer the following question: How dry, actually, was the air in our apartment?

Continue Reading →

Building a Course Pacing Guide – For My Watch!

While I have had a definite fondness for (and occasional obsession with) computer programming since at least 6th grade, I’ve mostly gravitated more recently towards web development.

So for my final project of the summer, I decided to give actual app development one more chance by exploring the world of Swift and SwiftUI, two of Apple’s latest programming technologies.

The goal: build a watch app to help me track how much time is left in class!

Continue Reading →