Recent

Startup Investing for Everyone
There's a Choice
Freeware Game
Thoughts on Regulation

Technology


Freeware Game

These days I take my backup strategy pretty seriously (locally to an external drive and encrypted on the cloud using Backblaze). This wasn’t the case in the ...

Ditching Google Analytics

Just a quick service announcement - I’ve stopped using Google Analytics on this website. Instead, I’m using Open Web Analytics.

Learning to Code

I’ve come up with a set of rules that describe our reactions to technologies: 1. Anything that is in the world when you’re born is normal and ordinary and...

C++ and Automatic Garbage Collection

Programmers know about the mental state commonly referred to as “flow”. In this state, we are most productive, by a significant margin. This state is, of cou...

What You Have You Keep

The second law of thermodynamics states that in an isolated system, entropy is an increasing function. In his book, Do Androids Dream of Electric Sheep, Phil...

Kill the CAPS LOCK!

The Caps Lock key can do wonders to wreak havoc in VI. You’re in command mode, minding your own business, when all of a sudden all hell breaks loose. All bec...

Configurability

A while back I stumbled upon the following vim command, which opens a file explorer view. Now, this is truly scary stuff. I was as shocked and disappointed a...

First Donation

Today I donated money to an open-source project for the first time. And it felt good. I’ve decided that paying for free open-source projects you use and fin...

Language Verbosity

I recently took a look at the upcoming C++0x specification, and I was annoyed that yet more keywords were introduced into the language. C++ is already a very...

Programming Editors

I’ve used a wide range of programming editors throughout my life. From the glorious copy con and QBasic of the DOS days, through the Turbo C of my teenage ye...

Source Code Highlighting - In Blogger!

There are a great many posts on how to post syntax highlighted code in blogger. I can’t really understand why google doesn’t have a ready made solution in pl...

Project Euler

I’ve just stumbled upon Project Euler. It’s a nice little site with mathematical puzzles to be solved using a computer. For example, this first problem is to...

Programming with Vi

This page will serve as a place to store my notes on using vi as a programming editor. And when I mean vi, I really mean vim, but these days I think it’s pre...

TBB and Non-Integer Ranges

I’ve been using the Intel Threading Building Blocks (TBB) library for a while now, and I finally figured out how to overcome one of the annoyances I had with...

Bash: Passing Arguments with Quotes

Today I needed to write a bash script that eventually calls another program, passing all the arguments to it. It seemed like a simple enough task: just use $...

Languages

“It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentall...

Active Learning

“Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls in...

Programming by Coincidence

In their excellent book, The Pragmatic Programmer, Andrew Hunt and David Thomas have a section on “Programming by Coincidence”. Although their book is jammed...

Creativity and Constraints

Although my university obligations are enormous at the moment, I find myself drawn back into the Origami world. Thus, I came across this month’s challenge on...

Blogging 101

At 27, I’m an old man. I guess I’ve been living under a rock or something - I have no idea what’s “hot” in technology these days. I’m new to blogging. I onl...