Composability is the only game in town – Roam, shipping containers, Lego and Twitter.

Lego Blocks, Shipping Containers, Roam Research, Open Source, and any other unreasonably successful endeavor follows the fractal design of composability.

Epistemic confidence: 3/5. I intend to return to this post in the future.

Shipping containers

The current iteration of global capitalism is built on the backbone of a shipping container. Not the car nor the plane. As much as I do think the washing machine is transformative (and do check out this TED talk by Hans Rosling), it didn’t have an impact as huge as the shipping container.

From vgr’s “The Epic Story of Container Shipping”:

At the beginning of the story, total port costs ate up a whopping 48% (or $1163 of $2386) of an illustrative shipment of one truckload of medicine from Chicago to Nancy, France, in 1960. In more comprehensible terms, an expert quoted in the book explains: “a four thousand mile shipment might consume 50 percent of its costs in covering just the two ten-mile movements through two ports.” For many goods then, shipping accounted for nearly 25% of total cost for a product sold beyond its local market. Fast forward to today: the book quotes economists Edward Glaeser and Janet Kohlhase: “It is better to assume that moving goods is essentially costless than to assume that moving goods is an important component of the production process.”

Shipping containers are standardized and composable. Much like the most successful software.

Open Source, and UNIX philosophy

As much as the container is the backbone of the current economy, the software will be the backbone of a new one that we all help to build. If we take the “evolutionary” definition of success, the most successful piece of software will be some obscure low-level library or a Unix tool running on every modern device. Here are the first two Unix principles according to Wikipedia:

  • Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”.
  • Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.

As you can see, these are interlocking – do one thing well, and build “higher” when connecting more things that do one thing well. In my mind, Unix philosophy, Open Source, and building an information economy go hand in hand. Each next iteration can stand on the shoulders of giants, using the abstractions built by previous developers. We don’t have to sync time anymore, allocate memory, or deal with disk I/O operations. We can use ready tools to do just that, to focus on building something more complex.

Roam Research

You may have heard about Roam Research – a Note-Taking app that has gained a cult-like following, and a $200 million investment at a $900 million valuation. If you have not heard about Roam before – Anne-Laure has a good introduction. If you feel like note-taking is suddenly hip without any reason, I have an explainer here.

How has Roam gained this popularity? Is it all a scam? After trying it out – I’ve noticed two aha moments:

The first Roam AHA moment

You discover, that the expected value of your notes grows exponentially. If I have a 1:1 (a 2-person Team-Lead <-> Team member meeting) with David, I can type [[1:1]] with [[David]] and I create notes simultaneously:

  • As my TODO in the daily note
  • On the page called 1:1
  • On the page called David

During the day – to the day I can also create a note [[David]] posted a good post here: (link).. When I later visit [[David]] page, I can see the history of our 1:1s and all data I meant to include in the formal feedback when the time comes.

Even though I have never visited or even created “David” page before.

This “higher expected value of each line of notes” is like crack – gets the thoughts out of my brain faster than any other tool, since it’s rewarding bringing concepts together.

The second AHA moment is all about composability

The real kicker is the second AHA moment. In Roam, not only EVERYTHING is a block, but also the blocks interact with each other sensibly while nested

Table

No interface, I just nest bullets and table appears

KANBAN

I create a Kanban the same way I create a table – since everything is an interplay of nesting, I immediately know how to create this Kanban. Gutenberg is already pretty good at this – we are trying to follow similar patterns across our blocks, but there are a lot of custom interfaces.

How about table in a Kanban?

EVERYTHING is composable

Ok, enough about Roam Research. The message is that composability let’s you be way more creative by knowing a few basic principles. But to call something “composable”, we have to have:

  • A canonical unit of “thought”
  • Multiple nesting levels
  • Lists of things behave differently than things themselves

What about functional programming?

I do realize, that composability is an aspect of functional programming, and nothing new to the fans of closure, lisp, or even a functional approach to writing plain old JavaScript.

  • Roam Research is written in closure, and transpiled to JavaScript
  • Paul Graham (a startup demigod and a very clear thinker) is continuously playing with Bel – a variation of LISP

I do appreciate the elegance of a purely functional language and after realizing the closure-roam-research link I can see how that mindset translates. But nevertheless – relying on the language to translate into a better product is ignoring the messy complexity of the real world.

In the real world (unlike the comfortable world of the algorithms), the program has to interact with the vast spectrum of inputs and outputs – thus npm with its library of packages may be better representing composability than any functional language. In the end, composability’s goal is to achieve real-world results with simple, easy-to-reason blocks. And yes, I credit React’s success to the composability of JSX.

