science
jonathan bachrach
ALA and snap
2010
a new paradigm of computing which combines Petri nets, cellular automata (CA), and logic and a language for constructing ALA circuits combining both dataflow and layout.
3d jigsawer
2010
automatic creation of 3d jigsaw puzzles of arbitrary 3d shapes.
plate
2009
end to end workflow for making furniture composed of plates at right angles from each other.
paneler
2009
workflow for breaking a triangulated 3d mesh into n flat panels that when connected reconstruct the original 3d shape.
slicer
2009
workflow for slicing 3d solids into parts that reconstruct original.
dna toy
2009
the puzzle chain construction kit for the genetic age.
digital folding
2008-2011
workflow for automatic formation of irregular 3d objects using a folding mechanical protein consisting of space filling polyhedra.
masterless map/reduce
butera, bachrach
2007-2008
a distributed and scalable approach to doing map / reduce without a master.
protovision
bachrach
2007-2008
an approach to doing distributed computer vision on a spatial computer.
doubledevo
bachrach, vickery
2007-2008
a new way to combine the best of both worlds of virtual and physical for developing sensor network applications.
gpugooze
bachrach, turbiner
2007-2008
interactive system for developing multimedia applications on gpu's.
gel
bachrach, qumsiyeh, tobenkin
2006-2008
a simple and concise language for describing hardware that is abstract and scalable.
protobo
bachrach, raffle, vickery
2006-2008
a physical photoshop language and set of algorithms for modular robotics.
protoswarm
2007
a robust and scalable language for programming robot swarms.
fast self healing gradients
2007
a self-healing gradient algorithm that provably reconfigures in O(diameter) time.
continuous time semantics
2007
continuous time semantics allowing self-scaling across computers with different communication and execution rates.
building spatial computers
2007
an approach to Spatial Computing where the application programmer controls a single spatial computer which fills the space through which the devices are scattered.
programming snets as amorphous mediums
2006
programming sensor networks with a continuous spatial abstraction.
proto
2006
a new high level language for space-time programming of amorphous substrates.
simultaneous calibration and tracking
2004-2006
tracking a target in a sensor network while simultaneously localizing and calibrating the nodes of the sensor network.
localization chapter
2004
overview of position estimation for sensor networks.
gooze
2004
a modular stream processing language for audio and video. Combines offline and online/interactive computing.
coordinate formation in sensor networks
2002-2003
a demonstration that it is possible to achieve accurate localization and tracking of a target in a randomly placed wireless sensor network composed of inexpensive components of limited accuracy.
alien goo
2003
an ultra simple C language interface and embedding facility for dynamic languages like goo.
simple and efficient subclass tests
2002
a new subclass test encoding, called the Packed Vector Encoding (PVE), that is fast, simple and requires average case O(n log n) space.
preproto
2000-2001
a new type-based prefix syntaxed language that is meant to be simple, powerful and extensible.
design and imp of OODLs
2001
a course covering implementation techniques for advanced object-oriented dynamic languages (OODL).
efficient dispatch for dylan
2000
an investigation into predicate dispatch, its efficient general implementation, and results in using these techniques for implementing the Dylan programming language's method dispatch mechanism.
dylan procedural macros
1999
a demonstration that it is possible for a language with a rich, conventional syntax to provide Lisp-style macro power and simplicity.
partial dispatch
1999
optimizing dynamically-dispatched multimethod calls with compile-time types and tuntime feedback.