It seems like WordPress may have lost the war on comment spam. Up until early this year the spam was quite well filtered, Akismet was doing a good job. Then slowly undetected […]
Over 20 years of programming. From video games to communications; science to finance; compilers to business processes. Too many languages to even track anymore.
Here's looking to another 20 years towards mastery of the craft.
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 to market events at all times. My […]
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 allow this easy-to-create and hard-to-detect situation. I […]
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 access to the returned content. If you […]
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 ridiculous contract. It started off with a […]
Collection iteration is perhaps the most insidious language construct. Simple to create and easy to understand. Yet lurking within lies the ability to create random non-local defects. Monstrous bugs that you’ll spend […]
Thinking of text and strings as the same type is wrong. It leads to all kinds of errors and results in confusing or incomplete APIs. I wrote before that the string type […]
If a company has enough users they don’t have to care about any of them. Plus or minus one developer account, even with thousands of users, will make no difference. It may […]
I needed an endpoint that streamed the output of an external program to the remote client. In this article I describe how I did it and discuss a few issues I encountered. […]
OAuth authentication is not safe. This is the baseline from which all applications should be working. There is a place for social login, but it should be a very restricted domain. It […]
Simulations can provide curious insights; in this case a distinct advantage to winning a game. I recently encountered a perfect opportunity to run a simulation on the game “Bloons TD Battles”. There […]
CSS has a lot of features, yet unfortunately lacks a few basic positioning abilities. Many layouts are difficult to achieve, and often ignored, being supplanted by more rigid layouts instead. Here I […]
Add a new virtual to a large object hierarchy Adding a new function to a complex class structure is arduous. A starting point is hard to find in a web of many […]