Part-time Creation
Welcome to another issue! Some varied links today, and also thoughts on balancing full-time work with the urge to go indie.
Recommended Reading and Videos
Thinking Asynchronously
Eric Johnson, a developer advocate for AWS Serverless, gave this presentation at the GOTO conference in 2020 about rethinking how to write web services in a serverless context.
The main insight here is to implement computation-heavy requests using mostly short-running serverless functions that either trigger other services or respond to events from those services. With this in mind, he shows an example language translation application designed around this paradigm.
Even if you’re familiar with the ideas of how to architect a serverless application, it’s still worth watching the second half to see how Eric puts all the various AWS services and Lambdas together in a multi-step workflow.
The Part Time Creator Manifesto
We hear all the time about people who leave their jobs to be full-time independent creators, whether it’s through creating SaaS websites, selling courses, and books, or something else. It seems like every other day there’s a story about someone whose business reached $500K/year in revenue in the first year, but this is not the reality for most. There’s a long tail of indie creators who barely make enough to cover rent, if that.
This essay by Shawn Wang (AKA swyx) resonated with me because it puts words to where my efforts have been going recently. This is the idea that you can find a “normal” job that allows you time and energy to work on your side projects. It’s a variation on the barbell investment strategy, in which you heavily allocate investments to extremely safe assets, while reserving a smaller amount of capital for high-risk, high-reward investments.
If you enjoy this essay, I also highly recommend Building the Middle Class of the Creator Economy by Li Jin.
Irreversible Time in Economics
If you’ve heard about ergodicity but don’t have a great grasp on what it actually looks like in practice, this speech by Ole Peters does a good job of explaining it along with the history of how the concept was developed.
Briefly, it describes why the expected value of a distribution (the ensemble average across all participants)may have very little to do with your actual experience, which is just a single instance of that distribution. A coin-flip game that adds 50% of your money on heads and takes away 40% on tails sounds good at first glance because the expected value is positive, but in reality a very few players will make millions of dollars and one third of them will go bankrupt. Ergodicity gives us the tools to think about scenarios like this.
If this is too long, there’s a shorter video explaining it, and plenty of blog posts at the Ergodicity Economics website. As you explore these concepts, it’s worth noting that many in the economics field disagree that they are as new and notable as Peters claims.
A Better Gradient Generator
A few weeks ago, Erik Kennedy of Learn UI Design published a gradient generator that fixes a common problem. The browser calculates gradients using the RGB color coordinate system, regardless of the coordinate system you specify your colors in, and this means that gradients spanning a wide range of hues tends to have an ugly gray-ish color in the middle of the gradient.
This one works around that issue by adding a bunch of intermediate steps in the gradient, so that the gradient path travels around the gray section in the middle of the RGB color wheel. Even when this gradient is calculated in RGB coordinates, the intermediate steps preserve the smooth, colorful transition expected.
The tool is easy to use and can output either CSS or SVG depending on your needs.
What I’m Working On
I’ve started on a big project named Ergo to create a Zapier/IFTTT clone in Rust and Svelte. This is mostly for learning and fun, since there are a bunch of other open source projects that do this. So it gives me a good chance to learn a bunch of things I’ve wanted to learn for a while, especially getting comfortable with Rust’s async/await ecosystem now that it’s getting to be well-supported.
The project started in the worst way possible: setting up Hashicorp Vault for rotating database credentials and figuring out how to get a Rust PostgreSQL connection pool that can change the connection string, which none of them support by default. In the end, this involved writing a custom connection manager for the deadpool connection pool crate, but this actually wasn’t too hard to do once I figured out that this was the right way to do it.
I’ve wanted to start using Vault as work for a while now, and so this was the perfect opportunity to learn the system. As elucidated in The Part Time Creator Manifesto, work and side projects can form a cycle where each informs the other, and even at this early stage I’ve been happy to reap the benefits.
Next up will be actually implementing simple events, actions, and tasks. I’ll be sure to write about interesting learnings from this project in the future!
Other Thoughts
I’ve been thinking a lot about the part-time creator idea, and my biggest fear with commercializing my side projects is that they will stop being fun. Right now I use projects and writing like this not only to learn but also as a way to relax and destress, and I don’t want the side projects to start feeling like another job once all the “business” gets in the way. I’m blessed right now to have a rewarding status quo in my life, so I haven’t come to any conclusions, but it’s something I’m thinking about.
If you enjoyed this, I’d love if you share it with a friend (sign up here) or just reply to this email with your thoughts. Thanks for reading!