|
MegaDetector (GitHub) ...with the AI for Earth team, especially Siyu
MegaDetector finds animals and people in images from motion-triggered wildlife cameras. It helps conservation scientists spend less time doing boring things.
|
|
Google EIE Tree Canopy ...with the Google Environmental Insights Explorer team
Google's EIE Tree Canopy project applies ML to aerial imagery to find trees. It helps urban foresters spend less time doing boring things.
|
|
The Planetary Computer (GitHub) ...with the AI for Earth team
Microsoft's Planetary Computer makes it easier for sustainability folks to answer conservation questions with gobs and gobs of data.
|
|
LILA BC (Labeled Information Library of Alexandria: Biology and Conservation) ...with lots of folks from Zooniverse, UMN, and UWyo
LILA BC is an open repository of labeled data, especially camera trap images, that facilitates AI model training for conservation.
|
|
Songsmith
...with ian,
sumit, richard, and lots of other folks from MSR
Songsmith lets anyone make music (yes, you!), and provides an “intelligent scratchpad” for songwriters.
|
|
Everything I know about ML and camera traps
A living literature review about the use of ML for wildlife cameras.
|
|
species classification ...with Marcel, Neel, and the AI for Earth team
The AI for Earth species classification model recognizes plants animals in images
|
|
workout
...with scott,
Andrew, and Ilya
Workout
finds, recognizes, and counts exercises from an
arm-worn sensor. Some of this work shipped with the Microsoft Band.
|
|
Dan’s Big Awesome Songbook
lots of songs I like to play. Code was involved in the making of this songbook.
|
|
Pulsatile Signal
Analysis
I’ve done lots of stuff with pulsatile signals; pieces have transferred to products including
Microsoft Band
and Xbox
One Kinect.
|
|
recumbent computing ...with chris
I briefly couldn't go more than a couple hours without lying down (due to getting old orthopedic injuries), but got myself up to full productivity lying down. |
|
patient-friendly
displays ...with lauren,
laura,
and cue
this work explored ways to make medical information
more useful to hospital patients. |
|
My Running Log
Lest I should allow any activity in my life to not involve writing code, I crawled my gps running logs to (a) back up my own data and (b) make this nifty-looking table.
|
|
my tometometer
I parsed Flixster’s JSON to produce the
“tometometer” (get it?!?!?), a measure of my taste in movies compared to everyone else’s.
|
|
Interesting Stuff on Microsoft’s Campus
When I was at Microsoft, I maintained a page that tracked objects and places I deemed to be interesting on Microsoft’s Campus. Since then, others @ MSFT have taken it over.
|
|
PlayerBot 2000
Using advanced artificial intelligence techniques, I created a sophisticated simulation of a post-game interview with an NFL player. (source)
|
|
Data-Driven
Chord Sequence Exploration ...with Eric
and Sumit
This project
explored intuitive blending of genre-based statistical models of chord
sequences.
|
|
User-Specific
Pitch Transcription ...with Andrew and
Sumit
Real-time vocal transcription doesn’t quite work yet; user-specific
training might get us one step closer.
|
|
muscle-computer
interfaces ...with scott,
desney, and
ravin
Muci’s sense electrical muscle activity to infer finger movement.
|
|
SoundWave: Ultrasonic Sensing for Gesture Input ...with
Sidhant,
Shwetak, and
Desney
Soundwave leverages commodity speakers and microphones to sense in-air
gestures.
|
|
HumAntenna: gestures from RF noise ...with
Gabe,
Shwetak, and
Desney
Your house is filled with electromagnetic noise. HumAntenna uses that noise
to sense gestures.
|
|
Skinput
...with chris and
desney
Skinput uses a novel sensor to turn your arm into a touch screen. |
|
ClassSearch
...with neema,
Merrie, &
Mary
A shared display of Web search activity for classroom environments.
|
|
Dynamic Mapping of
Physical Controls ...with Rebecca
and Merrie
This project
explored the integration of physical controllers into a multi-touch
environment.
|
|
mysong
...with ian
and sumit
MySong generated chords to accompany a vocal melody. It became songsmith.
|
|
superbreak
...with a.j.
and brian
superbreak adds
hands-free interactivity to traditional ergonomic break-reminder software.
|
|
searchbar
...with merrie
and gina
searchbar is a
browser history view centered around search topics and queries.
|
|
surgical simulation
my phd work focused on haptics and physical simulation for virtual surgery.
|
|
neural prosthetics
...with Cyberkinetics
In a previous life, I worked on neural
prosthetics. This page presents basic
concepts and code.
|
|
chai 3d ...with the chai
team
chai 3d is an open-source scenegraph
library for haptics and graphics.
|
|
evaluation of haptic rendering
...with stanford biorobotics
...is a data and analysis repository for evaluating the realism of haptic rendering.
|
|
haptic
mentoring
...with stanford biorobotics
The
“haptic mentoring”
project explored the use of haptics to teach force-sensitive motor skills.
|
|
data structures for haptics
this technical report
describes a few haptics-related algorithms, data structures, and optimizations used in my thesis work.
|
|
haptic battle
pong ...with neel
Haptic Battle
Pong is still the world’s only most awesome six-degree-of-freedom haptic sports/combat game.
|
|
calibration of deformables
My thesis work included a pipeline for making non-physically-based deformable
models a little more accurate.
|
|
deformables
This page hosts my implementation of the deformable
mesh model I used for my thesis work.
|
|
voxelizer
voxelizer generates voxel arrays and internal distance maps for surface meshes.
|
|
winmeshview
winmeshview is a simple (and free) viewer and converter for 3d surface and tetrahedral meshes.
|
|
cs148: introductory graphics
I taught intro graphics
at Stanford over the summer of 2005. Content archived here. I gave
out some free candy, which is not archived.
|
|
life-sized candyland
...with Augusto and Jeff
we built a life-sized candyland
game. a clapper was involved, as was actual candy.
part of the third-floor’s holiday extravaganza.
|
|
audio for
collaborative environments ...with merrie
This project explored the use of private audio channels
in single-display groupware systems.
|
|
tele-drawing ...with neel and kirk
The tele-drawing robot allowed a user to tele-operate a robotic arm (from like 10 feet away) and draw inspiring
two-color pictures.
|
|
hybrid rendering ...with neel
This project
– which we called “MengkuduGL” for reasons
that I can’t remember but probably seemed really funny at the time
–
combined offline raytracing with
real-time graphics and haptics.
|
|
haptic images ...with
neel
This system explored haptic and audio rendering of visual edges, depth, and flow.
|
|
surgical robot visualization
...with intuitive surgical
a real-time opengl visualization of intuitive’s da vinci surgical robot system.
|
|
fitness racer
instructions and code for controlling a cheap rc car with a dance dance
revolution pad via your pc.
|
|
killer death tag
...with neel
and soren
robots running about while loud music plays and hopefully convinces the viewer that the
robots are doing something useful. don’t miss the exciting
video.
|
|
virtual winter
wonderland ...with neel
via “advanced computer vision techniques”,
viewers are transported into a magical winter world.
also there are funny hats.
|
|
la bastille
...with techhouse
Tetris on a 15-story building... the greatest moment in the history of the
pc’s parallel port.
|
|
march of the snowmen ...with the gates third floor
An entry in the Gates
holiday decoration contest, including Spinny the
spinning snowman and the musical light show.
|
|
alternative splicing
in arabidopsis
As an intern at Cereon Genomics,
I explored alternative splicing in arabidopsis. Results were proprietary, so
I made a scientifically useless
document describing the work without providing any useful information.
|
|
Set List Generator
This project uses constrained optimization to generate set lists for
‘80s cover bands.
|
|
HTML Image Sizer
HTML Image Sizer fetches an HTML page and its images and adds missing size tags for all <img> tags.
|
|
dsm_datestamp
A shell extension that I wrote to datestamp/timestamp
files in Windows explorer (append time and date information to the
filename). For example, if I have a file called “hello.zip”, I can right-click on it,
select “dsm_datestamp”, and it becomes “hello.05.04.13.1242.zip”.
|
|
multi_audio_lib
This is a simple
C++ library that lets you play any supported media type (e.g.
mp3, wav) on any subset of available audio devices. There is also a Java wrapper.
|
|
stomp-a-grinch
I created Stomp-a-Grinch as part of the Stanford CS
building’s annual holiday decoration contest (contest video). It’s a simple game that
provides the satisfaction of stepping on things and hearing
explosions (Stomp-a-Grinch video).
|
|
handwriting
synthesis
This is a set of Matlab
scripts to generate text in my own handwriting (based on scanned examples). Here is a tiny bit of example output.
|
|
palm keyboard driver
This is an application that allows you to use a Stowaway fold-up keyboard
– intended for use with the Palm Pilot – with a PC.
I also wrote a calibration program
for this utility.
|
|
liblcd
This is a library that makes it convenient to write strings out to an
Optrex-type LCD module via the parallel port.
|
|
|
linear elastic material
properties
“linear elastic material
properties” is a tutorial i put together to remind myself what the basic
elastic moduli mean, since during my PhD they came up just often enough that I needed to remember what they are but just infrequently enough
that i could never remember which is the bulk modulus and which is the young’s
modulus, etc.
|
|
the inertia tensor
“what the hell is the inertia
tensor?” is a tutorial i put together to remind myself of the
intuition i achieved at some point regarding a topic that comes
up a lot in graphics, haptics, robotics, and simulation.
|
|
transistors as switches
often times i find myself needing a simple transistor circuit for a hobby
project, and — being not at cosmic oneness with the n or the p —
i typically forget how to connect them, which is the base and which is
the emitter, etc. “using
transistors as switches” is a little tutorial i put together so i could
just download what i usually forget on this topic whenever it comes up.
|
|
an intuitive but
not-all-that-mathematically-sound explanation of the fourier
transform
“an intuitive but
not-all-that-mathematically-sound explanation of the fourier
transform”
is a tutorial i put together to walk non-signal-processing folks
through the typical formulation of the fourier transform, somewhere between
an explanation and a mnemonic device.
|