RSSAmplifier

Blog

about:drewcsillag

Recent content on about:drewcsillag

drew.thecsillags.comRSS feed ↗70 posts

Latest posts

Further Narrowing the Cone of Error


 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…

A Well Working AI Workflow


 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…

Resume

Last updated: 2025-04-03 
 Drew Csillag 
 Email: drew@thecsillags.com 
Blog: https://drew.thecsillags.com/ 
LinkedIn: http://www.linkedin.com/in/drewcsillag 
GitHub: https://github.com/drewcsillag 
 Computer Skills 
 Have worked professionally with: Java, SQL, JSON, Shell, Linux, JavaScript, Typescript, Python, MapReduce, JSON, C++, C#, Clojure, Graphite, Grafana,…

Presentation: Non-technical Guide To Technical Leadership

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…

My Contract To My Team

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.…

Threading Four Shaft Drafts on a Rigid Heddle Loom

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…

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…

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!

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…

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…

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,…

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…

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.

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”.…

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…

Finally, Somebody Makes This

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.

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 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?

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,…

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. &#xA; 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…

Lies You Find In Code

When working in a code base that&rsquo;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&rsquo;s no conspiracy, or secret cabal. But either by engineers who don&rsquo;t realize what they&rsquo;ve done, or more commonly by code evolution, these things happen. &#xA; &#xA; These lies are the unaccounted time sucks when…

Crackpot Post: Breaking Bell&#39;s Inequality?

This is very much a crackpot post. I&rsquo;m not an SME in the area&#xA;which I&rsquo;m writing, so I&rsquo;m totally unqualified to write on the subject&#xA;and certainly wrong. But as I was digging&#xA;into quantum stuff, I had thoughts. I did math. I even plotted a few&#xA;things. &#xA; &#xA; Sometimes something seems all mysterious and astounding. Then you&#xA;learn how it works, and…

Making Coding Easier

I&rsquo;ve spent a lot of time over the course of my career in other&#xA;people&rsquo;s code, and as a result, I&rsquo;ve learned a lot about what kinds of&#xA;things make code easy to navigate, and which things made reading and&#xA;debugging code more difficult. The way I promote coding styles are&#xA;reflections of those things which&#xA;made things easier, and avoiding those things that make it…

Defunctionalizing Quicksort

I&rsquo;ve know for a long time that you could convert any iterative function to be&#xA;recursive and vice versa, but up until recently, I only knew how to go from&#xA;iterative to recursive in a mostly formulaic way. &#xA; I recently saw a cool presentation &#xA;where he shows a refactoring to deterministically (at least AFAICT) go from a&#xA;recursive function to an iterative one. It took me a…

Agile Organizer

&#xA;&#xA; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9; Jscont &#xA;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9;…

I’ve Moved From Paper To…. Paper

(see here for the full Agile Organizer series) &#xA; 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…

Why?

Andrew Csillag &#xA; Sea Cliff Gospel Chapel, NY &#xA; August 11, 2019 &#xA; Why? &#xA; Note: FWIW, I&rsquo;d listen to the sermon MP3. While it&rsquo;s not my best in terms of delivery, I did go further on some things than the manuscript below. &#xA; MP3 Download &#xA; 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…

Even More Uses For A Diver&#39;s Bezel

(see here for all the posts about using a diver&rsquo;s bezel) &#xA; I&rsquo;ve written a few posts about things you can do with a diver&rsquo;s bezel, and today, I&rsquo;m adding a few more. &#xA; &#xA; What Day Of The Week Is It? &#xA; My current daily-wearer watch doesn&rsquo;t have a day of the week&#xA;complication on it, and mostly, this isn&rsquo;t a practical problem I&#xA;have. However,…

How I Wound Up Using Blackwing 602s

&#xA; While I&rsquo;ve had my organizer figured out for over four years (see&#xA; here for the full series), I had&#xA;struggled with the choice of writing utensil. &#xA; &#xA; I realize this is more of a connoisseur kind of thing, as strictly&#xA;speaking, my choices are wide, so if you&rsquo;re not into stationery, you&#xA;can basically ignore the rest of this post. &#xA; I started with the…

Accounting For Software Engineers

