After noticing abysmal performance of Docker for macOS and after a few Google searches (searching ‘docker macos performance’ yields 5MM hits) to confirm the issue, the recommended solution is to use Mutagen. Mutagen efficiently synchronizes files between macOS and the virtualized VM that docker uses resulting in much better performance.
-
Stealth Mode Provides Optionality
When a company chooses to operate in stealth mode it provides optionality in a couple of ways. First, you can better control timing of press announcements since the world doesn’t know what you are doing yet and you haven’t shared anything before (more appealing to a reporter). Second, it gives the company an option to figure out more about the market, iterate on the product, or pivot with lower risk.
Of course, none of this works if it’s already well known what you are doing and you don’t deviate from it.
If you are in stealth mode, it’s probably best to maintain strict confidentiality from the beginning, especially with investors as information tends to leak. Even so, it’s unlikely that you can be successful without talking about what you are doing to a large group of customers, investors, or subject matter experts.
Published
-
Stealth Mode
This note does not have a description yet.
Published
-
MAP Customer Value Framework
MAP (metrics, activities, people) is a framework for thinking about SaaS value and pricing. At least one element should anchor a product’s pricing.
An example of a metrics approach to pricing would be Slackβfree up to 10,000 messages. This aligns nicely with the core value that Slack provides, communication.
See also:
Published
-
Python Type Hinting
Python 3+ has type annotations that can be used for static type checking using a separate program. There are several competing type checkers (mypy, pyright, pyre) that can be used that are sponsored by different companies (Facebook, Microsoft).
See also:
- Static types make it easier work on projects sporadically
- TypeScript adds incidental complexity to using libraries, I hope this isn’t the case with Python libraries
- TypeScript was a different approach that required an entirely separate language and compiler
Published
-
Python
A dynamic programming language used heavily in the startup and scientific community.
Published
-
Code Architecture Docs Decrease the Time Spent Searching for Where to Make a Change
A software architecture doc (e.g. ARCHITECTURE.md) is a way of stating the overall structure of the code. This makes it easier for new people to ramp up on the code base and trims down the time it takes to find where to make a code change.
Best practices:
- Keep it short, the longer it is the less likely is to stay up-to-date
- Specify the things that are most unlikely to change (again to keep it up-to-date), this also gives a frame of reference like landmarks on a map
- Don’t link directly to code since links go stale
- Make it highly visible so engineers go read it often
See also:
- Software architectural patterns, having a cohesive architecture makes it easier to document
- It should be obvious to spot if there is conceptual integrity by reading the architecture document
Published
-
An Antilibrary Reminds Us of What We Don't Know
An antilibrary is one’s collection of books that they have not read. These tend to accumulate and can cause some anxiety in people. However, it’s actually a good reminder of intellectual humilityβconstantly seeing what we don’t know and might never know.
See also:
- Essay - Learning how to read for how to absorb the books one does read
Published
-
All Problems in Computer Science Can Be Solved by Another Layer of Indirection
This is a quote attributed to David Wheeler, an early computer scientist who also invented subroutines among other things. Indirection refers to operating on a higher level of abstraction by implementing indirection such as dynamic dispatch or creating object hierarchies in object oriented programming. However, too many layers of indirection can also cause duplication of lower level code so this popular adage is sometimes suffixed with “except the problem of too many layers off indirection”.
Published
-
Choose Boring Technology
A counter response to the growing sprawl of technologies that argues boring technology (tried and true, more mature) is far more effective than the latest shiny tool that gets popular on HackerNews. Using the right tool for the job is often used to justify some new thing, but quickly dissolves when teams write down exactly the issues with the current stack that are not meeting their needs.
Published
-
Writing Is Like Getting Naked in Public
Writing and sharing it is analogous to walking around naked in public. You open yourself up to judgment of others and everyone can seemingly see every flaw. However, once you are ok with that it can become liberating. For example, this video of Neil Gaiman talking about his journey as a writer and overcoming the feeling of judgment.
Published
-
ASO
An administrative services organization (ASO) is an outsourcing provider for HR related administrative work. This is similar to a PEO (professional employer organization), but without co-employment. It is significantly less expensive than a PEO because the ASO does not carry employment-related liability.
Published
-
Italian Futurists Tried to Ban Pasta
In 1930, Italian Futurists led by Filippo Tommaso Marinetti declared that pasta should be replaced with futurists foods and in the meantime, rice. He co-wrote ‘Manifesto of Futurist Cooking’ which stated that pasta was the cause of Italy’s problems and holding the country back from being a technological powerhouse. Benito Mussolini supported the futurist ideas and, if not for Mussolini’s need to court an ally in Hitler during WWII (who hated futurism causing Mussolini to distance himself from Marinetti), they might have succeeded in banning pasta.
Published
-
No Straight Line Hierarchies
When organizing the information architecture for a website of applications, there should be no straight line hierarchies. This happens when there is a hierarchy of items, but one of the categories only contains a single item. This is confusing to users and unnecessarily adds another layer for users to traverse.
See also:
Published
-
Information Architecture
This note does not have a description yet.
Published
-
Continuous Integration
This note does not have a description yet.
Published
-
Benchmarking Results Can Be Very Different When Run in CI Tools
Most CI (continuous integration) tools run inside VMs in the cloud sometimes nested in other VMs. This causes pauses in execution as the VM may be applying different techniques to manage multi-tenencyβthrottling, pausing execution, and so on. Benchmarking code can have different results compared to running locally on your machine for this reason.
See also:
Published
-
Journalism Is the First Draft of History
News is the first pass at writing down the history of our time. It’s also largely a rough-draft, information is imperfect and it takes the benefit of hindsight to see stories from all angles.
This quote was attributed to Philip L. Graham, Publisher of the Washington Post when he said “news is the first rough-draft of history”.
Published
-
Demo Driven Development
Using demos as a way of focusing on specific functionality and elevating quality. Presenting your work builds in accountability and reviewing demos provides feedback. Over time, this practice calibrates people around a set of product principles and shared context.
See also:
- In Creative Selection, the author describes a hierarchical process of demos to ultimately be presented to Steve Jobs.
- Being a better judge of early work inoculates you from skepticism is a counter argument for this process to help early ideas develop.
- Engineering management could benefit from more focus on demos than finalized work.
Published
-
Creative Selection
This note does not have a description yet.
Published
-
Topgrading Reduces Mis-Hire Rate
In a study of companies that implemented a topgrading interview methodology, the mis-hire rate fell from 69.3% to 10.5%.
Topgrading is an interview process that includes interviewing for core skills, scorecards, job history review, and reference checks to deter dishonesty.
The topgrading interview walks through their work history and asks about the candidates successes, mistakes, key decisions, key relationship, their managerβs strengths and weaker points, how their manager would rate them, and why they left the job. Candidates that are willing to discuss their full work history provide much more information to the hiring manager and dishonest candidates are likely to drop out.
See also:
- Performance management is and measuring mis-hires are an important step in topgrading
- The most effective people care a lot which might be a good area for an interview to dig into
- Startups value generalists early, specialists later
Published
-
Schoening's Axe
On the ascent to K2 in 1953, Pete Schoening saved the lives of five members of the expedition by stopping the fall using his ice axe to wedge against a bolder along the mountain. The story is sometimes referred to as ‘The Belay’.
Published
-
Topeka Kansas Estimates a 10x Return on Relocating Remote Workers to Their City
The city of Topeka, Kansas estimates 10x in annual tax revenue for every $5k they spend in incentives to relocate high paying remote workers to their city. Small cities can build programs that attract individual remote workers that can have an immediate impact on taxes and boost the local economy.
See also:
- Two-thirds of remote workers want to continue to work remotely which increases the demand for relocation
- List of fully remote startups is growing which increases the supply side of the relocation market
- The ‘untethered class’ was most likely to migrate during the pandemic
Published
-
A Weak Man Argument Recenters a Category to Defeat It
A ‘weak man’ argument presents a belief that only a small number of people have in order to defeat it. This is similar to a ‘straw man’, but a straw man presents a belief that no one has in order to defeat it. A ‘weak man’ is a more believable logical fallacy.
The profound effect it has is to re-center the category one is arguing against. For example, when arguing against religion, one might cite the Westboro Baptist Church as an example that proves religion is bad. While the one example may be true, it is an over-simplification that re-centers the category on the weak man argument.
Re-centering can grow into a super weapon if it becomes accepted by everyone over time. Even acknowledging the re-centering in order to argue against it, legitimizes it and serves the weak man purpose. This can cause in-groups en masse to conflict against another group even if both groups agree the weak man argument is true (e.g. the Westboro Baptist Church is bad) because re-centering can profoundly change society.
See also:
- Weak man are persuasive similar to how projections onto different dimensions aids in understanding. The reality is things are complicated, so simplifying categories for people can be extremely effective.
- When groups get involved to defend against weak man arguments (even if they are true) is an example of in-group favoritism and dynamics.
- Related to belief congruence theory, holding one of these weak man arguments might be an important part of signaling you are part of the in-group and therefore gain better treatment.
Published