bytes.zone

doing in a day what I could not in 6 months

Brian Hicks, October 4, 2024

I've been working on tinyping for quite a while now, in various forms. Six or seven months, in fact. I feel frustrated that I don't have anything usable to show for it. When I stopped doing thing-a-month, I wrote:

it turns out I'm pretty good at planning projects like this, but when I have such limited free time it's way too easy to overcommit.

That's still true! And unfortunately, removing the constraint of a month did not help. I have spent more time figuring out the local-first ecosystem than actually building something useful, and it's really starting to annoy me.1

So I wonder: what do the ideas in tinyping look like I have to build them in an hour? A day? What does a different version of extreme constraint look like?

So I'm going to try that. A successful solution should:

Ideally, this should all happen in a stable way (e.g. reliably setting the next ping with PCR instead of using system randomness) but it's fine if it doesn't.

Just to prove I could do it quickly, I spent a little time (maybe two, three hours?) making a barebones version in Rust that just does the core part of the collection loop, nothing more. It lives at https://github.com/bytes-zone/beeps. You can download the binaries and try it, if you like (it always tries to invoke say, so the Windows and Linux binaries are a slight lie; get in touch if it matters to you.)

1

having a project in mind to use for learning new tools is fine, but I've spent more time trying to figure out ways around the constraints of the tools I've chosen than I have actually building. It feels like an artificial hindrance that I could just opt out of, and that I might be better off just doing so.

If you'd like me to email you when I have a new post, sign up below and I'll do exactly that!

If you just have questions about this, or anything I write, please feel free to email me!