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.
Resource and Representation Relationship Vocabulary
This is an RDFS schema for an experimental vocabulary for expressing the relationships between web resources and their representations. It is written in XML/RDF with an XSLT stylesheet providing a human-readable HTML representation. If your browser can’t perform client-side XSLT transformations then this version of the human-readable documentation should be.
The R in RSS1.0
A brief explanation of the RDF nature of RSS1.0 aimed at those who have at least passing familiarity with RSS, but who have little or no knowledge of RDF.
Character entity references in HTML
A tabular summary of the character entity references used in HTML (including XHTML).
RDF Site Summary 1.0 Modules: Rich Equivalents
An RSS1.0 module for providing richer (XHTML or other XML formats) equivalents to the information contained in the standard RSS1.0 elements.
“Text Only” Versions Considered Harmful
Why text only versions of websites aren’t a good solution to accessibility issues.
Jon HannaSkip Buttons This work is licensed under a Creative Commons License. Email Me PGP Key Foaf Document Orkut Profile Hacker Amazon Wishlist Thinkgeek Wishlist

Valid XHTML 1.0 Valid CSS UTF-8 Encoded
Amazon.com Associate Amazon.co.uk Associate
Viewable in any browser Best viewed at a resolution you like!
Coded By Hand Uploaded Using Filezilla