DOPs are not SOPs

I wanted to make a post about a really common misconception regarding Houdini’s geometry context (SOPs) versus its dynamics context (DOPs). Houdini’s documentation does explain a bit of basic information about DOPs, but not necessarily in the most readable way for Houdini newcomers who are first introduced to the software Read more…


An Idiot’s Guide to ACES

I’ve been putting off working in ACES for years now, because almost every explanation of the system I’ve tried to read online has been either extraordinarily technical and long-winded, or read like a sales pitch with no useful information about implementation. It takes a certain amount of training and understanding Read more…


MOPs @ EUE 2019

SideFX Software was generous enough to ship me out to the Netherlands last week to meet my partner-in-MOPs, the inimitable Moritz Schwind, and present together a little slide show about motion graphics, Houdini, and prison hooch at End User Event 2019! The technical stuff about MOPs starts about halfway through Read more…


some non-maya pipeline UI stuff…

I’ve been working for the last few months on a pipeline system for Wolf & Crow here in Los Angeles. My efforts are typically focused on Maya pipelines, which I’ll be documenting later, but I wanted to show off a little something I made that’s usually outside my repertoire… web programming.

The company needed an interface to handle mundane tasks like creating new jobs and assigning job numbers to them, creating new assets, and creating new sequences & shots for projects. Normally this would be as easy as duplicating a template folder, but the pipeline here makes extensive use of symbolic links in order to tie multiple Maya workspaces together in a way that’s as efficient as possible (for example, the “sourceimages” folder of every Maya project in a job can be symlinked to a single “textures” repository). Symlinks can’t be created in Windows, although Windows will happily follow symlinks served from a Linux server. So the bulk of the work has to be done on the server itself via Python or Bash scripts.

Prior to the web app, the standard procedure was to run plink.exe (an SSH command-line utility) inside a Python script using the subprocess module (see my earlier post on subprocess), which would pass a command over to the Linux file server to create all the symlinks. Or you could just SSH into the server using putty.exe and run the command yourself. This was clumsy, though, since you either needed to have Maya open to run the Python script through an interface, or you had to be comfortable enough with SSH and the Linux command line to run these scripts.

Instead, there’s a (sort of) sexy web interface that anyone can run from a browser! Here’s some examples.

Click below to see a whole bunch of code.