Programming Resources

Programmers' Drinking Song

99 little bugs in the code,
99 bugs in the code,
fix one bug, compile it again,
101 little bugs in the code.
101 little bugs in the code.....
(Repeat until BUGS = 0)




Useful tips

The Java Lobby

Securing Java
A book by Gary McGraw and Ed Felten

IBM's Java resource site. See also IBM's alphaWorks site's links page

Java Developer's Journal

A Java resource site with a focus on Java education

Another educationally-focussed Java site

Info about Cygnus Solutions' Java compiler

Cacao JIT
This is a really good JIT apparently.

Apparently a pretty good Java IDE can be found here.

Another Java IDE company.

Java and Python: a perfect couple
Guido van Rossum's opinion of the Python scripting language and its relevance to Java.

Anthony Coates' seminar on Java and XML

Australian Java Users' Group
Provides JavaBeans, a component registry and programming resources.

An open source Java IDE.

An online Java class decompiler.

A fast Java compiler. Given that the Sun JDK compiler javac is just a script that runs the standard class, this shouldn't be difficult.

Eclipse Java IDE

C and C++

Steve Holmes' C Programming course

Yahoo!'s C and C++ page

Dinkumware's C Library Reference

The Obfuscated C Contest

Assembly language

Scripting languages


A Perl quick-start guide

Object Orientation

Design Patterns links

Geoff Eldridge's OO Soapbox

User Interfaces

Richard Shuford's Terminal Information

user Interface Hall of Shame
How not to design a user interface.

Bruce Tognazzini's site
Much user-interface wisdom from one of the original Apple Mac design team.

Artificial Intelligence

An attempt to create a knowledge base that will hopefully give software that uses it "common sense". Coz let's face it... how many programs do you know of could be fooled into thinking that chickens can fly choppers?

Agent Research

The ModelAge project is pretty stale, but has produced some interesting output.
Check out this and that member of subgroup five (links on the main page are out of date).

Libraries, modules, patches, etc.

The 'expat' XML Parser Toolkit

Hank Leininger's patches

Macintosh programming

Quinn's info for newbie Mac programmers

A similar starter page at Apple

Australasian Apple Programmers and Developers Association

A GNUish organisation that promotes the creation of free and low-cost Macintosh software


Arnold's Laws of Documentation:
  1. If it should exist, it doesn't.
  2. If it does exist, it's out of date.
  3. Only documentation for useless programs transcends the first two laws.

Software Engineering, Reliability and Security

This application sucks. Yes, it honestly does. It was written by the *WORST* coder in the world, and as such it is full of security holes. It's swiss cheese. It makes a pile of tofu look like a well-audited piece of code. We don't think you should install it, but because there is demand, we're making it available so that you can evaluate the program, your use of the program, and your environment and see if it is appropriate. Go ahead at your own risk, and feel free to contact the developer to tell them we told you this.

From the "Identifying Risk and Informing the User" section of Robert Watson's discussion on ports and the FreeBSD Project.

RST's code analyser

David Wheeler's Home Page
All sorts of funky secure programming info.

The Secure Programming guide at

The Mozilla Project's bug & RFE tracking system.

The Debian bug tracking system

A documentation tool for C/C++ similar to javadoc.

Programming Competitions, style and fun

The First International RoShamBo Programming Competition
How to appreciate the karmic value of a function that accepts no arguments and only returns 0, 1 or 2. (The competition is closed).

The International Obfuscated C Code Competition


Infrequently Asked Questions in comp.lang.c

Fred Curtis's software site
Humour, coding tips, downloads, links, etc., etc., etc.

Whitespace. The language.
Just goes to show how much time you can waste if you really put your mind to it.

Other resources

A portable, (almost) public-domain SmallTalk environment

Some standards

Ever wondered what Lex and Yacc are? Here's what I think

A breakdown of a technical fault in one of the NASA Pathfinder mission's programs.

An example of using network sockets in a Perl script

cgic: an ANSI C library for CGI Programming

IEEE's W.A. Chapter page
...on UWA's CS department web server

Matt Bishop's secure programming guide

The Retrocomputing Museum
More compilers (and other stuff) for antiquated languages than you can poke a stick at

Catalog of Free Compilers and Interpreters

A GNU AutoConf tutorial

MESA, an OpenGL clone

Dr. Dobbs' Programmers Vault

Ralf Brown's Interrupt list
This is a list of just about all of the interrupts & stuff that you can call on Intel x86 PCs

My projects

Oh, you didn't think I'd developed such an interest in computer programming without thinking I was good at it, did you? Here is a partial list of my past, current and future software projects and other things I have worked on at some stage.
Alastair Irvine
Last modified: Mon Jun 13 21:50:57 WST 2005