:  ####      #     ####   ######  #####   ###### :
: #          #    #    #  #       #    #  #      :
:  ####      #    #       #####   #    #  #####  :
:      #     #    #  ###  #       #####   #      :
:      #     #    #    #  #       #       #      :
:  ####      #     ####   #       #       ###### :

Hello and welcome to the web site of Dan Piponi
.

Robotics and Electronics
Dual Scanning Laser Camera
How to read the other side of a playing card using Helmholtz Duality.
StirFry
Simple autonomous robot.
Equibot
My second autonomous robot.
OddJob
My third autonomous robot.
Quadrature encoder in a servo.
Computer on a Chip
Project to build a simple computer on an FPGA. (Runs at around 25MHz, 1K RAM, VGA output.)
Physics
Quantum Computing
Intro to quantum computing. Years old now.
Cosmic Ray Detection
How to view cosmic ray paths for under $30.
Not the Crackpot Files
Some idiosyncratic physicists.
Mathematics
On the Visualisation of Differential Forms
A way of understanding differential forms and the exterior derivative.
Computer Science
Coalgebras and Automata
A piece of literate Haskell demonstrating some aspects of F-algebras and F-coalgebras, especially their applications to automata.
On the Differentiation of Datatypes
A brief introduction to the algebra and calculus of datatypes. Surprisingly differential calculus can be used to derive datatypes that serve a role similar to that of pointers..
A Compiler For a Pure Lazy Functional Language: SASL
SASL is a simple functional language implemented here via combinatgory reduction.
C++ Templates and Turing Completeness
C++ compilers are Turing complete. I don't mean the programs you can write, I mean the compiler itself.
Implementation of a Pure Lazy Functional Language as a C++ Metaprogram
If C++ compilers are Turing complete you can implement a language with them. Here's a lazy functional one.
Continuations in C
Continuations are a powerful feature of programming languages such as Scheme. But you can do something similar in C.
Publications
Automatic Differentiation, C++ Templates and Photogrammetry
This is a paper soon to be published in The Journal of Graphics Tools.
Seamless texture mapping of subdivision surfaces by model pelting and texture blending
From SIGGRAPH 2000
Universal Capture
From "The Matrix Revealed" at SIGGRAPH 2003
Other
Movie Credits
An Academy Award
My Music Collection
My Text Adventure Game Collection