TechNotes
Ubiquitous Computing

Ubiquitous computing takes computation from the desktop environment and moves it into every area of our lives. Instantaneous information and computation will be distributed over an array of small wireless networked devices. These can be embedded in daily artifacts such as appliances, light switches, stereos, cellular phones, and watches. This capability will revolutionize computation, allowing it to take place anywhere and at anytime. Rather than accessing data only via a monitor and keyboard, one might access data via voice-activated commands and view it on a neighboring wall. Computation will be everywhere. Such technology will allow doctors to access medical histories during surgery or help an architect view blueprints on site. For such a revolution to occur, however, an infrastructure and affordable technology needs to be established. This presentation will consist of a history of ubiquitous computing and an examination of the current research in development. Advancing technology, wireless protocols (Bluetooth, IEEE 802.11, and WAP), applications, current examples, and implications will be discussed.



The Economic Effects of Piracy

Computers are almost as common in the household as a television and are essential for any business to run properly. For a computer to run it needs software to power it. There are many forms of software ranging from operating systems and business applications to video games and music programs, all of which are pirated on a regular basis. Piracy occurs on a worldwide scale and has cost the software industry billions of dollars a year and has caused the loss of wages and jobs for many employees of the software industry. Eliminating piracy in the business sector (most of the software industry's revenue) is essential, but software companies may find that it is in fact beneficial to allow limited amounts of piracy in the household.


Console Applications

RetroMaze (Scheme)

This was my first real program, written in Scheme (a subset of Lisp.) If you would like to run this, you need a Scheme Compiler (like Dr. Scheme.) Run the procedure:

(retro-maze)
Retromaze Source and Docs - 15K
Dr. Scheme Compiler - 3Meg

Infinite Precision Integers (C++)

A good exercise showing data abstraction and object oriented programming. IPInt is a class that can be used in any program to replace regular integer types with an infinitely sized one.

Source Code - 4K