Update for the week ending on Friday, Sep 30, 2022
TinyPilot
Management
- Continued interviewing candidates for new support engineer position
- 1:1 with support engineer
- Sync with EU distributor
- Sync with hardware engineering partner
- Spoke to local sheet metal shop about creating prototypes of sheet metal cases
- Canceled Partsbox subscription
- We’ve decided to switch to a simpler method of parts accounting for electronics components
Software development
- Tested the TinyPilot Pro 2.5.0 release
- Adjusted the release process to upload release testing artifacts to TinyPilot’s PicoShare service
- Previously, it uploaded to a server within my office, but uploading directly to PicoShare involves fewer moving parts
- Finished Ansible role changes to support Debian Bullseye
- Adjusted the load TC358743 EDID service to restart on failure up to 20x
- Added support for uStreamer 5.x to ansible-role-ustreamer
- Updated update service to log the version number it serves to clients for TinyPilot Community
- Updated update service to log client metadata (software version, distro) for TinyPilot Pro
- Reviewed change to TinyPilot’s UI style guide
Customer support
- Added a playbook response for when a customer says that they couldn’t flash their microSD
Talk to Stan
Talk to Stan is a tool I’m working on that will respond to templated emails I get from spammy marketers and recruiters with a sequence of templated responses to ask the spammers an endless series of dumb questions.
- Finally completed the migration to dynamic responses
- Previously, all responses were hardcoded in source. Now I can adjust them on the fly through the web app.
- Added support for adjusting priority of different responses
- Added more canonicalization of messages
WanderJest
WanderJest is a website I created in January of 2020 and then shelved soon after due to the pandemic. I’m currently porting it from Firebase to SQLite, similar to what I did for What Got Done, except in this case I’m also replacing the Vue code with vanilla JS and HTML custom elements.
- Created an HTML custom element for uploading images
- Started on web forms for adding new performances and editing existing performances
- Refactored server-side image cropping code
- It’s been six months since I implemented it, and I no longer understood it
- Created an HTML custom element wrapper around Google Maps API to enable autocomplete for specifying a performance venue
- Changed SQL to create initial tables using migrations instead of an init script that runs everything every time
- Fixed a bug in my URL parsing
mtlynch.io
- Continued writing up notes for Strong Towns
- Updated my August retrospective to include a response from Pieter Levels on my criticism of RemoteOK
resticpy
- Adjusted CircleCI config to skip Coveralls on forked PRs
- Forked PRs don’t have access to environment variables, so they can’t upload code coverage data to Coveralls, as it requires a secret env token
- I’m not sure how most people handle this because this seems like everyone would run into this
- Reviewed contribution to gracefully handle an empty response from forget
Dusty VCR
- Continued editing Lars and the Real Girl episode of Dusty VCR
Misc
- Started down a rabbit hole of reading about game theory optimal poker play
- I thought writing a GTO calculator would be a good way to learn Zig since it’s performance intensive, but it seems like there’s a lot I need to learn to even understand what I’d write
- Interesting resources so far
- This series on writing AI solvers for simple games by Thomas Trenner
- Unfortunately behind a Medium paywall (but you can read it in Incognito more)
- Expert Heads Up No Limit Hold’em by Will Tipton
- I’ve only looked at the samples, but they seem pretty fun. There’s one course where he builds a poker solver in Python in a series of screencasts.
- This series on writing AI solvers for simple games by Thomas Trenner
- Experimented with Whisper, OpenAI’s ML-based audio transcription tool
- Best audio transcription I’ve ever seen
- I tried transcribing the latest episode of Dusty VCR, and it got almost everything right, including proper names, and it even uses correct grammar and punctuation.