Life Lately
This is my first post in a while.
Lately I’ve been developing a mushroom growing app. This is an open-source project that enables citizen science for mushroom growing. For a while now, I have wanted a tool that allows me to keep track of my grows and to run experiments with various controllable parameters. I’ve also wanted to be able to learn from others’ techniques more effectively. There are plenty of forums online for sharing, however it is difficult to rigorously repeat what others have done, as the sharing tends to happen in unstructured natural language and often lacks critical details needed for repeatability.
The app has three conceptual sections: Grows, Teks, and IoT Gateways. The Grows section provides grow management. You can add/remove grows, schedule tasks, view grow progress and key characterstics like health status, cost, and yield. The app focuses on bulk grows for the initial version. Each grow has 5 stages. The user can add items, environmental conditions, tasks, and notes to each stage.
Teks (”tek” is short for “technique”; commonly found in online mushroom forums) are similar to grows, but they are a more “abstract” version, similar to a recipe vs doing the actual cooking. Teks are portable instructions that can be shared and instantiated into actual grows.
IoT Gateways are connections to Internet-of-Things (IoT) sensor hubs. Home Assistant is the one supported in the initial version. Home Assistant is nice because it is a widely used free and open-source home automation platform and is one I’m fairly familiar with. You can connect many different sensors, especially those relevant to providing optimal mushroom growing conditions (temperature, humidity, carbon dioxide, pH, light, etc). You can also write custom automations, so that you can react to the environment changing. For example, if your spawn incubator temperature falls too low, it can switch on a heat mat to bring the temp back into optimal range. Home Assistant also supports cameras and embedded controllers such as ESPHome, and it is extendable so support can be added for just about anything if it doesn’t exist already. The IoT Gateway connects to the Home Assistant API and receives real-time updates over WebSockets. All the controls, sensors, and automations are accessible from within the app. They can be linked to specific grow stages for different tasks, like enforcing environmental conditions (e.g. temperature and humidity range) during spawn colonization, or detecting anomalies in sensor values (e.g. discoloration, pH drops) during bulk colonization. This Bring-Your-Own-Home-Assistant design provides a platform for endless customization and experimentation.
These three sections will be present in the first version of the app, as it is already getting pretty complex. Later I would like to add “Lab” section that provides first-class support for running experiments. You should be able to have a grow, and tweak some aspect of it, say a different substrate material, or a slightly higher temperature range during bulk colonization, or more light. The space of potential experimental inputs is massive here, so providing a clean “diffing” mechanism that allows the user to easily compare and contrast the control vs experimental variables and track how they effect the outputs like yield is what I’m thinking of.
---
Lately I’ve been thinking about work, my relationship to it, and what it means to do great work. Work is important to me, and I’ve learned over the past 2 years or so that doing great work is really important to my wellbeing. I feel like shit when I know inside that I haven’t lived up to my potential. I’ve read a lot books lately related to work, some of which I’ve written about and others I haven’t (yet), that have helped me reframe what it means to work and work well. Paul Graham’s take on work has been especially influential on me.
Strangely, work tends to get a bad rap in today’s society. Ambition has become somewhat of a dirty word. But I think a lot of this is because people conflate their job (or, if they are young, school) with work. And if your job sucks, or you’re learning things in school that you have zero interest in, then naturally you’re going to dread going to “work”. You are going to resort to language such as I have to go to work tomorrow, rather than I get to go to work tomorrow. The underlying metaphor is that WORK IS A NECESSARY EVIL. Something to put up with. Something that society forces us into. Lately I’ve come to change that metaphor. For me, WORK IS AN OPPORTUNITY FOR SPIRITUAL GROWTH. It is something that I am blessed to be able to do. Work to me means learning, creating great things, and sharing what I’ve learned and built with others. Great work probably look different for you, but it is always guided by our natural curiosity and comes from our internal drive. And we have an obligation to ourselves and to each other to ensure that our curiosity and interests are fully expressed in the world. We must share our work, because each piece plays a small part of a much larger creative force that works in ways that we do not fully understand. You never know how your work could impact a person’s life.
The trick is to maintain balance between your work and the other important things in life. I have found that viewing your life’s work as an infinite game helps in maintaining balance. The alternative is that work is a finite game, which creates a frantic sense of urgency and anxiety. Work is important, but it shouldn’t interfere with sleep, relationships, diet, and exercise. The goal of any infinite game is to keep playing, and you have to take care of yourself in order to that.