For my current job, I&rsquo;ve had to learn how accounting works. In order&#xA;to learn that, I did the kinds of things you&rsquo;d expect I might. But&#xA;one thing I kept finding was that some fairly simple concept seemed to&#xA;be explained in a way over-complicated way, after I eventually was&#xA;able to figure it out. I eventually figured out why, and with that, I&#xA;think that if…

A Couple Of Good Reads For Programmers

A couple of good reads I&rsquo;ve encountered in the last month or so that cover things I&rsquo;ve thought myself, but are written much better than I would have: &#xA; &#xA; The Beginner&rsquo;s Creed - something I&rsquo;ll probably keep in my notebook in perpetuity. &#xA; Small Functions Considered Harmful - related to my DRY Isn&rsquo;t Free post. &#xA; I&rsquo;m an Idiot &#xA; The Wrong…

Staples Arc Paper - $100 vs. $20

(see here for the full Agile Organizer series) &#xA; I&rsquo;ve now been using my agile organizer system for now going on three&#xA;years, with a few adjustments, but the main principles firmly in&#xA;place. I did however switch form factor from letter sized to junior&#xA;sized paper (5.5" x 8.5", or the half-letter-sized) and 2x2 sized&#xA;stickies rather than the standard 3x3. As not everything…

More Advanced Diver&#39;s Bezel Use

(see here for all the posts about using a diver&rsquo;s bezel) &#xA; I previously wrote about&#xA;things that you can do with a divers watch bezel. Since then I&rsquo;ve figured&#xA;out a few things. &#xA; &#xA; It occurred to me that most of the techniques I spoke about in the&#xA;previous post work best when you have a fully transferred minutes bezel&#xA;(i.e. a marker on the bezel at every…

How to Use a Diver&#39;s Bezel

a.k.a. The Suprising Utility of a Diver&rsquo;s Bezel &#xA; (see here for all the posts about using a diver&rsquo;s bezel) &#xA; I&rsquo;ve worn a diver&rsquo;s watch for years, and initially, I got one because&#xA;I wanted a durable watch that I didn&rsquo;t have to think too much about.&#xA;The bezel on the watch was more of a decorative curiosity than&#xA;something I planned much to use. Then I…

17 Frets - Chords, a Guitar Chord Dictionary

I&rsquo;ve been using this now for a bit, and now that I&rsquo;ve not made any&#xA;changes to it in a few months, and after a failed pitch at selling it&#xA;to a publisher, I&rsquo;ve decided to release this into the wild. I figure&#xA;it&rsquo;s useful to me and at least one other person, it may be useful to&#xA;others. &#xA; The essence of it is that instead of the usual tome of a…

17 Frets - Scales, A Guitar Scale Encyclopedia

Back at the end of December, I posted 17 Frets Chords, a concise&#xA;chord dictionary. I had been working on a scale encyclopedia too,&#xA;but hadn&rsquo;t put the finishing touches on it. &#xA; It&rsquo;s mostly where I want it, but there are some places where it&rsquo;s&#xA;not as good as I want, but I figure, might as well release it now. &#xA; &#xA; 17 Frets Scales shows the major scale…

17 Frets

All of the 17 Frets series books are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License . &#xA; A concise guitar chord dictionary&#xA; 17 Frets - Chords &#xA; A scale encyclopedia&#xA; 17 Frets - Scales

Jan20 - A Java Succession Library

Since it&rsquo;s related to my day job, it&rsquo;s over on&#xA; Medium .

About Me

My Gravatar:&#xA; &#xA; Here&rsquo;s my resume. &#xA; Career and free-time wise, I&rsquo;ve done a bunch of stuff. I&rsquo;ve written&#xA;real programs in Java, Common Lisp, Python, JavaScript, CSS, HTML, C,&#xA;C#, Visual Basic, (now very rusty, decade-old) C++, Go, and a bunch of&#xA;languages I&rsquo;d prefer to forget I knew, or at least decline to admit&#xA;knowing. I&rsquo;ve tinkered with…

Regulating My Mechanical Watch

For Christmas last year, my wife bought me a Seiko SKX-009 which I&#xA;absolutely love. Even though I love it, I looked at a bunch of higher&#xA;end Swiss watches but found that even though many of them look really&#xA;great (I came pretty close to buying an Omega Seamaster Planet Ocean&#xA;Chrono), but realized that when it came to the features I use on the&#xA;SKX, the number of Swiss watches…

The Marvels Of A Mechanical Watch

