CTags: Lightning Fast Project Editing Made Easy

What's the fastest way to get from a function call back to its definition during the editing process? If you're using something like Notepad or an IDE, the answer is usually to search for the file containing the function, open it, and search your way down to the definition. Unfortunately, if you want to

Mentorship: You Want and Need It

According to legend, Mentor was a wise man who tutored Odysseus's son Telemachus. Though Telemachus was surrounded by friends and rival suitors for his mother's hand, Mentor spent his valuable time ensuring that Telemachus lived a good life and filled his head with wisdom. So wise was Mentor that Athena, goddess of wisdom, used

Degree Comparison in the Computer Field (A Structured Rant)

It's a question that I've considered for as long as I've been a legal adult: what do the various computer-related degrees actually mean? What is their value, and which degree is best for which kind of person or job. Today, I'm going to attempt to break down my perspective on four common degrees and

Particular Brand of Lazy: What Makes Engineers Unique

I've alluded previously to a particular brand of laziness that separates a good engineer from the average person. It sounds disparaging at first, but there is an aspect to engineering laziness that is absent from almost every other kind of laziness: Engineering laziness encourages progress How can laziness encourage progress? When we think of laziness, we

Rant: Why we need fewer coders

In fifteen years we'll be teaching programming just like reading and writing ... and wondering why we didn't do it sooner. Words cannot begin to describe how angry everything about this poster makes me. First, let me get the subjective part out of the way: I deeply dislike Mark Zuckerberg. Not only does his social

Quickie: Configuration Headers

We all know (or at least we should know) that we can use #define to create macros that replace names with values during the preprocessor phase of compilation. Sometimes, it's very important for us to have the ability to change large amounts of code very quickly, because we have a new size limit for

Patterns for Kids: The Frog and the Scorpion

Aristotle talked at great length about the essences of things and the accidens of things. The accidens were aspects of appearance that could change (or simply which could be different) while the essences are aspects which one cannot change without fundamentally changing the thing. For example, the accidens of an acorn is a brown