Tristan Grimmer's Random Stuff
Just some stuff. Everything here is free.
Hope you find it useful...
International Data Encryption Algorithm IDEA
Here's the most useful ever implementation of IDEA. This was written after reading the book 'Applied Cryptography' (maybe 2nd edition) by
Bruce Schneier. Only source code and project files are provided because you shouldn't trust an executable.
The code is functional and easy enough to understand. The tool encrypts a file with a passphrase using the 128bit strong IDEA in CBC
mode. It also encrypts the filename itself, so a potential attacker has nothing to go on. When run, the tool
generates a (new) self-decrypting executable. Your data is your decryption software, so there's never anything to 'install'.
Don't forget your passphrase! Only download this if you are within Canada or the USA.
When you compile this you'll need to do it twice! That sounds odd, but you'll understand shortly! At the top of
IDEA.cpp you'll see:
#define EXE_SIZE NNNNNN // Must be kept up to date!!
So, compile it once, look at the size (in bytes) of the exe, type that number where you see the NNNNNNs, then compile again. The program appends the encrypted data
onto the end of a duplicate copy of the first EXE_SIZE bytes of itself. The reason it can't just look at it's own current filesize is that there
may already be data appended there. There are 2 main modes the code is compiled in, a CLI and an MFC app. They both do the same job.
Proggy Programming Fonts
Looking for the perfect programming font? You'll find them at www.upperbounds.net
HighDensity theme for Flyspray 0.9.9.X
Flyspray is a powerful yet easy to use and install PHP-based task and issue tracking system.
The HighDensity Flyspray theme below allows more information to be shown at once.
Knowledge Based Artificial Neural Network
This is a paper I wrote many years ago that appears to be a reasonable way to instantiate a neural network with prior knowledge.
The method appears to outperform, in terms of training time, the KBANN algorithm
discussed in many academic papers. If you do download this, please ignore the egocentricity I showed when I wrote it. Apart from
the fact that I never figured out what the 'B' should stand for, TriBANN is simply not the best name for this algorithm.
The power of this algorithm comes from decoupling the structure of the newtork to the domain knowledge. It should exhibit reasonably
good behaviour even if the prior knowledge is reasonably uncertain. The training time is also much reduced since the network only
contains a single layer of hidden units.
The PostScript version looks better. Unix people can use ghostview or something, Mac is nearly synonamous
with Adobe, so your probably OK. For Windows a very good Postscript interpreter and viewer is available at the AFPL site.
A smaller pdf is also available, but it doesn't look as good.
Download (Postscript) KBANN Report
Download (PDF) KBANN Report
The Neutral Theory of Genetic Variation
Here's a paper I wrote while taking a Physical Anthropology course. It really has more to do with evolution in general than with
Anthropology. The report takes a critical look at the neutral theory of evolution, in which most mutations
are considered to be selectively neutral. It's odd, I conclude the paper saying that natural selection plays an important role
in our evolution, but I don't actually believe it. Natural selection always seemed a little absurd. Especially in light of our
growing understanding of complexity. Books like "A New Kind of Science" (Wolfram), and "Computers and the Rise of the Sciences of Complexity" (Pagels)
are starting to supply much more plausible explanations.
Download Genetic Variation
Integrated systems. This document describes a circuit that was built and, much to my surprise, worked. It allows
a computer to pulse a model train track and send messages through it. The same track supplies power to the model trains (HO scale I think).
The circuit is 'safe' in that the power components are optically isolated from the logic components. The really cool thing about the circuit
is that it allows a short circuit on the power side, like putting a screwdriver across the tracks, and nothing blows up. It uses PALs to
reduce the duty cycle of power being supplied to the track, and polls until the short is removed. HEXFETS are used to control the track voltage.
Download (Postscript) Pulse Modulator
Download (PDF) Pulse Modulator
A 3D information matter based interface to your PC.
Well, Windows is copyright Microsoft. The word Microsoft in the previous sentence is a registered trade mark of Microsoft, and
so are all occurances of the word 'Microsoft' in this sentence, including the one in quotes, and the two previous. Postscript is an Adobe thing, and
is copyrighted, trade marked, incorporated, and registered. This web page and all content are copyrighted by Tristan Grimmer, but few rights are reserved.
Oh yeah, there are no guarantees. Not even that implied express warrantability fitness purpose thing.