Update for the week ending on Friday, Sep 1, 2023
TinyPilot
Management
- Reviewed sample AC adapters from contract manufacturer
- Wrote guidance for how the support eng team should manage the task queue.
- Checked with contract manufacturer about an RMA process post-transition.
Software development
- Put the final pieces in place for eliminating Ansible from TinyPilot’s stack
- We’ve been doing this for about 16 months, and it’s involved a lot of hard work.
- The result is that the install process is much simpler and completes in about 30-60 seconds instead of 4 to 5 minutes.
- Last changes
- Delete Ansible from installation process
- Install ustreamer-launcher without Ansible
- Install uStreamer without Ansible
- Install Janus without Ansible
- Install yq without Ansible
- Populate the TC358743 EDID file without Ansible
- Update e2e tests
- Fixed a Windows + Firefox bug on the Dedicated Window feature.
- Reviewed / co-authored a speedup to building our Debian packaging using CircleCI’s ARM executors
- Reviewed an experimental build of TinyPilot that keeps the root partition in read-only mode.
- Reviewed paste overlay dialog feature
Sales
- Answered feature requests from a customer considering a large order.
mtlynch.io
- Started writing my August retrospective
- Almost finished my blog post on an old documentary
PicoShare
PicoShare is a minimalist web-based file sharing tool I’m working on. I’m often frustrated that I can’t just send someone a link directly to a file because every file-sharing service tries to re-encode images/video or wrap their own viewer around other files, so I’m making a simple self-hostable tool that lets you upload files and share them with other people.
- Got PicoShare to compile down to a single binary
- Added static files to the binary using Go’s embed.FS.
- Updated CircleCI so that it builds binaries for AMD64, ARM64, and ARMv7 on every release and attaches them to the Github release
- I screwed up the config a lot, and it took several tries before I got it working correctly
- Disabled an unused sqlite extension so that we can build with static linking
- Made sure that we’re building with CGO enabled
- Refactored my end-to-end tests so I no longer rely on hacky
data-testid
attributes- The new test logic interacts with the page using attributes that real users see, so the tests better represent real world usage.
- Fixed a bug in picking the correct clipboard representation when there are multiple options
- Added unit tests, too, but this turned out to be really hard.
- Mocha needs my
package.json
file to be declared astype: module
, but Playwright requires mypackage.json
to not be declared astype: module
.- I had to reorganize things to give Playwright its own
package.json
file
- I had to reorganize things to give Playwright its own
- Mocha needs my
- Added unit tests, too, but this turned out to be really hard.
What Got Done
- Tried to use Cachix to speed up Nix in CI, but I couldn’t get it working.
Home maintenance
- Met with tree trimmer
- My arbor vitaes are starting to brush against my house
- Met with a handyman about re-screening my porch
- They had to remove the screens from the porch when they repainted it, and it’s been surprisingly difficult finding someone to put new screens up.
Misc
- Asked my accountant a bunch of questions that had been piling up.
- Booked travel for a conference.