Skip to content

{ Author Archives }

Reduce Taxes with Private Investments?

Lately I’ve been studying family offices: how they’re structured, how they invest, how they support the family’s spending, how they minimize taxes, and so on. I’ve studied the endowment model and based my portfolio on it (heavy in real estate and other private assets, in addition to public equities). Now I’m looking to improve my […]

Convert Average Annual Return (AAR) to Compound Return (CAGR)

One of the confusing things around private investments — especially real estate syndicators — is advertising “Average Annual Returns” (AAR). I personally find this a bit shady because they can’t be directly compared to other returns such as the stock market, which are compound returns (specifically, using Compound Annual Growth Rate or CAGR). For example, you may see a real estate […]

Secrets, URLs, and Logging, Oh My!

It’s interesting how as you move from “programmer” to “software engineer” so many little details evolve and start to take over. The last few weeks I keep getting issues from my security team about logging “secrets” in URLs. So I want to explore how my view on this has changed over time. college student – just put […]

Restricting what packages are allowed to import in Golang using ASTs

I’m working on refactoring a monolithic end-to-end test suite for my company. It’s grown organically over the past 2 years as many, many new engineers and teams have onboarded. As you may know, “grown organically” is a euphemism for “it’s a hot mess”. The question I wanted to answer today was “how do I restrict what packages […]

Initial Equity Grants vs Refreshes

I’ve been wondering why startups take a different approach for the initial grants in year 1 vs refresh grants in years 3-4+? That is, when you join you get a big grant in year 1 with no more grants for 3-4 years. But once you start getting refreshers, you often get smaller annual grants (that still vest […]

Engineering Growth

I was recently asked to prepare some statements for new hires at my company about engineering growth. What does it mean to grow as an engineer? This is a very personal question. The “right” answer seems to be “to increase your impact”. In reality, this often means working on projects with larger scopes that cut across […]

The Relationship Between Marketing, Retention, and Income

My wife has started a women-focused coaching business, particularly around helping her clients improve their writing and communications. (Get in touch if you need help!) Many of her clients are entrepreneurs and the writing is particularly marketing-oriented. This has been fascinating and awesome to watch. At the same time, she’s going through the entrepreneur journey herself, first by publishing […]

Preventing CSRF attacks on a Single Page App with REST API

tl;dr – If your SPA uses a private REST API, use CORS and a CSRF Token header. If your SPA uses a public REST API, use a SameSite Strict cookie for mutating operations (if you only support newer browsers) or separate API security domains (if you support older browsers as well); public API clients just use OAuth Bearer tokens. […]

CLI Design Best Practices

Having chartered and led my company’s “CLI Foundations” team, which built and owns their primary two CLIs, I’ve spent a lot of time thinking about CLI design. So when I stumbled upon this tweet today, I had to jump in: I’m talking to various folks about good CLI design practices. What are you favourite CLI style guides, user research approaches or other hints and […]

Salary Growth vs Earnings Growth, or Why the Wealthy are Entrepreneurs

Several years ago, I discovered that you could buy small businesses from their founders at a reasonable price. The size and nature of many of these companies make them very attractive as “lifestyle businesses”, or businesses that require part-time effort to operate and can yield good-to-high income for the owner’s living expenses. Why is it that businesses are so much more powerful […]