Colloquium Archive

1 + 1 = 3

Marc LeBrun, Fixpoint Inc.


"Incredible systems abound, but of pleasant construction or of a sensational kind." -Jorge Luis Borges, "Tlön, Uqbar, Orbis Tertius" We entertain the thesis that there are no bugs, only under-appreciated outputs. Probing familiar primitive operations atsubatomic scales, we sketch an introductory natural history of some arithmetics from alternate universes. This in turn recommends more systematic spelunking in the wide dark space of programs, attending carefully to the whispering vox machina. (Note: While abstaining from inventing any allegedly New Kinds of Science, we cannot ruleout possible wild discursions into the nature of knowledge and the future of culture.) As a concrete warm-up exercise, you are invited to contemplate what the simple expression x & -x computes for integral x.

Basic Video Game Development

William Kendrick, President, Linux Users' Group of Davis (


First time game programmers should be careful not to delve directly into development of massively multiplayer online role playing games, but should first start with the basics: snake game, 2D mazes, and simple space shooters. Bill Kendrick, who never really got BEYOND such simple but addictive games, will discuss the very basics of game design and development. Using the popular OpenSource 'Simple DirectMedia Layer' library (, he'll construct a simple interactive action game in the C programming language. SDL's advantages include cost, simplicity, wide usage and support, numerous add-on libraries, and the ability to target many popular Operating Systems, including Linux, Windows, MacOS and OS X, BeOS, classic Amiga, and even the Sega Dreamcast video gameconsole.

Discrimination Of Single Base Pair Differences Among Individual Dna Molecules Using A Nanopore

Veronica DeGuzman, Nanopore Laboratory, University of California, Santa Cruz


The protein toxin alpha-hemolysin form nanometer scale channels across lipidmembranes. Our lab uses a single channel in an artificial lipid bilayer in a patch clamp device to capture and examine individual DNA molecules. This nanopore detector used with a support vector machine (SVM) can analyze DNA hairpin molecules on the millisecond time scale. We distinguish duplex stem length, basepair mismatches, loop length, and single base pair differences. The residual current fluxes also reveal structural molecular dynamics elements. DNA end-fraying (terminal base pair dissociation) can be observed as near full blockades, or spikes, incurrent. This technique can be used to investigate other biological processes dependent on DNA end-fraying, such as the processing of HIV DNA by HIV integrase.

Maya Programming: Making Tools To Make Magic

Chad Morgan, LucasArts, San Rafael


Maya has been used to make combatants in Gladius battle, Spiderman swing through New York City, and gave life (and fur) to Stuart Little. But even the most talented artist is limited by the capabilities of the tools at hand. Luckily, Maya is greatly extendable through the MEL scripting language and the API. Come see how easy it is to make Maya do whatever you want it to do.

Object-Oriented Versus Procedural Versus Data-Centric: A Small Case Study

Christine Bouamalay, Network Systems Engineering, SBC, San Francisco


Let's consider the attempt to "automate" an existing procedure which creates a simple model routing traffic demands on a network. Prototyped by an engineer, the original uses Excel spreadsheets with embedded macros. What's the best design approach to use in "growing" this into a web application? We'll compare and contrast several approaches: "traditional" procedural coding in Perl; object-oriented using Java/JSP, and data modeling based on both an RDMBS and "XML database."