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)
Languages
Java
- Gamelan
- JavaWorld
- Useful tips
- The Java Lobby
- Securing Java
- A book by Gary McGraw and Ed Felten
- jCentral
- IBM's Java resource site. See also IBM's alphaWorks site
- TeamJava.com's links page
- Java Developer's Journal
- JCampus
- A Java resource site with a focus on Java education
- JLearn
- Another educationally-focussed Java site
- Info about Cygnus Solutions' Java compiler
- Cacao JIT
- This is a really good JIT apparently.
- DataRepresentations
- Apparently a pretty good Java IDE can be found here.
- NetBeans
- 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.
(At developer.com)
- Anthony Coates' seminar on Java and XML
- Australian Java Users' Group
- Flashline.com
-
Provides JavaBeans, a component registry and programming resources.
- NetBeans
- An open source Java IDE.
- SourceBot
- An online Java class decompiler.
- EspressoGrinder
-
A fast Java compiler. Given that the Sun JDK compiler
javac is just a script that runs the standard
class sun.tools.javac.Main, 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
- linuxassembly.org
Scripting languages
Perl
- A Perl quick-start guide
- cgi-lib.pl
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
- Cyc
-
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
- TopSoft
- A GNUish organisation that promotes the creation of free and low-cost Macintosh software
Documentation
Arnold's Laws of Documentation:
- If it should exist, it doesn't.
- If it does exist, it's out of date.
- 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 Shmoo.com
- Bugzilla
- The Mozilla Project's bug & RFE tracking system.
- The Debian bug tracking system
- Doxygen
- A documentation tool for C/C++ similar to javadoc.
- joelonsoftware.com
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
- MindRover
-
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
- goodcode.com
- Squeak
- 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.
-
Beantown -- a working-title for a Java Mud I plan to take
over the world with :)
- The Java File Manager (I've actually done some work on this)
- My editor (more versatile than Emacs! more powerful than vi!)
- Mole Rats
Alastair Irvine
Last modified: Mon Jun 13 21:50:57 WST 2005