C++ Loop Optimization

I recently had a friend point out to me that your typical loop seen in every day code has minor inefficiencies in it which can add up to a good amount of time being wasted. I agreed with him, so I set out to write an article on how to optimize your C++ loops.



Update - Feedburner In Use

I’ve decided to start putting Google feedproxy + feed burner to use. Because I’m now adding ads to my RSS feeds, I’m also putting the full article text in the feed, so that you no longer have to click on “read more” to read the rest of the article outside of your reader. I hope this works out well, please leave a comment if anything is broken.



Traveling with a Nokia Internet Tablet

In 2006 we took a three week trip to Europe. I carried an Averatec 3270 notebook for those three weeks. The notebook was light (4.5lbs) and portable (only 12.1”) but it was still too much for a backpacking trip.



Are You Working Too Hard as A C++ Developer?

There is probably a multitude of ways that you can work too hard as a C++ developer, but there are two specific ones that I would like to focus on:



EmptyCrate Game Engine Release_3

The next release of the EmptyCrate Game Engine has been released. Changes:



The Cost of Owning Stuff

I’ve been inspired by reading personal finance blogs to write down some of the personal finance things that I have been thinking about. I currently plan to write three articles about this intermixed with my normal articles on programming. We often hear, in personal finance books, and on personal finance websites that we should make a point of having an emergency fund for dealing with unexpected expenses. I think, however, that many of these “unexpected expenses” can not only be planned for and budgeted for but they are related to items that most people in the world do not even own. We, in the western world consider them to be necessities. Not that they following items aren’t important, I’m just trying to put it into perspective.

Item Lifetime (years) Cost Range Monthly Range
Car 1 10-15 $10,000 - $20,000 $55.56 - $166.67
Car 2 10-15 $10,000 - $20,000 $55.56 - $166.67
Refrigerator 12-15 $400 - $1200 $2.22 - $8.33
Washing Machine 12-15 $600 - $1200 $3.33 - $8.33
Dryer 12-15 $300 - $600 $1.67 - $4.17
Dishwasher 12-15 $400 - $1200 $2.22 - $8.33
Vacuum 5-15 $250 - $450 $1.39 - $7.50
Laptop Computer 3-5 $400 - $1200 $6.67 - $33.33
Desktop Computer 3-5 $350 - $600 $5.83 - $16.67
TV 5-10 $500 - $1500 $4.17 - $25.00
Total: $138.61 - $445.00 per Month


Adventures in Adventure Game Creation

I recently released the EmptyCrate Game Engine and have since written 6 games for the engine. These 6 games represent the first adventure games I have ever worked on, so I thought I would take the time here to share some of what I have learned in the process. The primary goal of the EmptyCrate Game Engine was to make it possible to release new adventure games quickly and easily, and it has succeeded at that goal, as I have managed to release 5 games with 6 weeks of work (the Covered City series). However, some of the games have been better received than others.



EmptyCrate Game Engine Release_2

EmptyCrate Game Engine Release_2 was just posted to the Google code project page. This release includes enhancements to the inventory box and the ability for items to interact with each other inside of the inventory.



EmptyCrate Game Engine Release_1

The first release of the new EmptyCrate Game Engine was just released.



Crossplatform C++: Part 1: Intro

This is the first in a series of articles on writing crossplatform applications with C++. These articles will be based on the premise that strict adherence to standard C++ will result in extremely portable code which will run on almost every platform available, including embedded systems. However, limiting yourself to strict C++ also means limiting yourself to the standard C++ libraries, which only cover basic file and console input and output. That means no graphical user interfaces. This is certainly a limitation we will address. We will progressively add in more and diverse libraries which will slowly limit the full range of platforms we can run on.