programming

Data Structures: The Bit Array

A bit array is a simple data structure that allows you to compactly represent an array of booleans, but constructing one requires some low-level binary manipulations that you may not be familiar with. Let's walk through the basic principles, and mock up a simple example of a bit array.

The importance of std::endl in C++

The semester is wrapping up, and so like many students, I'm rushing to finish projects that I could have started weeks ago, but elected not to. And, along the way, I made an important discovery about how important std::endl is if you're using std::cout in C++.

Shell Editing Modes

Did you know that your shell probably has some very convenient editing keyboard shortcuts built right in, that will mostly work regardless of your terminal emulator, whether your logged in via a TTY, ssh, etc.

How to Learn Vim

Vim is a monster of a program, and it isn’t alone. Linux is chock full of incredibly powerful applications like Vim, emacs, sed, awk, or even bash itself. And learning to use any of these tools well requires a lot of time investment.

An Introduction to roff

roff, short for 'run off', is an old-school document formatting language that is readily available for Linux systems in the form of GNU roff (groff). In this article, I discuss how groff works, and how to use it to format simple documents.

Newton-Pepys Problem

In this article, I would like to demonstrate an approach for solving relatively simple programming problems, of the sort you may encounter in a 100-level programming course in college. This technique doesn't scale well to large applications, but it does seem a good approach to teach to new programming students.