pabs' new website

Pabs' Web page
Skip [Home][POV][Programming][Tutorials][Opinions][Rantings][Collection][Favourites][Links]
Skip. On this page you will find some advice, my frhed patch, my POV patches, Pinball Cheat, Arach toolbar load, an emx wrapper, some UNIX-style filters, an IStorage & ITStorage compound file extractor, an IStorage & ITStorage compound file creator, a HTML Help Maker (hhm), a CHM decompiler, a CLipboard APpender (clap), some SciTE stuff & other projects of mine.

If you are new to programming I recommend doing patches (and even better - patches of patches) as a way to learn both languages and platforms - if you are on Win32 begin with frhed (Win32 only as yet) and then proceed to POV-Ray which is a quite complex program and src is available for several different platforms (a good patch of POV-Ray is MegaPOV which can be found at Nathan Kopp's website & the ftp site) or just go to SourceForge or FreshMeat & download a few of the simpler programs to get you started. SpeedyGrl has heaps of programming links that you could check out. When you write docs for programs you create keep this advice in mind.

I program in C/C++, awk, POV-Ray and whatever else and mostly enjoy doing patches & sending suggestions to developers of my favourite proggies. If you have any suggestions for any of the projects below please contact me.

This has moved here.

POV Patches:

Pinball Cheat ):->:
This is released under GNU General Public Licence v2.0 or later.
Download here.
This is a little proggy to help you change the High score table for Micro$oft's 3D Pinball game - specifically SpaceCadet but you (or I on request) can easily recompile it for other tables.

Arachnophilia excel toolbar load:
Download here.
This is obsolete, since the latest Arach version is a cross-platform Java program.
Basically Arachnophilia 4.0 had a feature where you can load an Excel file with spreadsheets for each toolbar, add & or alter the toolbars and save them to the *.tlb files arach expects.
I enhanced it with a load function that loads all the *.tlb files from a specified directory

emx wrapper:
Download here.
<sys/winmgr.h> & <sys/kbdscan.h> are files from the emx runtime on OS/2
I have created a [n]curses/panel wrapper for these files, which means that programs written specifically for these files can be compiled for [n]curses/panel on platforms that support these two libraries, such as GNU/Linux, various UNIXes & GNU/Cygwin.
It was written on GNU/Cygwin using ncurses & panel so there may be incompatibility issues. There are likely lots of bugs so if it doesn't work try to fix it & send me a diff -u or just complain & I'll try to fix it
It is by no means complete since the program I developed it for (VBinDiff 1.7, which is available here) doesn't use all the winmgr.h & kbdscan.h functions & constants.

some UNIX-style filters:
These filters are released into the Public Domain.
Download here.

IStorage & ITStorage extractor:
This is released under the BSD licence.
Download here (Win32 only).
This is just a simple proggie to extract files from those pesky M$ compound file objects accessible via OLE's StgOpenStorage fuction and the IStorage interface exposed by that function. These compound file objects are created by word, excel, & probably other M$ progs. Also Macromedia Flash source files (*.fla - there are some of these available from, which is an interesting site) are these compound files. These compound file objects can be thought of as the equivalent of tar files, but of course M$ went & invented some new format without even considering .zip, .lha, .tar.gz, .cab, blah blah blah. One weird thing about them is that the IStreams inside can & for word & excel do have freaky chars in their names, often as the first char such as in word 2000 docs there are streams named "SummaryInformation" (that is an 0x05 - there are also ones with 0x01). Compound file objects seem to start off with the following sequence of hex bytes 0xd0cf11e0a1b11ae1000000000000000000000000000000003e000300feff09000600000000000000000000000. M$DEV .opt files are also these compound files.
I updated this in April 2002 to extract Compiled HTML Help (chm) files (also known as InfoTech Storage (ITS) files) too. This feature uses the same IStorage interface, but uses an ITStorage (HKCR\CLSID\{5D02926A-212E-11D0-9DF9-00A0C922E6EC}) object (from itss.dll) got from CoCreateInstance to open the file. I found out how to do this from these two code samples: &

IStorage & ITStorage creator:
This is released under the BSD licence.
Download here (Win32 only).
Download unicode version here (Win32 only).
This is just a simple proggie to create those pesky M$ compound file and InfoTech Storage (ITS) files too. It uses the same interfaces as istorage (an extractor for these files).

hhm - HTML Help Maker and chmdeco - CHM decompiler:
See the homepage.

clap - CLipboard APpender:
This is released into the Public Domain.
Download here. clap is a program that monitors the Win32 clipboard and appends each piece of data copied to an internal clipboard, which it then sends back to the Win32 clipboard. The effect is that it seems that each copy operation appends data to the clipboard. Currently only works with the CF_TEXT clipboard format.

SciTE stuff:
A half complete 133t download.
A patch to make the window title be a reversed path (eg patches.txt\ideas\pabs\:H). This is useful when you have enough windows open for your taskbar to only show part of the filename, but Neil refused to put it into the official distribution. Download diffs against 1.46 and 1.49.

Other projects in development include:

More programs in the process...

Go to top
Last modified at 5:04 PM GMT on Monday 13 January 2003 httphttphttphttphttphttphttphttp