dan morris :
projects

 


songsmith
...with ian, sumit, and the ADT

Songsmith lets anyone make music (yes, you!), and provides an “intelligent scratchpad” for songwriters.

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

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.

patient-friendly displays
...with lauren, laura, and cue

we explored design and technology challenges around making medical information more useful and intuitive.

SoundWave: Ultrasonic for Gesture
...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.

runlog

My Running Log

Lest I should allow any activity in my life to not involve writing code, I crawled my gps logs to (a) back up my own data and (b) make this nifty-looking table.

tometometer

my tometometer

I parsed Flixster’s JSON to produce the “tometometer”, a measure of my taste in movies compared to everyone else’s.

muscle-computer interfaces
...with scott, desney, and ravin

Muci’s sense electrical muscle activity to infer finger movement.

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.

ClassSearch
...with neema, Merrie, & Mary

A shared display of Web search activity for classroom environments.

Computational Creativity Support
...with jimmy

“Using Algorithms and Machine Learning to Help People Be More Creative” was a workshop at CHI 2009, bringing together artists and computer scientists.

Dynamic Mapping of Physical Controls
...with Rebecca and Merrie

This project explored the integration of physical controllers into a multi-touch environment.

Data-Driven Chord Sequence Exploration
...with Eric and Sumit

This project explored intuitive blending of genre-based statistical models of chord sequences.

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

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.

tutorials on random things I kept forgetting about

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.



...believe it or not, vga signals actually passed over the messes of wire in these pictures, bringing many pretty colors to the tiny displays you see here... this was a typical project at tiqit, where I actually got paid to make messes like this.