Update for the week ending on Friday, Mar 22, 2024
TinyPilot
Management
- Met with TinyPilot’s lawyer
- Worked with 3PL on fixing a billing issue
- Coordinated with team and contract manufacturer on handing return processing over to our manufacturer
- Had three 1:1s with teammates
- Had monthly lunch with local team
- Worked with team to clear obsolete pages from Notion
Software development
- Worked with team to move all of our critical secrets on CircleCI to contexts with expression-based restrictions
- Previously, allowing someone to initiate a CI pipeline effectively gave them the ability to access all secrets in that pipeline
- With expression-based restrictions, we can say that certain secrets are only available in our main branch and not available when the job runs with ssh
- We also require approval on all of our PRs into the main branch, so someone could go rogue and steal secrets, but they’d have to convince at least one teammate to conspire, and there’d be a clear record of it in the commit history
- Added CI job to check for bash lint on TinyPilot website repo
Customer support
- Removed obsolete instructions for updating from the command line
Sales
- Worked with EU distributor on sales forecasting
mtlynch.io
- Published “Why does an extraneous build step make my Zig app 10x faster?”
- I submitted to Hacker News the day I published it, and it didn’t get traction
- I thought it was a good match, so I was about to submit again the next day, but when I logged on to submit, I saw it was already #3
- Also got a good response on lobste.rs and reddit
- Published TinyPilot February retrospective
eth-zvm
eth-zvm is an experimental implementation of the Ethereum virtual machine in pure Zig. I probably won’t implement the whole thing, but it’s a fun way to play around with Zig on a project where Zig does seem to actually be the right tool.
- Started experimenting with supporting the EVMC interface
- Spent a long time trying to figure out how to use cross-implementation Ethereum-testing tools only to finally confirm they don’t actually work
- Started working on a mnemonic to bytecode compiler
- There doesn’t seem to be one available, and I’d like to use one.
- The idea would be a way to do the trivial compilation of mnemonic instructions like
PUSH1 0x01
into the equivalent bytecode (0x6001
).
Exploding Servers
Exploding Servers is a side project that makes it easy to spin up cloud servers with a time limit so you don’t accidentally run up a too-large bill.
- Added support for more Scaleway servers.
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.
- Tested uploading a 11 GB file to a well-provisioned server to prove that PicoShare can handle large files given sufficient hardware
- There are certainly changes that could make it more efficient, but for now, it’s doing what I need
Misc
- Got rid of some house clutter