Writing on the Internet

Publishing on the Internet at its core is composable too. We can argue if the sentence, a paragraph, or a blog post is the canonical unit of clear thought, but blogging lets you organize the uneasy mess of “stuff” into coherent blocks you can compose into more and more clear reasoning. The linear structure of the page lets you examine each and every paragraph for doing what they are supposed to be doing. The list of paragraphs is just like a row of containers organized in a higher-order unit (a ship) that makes it easy to move.

Twitter

Twitter is similar to Roam in more ways than one. To the casual user, it’s a hellhole of political arguments and fabricated urgency, but for those who know how to use it, it has almost infinite expression power based on simple rules.

Twitter Threads are composable.

Remember the requirements for composability I have outlined above? Twitter satisfies them all.

  • A tweet is a self-contained complete thought
  • Threads let you organize these thoughts into more complex narratives
  • You can nest and recombine them at will

Sidenote: Follow Visakan (a master of threads) if you want a kinder, more productive Twitter.

WordPress

WordPress has introduced a new, block-based editor for your posts and pages. The underlying premise is that everything will be a block, unlocking new mental models for users of the CMS powering close to 40% of the Internet. I am proud to help make this vision a reality.

Composability succeeds because it enables cooperation

When evaluating a product or endeavor we tend to focus on metrics, features, and shiny checklists:

  • This has more bloblybums,
  • That is soo shiny,
  • The other thing succeeded because it’s just faster,

But over the long term, the thing that succeeds tends to do so, because it makes it easier for people to work together. Composability is a framework for putting new layers of abstraction in a predictable manner.

An average human can hold about seven items in short-term memory and successfully cooperate in a team of seven people. Composability reduces the cognitive load by organizing things into higher-order sets, which in turn – can be reasoned about or reduced further.

Notable mentions

Other, successful composable things include:

  • Lego blocks,
  • Written word (letters -> sentences -> paragraphs -> pages),
  • World Wide Web and HTML
  • Matter in the Universe (The Elements are comprised of the same 3 building blocks)
  • Memes (TikTok in particular)

Notable exceptions

Despite my clickbaity title, there are successful endeavors that are NOT composable:

  • App Stores / App economy – apps usually don’t mix with each other

Anything else?

The optimal human performance formula: the basics

Good news: Scientists have discovered a simple, effective trick to reach your optimal performance and be the smartest human you can be.

Bad news: You’re not gonna do it.

Here is the trick:

  • Breathe deep,
  • Drink more water,
  • Sleep 8 hours every night
  • Eat more vegetables,
  • Move your ass
  • Go outside

For optimal results, do it every day.

I am sure I am not blowing your mind with novel insight.

You probably are aware that air, water, sleep, and exercise are important. But because these are such basics, we tend to discount them. They are not newsworthy, they won’t make the headlines, and they don’t help you delude yourself that „this time will be different, because you have one more magic trick up your sleeve.”

You probably have heard those points before, but you have a list of concerns and cannot deal with a yet-another morning routine that will take your precious time away from you.

But there is more good news: taking care of these basics seriously will have an immediate effect on your to-do list.

“Energy, not time, is the fundamental currency of high performance.”

Power of Full Engagement

In a best-selling book „Power of Full Engagement”, Jim Loehr and Tony Schwartz have listed 4 sources of energy that can fuel your attention, performance, and productivity:

  • physical
  • emotional
  • mental
  • spiritual

And your „Biggest Bang for the Buck” is the physical level by far – it is the cornerstone of the other ones. Unfortunately, Humanity has a fascinating ability to forget important lessons.

Breathing

Physical energy is derived from the interaction between oxygen and glucose.
„Surely I know how to breathe!” You may think to yourself.
If you feel constant anxiety or are low-key stressed all the time, here me out: you may be breathing incorrectly. Shallow breathing can very often influence your mood, focus and energy levels. Throughout our evolution, we would shallow breathe only when there is danger, or we have to chase after prey.
So guess what? Your body is releasing cortisol based on your crappy breathing.
But you are sitting in front of your laptop, doing none of those things and yet getting stressed like your life depends on it.
Proper breathing:

  • Your arms are back
  • Your belly sticks out while you are breathing (that is the diaphragm)
  • Air goes in through your nose
  • Inhale is at least 3-4 seconds

Watch this video of two navy seals explaining how to breathe:

A sidenote about your laptop/smartphone:

When you are sitting in front of a laptop or holding your smartphone with two hands, you are constricting your lungs.

  • Your arms get close together, closing your chest and lungs
  • Your head is down, constricting the air canals
  • This position is similar to how you would hide from a predator, prompting your body to release cortisol

