Skip to content
Writings 30 posts [email] [rss]
2026
  1. Your agent is probably using git worktrees

    Coding agents reach for git worktrees as the unit of parallel work. The mental model and four commands to stay in control.

  2. So Much for O(1)

    I'd known the theory for years but couldn't have built one from scratch. So I did, with interactive demos you can poke at.

  3. We Might All Be AI Engineers Now

    The models are good now. But most people still miss the point.

  4. The Hardest Bug I Ever Fixed Wasn't in Code

    Software engineering is 50% code and 50% people — and almost everything written about it ignores the people part. What I learned the hard way about speaking up.

  5. Why I Switched to Podman (and Why You Might Too)

    I was a Docker loyalist for years, until I needed rootless containers. What won me over — and what still bites.

2024
  1. The World is Stochastic

    Stein W. Wallace: Embrace uncertainty, curiosity, and adaptability in careers.

  2. Debugging a running Java app in Docker

    How to Attach a Debugger to a Running Java Application Inside a Docker Container

  3. Why is it UTC and not CUT?

    The timekeeping compromise

2023
  1. Deep prop drilling in ReactJS

    ReactJS Deep Prop Drilling: Effective Solutions and Best Practices

  2. Eigenvectors

    Exploring Spectral Graphs

  3. Java's fork/join framework

    Java goes Forking Crazy!

  4. TypeScript's omit and pick

    How to Pick your TypeScript battles and when to Omit the drama!

  5. JavaScript's new immutable array methods

    Exploring toReversed(), toSorted(), toSpliced(), and with() from ECMAScript 2023.

  6. Integrating JUnit 5 in Maven projects

    A practical guide to setting up JUnit 5 testing in Maven projects with modern best practices.

  7. My take on ChatGPT and prompt engineering

    ChatGPT is powerful, but it's not magic. Here's how I actually use it.

  8. Declarative events in ReactJS

    Explore how to handle pathological events declaratively in ReactJS applications.

  9. Positive Lookaheads

    Oh, you're looking for something? Well, I'm looking for something too.

  10. Functors

    Yet another design pattern from category theory in mathematics.

  11. Fast forward videos with ffmpeg

    Learn how to speed up your videos effortlessly using ffmpeg.

  12. Rotate y-axis of a 2D vector

    Reverse rotate a 2D vector by shifting columns up or down.

2022
  1. Synchronizing time

    Oh, you think time is simple? Let's trace it back to its atom.

  2. Vector rotation

    Rotate me right round baby right round.

  3. Sed find and replace

    How to find and replace texts in a file using sed.

  4. Asgardeo try it application

    Learn how to use Asgardeo Try it Application to test out various authentication flows.

  5. Flatten error constraints

    Recursively flatten properties of an array of objects.

  6. Good Git commit messages

    Uncover key strategies for crafting effective, clear Git commit messages.

  7. Asgardeo JIT user provisioning

    Learn how just-in-time user provisioning works in Asgardeo when authenticating users from federated Identity Providers.

  8. Monotonic Arrays

    Learn how to determine whether an array is either monotonically increasing or decreasing.

  9. How GOROOT and GOPATH works

    IAM GROOT. No, I'm not. I am GOROOT. I am GOPATH. I am Go. I am confused.

2021
  1. Two summation

    Probably the most common interview question you'll ever see. Let's solve it.

New posts, by email.

Occasional. No tracking pixels.

Or follow the RSS feed.