HackCraft

Art begins with craft, and there is no art until craft has been mastered. You can’t create until you’re willing to subordinate the creative impulses to the constriction of a form.Anthony Burgess

Articles

Templates and Inheritance
The introduction of templates to C++ brought a new paradigm to C++ coding — Generic Programming. This is now a major part of the toolkit of the C++ programmer, the basis of much of the standard library, and something which many of us younger C++ hackers never experienced C++ without. Generic Programming is often discussed in contrast with Object Orientated Programming’s concept of inheritance. However a truly multi-paradigm approach prompts us to examine how the two interact.
Date & Time Formats on the Web
There are several different formats used in different places in the technologies of the World Wide Web to represent dates, times and date/time combinations. This document presents a survey of the most significant, details which formats are mandated by the key technologies of the web, and offers advice for deciding what formats you should use in your own web applications.
Entry-Level Unicode for XML
A “just enough education to perform” guide to Unicode and ISO 10646 for authors of XML parsers and other software that processes XML.
WNDPROC Thunks Using the thiscall Calling Convention
I ended my article about WNDPROC thunk objects by promising to write about how to write thunks that call into member functions that use the thiscall calling convention. I also include a full (if rather pointless) example of code that uses the thunk.
Calling Convetions in Microsoft Visual C++
All you ever wanted to know about the calling conventions used by Visual C++.
The RAII Programming Idiom
I’m often surprised, and occasionally horrified, that Resource Acquisition Is Initialisation isn’t better known than it is amongst programmers who use languages to which it is applicable. It is a simple, eloquent and efficient way to deal with many situations where there is a risk of “leaking” memory or handles, failing to release file locks, etc.
WNDPROC Thunks
If you ever program classes for controlling Windows™ windows you will have met with the task of associating windows messages with the correct instance of the class. There are a few alternative ways of doing so. This document outlines one method using self-modifying code which is fast, efficient, reliable, unlikely to interfer with other code (including code from other users of the same window). Most importantly, in my opinion, it’s a technique that largely stays out of your way once it is in place.