Germinating the Systems of Subroutines

A Permaculture of the Self: Part I

If someone were to ask you to introduce yourself, first you would give them your name. Next, you would list off the most obvious attributes of your character socially worthy of note. That you're perhaps a software engineer, then of course where you’re employed, and maybe that you graduated from a certain university and intend on getting a postgraduate. You might say that you just mothered a new child with your husband of so many years. 

All of this is fine, and reasonably sounds like success and hard work that paid off. It is, however, not actually telling anyone anything remarkable about yourself, but of the various labors of necessity you’ve evolved. These are nearly universal labors which most people to different degrees will engage in, with little choice in the matter if they have any expectation of thriving. You’ve revealed that you’re employed, married, and educated; you’ve revealed that you work hard for things you’re just supposed to have while neglecting the things out of life you actually want. What you’ll tell people is that there is a milestone that you are looking to arrive at, and that growth looks like moving on to the next challenge, the next milestone. You’ve adapted to a rather periodic approach to life.

And you fundamentally fail to address what thriving, for you, is or looks like.

The problem with a periodic approach is that it fails to address the space between milestones. Neglect these spaces and they quickly become nearly irrelevant to growth, not so unlike sitting in a waiting room. You’ll be stuck biding your time until your number is called. And for what? Just to progress to the next such room?

Anything else that you do with your time is hobby-making, chores, relationship- or health-oriented at best. In other words, things regarded only as relaxing, luxurious, or supplemental.

Unfortunately this mode of living, which I would argue is a very narrow view one, leads to a perpetual feeling of powerlessness. After all, waiting rooms are places of temporal (maybe even spatial) confinement. They are typically costly to opt out of (like thousands-of-dollars costly if you decide to leave school with an unfinished degree.) If you don’t like your situation, too bad.* Fortunately there is a way out of merely being trapped in waiting rooms.

Life doesn’t have to be about leveling up in discrete manners akin to playing a video game. Instead of finding yourself in waiting rooms, you can construct your life to take the shape of a garden. You can construct a life with many interacting parts in generative engagement with one other, and whose constituents adapt to whatever seasonal elements are thrown their way.

* (Prototyping, in the design sense as I often refer to, can often help avoid being stuck in such situations by illuminating what working on such goals looks like from-the-inside.)


Introducing Subroutines

In programming, subroutines are tiny programs that live inside the larger program you are writing. They are in charge of small processes. Writing code in this way helps break a big problem down into manageable steps. You’ll only have to write solutions to smaller, simpler problems rather than write a singular, complicated solution to a big and complex problem. Beginning programmers often struggle to do this. They are not sure how to break a “big” problem into organized smaller programs.

You can take a similar route by repackaging your needs, goals, and wishes into subroutines.

Consider your life to be made up of modular and recurring processes that fulfill particular needs. It's important to count the things hiding in plain sight that perhaps you don’t want to acknowledge as things you do. When I was unemployed, I knew I was supposed to be on the prowl for a new job. It's true, I did apply for jobs. But given the amount of rejection I was weathering, I found watercolor painting to be a much more compelling activity. Equal parts escapism and constructive, watercolor painting was probably one of the solid few “rituals” I kept returning to. When asked about my life, I would tell friends and family that I was working hard to look for a new job, not that I was dedicating an equal, if not more, amount of time to a tertiary activity.

It will be important for you to acknowledge what these hidden rituals are to achieve clarity as to what the subroutines of your life are, and what they reasonably ought to be.

It can be helpful to simply take an activity log at the end of the day of any activity that you sustained for 30 minutes or longer. Complete this activity for at least a week, ideally a few. Then, take note of which activities you did more than once. Try to be mindful of how pleasing those activities are to you. Consider what compels you to do them. In my previous example, my watercolor ritual retro-obviously fit a need for aesthetic and creative engagement.

Of course, a certain, recurrent portion of your time will be dedicated to things like chores. These are the activities that are driven by necessity and can be regarded as maintenance-routines.

Make a shortlist of those activities, or meta-activities if your single instance task was a part of a larger project, and think of them as your current subroutines.

These are the miniature programs the larger script that is your “current life” turns to, time and time again. Much leverage is to be gained by viewing your life in terms of subroutines. You can:

  • discover revealed preferences

  • understand that meaningful commitment to something usually requires recurrent engagement, rendering it as a live and active process

  • reflect on whether your current subroutines are the rituals you want to be dedicating your time to

  • visualize new interests/commitments as potential subroutines in your life, illuminating what the daily experience of a new activity will be like

  • consider how new or changed subroutines might impact the larger script of your life or even affect other subroutines

This last one requires some unpacking to make sense. We first have to understand what it means for subroutines to be interrelated.


Packaging Subroutines into Systems

By effectively designing subroutines which impact one another, you invariably synthesize a system. Systems are robust. Their byproducts are often hard to predict from examining individual parts alone. By imparting such design into your own life, the results you see will often surprise you, thereby contributing to a sense of thriving.

Creation of a permaculture vegetable garden | Chambord Castle

In conventional permaculture (the agricultural kind) one is oft to itemize all the needs of a given component. What does a plant need to thrive? Nitrogen, water, fertilizer, sunlight, to name a few. The byproducts of a component are also itemized. A plant might not only produce fruits but also reusable organic matter appropriate for, say, mulch. The key to permacultural design is consciously formulating relationships between separate elements, pairing the byproducts of one part to the needs of another.

This method can work well not only applied to the parts of a farm, but also to the separate subroutines which synthesize a life.

Gardening, Cooking, and Lifting: An Exemplar Synergistic System

Gardening provides a sense of growth, fulfills a value of self-sufficiency, and a connectedness to nature. Apart from its benefits, in concert with a cooking ritual, it provides ingredients, inspiration, and meaningful constraints for cooking.

Cooking can fulfill either or both: economic and nutritional impulses. It also is a comforting ritual: some repetitive sequence of events in a multisensory and stimulating capacity. But it can easily open up into a playground for novelty and creative enrichment, by offering unexpected combinations of ingredients, cross-applications of techniques. It can borrow ingredients from a gardening subroutine. It can also provide fuel for a lifting subroutine.

Lifting provides emotional and psychic nourishment, by serving as an outlet and also a means of gaining power. It provides sufficient structure to yield concrete and measurable improvement. The ritualistic nature of it affords a meditative benefit. A lifting routine is highly regimented but provides regular feelings of reward upon generating progress. It is actualizing, in health and body. Lifting provides additional motivation, context, and purpose for a cooking ritual by directly benefiting from it, converting physical nutrients into benefits for both body and mind.


Now the best part of existing in a system of this sort is that the possibilities are often endless, unexpected, and beyond simple prediction. There is enough complexity in the system that is your life, consisting of its wonderful subroutines, that emergent sources of creativity are abundant. The synthesis of byproducts between two subroutines has much the same glow as, say, conducting interdisciplinary research.

By conceptualizing your life as a holistic system of multiple subroutines, the benefits of development in one domain can laterally transfer to the other. Relatedly, the allure or growth within one subroutine may provide relief for the difficulty or stagnation in another.

Once you establish feedback loops between subroutines, it is possible to coast off dedication to the subroutines themselves. It is well possible to embed conventional projects, like saving for a home or raising a child, into the subroutines of your life. The hope is for daily living to grow into a pleasant experience on an ambient level.

The overall generative thrust of a system of subroutines will transmit an enviable vitality to life, gracing it with the same beauty of a well-tended garden. This I regard as a permaculture of the self: to intentionally harmonize subroutines such that they both individually and collectively provide pleasure, reward, and meaning.