Skip to content
Archive of posts filed under the Programming category.

error: ‘malloc’ was not declared in this scope

Translation: You are a bad person and did not include stdlib.h. Older versions of gcc let you get away with this. Not so with 4.3. I had similar errors for strcmp when not including string.h. I got this trying to compile my thesis code on my laptop. The exact same code worked on my desktop, […]

Converting subversion repositories to git

See How to convert from subversion to git by Paul Dowman. When you use git-svn to clone a subversion repository to git, it converts svn tags to git remote branches. This behavior makes sense if you will continue to use the svn repository. However for permanent conversion I prefer converting them to git tags. The […]

Source code management for personal projects

After hearing all the buzz about distributed version control systems (DVCS), I was curious if they offered advantages over subversion for personal code management. The answer is a resounding yes, and I see no reason to ever go back. I considered three candidates: git, mercurial (hg), and bazaar-ng (bzr).

ctags with bjam and eliminating user-config.jam

I added a rule to rebuild my tags file whenever the sources change. It took me way too long to figure this out – I was very surprised that a google search for ‘bjam ctags’ turned up nothing. make tags : [ glob *.cc ] [ glob *.h ] [ glob lib/*.cc ] [ glob […]

Unit Testing with Boost.BuildV2/bjam

The official documentation neglects to mention that you must import the testing module for any of the testing rules to work. I put ‘using testing ;’ in my user-config.jam. I had no trouble with the ‘unit-test’ rule, which has the same syntax as ‘exe’ but also runs the program and checks the exit status. However […]

Using vim like an IDE

I’ve been using The NERD tree for a file list and minibufexpl for tab-like buffer management. To close a buffer, select it in minibufexpl and hit the ‘d’ key. If you want to remap the :bd command so it does the same thing, check out these tips – otherwise :bd will delete the whole window, […]

SDL Windowed Fullscreen (no mouse trapping)

The fullscreen display mode in SDL traps the mouse on one X display, which can be undesirable if you are running dual head with separate X screens and using SDL for something other than games. UPDATE: An even easier way of doing this is passing SDL_NOFRAME to SDL_SetVideoMode with width and height set to the […]

make alternative for small C/C++ projects

Lately I’ve found maintaining Makefiles tedious, even for small projects. Much can be done with implicit rules, but header file dependencies must still be specified manually (or so I though – more on this later). For a small project, maybe you only have five or so of these rules. However there is no reason to […]

The Joy of C Programming

The assignment was simple – take our implementation of a toy cipher called baby rijndael, and adapt it to do CBC mode. Basically all the hard work was already done. For some reason I felt the need to do the original assignment in C, which always inspires me to do all sorts of pre-mature optimization. […]

robotfindskittenDS input fix

See Projects page for details, source, and binaries.