Because the ROI port on your Roomba is essentially just a serial port, there are many ways in which you can interface to it.
Much of the book walks you through how to construct a Java-based library called RoombaComm that functions on most any operating system with Java. The book also discusses how to build several applications and tools built upon RoombaComm.
Read about RoombaComm code.
Both Arduino and the Basic Stamp can control a Roomba. These inexpensive and easy-to-use microcontroller boards sit nicely upon a Roomba and the book shows you how to program them to act as replacement brains for your Roomba.
Read about Microcontroller code for Roombas.
No hacking project is complete without the addition of Linux. Certain small home wireless routers, like the Linksys WRTSL54GS can programmed to run Linux (and reverted back to normal if desired). They are small enough to sit on top the Roomba, controlling it and running off its battery. The book shows you how to do this, as well as add a webcam to your Roomba and give your Roomba its own web page.
Read about Linux for Roombas.
All software presented in the book and downloadable here is open source under the GPL.37 comments