Homework:

  1. Watch the navy seal video
  2. Set a timer in your phone for every 3 hours that says “breathe”
  3. If you work on your laptop, buy a keyboard and a monitor.

Drinking Water

Drinking water, we have found, is perhaps the most undervalued source of physical energy renewal.

Power of Full Engagement

Your body has lots of water, chances are you know that. But if you are like me, you probably keep putting other stuff in it, like:

  • Coke
  • Coffee
  • Tea

Even though they contain it, none of those things ARE water.

They have much lower PH (they are acidic), which means your body has to work hard to filter them before the water content can be used in metabolic processes.

On top of that, beverages tend to flush out the essential salts ( Magnesium, Calcium, Potassium ) out of the body. All of these elements are needed to keep your brain spinning to ingest my insightful blog posts.

A study published in “Frontiers in Human Neuroscience” has found evidence that drinking water improves cognitive performance in both children and adults. Hydration for health is collecting empirical evidence for the many benefits of just drinking water.

Homework:

  1. Buy a water bottle and put it by your computer
  2. Put a post-it on it that says „Drink Me.”
  3. Drink whenever you feel foggy

Sleeping

Loss of sleep hurts attention, executive function, working memory, mood, quantitative skills, logical reasoning, and even motor dexterity.

Brain rules

I am writing this for you as much as I do it for my own benefit. Every once in a while, I will get deep into a fun automation project – a book, or a new Netflix series and realize that it’s 3 am already.

The next day is totally wasted and I promise to never repeat that mistake until the next time. Goddamnit, Artur!!

  • Yes, you need 8 hours of sleep.
  • You are not as productive at 10 pm as you thought
  • Go to bed

Arianna Huffington, the founder of HuffPost has decided to devote her entire career to promoting sleep and in this TED Talk, she explains why:

Homework:

  1. Set an alarm that says „Go to sleep” at, say 21:45
  2. Go to sleep when the alarm rings

Moving your Ass

Physical activity is cognitive candy. Civilization, while giving us such seemingly forward advances as modern medicine and spatulas, also has had a nasty side effect. It gives us more opportunities to sit on our butts.

Brain rules

Apart from the countless evidence that exercising keeps your body healthy, it also helps you think.
Read more about Ass-Shaking here
Exercise gets blood to your brain, bringing it glucose for energy and oxygen to soak up the toxic electrons that are left over. It also stimulates the protein that keeps neurons connecting.

Homework:

  1. When you wake up, go for a fast walk, every day for a week. Just try it.
  2. Report back

Basics are your key to success

We search for “advanced tricks” and “pro tips” in a vain effort to save ourselves time and effort on the basics.

The harsh reality is that mastering the basics is the real “trick”. We gloss over them, because they are intellectually simple. Yet simple is not easy and it takes practice to engrain proper habits and foundations.

Maybe someday I will. Until them, I’ll keep having to remind myself to drink more water and move once in a while.

Why do you have so many bots?

If I died today, I don’t think my friends would notice for a while.

My digital ghost would keep responding to some emails, pay my bills, and send birthday cards. He would read my text messages, forward important ones to my virtual assistant, or respond.

This spooky afterlife is not the goal. I have been automating bits and pieces of my daily responsibilities for the opposite purpose – to save more time for the things that truly matter in life. My ghost is here to help me now.

Ikiryō (生霊, lit. “living ghost”), in Japanese popular belief and fiction, refers to a spirit that leaves the body of a living person and subsequently haunts other people or places, sometimes across great distances.

Examples include:

  • Reading the invoices I get over email to pay specific ones and file them for my accountant,
  • Answering, recording and transcribing the calls I get from all unknown numbers,
  • Putting all the newsletters that I choose to receive in my pocket app, where I consume all articles,
  • Monitoring my communication and reminding me to contact friends I haven’t reached out to for a while,
  • Many many more, including sending birthday cards to my friends.

And this list does not even include automations that run this blog!

You see, I don’t automate to save a minute here or there. Writing, testing, and ensuring nothing goes awry is labor-intensive. I automate to forget about things. My digital ghost worries about A LOT, so I don’t have to.

My goals of automation

Photo by Nghia Le on Unsplash

Do you know that glut of “stuff” sitting in your stomach? The nagging notion that you have SO MUCH to do? Or maybe you are familiar with the guilt that you are so far behind in errands?

Transfers have to go out, invitations to whatever event sent, expenses reported. How can you find time this weekend to do something fun when you have amassed all this?

It certainly was a feeling for me!

