Feb 11, 2024 - 4 minute read - leadership

Self Retros

I’ve done various forms of retros over the years, one of which I blogged about too. Following Cian Synnot’s example, I had done Four L’s. I also had done a quarterly “plate spinning” check to make sure I’m not spreading myself too thin, and also had a quarterly calendar audit (I’m in a lot of meetings) to make sure I was spending time in the right places. But as much as I had done, I realized that I wanted for something more regular (monthly, rather than quarterly or yearly) and more concrete, as for me, a retro like Four L’s is too nonspecific.

Oct 14, 2023 - 1 minute read - leadership

I Got Blogged About

I did a talk for my org, Developer Experience (formerly part of EEE), based on my Influence Without Authority post I did back in 2021. It circulated a bit inside, and the Pup Culture Blog at Datadog decided to write a blog post about me based on it!

Jan 16, 2023 - 10 minute read - scaling configuration

Scaling Configuration: Object Building Languages

YAML, go templated YAML, HOCON, HCL(2), GCL, JSON. Just some of the common languages used for configuring the world we live in, because they need to be human readable, not just machine readable. At first, it’s all fine, but then to ensure consistency and reuse, they add templating features, and the templating languages become more complex to handle the emerging needs as projects require more. Some evolve to be Turing complete, some specifically eschew Turing completeness, as they need to ensure that at runtime, nothing bad happens.

Dec 27, 2022 - 8 minute read - programming

Choosing All Possibilities

There’s a chunk of code I’ve been playing with the last two and a half-ish years (judging by its git history) that for me is just really cool. It’s something I’ve been aware of since reading SICP, and I wrote a version of it probably a decade ago, but it was in a very specific application, rather than the more simplified and generalized form I have it in here. I had been reading about Prolog when I was reminded of it, and that solving things in a normal programming language rather than Prolog would be simpler, if only there was something that dealt with it.

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.