&#xA; I&rsquo;ve been interested in timekeeping devices for many years, and have&#xA;generally been facinated with watches, and in the last year or so,&#xA;I&rsquo;ve become I big fan of mechanical ones. &#xA; &#xA; I&rsquo;ve been particularly interested in the Seiko automatics. I&rsquo;ve not&#xA;seen a better quality automatic watch anywhere in the price range,&#xA;both in terms of the…

How I Stopped Worrying And Learned To Love `git rebase`

N.B. Some of this revolves around puppet, but if you know nothing&#xA;about puppet, you won&rsquo;t miss anything. &#xA; I&rsquo;ve been doing a bunch of stuff in puppet lately. Since my actual&#xA;puppet runs are inside VMs which I nuke fairly frequently, doing the&#xA;actual bits of development in the VM is impractical (and somewhat&#xA;dangerous even). &#xA; I use git to do my normal version…

Single Return Considered Harmful

It&rsquo;s funny sometimes how when you&rsquo;ve done something in a particular&#xA;way for long enough, it&rsquo;s easy to forget why you do it the way you do.&#xA;I&rsquo;ve been a big fan of early return for a long time and was recently&#xA;challenged on my view. The argument I had received in favor of single&#xA;return was dubious to me, but it&rsquo;s always good to recheck why you…

Gregg Shorthand Update

It&rsquo;s been close to a year since I started my shorthand quest in&#xA;earnest. &#xA; &#xA; I did wind up changing systems from Gregg Anniversary Edition to&#xA; Gregg Shorthand Simplified &#xA;as I found it better for those, like me, who don&rsquo;t have an in person teacher.&#xA;Speed-wise, last I checked I was at something better than 70wpm. I&rsquo;m&#xA;probably a bit faster since then…

Storage System Design Considerations

When designing storage systems for applications, not building&#xA;something like a SQL/NoSQL database, I&rsquo;m talking the layer/logic that&#xA;goes on top, you have to consider a whole bunch of things if you want&#xA;to build the &ldquo;right thing(TM)&rdquo; for your application. &#xA; In part one, we&rsquo;ll be considering the simple cases (spoiler: most&#xA;cases are simple) and SQL…

Diana Ferrara

&#xA;&#xA; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9; Img 9106 &#xA;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9; &#xA;&#x9;&#x9;&#x9;&#x9;…

Useful Software

Somewhat written to future-me , but also&#xA;to others who may be looking in the direction of these things. &#xA; &#xA; General Software &#xA; &#xA; ApacheDirectoryStudio / apacheDS &#xA; &#xA; If I ever need to deal with LDAP in any way, this tool will make me&#xA;have a happy. &#xA; &#xA; Keystore Explorer &#xA; &#xA; For dealing with Java Keystores. The commandline tool supplied with&#xA;Java…

Java Server Best Practices

When writing Java servers (or servlets that run in a container), I&rsquo;ve&#xA;learned a few things that have saved me a bunch of trouble during&#xA;development, as well as later on. &#xA; &#xA; Dependency Injection &#xA; &#xA; &#xA; Injection: if something is singleton (request, global or any other&#xA;scope), the only things injected to it should also be singleton &ndash;&#xA;otherwise you get…

Dependency Injection Without A Framework

I think that most people would agree these days that dependency&#xA;injection is a good thing for many reasons. &#xA; &#xA; It allows you to decouple concrete classes from each other &#xA; It makes for a uniform method of object construction &#xA; It simplifies plumbing &#xA; Makes it easier to make testable classes &#xA; &#xA; The problem that I have with it is that, at least in Java, the…

Removing Magic

When starting as a software developer, everything seems like magic,&#xA;compilers, IDEs, networking, kernels, etc. While we can ignore how&#xA;these things work, to really grow as a developer, the magic must be&#xA;removed. At the end of the day, our job is to produce something that&#xA;works, having a well-rounded knowledge of how the full stack works can&#xA;help you to understand when weird…

Why Java?

Background &#xA; I started my professional career with a Pascal program (I know that&#xA;dates me a bit) and then continued with C and C++ and discovered&#xA;Python around version 1.4 and used it heavily for over ten years, and&#xA; really didn&rsquo;t like Java when I first met it (version 1.3-1.4 time&#xA;frame). &#xA; I&rsquo;ve also used a ton of other languages for real deployed…