In an earlier project we had a few affiliate partners with a deep desire to interact with our system in an automated fashion. Everything was rosy until we met some internal hard to debug errors in our end because of the missing or wrong data we received.
From combining emoji marks and astral planes, Unicode is under appreciated and poorly understood. One lesser known attack vector is Unicode Case Mapping Collisions— an edge case that many of the best devs don't understand— even at Github.
One of the things I love about pairing as much as I am lately is how often people ask me, "Why?" This simple question is often followed by a moment of panic as I realize I don't have a lucid explanation, followed (sometimes) by a thrill because the time has finally come when I can articulate why I do something the way I've been doing it for years.
In Ward Cunningham’s original formulation, Technical Debt was the accumulated distance between your understanding of the domain and the understanding that the system reflects. We all start out with some understanding of a problem, and we write code to solve that problem. But, we learn as we go.