Coding

C++ Allocation Blues

This page is where I complain about allocating memory in C++.

Registry Search / Replace tool

I wrote this after moving some applications and needing to replace every reference to "E:\Apps" with "N:\Program Files". This can do regexps thanks to Henry Spencer. It will probably break your computer; don't come crying to me. Source code, and executable.

Profiling include file

This comes in handy from time to time; it uses the PerformanceCounter API on Windows NT+ to give fairly accurate timing. And it's simple. Here 'tis.

Standard Navigational Applets

Who amongst us hasn't made some easy money implementing a scrollbar / ticker thing, back in the heady heyday of big-money websites? My own contributions can be found here.

A Senseless Waste of CPU cycles

I like Lissajous functions. Here's what they look like (you'll be wanting your JIT compiler turned on).

Other people like them too, such as Ed Hobbs. The source for that there applet above is here.

Cheating Tetris

Now that my 100k+ high score has been stricken from the record on grounds of blatant unfairness, I may as well admit that I wrote some messy C that could play tetris through a pseudo-terminal, at blinding speed and with some semblance of intelligence. The code might appear here when matrix is a Solaris box, unless it works on Solaris, in which case perhaps not.

Reversing

No keygens or the like here. But I can tell you about breaking the copy protection on Carrier Command, purely as an academic exercise (I'd bought it). It's the only example I know of the running line, a custom Int1 handler that decrypts each instruction one at a time and encrypts it again once it's been dispatched. I wrote a new int1 handler that wrote the decoded instruction to disk. There was also some standard SMC stuff that IDA helped me make short work of. Details perhaps soon.

It's all so awkward under Win32. Sigh.

Low-level links


Comments welcome...