At the end of this most recent January, I wrote Narrowing the Cone of Error, The Origin Story of a High Output AI Coding Workflow, a story about how I had built my AI development workflow. Things have evolved in the last month since I wrote that. 
 ADRs (Architectural Decision Records) 
 At the time when I wrote the article, I had seen previously seen people who had used ADRs in the…

 The Origin Story of /feature 
 I’ve been interested in personal organization tools for a long time, and never really been happy with them. I’ve worked on dead-tree paper a lot, and have used some online tools that I’ve liked, but never had the mix of “this actually solves everything”. I used to work at Dropbox on Dropbox Paper, and I miss it every day. But while it was good, is was only…
This is a presentation I’ve done now about six times, starting back about 6 years ago. It stemmed from seeing people new to being a tech-lead on a team (either as manager or not) and what were the common pitfalls they fell into. So without further ado, the talk. 
 
 Hi and welcome to the non-technical guide to technical leadership! 
 One preface here before we start, I refer to…
When I switched to management last year on April 5, one of the things I wanted to start with was
to make sure that my teams understood what they could expect from me and hold me to. I had been at the company for
over three years and interacted with many of them before, so I wasn’t a stranger, but one thing I’ve learned is that
clarity rarely hurts in situations like these.…
I’ve only been weaving for about four months now, but have had a lot of fun doing four
shaft patterns on my rigid heddle loom (a 16" Kromski Harp Forte). My current project
is pretty complicated. So I’ve picked up a few techniques that I think have been useful. 
 Weaving has been around long enough, so I don’t assume this is a novel invention, but
so far it has…
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…
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!
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…
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…
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,…
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…
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.
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”.…
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…
For at least as long since I came up with The Agile Organizer 
I’ve been using disc binding systems like the Arc-M from Staples. While the Arc-M
system works, it was never quite what I wanted. Recently, I finally discovered
a product that’s what I’ve actually wanted.
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 n C k , and what that evaluates to; given n and k .
How do we map a number between 1 and n C k to a unique set of selections, and vice versa,
given the set of selections, can you get back to the original number?
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,…
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…
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…
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…
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…
I’ve know for a long time that you could convert any iterative function to be
recursive and vice versa, but up until recently, I only knew how to go from
iterative to recursive in a mostly formulaic way. 
 I recently saw a cool presentation 
where he shows a refactoring to deterministically (at least AFAICT) go from a
recursive function to an iterative one. It took me a…
(see here for the full Agile Organizer series) 
 I’ve been using the agile organizer for better than four years and it’s worked swimmingly. But I started working at Dropbox last year on a product called Paper . I figured I’d give Dropbox Paper a go to see how well it might fit in with the Agile Organizer, either for collection or whatever. Well, after 16 months, I’m still using Dropbox Paper…
Andrew Csillag 
 Sea Cliff Gospel Chapel, NY 
 August 11, 2019 
 Why? 
 Note: FWIW, I’d listen to the sermon MP3. While it’s not my best in terms of delivery, I did go further on some things than the manuscript below. 
 MP3 Download 
 It’s the question asked when bad things happen. A flat tire on the way to work, a cracked tooth, bad news from the doctor, death…
(see here for all the posts about using a diver’s bezel) 
 I’ve written a few posts about things you can do with a diver’s bezel, and today, I’m adding a few more. 
 
 What Day Of The Week Is It? 
 My current daily-wearer watch doesn’t have a day of the week
complication on it, and mostly, this isn’t a practical problem I
have. However,…

 While I’ve had my organizer figured out for over four years (see
 here for the full series), I had
struggled with the choice of writing utensil. 
 
 I realize this is more of a connoisseur kind of thing, as strictly
speaking, my choices are wide, so if you’re not into stationery, you
can basically ignore the rest of this post. 
 I started with the…
For my current job, I’ve had to learn how accounting works. In order
to learn that, I did the kinds of things you’d expect I might. But
one thing I kept finding was that some fairly simple concept seemed to
be explained in a way over-complicated way, after I eventually was
able to figure it out. I eventually figured out why, and with that, I
think that if…
A couple of good reads I’ve encountered in the last month or so that cover things I’ve thought myself, but are written much better than I would have: 
 
 The Beginner’s Creed - something I’ll probably keep in my notebook in perpetuity. 
 Small Functions Considered Harmful - related to my DRY Isn’t Free post. 
 I’m an Idiot 
 The Wrong…
(see here for the full Agile Organizer series) 
 I’ve now been using my agile organizer system for now going on three
years, with a few adjustments, but the main principles firmly in
place. I did however switch form factor from letter sized to junior
sized paper (5.5" x 8.5", or the half-letter-sized) and 2x2 sized
stickies rather than the standard 3x3. As not everything…
(see here for all the posts about using a diver’s bezel) 
 I previously wrote about
things that you can do with a divers watch bezel. Since then I’ve figured
out a few things. 
 
 It occurred to me that most of the techniques I spoke about in the
previous post work best when you have a fully transferred minutes bezel
(i.e. a marker on the bezel at every…
a.k.a. The Suprising Utility of a Diver’s Bezel 
 (see here for all the posts about using a diver’s bezel) 
 I’ve worn a diver’s watch for years, and initially, I got one because
I wanted a durable watch that I didn’t have to think too much about.
The bezel on the watch was more of a decorative curiosity than
something I planned much to use. Then I…
I’ve been using this now for a bit, and now that I’ve not made any
changes to it in a few months, and after a failed pitch at selling it
to a publisher, I’ve decided to release this into the wild. I figure
it’s useful to me and at least one other person, it may be useful to
others. 
 The essence of it is that instead of the usual tome of a…
Back at the end of December, I posted 17 Frets Chords, a concise
chord dictionary. I had been working on a scale encyclopedia too,
but hadn’t put the finishing touches on it. 
 It’s mostly where I want it, but there are some places where it’s
not as good as I want, but I figure, might as well release it now. 
 
 17 Frets Scales shows the major scale…
All of the 17 Frets series books are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . 
 A concise guitar chord dictionary
 17 Frets - Chords 
 A scale encyclopedia
 17 Frets - Scales
My Gravatar:
 
 Here’s my resume. 
 Career and free-time wise, I’ve done a bunch of stuff. I’ve written
real programs in Java, Common Lisp, Python, JavaScript, CSS, HTML, C,
C#, Visual Basic, (now very rusty, decade-old) C++, Go, and a bunch of
languages I’d prefer to forget I knew, or at least decline to admit
knowing. I’ve tinkered with…
For Christmas last year, my wife bought me a Seiko SKX-009 which I
absolutely love. Even though I love it, I looked at a bunch of higher
end Swiss watches but found that even though many of them look really
great (I came pretty close to buying an Omega Seamaster Planet Ocean
Chrono), but realized that when it came to the features I use on the
SKX, the number of Swiss watches…

 I’ve been interested in timekeeping devices for many years, and have
generally been facinated with watches, and in the last year or so,
I’ve become I big fan of mechanical ones. 
 
 I’ve been particularly interested in the Seiko automatics. I’ve not
seen a better quality automatic watch anywhere in the price range,
both in terms of the…
N.B. Some of this revolves around puppet, but if you know nothing
about puppet, you won’t miss anything. 
 I’ve been doing a bunch of stuff in puppet lately. Since my actual
puppet runs are inside VMs which I nuke fairly frequently, doing the
actual bits of development in the VM is impractical (and somewhat
dangerous even). 
 I use git to do my normal version…
It’s funny sometimes how when you’ve done something in a particular
way for long enough, it’s easy to forget why you do it the way you do.
I’ve been a big fan of early return for a long time and was recently
challenged on my view. The argument I had received in favor of single
return was dubious to me, but it’s always good to recheck why you…
It’s been close to a year since I started my shorthand quest in
earnest. 
 
 I did wind up changing systems from Gregg Anniversary Edition to
 Gregg Shorthand Simplified 
as I found it better for those, like me, who don’t have an in person teacher.
Speed-wise, last I checked I was at something better than 70wpm. I’m
probably a bit faster since then…
When designing storage systems for applications, not building
something like a SQL/NoSQL database, I’m talking the layer/logic that
goes on top, you have to consider a whole bunch of things if you want
to build the “right thing(TM)” for your application. 
 In part one, we’ll be considering the simple cases (spoiler: most
cases are simple) and SQL…
Somewhat written to future-me , but also
to others who may be looking in the direction of these things. 
 
 General Software 
 
 ApacheDirectoryStudio / apacheDS 
 
 If I ever need to deal with LDAP in any way, this tool will make me
have a happy. 
 
 Keystore Explorer 
 
 For dealing with Java Keystores. The commandline tool supplied with
Java…
When writing Java servers (or servlets that run in a container), I’ve
learned a few things that have saved me a bunch of trouble during
development, as well as later on. 
 
 Dependency Injection 
 
 
 Injection: if something is singleton (request, global or any other
scope), the only things injected to it should also be singleton –
otherwise you get…
I think that most people would agree these days that dependency
injection is a good thing for many reasons. 
 
 It allows you to decouple concrete classes from each other 
 It makes for a uniform method of object construction 
 It simplifies plumbing 
 Makes it easier to make testable classes 
 
 The problem that I have with it is that, at least in Java, the…
When starting as a software developer, everything seems like magic,
compilers, IDEs, networking, kernels, etc. While we can ignore how
these things work, to really grow as a developer, the magic must be
removed. At the end of the day, our job is to produce something that
works, having a well-rounded knowledge of how the full stack works can
help you to understand when weird…
Background 
 I started my professional career with a Pascal program (I know that
dates me a bit) and then continued with C and C++ and discovered
Python around version 1.4 and used it heavily for over ten years, and
 really didn’t like Java when I first met it (version 1.3-1.4 time
frame). 
 I’ve also used a ton of other languages for real deployed…