Hi, I'm Mark Watson, a software engineer based in Colorado, currently working at Ibotta. You can reach me at cpanel@markwatson.dev or through any of the social links below.
Projects
A few projects and tools I've built over the years:
- caesium (2026) A GPS-disciplined NTP time server built on an ESP32 microcontroller with a SparkFun NEO-M9N GPS module. Achieves sub-ms accurate timekeeping using GPS pulse-per-second signals. Completely useless but fun.
- ProjectL289Mobile (2026) An open-source mobile app implementing the Watch Optical Protocol for L289.2 movement watches (found on Longines Conquest V.H.P. watches). A right-to-repair solution that syncs timezone, time, and date on Android and iOS.
- s3grep (2019) A simple tool for searching through files in AWS S3. It used S3 Select to find matching lines inside files. Note: Since S3 Select was deprecated, this no longer works as of 2024.
- serv (2015) A lightweight static file server that can serve multiple directories from a simple JSON config. I built it because python -m SimpleHTTPServer was sometimes too slow. It's a single binary and can be installed via go install.
- csv.py (2015) A robust (but not super fast) CSV parser written in Python as a learning exercise. It's designed to handle weird CSV edge cases, like quoted fields with newlines — things many standard parsers choke on.
- url mover (2013) A simple Chrome extension to redirect URLs based on a set of rules. Note: this extension is no longer available, as it still needs to be updated to support manifest v3.
- expander (2012) A macro-like language that lets you run code inside a text file and output the expanded result.