Koch Snowflake
August 12th, 2010 (updated August 13th, 2010)
This program draws a Koch Snowflake fractal! It's great for understanding how to simply draw lines with OpenGL.
OpenGL Modelview Demo
August 12th, 2010 (updated August 13th, 2010)
This program demonstrates OpenGL's modelview matrix. The user performs view transformations by moving a camera and model transformations by moving a teapot!
C String Literals
July 5th, 2009
A string literal is the representation of a string value within the source code of a computer program (String Literal, 2009). Let's take a look at concatenation, scope, and modification of these string literals. As a bonus, let's also throw in a bit about wide characters.
Simple IDE
June 21st, 2009
In an effort to better understand GTK, a common cross-platform graphical toolkit, I created Simple IDE. It's a basic text editor with the ability to execute a custom command, perfect for running a make script and executing the result. Feel free to use the attached source, while working on your projects, and please let me know if you see something that can be improved.
GTK Menus
June 13th, 2009
GTK, the Gimp Tool Kit named for it's origin in the Gimp image editor, is one of the two major user interface toolkits available on Linux. In fact, it's available on many other platforms as well, including Windows and Mac OS X. Rooted in C programming and visually attractive in programs such as Firefox, GTK is simple and beautiful from the ground up.
Header Guards
May 27th, 2009 (updated May 28th, 2009)
Ever have one of those days where you're attempting to include the same header file multiple times across a hierarchy of other header files, only to find the compiler balk about duplicate declarations? If so, read on for a thorough solution!
C Arrays
May 26th, 2009 (updated May 27th, 2009)
C is a very simple language with few syntactical features, compared to other languages. Ironically, this simplicity can make implementing certain constructs seem rather difficult. Take two dimensional arrays for example... Well, actually let's start with arrays of a single dimension.