That stressful notion of overwhelm is called the “Cognitive Load.” Think of it as a tax for remembering to do stuff. It does not even include doing the actual task – it’s just an overhead and my first goal of automation is to cut it as much as possible.

My second goal is to make sure things are done. Since both me and my wife work remotely, we travel a fair bit. After work, we have been exploring the cenotes of Yukatan, safaris of South Africa, and depths of underwater Thailand. But when you have to put in 8 hours of solid work and then rush to catch a diving boat, doing bank transfers, taxes, and calls is a real inconvenience. It’s really hard to do taxes underwater (although the feeling is the same).

We would postpone those things, and then, after the trip is finished, we would be hit by a freight train of obligations. Taxes on Jetlag are not much fun either.

As Stephen Wolfram summarized in his fantastic post “Notes on my personal infrastructure”, my bots consist of “the technology and other things that help me live and work better, feel less busy, and be more productive every day.”

Building a personal infrastructure has freed my time, mental energy and capacity to focus on more inspiring tasks. Instead of treading the water copying cells from one excel spreadsheet to another, I can spend time with my wife or promote Remote Work in an effort to help curb climate change.

And I want you to free your potential too, so you can focus on a higher calling.

Everyone can Automate 

This Barista has fully embraced automation

Automation is no longer only for programmers like me and theoretical physicists, like Steven Wolfram. It often does not require a single line of code.

Eric Dietrich has a fantastic post, “Don’t learn to program, learn to automate” where he describes his process of automation. Here are the steps required to write your first bot:

1 – You have to get very clear on what you are trying to achieve.

2 – You have to think about your process of achieving that.

If you are familiar with the GTD methodology, you might have noticed that these steps are the surefire way to Get Stuff Done. In the majority of cases, I would stop here. Focusing on goals and optimizing the “algorithm” of a manual task pays off before automating, and it’s sometimes enough.

But If you want to get the thing totally out of your mind:

3 – Implement the process. I know this sounds daunting, but have a look at a service called Zapier (or the free alternative – IFTTT). With a few clicks, I have created automations that will:

  • Save messages I starred in slack to my TODO list, 
  • Tweet 3 and 10 days after I have published a blog post
  • Remind me what my mom needs help with whenever I’m close to her place
  • Keep the tweets and pocket articles I starred in a spreadsheet
  • Many, many more.

I would often need to change my manual process because Zapier would not let me implement a specific flow, so don’t be surprised if you’ll have to go back to the previous point.

4 – Bonus points: maintenance

Stuff breaks, services change their offerings, and your automations will work unreliably. Just like a manager ensuring his team is getting the intended results, you’ll have to budget an hour per month to make sure everything works as expected.

With your own bots (or Ikiryo if you prefer) handling the overhead, you could have more time for what you want from life.

But I have to warn you: busywork is sometimes enjoyable. It gives you a quick dopamine boost and satisfaction from a well-accomplished task. Having the stuff to do has a way of making us feeling essential and special.

The more you automate, the more deliberate you have to be with your life.

For me, that’s the third goal of automation.

Busy is a choice

This post has been previously published on Maria’s blog

When I lived in Korea, it shocked me how everyone perceived ‘busy‘ as a badge of honor. It meant you’re a productive member of your group and people can rely on your sacrifice. It meant you’re working hard and should be praised for it. I remember how I told my colleague once that everyone was so busy, and she said “Don’t worry, Maria. You are busy too!”.

I found it funny back then, but she was right.

I’m addicted to busy in a lot of ways. I often feel that I can’t take a break, or I’ll never be able to catch up with all the things on my neverending todo list. I feel like everything will fall apart if I step away, and everyone will find out what sort of fraud I am. I feel like if I don’t take care of some things, no one will, and disaster will ensue.

I told my team lead recently how the workload in a project I lead overwhelms me. These days it’s enough for one person to get sick, and we’re barely catching up. He listened to it all very gently, then said I should consider stepping away from the lead role, cause I’m on collision course with planet burnout.

It was a hard pill to swallow, but he was right too.

The way I dealt with this challenge was very unhealthy. It was like running around with an empty wheelbarrow, too busy to actually load it. I felt I was doing everyone a favour by working overtime and feeling personally responsible for every single problem. In fact, I became less capable of deep troubleshooting, supporting my fellow team members, or making strategic decisions that would solve the crisis at its core. Because of my desire to do more, I was actually doing less, but felt more tired in result.

What he said to me was a much needed wakeup call. I realised the things that I did weren’t working, and that I can’t repeat the same steps again and expect a different outcome. So I did the scariest thing I could do.

I took a break.

