Jan 22, 2022 - 10 minute read - productivity gtd

Organization System Essentials

I’ve been working with people and talking about their organization systems to help their systems help them. There are a few different systems that people use, and I wanted to figure out this question: what really are the essentials to have something that works? If your system isn’t quite working, it’s easy to feel overloaded. There’s too much to do, it’s hard to prioritize, it feels really hard to get a handle on what you should be doing.

Jan 21, 2022 - 3 minute read - crypto ethereum bitcoin

On Blockchain, Crypto, stablecoins, NFTs, etc.

I get asked about blockchain, crypto, NFTs, and such every once in a while, and rather than counting on my memory to remember the whole thing, I decided to just do a quick write up. My general thesis is this: the only things that really work for decentralization AND blockchain are things that themselves emanate from that blockchain. For example, bitcoins emanating from the bitcoin blockchain. Anything that the blockchain manages that doesn’t itself emanate from the blockchain requires some form of trust, auditing, and/or lawyers and strong contract law, otherwise it’s just garbage in/garbage out.

Jan 15, 2022 - 1 minute read - programming

I Was on a Podcast

I had spoken to a recruiter, Harrison Edney, at some point a while ago, and we had a really great conversation. He mentioned he wanted to start a podcast, and wanted me to be the first guest. I was like: “Sure, why not?” So we did, and the result is here which I don’t remember when we had the actual conversation, but it was posted on September 30, 2021.

Nov 14, 2021 - 4 minute read - programming

Yes, Programming is Hard

I saw the article in Communications of the ACM “What Does Saying That ‘Programming Is Hard’ Really Say, and About Whom?” and as a twenty-six year veteran of the profession, I thought “of course programming is hard! Duh!” I then spoke with a friend where after a bit said “Do they mean like writing? Writing isn’t hard, but writing a book is”. So in a sense, no programming isn’t intrinsically hard I guess, but in practice it is.

Nov 7, 2021 - 15 minute read - staff engineering gtd productivity

Managing Information as a Superpower

Many common archetypes of staff engineer involve a moderate to large scope of influence. One of the things I’ve come to realize, is in order to keep on top of things, and be even more effective is better management of information that comes to you. For me, the way I manage information has become a superpower. The scope of my last three positions has involved large scopes – up to about sixty people.

Aug 2, 2021 - 13 minute read - programming

Fun With Combinations

A co-worker recently gave a talk on shuffle sharding and the thought came to me: we know that that for n things taken k at a time you have nCk, and what that evaluates to; given n and k. How do we map a number between 1 and nCk to a unique set of selections, and vice versa, given the set of selections, can you get back to the original number?

Mar 21, 2021 - 9 minute read - leadership

Influence Without Authority

As you get more experience in being a software engineer, the trajectory that companies I have worked for look for you to be able to expand your scope. Something they will call out as a way to accomplish this is the term “influence without authority”, which is just a really fancy set of words that mean “persuasive”. I’ve had good soft skills for a while, but if you asked me what exactly it was I was doing, I’d have had a hard time explaining what it was.

Feb 28, 2021 - 7 minute read - debugging logs sqlite

Log Analysis Using SQLite

It all started because I suck at the log searching tool I’ll call <LST>¹. Mostly because I used it a little, but not enough to warrant me really digging in and learning it for real and internalizing its search syntax. Between me struggling with the tool, and that it would be multiple seconds between query and seeing results, I was getting really frustrated trying to diagnose issues with the services I was working on.

Feb 20, 2021 - 11 minute read - programming

Lies You Find In Code

When working in a code base that’s been around for a while, you will find lies in the code. These lies are usually not put there by nefarious actors, so there’s no conspiracy, or secret cabal. But either by engineers who don’t realize what they’ve done, or more commonly by code evolution, these things happen. These lies are the unaccounted time sucks when working in a code base, as people working on it have to dig deeper, search for things that don’t exist, maintain code that doesn’t need to exist, or worse make incorrect assumptions about the state of the world as they work through and around them.

Jun 14, 2020 - 14 minute read - quantum mechanics

Crackpot Post: Breaking Bell's Inequality?

This is very much a crackpot post. I’m not an SME in the area which I’m writing, so I’m totally unqualified to write on the subject and certainly wrong. But as I was digging into quantum stuff, I had thoughts. I did math. I even plotted a few things. Sometimes something seems all mysterious and astounding. Then you learn how it works, and it’s really disappointing. For me, magic tricks often have been that way.

Aug 25, 2019 - 10 minute read - programming

Making Coding Easier

I’ve spent a lot of time over the course of my career in other people’s code, and as a result, I’ve learned a lot about what kinds of things make code easy to navigate, and which things made reading and debugging code more difficult. The way I promote coding styles are reflections of those things which made things easier, and avoiding those things that make it harder. When I get into a code base, I want to be able to easily: