CLINT - the library with no name
Other C Stuff
This C library contains a number of useful routines for C programmers. For
example, it has (rudimentary support for) a stretchy string type, and some
reasonable (and portable) allocation wrappers. Opaque types (more or less)
throughout, for safe programming. Enjoy!
Some more C stuff, a sort of hotch-potch of code that I've
written for the heck of it, with no particular theme to it.
It includes an error message management library, a directory
parser demo (Windows only), and a couple of routines for
reading arbitrarily-sized words and lines from a text input stream.
Oh yes - and a noughts-and-crosses game. :-)
The C Programming Language - Answers to Exercises
Last updated 12 March 2002.
In 1988, Kernighan (pronounced Kern'-i-han' - the 'g' is silent) and Ritchie
wrote the second edition of "The C Programming Language" - the revised
tutorial and reference for the C language, which Ritchie himself designed. In that
book, 97 exercises were posed. Follow this link to
find a list of answers to those questions, written partly by me and partly by people
from all over the Net. This list of answers will slowly become definitive (I give it
ten years), as more and more people from Usenet slag off the existing answers. Not
all the exercises have answers yet (in fact, 79 of the 97 exercises in the book
have so far been addressed).
Recommended C Books
If you'd like to know which are the good C books, check out this list. No dummies or
men in a hurry need bother - you won't find "C for Dummies" or "Teach
Yourself C in 2.06 nanoseconds" on this list...
"C Unleashed" Author List and Chapter Summary
Cryptology stuff
CDX-2 Encryption
CDX-1 Encryption
Update 19/4/2000: CDX-1 has a flaw. It still hasn't been
cracked, but there's a possible attack on multiple messages
of the same length encrypted using the same key (not
terribly unlikely, if you consider network datagrams as
the plaintext), because plaintexts which differ by only one
bit produce ciphertexts which only differ by one bit.
As a result, I can no longer recommend CDX-1 to you unless you are
going to use a one-time-pad for the key generation technique, in which
case you probably don't need CDX anyway.
Chat application (client/server) in VB
Accessing Access in VB - adding data to Access tables
Yahoo! Programming Room FAQs
Check this out :-)
My bookshelf
I wrote a book. It's a good one. Lots of people helped me. It's called "C Unleashed"
and it's available from all good bookshops. If it isn't available from your bookshop,
I guess it can't be a very good shop. :-) Anyway, if you want to know more, click
the link.
This is the newest bit of the site, and is still quite raggedy. Still, if you're
after some source code for key generation (Borland only) or monoalphabetic cipher
cracking, here's some you can check out.
The long-awaited update to CDX-1. This version incorporates
S-boxes for added security, and is considerably quicker than
CDX-1. In fact, it's so fast it's usable! Even if you're not
interested in cryptography, you may find the bit rotation
technique mildly diverting.
After a couple of people sent me uncrackable encryption
algorithms, neither of which took a particularly long
time to crack, I decided to have a go at writing my own
algorithm. CDX-1 uses a variable-length key and bit rotation
with N rounds of encryption, where N is the key length.
CDX-1 is quite slow, but nobody's managed to crack it yet
and that's the main thing. If I find time, I'll have a go
at speeding it up whilst retaining its security. At the
above link, you'll find complete source code and a sample
cipher. (Good luck cracking it...)
I didn't write this. Some time ago, I was asked by four
or five people in rapid succession how one would go about
writing a chat application in Visual Basic. At the time,
I was quite busy, so I asked Mark Pickering to write one
for me; he very kindly did so, and gave me permission to
publish it. I sent it to about a dozen people via email
before I worked out that it would be a lot less hassle
to simply post it on the Web. So here it is.
Again, this one's by popular(ish) demand. I may add a
second article on VB database programming if enough
people express interest. So far, nobody has. ;-)
I spend far too much time in Yahoo! Chat, in the Programming
room. I, and the other regulars in there, were getting sick
of the same questions being asked over and over again, hence
this FAQ. It's been described as "an FAQ with attitude". Enjoy!
This MIDI file is a rather bizarre version of a tune which
anyone from the UK will recognise immediately. It's less well
known in the States. (Update: apparently the Yanks do
know this tune after all.) If you have a MIDI keyboard, you're
much more likely to 'get' it - on a soundcard it sounds a bit tinny.
I've put off this project for a long time. But enough people
have asked me to provide a brief synopsis of the books on my
shelf that I've decided to at least make a start. So far, only
a few books have made it onto my virtual bookshelf. I will
continue to add others from my collection as and when I find
time to type in the information. I've included short reviews
of each book. Update 11 September 2000: I've neglected this
for far longer than I intended. I'm making no promises, but
the intent is still to update, extend and improve this part
of the site.
A small number of obfuscated C programs.
C Programming - INfrequently Asked Questions!
If you visit Seebs' IAQ page, please think twice
before emailing him with corrections. All is not as it seems.
The Jargon File
The Jargon File contains thousands of references to hacker jargon (for
a start, look up "hacker" - you might be surprised); be careful if you
visit this site - you can easily spend a couple of hours there without
realising it; it's a fascinating lexicography and cultural statement.
Snippets
This is an amazing resource. Dozens of useful programs written in C,
with full source code provided. Credit card number validation,
julian date routines, binary coded decimal conversion, checksumming,
ISBN validation, and much much more, courtesy of Bob Stout and his
gang.
File Formats
www.wotsit.org has docs on just about every file format known to
mankind. Well, not quite. But when you're looking for a file format,
this is definitely the first place to check.