I’ve let the raging fires burn on their own, and spent an entire day catching up with all the important-but-not-that-urgent stuff. The kind of things that never openly ask for your time, but can leverage your efforts elsewhere if you let them.

I felt like I was letting my teammates down by leaving them alone in trenches. This couldn’t have been further from the truth. I finally had a chance to analyse why exactly we’re lagging behind, understand what we need to get back on track, and lay out a plan how to get there. I could chat with a mentor and ask her for advice. I could kick off the training of another colleague, which I’ve been putting off for a week. You thought the empty wheelbarrow was a hyperbole?

I thought I was too busy to do all of that. I was wrong.

Whenever I’m feeling too busy to take a break, it is precisely when I most need one.

Whenever I’m too busy to exercise, or meditate, or go for a walk, it’s the surest sign that I should just do it.

Whenever I feel that everything will fall apart if I step away, I should let it fall apart. If the only thing that holds the entire structure together is my enormous effort, it’s probably not a structure worth preserving.

Whenever I feel like I’m banging my head against the wall, I should take a step back, look around, and see if there’s a door nearby, even if my first instinct is to keep smashing harder.

The feeling of busyness can be quite overwhelming. But ultimately, busy is a choice.

You’re not lazy. You may just need accountability.

This post has been previously published on Maria’s blog

There’s plenty of advice that seems to work on everyone else but me. Todo lists are a great example. Whenever I’m feeling overwhelmed with having too much on my plate, someone inevitably suggests:

“Just create a todo list and start crossing things off.”

– A clueless person (sometimes known as my husband)

It works pretty well for a day or two, but then I see the backlog of all the things I hoped to do grow larger and larger, and at some point abandon the whole list in panic. There was once a todo list that I abandoned because I couldn’t stand the fact I still hadn’t bought that backpack I’d added there a few weeks before. This was over a year ago, and I’m nowhere closer to owning that backpack than I was back then.

I used to think this is because I’m extremely lazy and undisciplined. My fiancé somehow doesn’t have any problems with following up on the things he planned to do, why should I? I thought I need to shame myself more into working on things I haven’t done yet, or only let myself do cool stuff (like spending half a day out in the park) once I cross all the items off my todo list. In result I’d stay home, feeling guilty and grumpy, scrolling my Twitter feed, and wondering why I can’t make myself do all the things I am supposed to do. It certainly must be my weak character.

Four Tendencies

I’d probably still be thinking this way, if I hadn’t read The Four Tendencies by Gretchen Rubin. It’s a very simple yet powerful framework for how different people respond to what’s expected of them. Artur explained more about how every type behaves on his blog, so you can check the details here. For me the most important discovery was that I’d much rather do something for a stranger, or even an imaginary stranger that only exists in my head, than I’d do it for myself, or even my partner, who’s too close to me to be recorded in my books as a separate person. In other words, I’m a classic Obliger who will go to such great lengths not to disappoint anyone that I’d give up on my dreams just so that they don’t conflict with someone else’s demands on my time.

When I first heard about this framework, my first reaction was to resist it. I understood it that I’m mostly driven by external expectations, but perhaps if I worked hard enough on changing my attitude, I’d be able to switch to a different type? A Questioner would be nice I think… I somehow felt that acknowledging that I’m not going to get anything done without external accountability would be admitting to my weakness. I thought that I should not require external support to accomplish my goals. I thought that’s a sign of weak character and immaturity.

I still perceived it this way on some level, until a friend on Twitter made a joke about a foam brick she occasionally sits on for the sake of a “sport”. This reminded me I too have a similar foam brick I’ve only maybe used once or twice, and I almost started feeling guilty about it. But then I realized, I’m super consistent in doing aerial yoga a few times each week. I don’t need to put it on my todo list, or to force myself to do this. I’m excited and looking forward to it. I’m no too lazy to practice, I just prefer to do it in a nice friendly studio with some nice friendly people rather than alone at home. Why should I ever feel guilty about such thing?

The same thing happened to me with my writing. I’ve been promising myself I would write more for at least two years, until I found two accountability buddies. Since then I’ve created something for this blog for 175 days in a row, no matter how much I had on my plate. I’m still writing mostly for myself, but knowing my buddies are there cheering for me is what actually keeps me going.

Knowing this, I should finally drop the idea that strong character can only be developed in solitude, and start actively seeking buddies in other areas of my life where I’m currently lacking motivation. I know the why behind the items on my todo list, but more often than not find it hard to follow through without external support. If you find yourself in the same position, stop beating yourself up and try looking for a buddy or a support group. Perhaps you’ll end up as excited about the things you want to do as I am now about blogging and aerial yoga.