All posts

This page lists all my posts on a variety of topics, loosely defined by "creative outbursts". You can restrict yourself to a subset of this category by clicking on the appropriate sub-category in the navigation bar on top, or the one on the left.

All posts are sorted by the time they were posted. For many of them, this date is early January 2011. That's because this was the time I moved my old web site to this Drupal-powered CMS (content management system).


  • Wed, 08/17/2011 - 15:05

    A video filmed at 300 fps of an axolotl trying to snatch up a food pellet. (Unfortunately, it fails both times to swallow the pellet.) Playback is slowed down to about 10x, and then 50x the actual speed of the feeding reflex. Filmed with a Casio Exilim EX-F1. Video quality is certainly not the best, but the video is still interesting, I think.

  • Wed, 06/08/2011 - 16:34

    A Python script that's using OpenCV to open a video, loop it, and trigger playback via a command coming from the serial port (where in my case an Arduino is connected) or a key press. Playback stops after a timer has run out and commences after another trigger event.

  • Tue, 05/31/2011 - 19:12

    It's common knowledge that MacBooks and iMacs can be controlled with any Apple remote. This feature is turned on by default, so unless people manually disable remotes, or pair a specific remote to their computer, they are easy victims for a simple prank. You can control the volume, start/pause songs in iTunes, advance and go back a song in the library, and, most annoyingly, enter FrontRow by pressing the appropriate button on the remote. Of course, it would be nice not to actually have to approach the "prankee" with a conspicuous Apple remote. It would be far nicer to have a microcontroller mimic the IR codes and control everything remotely...

  • Wed, 03/16/2011 - 21:25

    I don't know why, but I really like to draw geckos. Below are more examples of my growing gecko collection.

  • Sat, 02/26/2011 - 18:43

    Thanks to Kevin Ford and Janneke Hille Ris Lambers at UW I recently had the opportunity to get access to a very good-looking LIDAR data set for the area around Mount Rainier, WA. They obtained a high-resolution LIDAR map of Mt. Rainier National Park from the Puget Sound Lidar Consortium. Kevin and Janneke approached me to ask whether it's possible to create a 3D print of Mount Rainier and, naturally, I was extremely intrigued by this idea.

    The data Kevin gave me covered a bit more than 30 by 30 km with circa 10 million elevation samples. This incredibly high resolution made the map look incredibly beautiful in GIS software, but it also presented a substantial problem for me. In order to create anything printable, I had to drastically down-sample the data points. Another problem was that the elevation data behaves like a 2D sheet floating in 3D space, but in order to print something on a 3D printer, I needed nodes that describe a closed 3D volume. The project therefore involved a fair bit of data manipulation, which I describe below.

  • Tue, 02/15/2011 - 11:26

    It's easy enough to create equation-driven 2D shapes in MATLAB. It turns out that it's also fairly easy to export such shapes into Solidworks and use them to create pretty nice-looking parts in SolidWorks. In this example, I illustrate how to draw a formula-driven wing shape in MATLAB, export it as a PDF, simplify the outline in Adobe Illustrator, and then import it in Solidworks to create a wing-shaped extrusion.

  • Fri, 02/11/2011 - 12:25

    Below is a PDF of my presentation and the code for a tutorial on making elaborate multi-axes movies with Matlab. The tutorial was part of the "hallway salon" series that has become a tradition in the Daniel Lab.

    The code contained on this page contains a framework for saving movies from MATLAB that should be easily adaptable for your own work. I tried to add as many comments in the code, so it should be fairly self-explanatory.

  • Thu, 01/06/2011 - 17:49

    This page contains the source code for the Arduino-based laser trigger unit described in a separate post.

    I tried to insert comments in the code, so it should be pretty self-explanatory. To play and modify the code, you can copy and paste it into your Arduino IDE. (The line numbers in the code listing won't be copied.)

  • Thu, 01/06/2011 - 09:09

    I developed the camera trigger unit in order to synchronize various events and actions during free-flight experiments with hawkmoths in the wind tunnel described in a previous post. More specifically, the goal was to trigger multiple high-speed cameras and have LEDs that indicate the exact timing of electrical stimuli delivered via a miniature stimulus chip carried by a hawkmoth. (Electric stimulation of the moth is also triggered by the unit.)

    The trigger is based on an Arduino micro-controller board (http://www.arduino.cc/) and provides a timed sequence of events after a trigger is elicited either manually, or automatically with the optional laser module. The latter is used to monitor a volume in space (the trigger volume) that, when occupied by an object (a moth, for example), elicits the trigger sequence. The module can be used with one or two red or infrared laser diodes. When using one laser beam, an object crossing anywhere along the beam will elicit a trigger event. When using two beams, the volume in space in which the two beams cross defines the trigger volume.

  • Tue, 01/04/2011 - 22:35

    I took a photograph of a raven when we were at the Grand Canyon in April 2008. I didn't really like the photograph too much, but it was a nice template for trying to create a vector illustration.