Custom code

What would one do to run custom code on the Beagle Board? The most
basic example would be something that adds numbers and displays it,
but what about usb communication and DVI?

I'm assuming that I need to compile things with the codesourcey
toolchain, but I have only a basic idea.

Since it doesn't sound like you are familiar developing software in
Linux, I'd recommend you start with something like http://free-electrons.com/training/,
though it would be great if they eventually update that for the Beagle
Board. If there is enough interest in them giving classes, I'd guess
they'd be willing.

I'd recommend you get a demo image to boot. It could be Angstrom,
Ubuntu, or Debian. I'd guess that Android might require a slightly
different skillset, since you would then program everything in Java.
Windows CE isn't quite there yet.

Once you have booted a demo image, get to a shell prompt. I'd
recommend you start by running something at the shell prompt. If
you've only ever built native applications, then you might choose to
use something like Angstrom and 'opkg update; opkg install task-native-
sdk'. You can then simply run 'gcc -o testapp testapp.c', then
execute './testapp'.

Not sure what you are looking for out of USB communication or DVI. If
you are looking for graphics, you can use X11 for graphical output, or
you can look into GUI libraries like Qt or GTK+. There are many more
options as well.

Hope this helps.