Update for the week ending on Friday, Apr 29, 2022
TinyPilot
Management
- Led TinyPilot monthly dev meeting
- Planned next TinyPilot dev sprint
- 1:1 with EU distributor
- Interviewed marketing agency
- Coordinated production with EE partner on hardware revisions
- Team lunch with local staff
- Started exploring process for coordinating license checks with EU distributor
- Spec’ed out documentation tasks
Software development
- Cut a release candidate for TinyPilot Pro 2.4.1
- Reviewed changes to TinyPilot website
- Reviewed Ansible change to make Janus WebSockets port configurable
- Helped with small tasks to wrap up H264 implementation
- Started working on an About page
- Created a stub implementation of a Janus Debian package
- Fixed alignment on product instruction cards
- Refactored event handling in TinyPilot navbar
- Adjusted markdown linter to include the main project
README.md
Customer support
- Reviewed and edited FAQ article about setting a static IP address
Sales
- Sent a TinyPilot to a reviewer
- Shared Google search ads setup with EU distributor
- My stats so far
- Ad spend: $459.97
- Impressions: 3.75k
- Clicks: 244
- Conversions: 3
- Revenue from conversions: $1,314
- ROAS: 2.85 (I get $2.85 of revenue for every $1 I spend on ads)
- Shared TinyPilot Pro 2.4.1 release candidate with large customer
mtlynch.io
- Continued working on my homelab NAS post
- Shared a draft with Blogging for Devs
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.
- Added a matcher for e-learning platform spam
- Added better matching for SEO consulting spam
- Made date parsing in emails more robust
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.
- Allow users to add a private note to their upload
- Fixed note parsing to reject notes with a value of
null
orundefined
- Because these values probably indicate I screwed up on the JavaScript side
- Improved end-to-end tests to exercise note functionality
- Disallow uploading empty files
- And fix unit tests to actually test that scenario properly
- Switch unit test script to have less verbose output
- I didn’t realize the
-v
flag ingo test
was making it hard for me to find the test case that failed
- I didn’t realize the
- Consolidated guest upload unit tests
- Perform a SQLite VACUUM as part of garbage collection
- One gotcha of SQLite is that it doesn’t give free space back to the filesystem when you delete data from the database
- You have to either explicitly send the
VACUUM
query or use auto-vacuum - Auto-vacuuming didn’t work for me (didn’t investigate too deeply)
- Added Content Security Policy headers to mitigate XSS
- And then I realized CSP broke the way I use HTML custom elements, so I had to water down my policy a lot
Misc
- Tried a plaintext alternative to Monica CRM
- Just writing in markdown files on an encrypted volume