The trust battery is a metaphor for thinking about trust between people. As they work together the trust battery charges.
From Tobi LΓΌtke, founder and CEO of Shopify on the Knowledge Project podcast.
The trust battery is a metaphor for thinking about trust between people. As they work together the trust battery charges. From Tobi LΓΌtke, founder and CEO of Shopify on the Knowledge Project podcast.
One question I find myself coming back to is whether or not macroeconomics is a useful source of explanations. On the one hand, the generalization of very complicated human interactions into models helps simplify our understanding of the world. On the other hand, it’s often incorrect. Besides explanations, macroeconomics would be useful if it gave us an information advantage. In investing, consensus macro forecasts provide no value because if everyone knows the same thing there is no advantage. In tournament like fields favor high-variance strategies so if everyone draws the same conclusions from the same data it’s not useful. We might be able to spot bad macroeconomics if we focus on good explanations. For example, trends are not explanations so economic theories that look at trends to make predictions are almost certainly wrong. The good ones will hold up in the face of new data. In How are Milton Friedman’s ideas holding up? by Noahpinion, it’s clear that Friedman’s ideas that fit the economy of the 70’s no longer fit the 2000’s making them bad explanations. Unfortunately, outdated ideas can perpetuate for years especially if it becomes imbued in public policy. See also:
A few thoughts about the book. I was reminded how much humans can endure and survive, even when faced with extraordinary misfortune. The whole “let’s be the first trans-Antarctic expedition” seemed contrived, but the fight for survival was certainly not. It seems outlandish that they crossed the open sea in a 22 foot boat. The James Caird looks like a large canoe. Ernest Shackleton and the entire crew never gave up. The final overland trek through South Georgia island, without tents or sleeping bags or much other provisions, was incredible. It was literally do or die. The Endurance’s misadventure is a monument to survival that puts life in perspective in a way that few things can. I’m reminded that I can endure much more than I think I can.
Prices of tech stocks soared during the COVID-19 global pandemic in part due to growth. Investors were paying 100x ARR multiples for some tech companies. However, that growth was not permanent and we are seeing tech stock prices revert to the mean. Ecommerce penetration is one example. Online sales during the pandemic grew rapidly, but now have come back to a pre-pandemic rate. Many tech stocks benefited from this trend, but it turns out it wasn’t long lasting. Read Reversion to the mean: the real long COVID by John Luttig. See also:
Short-sightedness is nearly ubiquitous in East Asiaβ80% of students and graduates have myopia in Hong Kong and Singapore. In South Korea, it’s 90%. For comparison, the rate of short-sightedness in California is 59% and in Europe its estimated to be 20-40%. One reason is that children are not getting exposure to enough daylight because they are sitting in classrooms all day. A recent study suggests that more time outside can cut the number of people who develop myopia. Read Short-sightedness has become an epidemic from The Economist. How might vision loss effect the world?
A right-half-plane zero is when the exponential growth rate of an input does not affect the output. For example, eating ice cream increases happiness but creates more unhappiness so you eat more ice cream to make up for it and so on until there is no ice cream anywhere. A system with a right-half-plane zero needs to be carefully designed because, when subjected to an input, it will have the inverse response at first. For example, when a plane attempts to climb by pitching up, it moves down first. If the pilot over-corrects by pitching up further, the input will cause the opposite effectβcausing a stall and eventually crashing the plane. Read You need to know what right-half-plane zeros are. See also:
A working paper from the National Bureau of Economic Research found that remote work raised aggregate housing prices by 15% and possibly more. This accounts for half of the overall increase in aggregate housing prices. Read Housing Demand and Remote Work. See also:
In a paper about the impact of remote work on commercial office real estate found that value of offices declined 32% from the start of the pandemic. The authors also found that the effect is likely to persist in the long-run resulting in $500B of value destruction (or potentially redistribution someplace else, like home prices). We estimate a 32.95% decline in the value of New York Cityβs office stock at the outset of the pandemic. We estimate that remote work is likely to persist and result in long-run office valuations that are about 28% below pre-pandemic
levels. Read Work From Home and the Office Real Estate Apocalypse.
It used to be an anomaly, now it’s common place. It’s not remote work, it’s just work. We will surly laugh at ourselves in 20 years the same way we laugh at seeing people with big car phones in movies from the 80sβthere are no car phones or house phones just a (cell) phone. This is the age of connected work. There is no here vs there, everywhere is here. If there is no office, all there is to design around is people and the connections that enable them to work together.
At an early stage startup (less than 10 people), it’s a big advantage to do everyone’s job first. That doesn’t mean you don’t scale or hire other people, but doing their job first gives the most understanding about what the job actually entails and the knowledge of how it works. Being a founder, this can feel daunting. What do I know about customer success? I’ve never had to answer support tickets, how do I do that? And so on. This is the source of the advantage because everything fits into your head. You can make fast decisions. You can learn who would be successful when hiring someone to do this job in the future. You can understand more fully how your business works, what the problems are, and what to do about it. You will never have this pace of knowledge growth again. See also:
This is a reflection on using org-roam as a founder in the early stages of starting a company. It’s mostly a draft that I may or may not come back to. What I’m trying to do generally is have better quality thoughts. I want to answer questions and reason about the clearly. I’ve found that writing is thinking and drawing from a wide pool leads to creativity. Taking notes and linking them together (the vast majority of the utility from these tools for thought are just these two things) provides heterarchies that are, in practice, very useful. It helps me digest vast amounts of disparate information. It helps me find several through lines that can change over time. I can separate out the situation from “what’s going on here?”. It’s just enough distance to help me think less narrowly. Is it practical? It’s a lot of work and it’s easy to dismiss the effort as impractical or a distraction. Turns out, I really do reference these notes and look at them often. I don’t have “conversations” with my notes, but I often consult them and reference them. The most common reason is when I’m recalling some information or idea with someone else that comes up in a conversation. I realize I’ve had this thought (or something like it) before and go to my public notes, search, and share. The single best hack for looking at notes again was adding a “random note” button to my published notes. When I’m bored, I click around and let myself wander previous ideas and thoughts. It also keeps the quality upβI’m more likely to go back and fix/update something I wrote if I see it again. I don’t write more essays or blog posts. My interests are wide but focus is narrow. While I admire pundits with wide ranging essays such as Noahpinion, Matt Clancy, Bryce, and Slate Star Codex, my focusβthe majority of the day (and night)βis on building a business. The way I take notes and what I do with them is heavily influenced by this focus and motivation. I use my notes to write internal memos and product briefs. Mostly when thinking about strategy, the market, and sharing past insights about product, engineering, and sales. I also use my notes to give advice and answer questions from others. If someone asks me about raising a seed round as a solo-founder or finding the first 10 users I’ve written many notes to draw from. What else? Tools for thought are single-player but at least this single-player is better prepared with more clear thoughts to share. Better thoughts lead to better leadership. When I’ve clarified my thinking it tends to be very solid. Conviction and confidence (or maybe just a well considered approach) are important for others who are taking a risk by working with you. Nobody want to sit through a meeting where a leader is thinking out loud and confusing everyone.
The venerable These micro interactions with your business add up over time. The easier to find you and establish trust, the better your business will be. Is it worth millions of dollars for a domain name? I’m still doubtful. Paired with the right branding, maybe. Just keep in mind we’ve had Google for decades now and nobody searches by typing in `{name of thing I want}.com` into their browser anymore (yes, people actually used to do this). See also:.com
TLD and a single word domain are a multiplier that improves nearly every interaction with your business. Establishing trust when someone sends a link (avoiding “this looks like spam”). Communicating your domain name to someone over the phone (try saying ‘dot S O’ to someone who can barely hear you on a land line). Interoperating with old legacy systems (some forms just don’t accept all TLDs). Signaling status to potential customers and employees (“they have the dot com they must be doing well”). Finally, it’s easier to remember off hand since you only need to recall the name not the name plus the TLD.
There have been 115 tech companies with layoffs since April 2022 and a steep increase in May. Source Layoff.fyi. See also:
During the early part of the pandemic (July 2020 to July 2021), the population of SF fell 6.3%βthe biggest population decrease in the US. Given the number of tech workers in SF, this could represent a significant redistribution of tech talent to other geographic areas. See also:
Sequoia Capital is the latest big name VC to warn founders about uncertainty in venture capital due to inflation and geopolitical turmoil. Slides here. The cost of capital has gone up, valuations in public markets have gone down and are paying less for growth, the impact of these shocks will have second order and third order effects (like housing prices up 60+%). In the short term, profitability is favored to growth in a downturn. While the Nasdaq is down, Morgan Stanleyβs unprofitable tech index is
down 64%. In the mid to long term, durable growth is bestβimproving margins and growth. The drop in the market is steep and recovery takes a long time. Be quick to cut expenses to avoid a death spiral. “In 2008 all companies that cut were efficient and better.” It’s not about being the strongest, but being the most adaptable. There’s an opportunity in a down turn. FAANG companies all have a hiring freeze. Your competitors may not adapt and end up in a death spiral.
A large-scale survey of 12,000 people found that remote work increases employee happiness by as much as 20% Read Remote Work is Linked to Happiness: Study of 12,455 Respondents.
A burn multiple is the amount of cash burned compared to annual recurring revenue (ARR). For example, if a company burns $10MM to add $30MM ARR the burn multiple is 3.0x. Higher burn multiples are worse and imply the company will run out of money faster. This is a better measure of overall efficiency compared to LTV/CAC because it encompasses all costs (burn). What’s a good burn multiple? (Source a16z) See also:
ARR
25th Percentile (Bad)
50th Percentile (Median)
75th Percentile (Good)
$0-$10MM
3.8x
1.6x
1.1x
$10MM-$25MM
1.8x
1.4x
0.8x
$25MM-$75MM
1.1x
0.7x
0.5x
$75MM+
0.9x
0.5x
0x
Startups are a microcosm of the economy and we can observe that things are changing quickly towards a recession footing. The effects of inflation on valuations are readily apparent, but we also see that things were too good to be true and investors and late stage companies exploited it. Everyone looks like a genius when things are going well, but as it turns out, that wasn’t very durable. How should we think about running a startup during a recession? See also:
As inflation rises there will be a tightening of money supply and higher interest rates to control it. This causes a repricing of assets and, in particular, high-growth tech stocks. The median public company software valuations dropped from 12x forward revenue to 5x or lessβan almost 60% decline. The decline of public company valuations creates downward pressure on startup valuations. A startup whose valuation was 100x forward revenue (ARR) should expect that to be brought down significantly closer to their comparable public company valuations with a slight premium for faster growth (more like 10-15x). This has big implications for running a startup during a recession. Availability of capital will go down as VCs make fewer deals, more selectively, and with lower valuations. Many companies will run out of cash and fail to raise additional rounds of financing. YCombinator recommends founders cut expenses and plan for 24 months without additional fundraising.
We are probably in a recession already, but we can’t know for sure for another quarter or so. With inflation on the rise and interest-rate hikes making less money available, it will be some time before things grow again. In a blog post, Fred Wilson estimates it will be another 18 months before we see any improvement. Key indicators will be a bottoming out of public stock valuations before rising again (e.g. 1980 recession took 3 years to see stocks rebound). Elad Gil says, “The most likely scenario is 2023 will be a much tougher environment for startups than 2022” in Changing times (or, why is every layoff 10-15%?). See also:
St. Pierre’s Cathedral in Geneva is built on top of another church which is built on yet another church going back hundreds of years. At the center, at the lowest layer, is a grave that is believed to be an chieftain from the original settlers of the area. They built the original church around this grave and the city of Geneva grew around it.
Setting a cookie doesn’t always have the same behavior. If you set a cookie on a domain listed in the public suffix list using This makes sense for certain domains that are primarily used to host the sites of multiple users like A workaround is to use See also:SameSite=strict
, it will get blocked by CORS
even if they request and the cookie are coming from the same domain.compute.amazonaws.com
for AWS resources or githubpreview.dev
which serves preview for GitHub Codespaces. You wouldn’t want a different user hosted on the same domain to be able to set cookies for your users' site because that would be a security issue.SameSite=none
and the prerequisite Secure
attribute to set the cookie, but this effectively allows cross site cookies which requires other security measures to lock down.
SameSite
is important to prevent cross site request forgery (CSRF) attacks
Using the built-in Here’s how to use In In In your setup script: See also:docker-compose
configuration in GitHub Codespaces is limited. It’s better to run docker-compose
inside the Codespace but this requires a docker-in-docker setup which is finicky.docker-compose
from Codespaces so that everything is set up when the codespace is created..devcontainer/devcontainer.json
:{
"name": "My Space",
// The dockerfile will be at te root of the project
"build": {"dockerfile": "../Dockerfile"},
// Your code path from the .devcontainer directory
"workspaceFolder": "../app",
// List of ports that you want to preview
"forwardPorts": [1234, 5678],
// Script to run to bootstrap the app when the space is created
"postCreateCommand": ". ../path_to_setup_script.sh",
// Automatically start the app in subsequent sessions
"postStartCommand": "cd app && docker-compose start",
// Privileged flag is needed to run docker-in-docker, the volume
// is needed or docker build will fail
"runArgs": ["--volume=/var/lib/docker", "--privileged"],
"postCreateCommand": ". /app/scripts/codespaces.sh"
}
DockerFile
at the root of the project:FROM alpine:3.15.4
RUN apk update
RUN apk add --no-cache git
RUN apk add --no-cache docker-engine
RUN apk add --no-cache docker-cli
RUN apk add --no-cache docker-compose
ADD ./app /app
EXPOSE 8000
EXPOSE 35729
EXPOSE 3000
EXPOSE 1313
# Assumes docker-compose.yaml is at the root /app root
cd app
# This setup script depends on running some code in other containers
dockerd &
# Ugh yes there's no nice way to wait until dockerd is ready
sleep 5
# Do whatever setup you need
docker-compose up -d
docker-compose exec {some command to run migrations etc}
# If you need to use docker for this setup script you must stop all containers
# otherwise, any servers running in docker will not have their ports
# forwarded properly by codespaces.
docker-compose stop
githubpreview.dev
is on the public suffix list
At time of writing, a CORS error will occur if the web application served in a GitHub preview URL attempts to make a fetch request to a different port. Specifically, it the preflight Forwarding ports in a Codespace will generate a different URL for each port. For example, opening port The workaround is to change the port from private (the default) to public. Annoyingly, there is no way to configure that a port be made public in the See also:OPTION
request receive a 302
HTTP status code and fail with Redirect is not allowed for a preflight request
.8000
will have a preview URL of {codespace name}-{port}.githubpreview.dev
. That means, if you have your frontend and backend servers on different ports, it won’t work.devcontainer.json
so it needs to be set each time a codespace is created. The other way around is to add a reverse proxy to put both frontend and backend server on the same port, but that may not match what is in your production setup.