Managing Parallel, Part 2: To thread or not to thread This post is all about the types of parallelism avaiable in general on a modern machine. There are many. It’ll focus on open operating systems like Linux, and at times we’ll talk about others like OS X or earlier operating...
Managing Parallel, Part 1: Queueing, Work, Oh My! Parallel execution is a great thing. It enables the employ of multiple workers to get a job done faster. If all the workers perform exactly the same function, then the problem can be divided up evenly amongst the workers. This is the...
C++ Template Functions Based On Type Size Substitution Failure So have you ever wanted to build a function that does something based on the size of the type that it takes as a parameter? You might be tempted to do something like this (keeping things as generic as possible): However...
I’m all for attempting to make computing as secure as possible, so don’t take the following as “lets give up on security.” No, we need to understand the causes of our insecurity and their implications before coming up with solutions. Naive solutions, like “secure” languages only address part of the...
Picture yourself sitting at a desk, faced with a looming deadline and data that needs to be put into nice pretty charts to explain some trend that your boss thinks is critical. The data you have are in an odd format from some client, and you need to get that...
This is something that has chaffed me as of late. I’ve seen way too many assumptions being made about people around me, many of them slightly offensive, all of them completely avoidable. When we assume we loose out on wonderful opportunities. Not only that, we make ourselves look like close-minded...
A short intro to stream processing It seems that data-flow / stream processing is becoming quite popular, as of late. But what is it exactly, and can we define what is generally called “stream processing” today with actual data-flow programming. How about “reactive programming”? Is there a difference? Not at...
###Do we need more programming languages and run-times? I felt compelled to write this after comments I’ve had from many corners decrying that language “x” or language “y” is the best. First, languages are tools, nothing more. They’re a means to communicate ideas and concepts to the computer. We have...
###What is success, what is a career, and how do you find them? I recently attended a career seminar and we were asked to define what a career was. The snarky side of me wanted to pull out Webster’s dictionary and mechanically repeat the definition. As a group of engineers,...