It’s been nearly a year since my last post. I’ve hesitated to write because I get so caught up in what I should say that I never actually start. This time, though, I opened a blank text editor with a single goal: to write about how developing a product feels like navigating a maze.| dev/tails
Tutorial for how to render a waveform animation using the audio data from a sound file in the browser.| dev/tails
After using the MediaRecorder to capture a canvas as a video, I figured there was a better way.| dev/tails
It’s the start of the new year, and like most other people I’m rethinking a lot of things and how to improve. Last year I purchased adamberg.blog and considered using that for more consistent updates that were less SEO focused and more stream of consciousness. I never really stuck with it, but every time I did write a post there I got big value out of it. My domain subscription lapsed and so I was left with wondering whether I renew or just put that on this site.| dev/tails
When I first got this watch I was excited, but was immediately overwhelmed by the documentation to the point that I thought I wouldn’t actually be able to reprogram it. After pushing through I eventually narrowed down the information into what worked for me. This post will go over how to build and install your own custom version of InfiniTime onto your PineTime watch.| dev/tails
Solution for Advent of Code (AoC) 2023 Day 3: Gear Ratios in JavaScript:| dev/tails
Solution for Advent of Code (AoC) 2023 Day 2: Cube Conundrum in JavaScript:| dev/tails
Other solutions: Day 2 Day 3| dev/tails
Intro| dev/tails
Intro| dev/tails