I'm a software architect. I'm most interested in backend application development and reverse engineering.
Current job: Principal Architect at Wurl (now part of Applovin)
Previous job: Engineering and Operations at Observable Networks (now part of Cisco)
For more, see my resume.
I maintain several open source software packages. Here are the the ones I'm working on lately:
more-itertools - Python library for working with iterable objects. One of the most-downloaded Python packages.
boto3-helpers - A Python library for automating various interactions with Amazon Web Services.
ada-python - Python bindings (with CFFI) for ada, URL parser based on the WHATWG URL Spec .
python-pure-cdb - Python implementation of the "Constant Database" tools and library.
I've also been a primary contributor to gcp-flowlogs-reader, flowlogs-reader, netsa-pkg, obsrvbl-ona, redis-collections, vod-metadata, and several other projects.
I have developed a special interest in reverse engineering software for legacy processor architectures and embedded systems. Lately I have been applying those skills to video games for consoles from the 1990s and 2000s and writing up my findings for a popular audience.
Here are some of my favorite writeups:
An elaborate Easter egg in the console port of Radiant Silvergun, a Japanese arcade game from 1998.
Breaking the hashing schemes used by the video game adaptations of the 1997 movie The Lost World: Jurassic Park.
Breaking a more difficult hashing scheme used by the first video game from Neversoft Entertainment.
Restoring a scrapped two player mode in Burning Rangers, a 1998 video game from the team behind the Sonic the Hedgehog series.
See many more articles at my Rings of Saturn blog on Substack.
Personal blogging:
High Context Burning Rangers - notes on a nearly-forgotten video game (2023)
The lost car chronicles - never unlock your doors (2022)
The Fifth Iron - yo, I heard you like this one song (2021)
Yes, you can play it - an appreciation of The GHZ, where I spent my youth (2018)
Tech blogging:
Being fooled by randomness - a lesson in how not to stream binary data (2020)
Yo, I heard you like decorators - using and abusing Python decorators (2017)
FTP, "Apr 26 02:xx", and you - troubleshooting on the edge of madness (2014)
Policy blogging:
The fault is not in our stars, but in ourselves - a snarky exposé (2017)
Till then, my noble friend, chew upon this - the followup (2017)
Podcasts:
The GHZ Podcast - My friends do a show about Sega, Sonic Team, the 90s, and more. I have done sound editing for the show and appeared as a guest.
Sonic Weekly - I have also edited and appeared on another show about the long-term effects of exposure to Sega games.
Reference material:
Interpreting ESNs and MEIDs - on mobile phone technology identifiers, the most popular thing I've ever written (2010)
Calculating the Erlang-C formula - I was really into teletraffic engineering for a while (2009)
bo@bbayles.com