Thursday, April 12, 2012

Scripting, processing.org, images, video, etc

So, at my new job, a bunch of my coworkers are "designer-programmers." Usually these are people who have training in art or design and who teach themselves how to program (often quite well). As one might expect, many of them shifted into C++ and OpenGL after first whetting their appetites with processing.org (which I will simply call "processing" from here on).

Every once in a while I'll run into a quick one-off scripting task whose output (or input!) is an image or a video asset, and my first instinct will be to start looking up scripting language wrappers around things like PIL and ImageMagick. Whenever I express a thought in this vein, invariably, one of the designers will say "Why don't you just use processing?" or "Processing can do that!"

And it turns out that they're right. I have conceded that, even without a strong knowledge of processing, processing is a better tool for quickly programmatically generating images and video than many of the more conventional scripting languages out there (including Ruby and Python). There are two reasons for this. The first of these is that processing gets out of your way, and lets you call visually-related API functionality without having to do a bunch of imports, or the equivalent of "system.out.println instead of printf". The second is slightly more subtle. Processing is structured around the idea that you'll have a setup, a draw, and an event loop, and that the "draw" will draw things, either every frame, or on certain events. It is absolutely amazing how much more natural this is than "print stuff out" for tweaking and debugging programs whose output is (primarily) other visual artifacts.

Saturday, February 18, 2012

Thursday, December 15, 2011

Open Source

I am currently open-sourcing or thinking about open-sourcing three pieces of software
  1. The simulation platform I used for most of my research in grad school. You can run it and see the results at http://alumni.soe.ucsc.edu/~mds/cclsim/.

    Currently I am in the process of talking to the appropriate people at the University of California about how to do this, as I wrote most of this in the process of research for the UC. Hopefully it'll turn out that language in one of the federal grants I received forces me to open it, or that at least it'll turn out to have so little commercial application that opening it is not a problem.

  2. The library and platforms used to generate most of the projects at http://alumni.soe.ucsc.edu/~mds/?News=collapse&Other=expand&Demos=expand#Demos.

    While these were developed when I was a graduate student, most of it was done before I had any research grants, and all of it was done on my own equipment.

    My main hesitation about opening it up is that I'll have to publicly admit to having used "glVertex3f" as late as 2004/2005.

    For what it's worth, a snapshot of the code is at http://www.club.cc.cmu.edu/~mds2/old_ucsc_gl_source/

  3. The source for http://alumni.soe.ucsc.edu/~mds/spacecraft_sim/.

    While this project was built on top of the libraries described in the second item, this particular integration *was* done as part of official university research. I'm hoping that the fact that I did it on a NASA grant means I am forced to open it, but because it was done as a University researcher, I am pretty sure I have to go through a different path to open it up.

Monday, May 16, 2011

Shared map : others may find it useful

Back when I was looking for postdocs in 2009, I have to admit to having had a geographic bias, and was particularly interested in Universities in Southern California which might offer postdocs related to my research area.

So I decided to experiment with a little-used Google Maps feature, and create a "map of PhD-granting Southern California Universities." It is of somewhat little use to me at the moment, but I thought I'd share anyway, just in case anybody else with a two-body problem needs such a list.

Map of Southern California Universities

Monday, December 13, 2010

job switch / google

I now work for Google. Hooked was great fun, and I worked on interesting projects with wonderful people.

Friday, October 22, 2010

Ames never ceases to astound

I love how "far out" / "long range" some of NASA Ames' research is, for instance :
http://www.kurzweilai.net/nasa-ames-worden-reveals-darpa-funded-hundred-year-starship-program in which the authors discuss a new joint DARPA/NASA Ames Research Center project to build an "100 year starship"