All of the things labelled as Posts, so that crawlers have a place to find them.
If we scratch the surface of a language a bit we find a secret, rich world of type information. Our compilers know more about our
A quick introduction to how compilers use type information to convert types while evaluating expressions.
I wanted to come up with a shattered glass effect for my game. That didn’t quite work as intended, but I was nonetheless happy with
In the middle of a major change to the Leaf type system I encountered the refactoring demon. It reared it’s ugly little head chanting, “you’re
A key activity of a compiler is to translate named symbols into memory locations. The process typically involves a few stages: identifying the symbols, segmenting
A patchwork set of standards and rules is creating an unsafe web. Cross-site attacks are too common and privacy leaks have become the norm. There’s
My fancy new website is broken due to a script blocking extension. I found this out when I showed a friend the Radial Blitz website.
I like using enums and type hierarchies. What I don’t like is writing verbose switch statements to use them. In C++ I use macros to
Idempotence is an essential tool in programming. It has many uses, from improving fault tolerance, clarifying code, to writing declarative deployment scripts. It’s important to
Amortized time is often used when stating algorithm complexity. Instead of giving values for worst-case performance it provides an average performance. This is appropriate in
Iterating over the elements of a recursive data structure can be difficult. Given a set of objects, where each object could potentially link to any
Useless interfaces, factories, and other abstractions are everywhere. They are the result of trying to prematurely generalize code. In a recent article I wrote about
I consider test suites to be first class code. They need to be clean, adaptable, and frequently refactored just like the primary code. Thus I
I spent several hours trying to fix a defect that didn’t exist. I’m working on template methods in Leaf and one of my overloads wasn’t
Has Facebook really done something deviant with their emotional feed experiment? Sure, it is despicable and unethical, but it wasn’t truly different from what is
A new technology I’m trying has a curious domain-specific extension for OpenGL graphics. It introduces a block concept allowing for modular shader code. From a
The pinnacle of refactoring is the removing of code by introducing a new feature. It may seem like a ridiculous notion, but I’m often surprised
To support a low-latency trading system I needed a logging call that had minimal impact on the calling thread. It was imperative to be responsive
A variable with an undefined value is a terrible language failure. Especially when programs tend to work anyway. It’s a significant fault of C++ to
Opening a REST service for browser use requires CORS. Browsers have a very strict cross-domain policy that will either block the request, or just block
Just because you’re given a bad contract doesn’t mean you have to sign it. I was recently offered a programming position that came with a