Books Annotations App

The Books app on iPhone (previously named iBooks) allows you to highlight text and leave notes. Unfortunately there's no good way to export these, as the information isn't stored in the ePubs themselves. The information is saved in the Media folder though, which is accessible from iPhones over USB. I built an app to read this into a searchable UI without having to install a bunch of software or pore through full backups.

Read More

Rom-com Bingo

I noticed a while back that a lot of new romantic comedies (especially those pumped out by streaming services like Netflix and Amazon Prime) have optimized their formulas to the point that you can predict basically the whole plot from just the title and movie poster. To bring a little more spice into them, I started playing bingo with common tropes. To make it easier, I built a website that allows you to build a bingo board out of your own tropes and some defaults, and then compete to get bingo first (or in many cases, as many bingos as possible)!

Read More

Crossword Grid Builder

I've been getting into crossword constructing, but found the initial process of staring at a blank 15x15 grid to be one of my least favorite parts. Just like themes and seed entries can be good ways to get a foothold, I ended up building this tool to allow you to explore interesting constructions through an interactive heatmap of previous NYTimes puzzles. As you place black squares into the grid it will update the heatmap to only show grids that include those black squares (though ideally you should diverge from history: 70% of published puzzle grids are novel).

Read More

Pearls Before SwAIne

Back in 2016 I wrote some code to automatically transcribe 'Pearls Before Swine' comic strips to make them searchable. At the time, this transcription relied on Tesseract, the "state of the art" OSS OCR program. As part of that I used a segmentation algorithm based on linear whitespace to separate the original strip into boxes, and then attempted to do something similar for the bounding boxes of the text. This had a lot of problems, in part because the OCR program was not that good on the handdrawn font, in part because the dialogue boxes were inconsistent (which you can see in the image below), and in part because my code wasn't very good.

Read More

Screenshot Folder in Dock

I often forget how to do this, but I find it incredibly useful so here's a quick image-rich tutorial on how to set up a Screenshots folder in your dock on MacOS that's visually accessible:

Read More

Image Motion

My brother is an artist (check out his stuff at https://www.instagram.com/beals.art/ or at https://spencerbeals.com). He had created some art pieces that he wanted to talk about in depth, by panning over the image. Unfortunately while there are a lot of tools online for a Ken Burns-esque single pan-zoom combination, there wasn't one that that worked with multiple, and not one that smoothed out the camera, or allowed for looping.

Read More

Dartmouth ID and Flipper

I was up on campus again for my 5 year reunion, and it felt wrong to not be doing something slightly sketch around the Dartmouth ID, just for old time's sake. Luckily, I'd recently acquired a Flipper Zero for some exploration around the old Gamebody Link Cables which allowed me to put some of my historical information to the test.

Read More

Fiddler, Excel, and "Good Enough"

My family's dog of 10 years, Neko, unfortunately passed away a couple of months ago. My parents decided that now was a good time to start looking for another beautiful dog to bring into their life, but were having some trouble finding a dog that fit their requirements. Neko, and our dog before that, Macy, were both black British Labrador females. More than that, they actually came from the same breeder, some 14 odd years apart. Unfortunately the breeder didn't have any available, and so my dad went out to get a list of breeders that he could contact. So he shot me an email.

Read More

iTunes to Spotify Playlist Converter

For years, Spotify had a way to import playlists from iTunes into Spotify. Now, there are a variety of websites that claim to do it, but either can't accept large .xml files, or crash constantly. So I decided to write up my own. It just takes in the iTunes Media Library.xml file, extracts the playlists, and lets you choose which one you want to download. From there, it searches using the public Spotify API for the song name and artist, and combines them all into a long list of track IDs, that can be easily copy and pasted into Spotify.

Read More

Making a Dumb Smartwatch Smarter

I recently was in the market for a watch. I wanted a smartwatch, but I wanted something that looked more like a normal watch, as opposed to a slab of silicon and a screen mounted on my wrist. I still wanted sleep tracking, athletic tracking, and notifications, but not with the changed appearance. I settled on a hybrid smartwatch from the Fossil Q Commuter series. However, I got to thinking: given that it interacted with an iOS app on my phone, maybe there was a way to hijack the commands, and run my own! A way to make the "dumb" smartwatch a little bit smarter.

Read More