The Curious Engineer

All blogs / AI / ML

Justin Abrahms

justin.abrah.ms

Principal Engineer and Technical Leader. Transforming engineering organizations through platform excellence.

AI / MLEngineering management / careersDevOps / SRE / infrastructureDev tools / editors / IDEs

Posts
129 from 4 Mar 2011 to 26 Aug 2026
Posting
monthly (21 in the last year)
Kind
personal blog
Feed
https://justin.abrah.ms/rss.xml

2026 20

  1. A skill for single-player agentic knowledge management
  2. Concept to Cash: Initiative retrospectives and visualization
  3. A framework for cataloguing technical debt
  4. Tools I use: Ghostty
  5. Scaling at the mediumest company: half-measures save the day
  6. On MCPs vs CLIs
  7. CI Theater: we deleted our flaky tests and nothing broke
  8. Claws Don't Need to Be Complicated: A Personal AI Agent in Go
  9. How to diff a book against your mind
  10. Announcing FRM, a CLI based CRM... 15 years in the making
  11. How to generate demo videos with playwright
  12. Recommended reviewers to build your council
  13. AI Doesn't Work Without Good Inputs (And Neither Do Humans)
  14. agent-chat: a way to monitor multi-agent orchestration
  15. multiclaude, a different take on llm orchestration
  16. A Tuesday in 2027: What orchestrated LLMs might look like
  17. Yegge's Developer-Agent Evolution Model
  18. Gas Town: Running Dozens of Claude Code Instances at Once
  19. LLM Session Sharer: Easily share a claude code session without clutter
  20. Using your (Backstage) service catalog for compliance

2023 4

  1. Consul leader election issues
  2. Nix
  3. A risk-based approach to open source strategy
  4. SREcon 2023 trip report

2022 6

  1. Feature Flags, Dynamic Config and Experimentation (oh my!)
  2. Understanding Etsy's search service migration
  3. Git Pre-Receive Hooks: Deploy Automatically When You Push
  4. re: Zettelkasten concerns
  5. An attempt at defining an ideal pipeline
  6. My thoughts on crypto: 2022

2021 3

  1. the function '..' is not known to be defined
  2. Governance versus Stewardship
  3. Federated GraphQL Ops with Apollo Studio

2020 4

  1. Learning from Production Incidents
  2. First and Second order metrics
  3. Biogas Digestion system.
  4. Is web scraping ethical?

2019 2

  1. How to make a font on Ubuntu with PPAs
  2. Whiteboard photo snapper

2018 6

  1. Serene Lake
  2. Software engineering vs other engineering
  3. Stub Stewart Bike Ride
  4. Understanding the formal definition of Big-O
  5. What is an algorithm?
  6. Will binary always be the lowest level way to program?

2016 2

  1. What Is Google Guice? Java Dependency Injection Explained
  2. Nifty tools for my system

2015 4

  1. Literate API Testing with Dredd
  2. Altruism in the job hunt
  3. MicroConf 2015 Recap
  4. Real-time code coverage analysis

2014 10

  1. My Emacs Configuration: Literate Setup with Org and straight.el
  2. Imhotep helps you enforce your styleguide during code review
  3. Inheritence versus Composition
  4. Meaning of Community
  5. Setuptools Entrypoints Explained
  6. Thinking like a programmer: Inputs & outputs
  7. Why a community might want a Python Software Foundation
  8. NodeConf 2014: A story of aspiration and community
  9. Pull request templates make code review easier
  10. PyCon 2014 was awesome

2013 20

  1. Node Knockout: A chance to play & experiment
  2. Obseletion through Programming
  3. Book Review: Backbone.js Testing by Ryan Roemer
  4. Selenium's Page Object Pattern: The Key to Maintainable Tests
  5. Javascript Refactoring without an IDE
  6. A list of scary topics.
  7. Big-O is easy to calculate, if you know how
  8. Pricing books as a function of risk
  9. The State of GitHub's Code Review
  10. Thinking of Databases as an Excel file
  11. Big-O notation explained by a self-taught programmer
  12. Finding Unused files with Require.js imports
  13. PyATOM for static site syndication
  14. setup.py, distutils and testing.
  15. Why Pisces?
  16. Securing your email
  17. Meaning is not zero-sum
  18. Converting from MySQL to Postgres
  19. Ignore Django, write testable code
  20. Project Structure for Advanced Beginners

2012 8

  1. Why I changed my name
  2. Cellphone Plans for Geeks
  3. Gittip: New, Interesting, Important
  4. Personal Philosophy
  5. Literate programming with org-babel
  6. Things I Use: Zsh
  7. Tools I use: Git
  8. Tools I use: Tmux

2011 40

  1. EasyMock for mere mortals
  2. Django at 30,000ft: A Manager's View
  3. Vim & Python: Making yourself at home
  4. Writing a static site generator using org-mode.
  5. 6 things I learned about setuptools
  6. Bash: Your forgotten friend (part 1)
  7. Bash: Your forgotten friend (part 2)
  8. Bash: Your forgotten friend (part 3)
  9. Customizing Django Forms Multiwidgets
  10. Developing a Personal Brand
  11. Django Portfolio Application
  12. django-voting: A brief tutorial
  13. Django, PyISAPIe and IIS
  14. Domain Sniffing Middleware
  15. Emacs and Transmit: Remote edit Fix
  16. Emacs: Being Productive
  17. Emacs: Introduction & Installation
  18. Emacs: The Mindset, A contextual shift
  19. Fixing your models subdirectory
  20. Google account suspended: A post mortem
  21. Importance of Documentation
  22. Javascript unit tests with JS Test Driver
  23. Macports and PYTHONPATH
  24. Most Used Programs: An Index
  25. NameError: global name 'log' is not defined
  26. Piping to stdout when using BuildBot
  27. psycopg2 Internal Error
  28. Speedy Google Code Checkouts
  29. Top 5 Bookmarklets
  30. Using Database views with Django
  31. Using test generators to save time
  32. Versioning Production Settings
  33. Vim Screencast: % Operator
  34. Vim Screencast: An Introduction
  35. Vim Screencast: Macros
  36. Vim Screencast: Selections
  37. Vim: My new IDE
  38. Virtualenv Wrapper Helper
  39. My motivations for choosing emacs
  40. GTD Excel File