• Outsourced Thinking

    Having to think about everything all the time would be impractical so people rely on other people to think certain thoughts for them. This happens all the time without us noticing or caring most of the time. For example, reading what an expert has to say about something is more efficient than deriving your own opinion from source materials.

    The problem with that is people can be wrong, misinformation can mislead you, disinformation is purposely trying to mislead you, and experts are just people too. You have to be mindful when you are outsourcing your thinking otherwise you won’t be thinking clearly when it matters most.

    See also:


  • How to Write for Remote Teams

    Writing is the much-discussed secret to building great remote teams. How do you write for a remote team?

    There are three things to do to make writing the core of a remote team. Write project briefs. Take meeting notes. Broadcast widely.

    Write project briefs

    Project briefs are the foundation of great remote teams. They drastically improve the clarity of ideas and work. They make it easy for the team to share feedback. They are an artifact for future coordination.

    Project briefs need to have an opinion. Itโ€™s not a scientific paper, it should be convincing.

    Project briefs should be about solving a problem. Problems are a conflict between ideasโ€”if there is no conflict there is no problem.

    How do you write a good brief?

    SCQA is by far the best format I’ve seen for structuring a project brief (The Minto Pyramid Principle is also great for business writing generally). Situation, complication, questions, and answer.

    Don’t start by asking what the problem is, ask what the situation is. So much error happens between the facts of what’s going on and the interpretation of themโ€”SCQA avoids this pitfall by putting space between them.

    Writing briefs has a natural advantage over other forms of communication. When you write, your misunderstandings become obvious. It’s a natural forcing function for improving clarity.

    Reviewing briefs structured in this way becomes much easier. Is the situation indisputable? Was the interpretation of the complication reasonable? Is the key question answered fully?

    I’ve read a lot of bad documents. It usually comes down to not answering the key question fully or the answer being disguised as the problem.

    Once you have project briefs, there is an anchor point for coordination. You can link supplementary docs to it. You can share it with new teammates. You can reference it over and over to keep the team focused (“what are we trying to do again?").

    Take meeting notes

    Any meeting with three or more participants and any meeting that others could be interested in should have notes. Those notes should be shared broadly.

    Everyone can’t attend every meeting and remote teams that make it easy to absorb context asynchronously is a big advantage.

    As an artifact, meeting notes are surprisingly useful. Referencing it just once to remember that one thing a user said that one time is worth the price of entry.

    In meetings, it’s easy for everyone to think they agreed and were on the same page. Writing meeting notes reveals when that’s not actually the case. Putting it down in writing has an air of finality that’s useful to take advantage of. It’s too easy to let things pass in conversation otherwise.

    Broadcast widely

    As we’ve seen, the value of writing for remote teams is clarity and coordination, but there’s another important way writing helpsโ€”building trust.

    Writing should be shared internally as broadly as possible. Transparency improves trust (there are no secret conversations where the decisions are being made). Ambient awareness leads to serendipity.

    That doesn’t mean everyone should read everything, but they should be able to. Filtering content is a much easier problem to solve than building a culture of writing. People can choose what they tune into and how to best use it in their work.

    A remote team that is in the practice of constantly sharing briefs, meeting notes, and other artifacts will find that trust is built into the system. There’s clarity, transparency, and accountability.


  • FMLA and Remote Work

    The rules for when a company must provide federally mandated medical leave to employees may change due to remote work. So far though, proximity to an office is still an important criteria. In Texas, a court ruled that an employer was not liable for FMLA because the employee was working remotely, reporting to an Ohio office, and was not within 75 miles of the office because they worked from home in Texas.

    So far the states are interpreting rules that weren’t written with remote work in mind.

    How Does the FMLA Apply to a Remote Workforce?

    See also:

    • Compliance is dynamic, as people move around the eligibility of FMLA makes it more difficult for employers to administer

  • Everybody Is Great When They're Rested

    It’s an easy excuse to tell yourself you can’t do something because you’re tired. If only you were well rested, you could do something great.

    The reality is, doing anything demanding where you need to peak performance means you will be tired often. But so is everyone else. What you do even when you are tired can give you a meaningful advantage over those that pack it in.

    I overheard this listening to Hard Knocks and I always feel a bit more energized seeing how professional football get ready for the highest level of competition.


  • Is Your Pricing Too High?

    How do you know if your price is too high? A few things could be happening: the product isn’t actually as valuable as you think, you’re talking to the wrong customers, you’re not conveying the value properly, or some combination of the three.

    Product isn’t actually valuable

    You may have identified a problem that isn’t critical or a solution that isn’t good enough to overcome the inertia needed for a customer to buy. This can be difficult to determine but requires keen observationโ€”especially to rule out some of the other causes below.

    Talking to the wrong customers

    If you have any sales, look at what the most successful customers have in common (not just any customer otherwise that could be misleading). What was the key challenge they were facing and how did your product address that? Similarly, look at sales lost or customers that churned to see what they had in common. Focus on a single customer profile until you’ve really figured it out before moving on to the next.

    Not conveying value

    You can have the best product in the world and people still won’t buy it if you can’t convey the value it creates. In B2B sales, it’s possible to solve a real problem but customers don’t have the motivation to do anything about it. Finding the right hooks are important to get a potential customer to take action.

    See also:


  • Alcohol Is Technology for Cooperation

    The paradox of alcohol consumption is that it’s bad for our health and costly to society yet continues to thrive. There is no evolutionary reason for humans to have evolved to enjoy the taste of alcohol (in fact certain Asian gene pools like mine have developed allergies to it). However, alcohol provides an extremely important benefit, down regulating the pre-frontal cortex and thereby improving cooperation.

    The PFC helps us focus and analyze, but it also gets in the way when we are “thinking too much”. Alcohol down regulates the PFC which improves creativity and reduces inhibition. In an important negotiation, the thing that builds trust is turning down your PFC. That’s why, since ancient times, alcohol is at the center of all gatherings and negotiations. It’s a vital technology to improve cooperation among people and, ultimately, civilization building.

    Listen to Edward Slingerland, Drinking for 10,000 Years: Intoxication and Civilization.

    See also:


  • News Diet

    A news diet is intentionally limiting yourself to certain quantities and outlets for news and media. This might help maintain focus throughout the day and improve mental health.

    There may be a link between exposure to bad news and depression. For example, researchers found a positive correlation between news about COVID-19 and depressive symptoms.


  • Line Clamp With React and Tailwindcss

    Tailwind has a plugin for line clamping @tailwindcss/line-clamp that uses pure CSS to truncate text to the specified number of lines. What if you want to show an indicator to read the rest of the truncated text?

    We can create a react component that dynamically truncates text and shows a toggle for expanding or hiding text.

    import React, { FunctionComponent, useState, useCallback } from 'react';
    
    type TextTruncateProps = {
      text: string;
    };
    
    /* Note: The number of lines to truncate to needs to be static
    otherwise the css classes won't be generated by tailwind. If you need
    a different number of lines, create a new component */
    export const TextTruncateThree: FunctionComponent<TextTruncateProps> = ({
      text,
    }) => {
      const [shouldTruncate, setShouldTruncate] = useState<boolean>(false);
      const [readMore, setReadMore] = useState<boolean>(false);
    
      // Measure the element to calculate the number of lines and
      // determine whether to truncate
      const measuredRef = useCallback(
        (node: any) => {
          // Before the component mounts the node ref will be null
          if (node?.parentElement) {
            // Calculate the number of lines based on height
            const elHeight = node.offsetHeight;
            const styles = window.getComputedStyle(node);
            const lineHeight = styles
              .getPropertyValue('line-height')
              .replace('px', '');
            const elLineCount = elHeight / parseInt(lineHeight, 10);
    
            setShouldTruncate(elLineCount > 3);
          }
        },
        [text]
      );
    
      const shouldClamp = shouldTruncate && !readMore;
    
      // Our toggle for expanding or hiding truncated text
      let toggle;
      if (readMore) {
        toggle = (
          <span onClick={() => setReadMore(false)}>
            Show less
          </span>
        )
      } else {
        toggle = (
          <span onClick={() => setReadMore(true)}>
            Read more
          </span>
        );
      }
    
      return (
        <div>
          <p
            ref={measuredRef}
            className={`${shouldClamp ? 'line-clamp-3' : 'line-clamp-none'}`}
          >
            {text}
          </p>
          {shouldTruncate && toggle}
        </div>
      );
    };
    

    See also:


  • Org-Mode Export to Notion

    I use org-mode for taking notes and keeping track of tasks. I use Notion for work as an internal wiki.

    I take meeting notes in org-mode but want to share them in the internal wiki for work.

    Is there a way to do that?

    Update: I used ChatGPT with Emacs to come up with the following export backend:

    (require 'org)
    (require 'ox-org)
    (require 'request)
    
    (org-export-define-derived-backend 'notion 'org
      :menu-entry
      '(?n "Export to Notion Meetings"
           ((?n "To Notion Meetings"
                (lambda (a s v b)
                  (org-notion-meetings-export a s v b))))))
    
    (defun notion-create-meeting (meeting-title meeting-notes)
      (let* ((notion-api-secret (getenv "NOTION_API_SECRET"))
             (database-id (getenv "ORG_NOTION_MEETINGS_DATABASE_ID"))
             (url (format "https://api.notion.com/v1/pages"))
             (headers `(("Notion-Version" . "2022-06-28")
                        ("Content-Type" . "application/json")
                        ("Authorization" . ,(format "Bearer %s" notion-api-secret))))
             (data `(("parent" . (("database_id" . ,database-id)))
                     ("properties" . (("Name" . (("title" . ((("text" . (("content" . ,meeting-title))))))))))
                     ("children" . ((("object" . "block")
                                     ("type" . "paragraph")
                                     ("paragraph" . (("rich_text" . ((("text" . (("content" . ,meeting-notes))))))))))))))
        (request
         url
         :type "POST"
         :headers headers
         :data (json-encode data)
         :parser 'json-read
         :error
         (cl-function (lambda (&rest args &key error-thrown response &allow-other-keys)
                        (message "Got error: %S, response: %S" error-thrown response)))
         :success (cl-function
                   (lambda (&key data &allow-other-keys)
                     (message "Meeting notes page created: %s" (assoc-default 'json data)))))))
    
    (defun org-notion-meetings-export (&optional async subtreep visible-only body-only ext-plist)
      (let ((title (org-element-property :title (org-element-at-point)))
            (body (org-export-as 'md subtreep visible-only body-only ext-plist)))
        (notion-create-meeting title body)))
    
    (provide 'org-notion-meetings-export)
    

  • Compliance Is a Limiting Factor of Opportunity

    Opportunity comes in many shapes and sizes but a consistent limiting factor complianceโ€”the set of rules (written or unwritten) that one must follow to participate in a prosperous endeavor.

    Examples of products that make compliance easier:

    • Mosey automating employment and tax compliance to simplify hiring remote and staying compliant
    • Stripe Atlas start a company and get access to financial infrastructure from anywhere in the world
    • Legalpad solving immigration and work visas
    • Gusto payroll and benefits without having to figure out tax filings
    • Vanta navigate security certifications to sell to regulated customers

  • Startup Investing Is Investing in Options

    Startups don’t have information about them needed for techniques you would typically use to value an investment. There is little history, cash flows, and even assets to do a discounted cash flow. As a result, public market investors are confused at how early-stage startups carry the valuations they do. That’s because these companies are like investing in options.


  • Three Body Problem Book Review

    The Three Body Problem captures your imagination and uses science as a plot point that I haven’t seen before. Some spoilers ahead.

    I loved that the book is framed around the Cultural Revolution in China and told in unforgiving detail. It was a unique experience for me to have science fiction told through the lens of Chinese politics and history.

    The dimension of time becomes a mind bending consideration for the decisions Earth and Trisolaris make. It’s interesting to think about how things might play out when the incoming danger is 400 years away and the advancement of technology in the intervening time between launching an invasion fleet and arriving at the destination. (Although, this does presume that no advancement can be made along the journey when matter, energy, and evidence are all that’s needed for knowledge creation).

    Some of it is admittedly far fetched. The proton computer is super cool, but it’s stretched to the absolute limitโ€”AI + multi-dimensional transformation + quantum sensing, and so on.


  • Set a Contract Minimum for Redlines

    Prospective customers will want to review an order form and master software agreement. Their lawyers will want to propose changes. This causes a few issues: it increases the cost of the deal because now you need to pay lawyers to resolve the feedback and it makes it difficult to understand contractual obligations if every customer is slightly different.

    To reduce this complication, set a contract value minimum before you will make revisions to your agreement. If someone asks about it you can tell them the rule that you’ve set for sales. If they push back, you can give a clear reason whyโ€”the expense of making revisions and maintaining your obligations.

    See also:


  • Degrees of Souledness

    People tend to think of objects and living things as having a soul or not having a soul when really it’s a continuous scale of souledness. For example, people reject the idea of eating certain animals like cats but not chickens, we remark about how, after a major cognitive decline due to old age, that person “isn’t all there”. There is a continuous assignment we make as to the degree of souledness in everything we see and interact with.

    This isn’t to say this is correct (a souledness scale points out a lot of inconsistencies and contradictions) but it provides a good explanation for the moral issues we face todayโ€”a binary view of souledness (the predominant view) requires consensus and is therefore indeterminable.

    From I Am a Strange Loop.

    See also: