• Software Architectural Pattern

    A way of organizing code and abstracting concepts to build a software system often with the goals of robustness, reliability, extensibility, performance, and correctness.

  • Event Sourcing

    A method for representing state of a system using immutable events over time that can be aggregated to derive state at a particular moment.

  • In-Group Favoritism

    The tendency to give preferential treatment to those belonging to the one’s in-group over one’s out-group.

  • Janna Levin

    Theoretical cosmologist who researches black holes and gravitational waves. In particular, the universe is finite in size.

  • Incremental Writing

    A process for long form writing where you start writing independent units of ideas/topics (similar to ‘atomic notes’ in Zettelkasten) and synthesize them in a separate step.

  • Cooperative Cryptonetwork

    Applying crypto/blockchain concepts (e.g. proof of work, aligning incentives) to building large scale co-ops that require cooperation and governance.

  • Load-Bearing Quirks

    In software development, code describes what the program does, but is not helpful when we need to understand what it is intendedto do or why.

  • Emotional Thermometer

    A framework to improve mindfulness of anxiety and emotional distress. You can use this mapping to plan what to do when you find yourself at various points in the scale.

  • Sushi Train

    Visualize your thoughts as a sushi train that constantly revolves around you with different dishes that represent the flavor of thought.

  • Self-Compassion

    People tend to be more judgmental and harsher on themselves than on others.

  • Mindfulness

    The practice of bringing your attention to the present moment without judgment.

  • Working Copy

    An iOS app that provides version control over folders using the Files API.

  • Useful Friction

    Slowing down a process can be valuable when applied thoughtfully. For example, confirmation when deleting a file or charging a nominal fee.

  • Duplication Over Abstraction

    It’s better to favor duplication over the wrong abstraction. The wrong abstraction starts out as a way to remove duplication and then gets altered over time to handle more and more conditions to the point where it’s unique to all the callers.

  • Rule of 72

    Estimate how many weeks it will take for a value to double if it continues to grows at a certain rate e.