art

Looking for Work

For the first time in nearly seven years, I am now unemployed. Yesterday, along with several other people, I was laid off from my job at The Omni Group, and I’m now looking for new work. UPDATE: Here is a link to my resume PDF and my complete CV.

First of all, thank you to all of my friends and colleagues at Omni for being one of the best groups of people I’ve ever had the pleasure to work with. I’ll be forever grateful that taking a job at Omni is what got me out to the West Coast, and to the lovely city of Seattle. I learned a lot there, and they believed in my abilities enough to give me some truly interesting challenges, including some professional development that was rather tangential to my scope of video production, in the interest of seeing it enrich my work in unexpected ways.

I won’t go into what happened at Omni in much detail (if you’re interested, my fellow layoff-ee Brent Simmons has more to say about that on his blog). Suffice it to say that with a spouse who is an essential employee at a bakery, I never suspected that an economic cascade leading to this layoff would be the way that the COVID-19 pandemic affected our family. Omni are doing everything they can to make this necessity a little less harsh, and I’m certain they never would have laid people off if it weren’t truly necessary for the company’s survival. I wish them the best, and hope that they come out of this stronger than ever.

But still, I am out of work. Do you have work? Hire me!

People probably know me best for my video production work — please see the output of my last seven years in The Omni Group’s video archives — but I have also done a lot of related development work, and would love to push my career in that direction. Here’s a quick list of some relevant skills:

  • My biggest area of experience: video production, post, editing, and motion graphics. 24 years and counting.
  • I’ve produced two long-running podcasts, The Optical, which I also host, and The Omni Show.
  • For the last 13 or so years, I’ve been working on my programming skillset.
    • I write scripts to automate my video production workflows in Python and JavaScript/ExtendScript
    • I’ve built websites with a Django back end, and I have a working knowledge of JavaScript, HTML, CSS, and REST APIs
    • Just about a month ago, I took a Swift + iOS Development Bootcamp at Big Nerd Ranch, so I’m continuing to refresh my skills
    • I developed and published an app guide to Star Trek for the iPhone, for The Post Atomic Horror Podcast (no longer in the App Store)
    • I was a founding member of NSCoderNightDC, collaboratively learning Objective-C, Mac, and iOS development, and am a member of Xcoders in Seattle, keeping in touch with the local community of Mac and iOS developers
    • I’m currently in the process of learning Unity and C#, so that I can build a virtual map of Scarecrow Video, the largest publicly-accessible film archive in the world, where I volunteer on a regular basis. I suppose Unity is useful for other things too.
    • For my own themed tiki bar space, I’ve become very familiar with Raspberry Pi and Arduino programming, to control lights, smoke, and (in progress) animatronics for an immersive themed experience.

Making Tiki Mugs: Seattle Pottery Supply

My goal is to have made at least one tiki mug for my home tiki bar, by the end of the year. I’ve been poring over Tiki Central’s forums to learn more about the process. I have also picked up a couple of books on it, and have been creating a big workflow list of all of the tips and tricks I’m finding so far.

Tiki Nook Build — Part 2: Raspberry Pi LED Control

I’m controlling everything in this project with a Raspberry Pi 2, a system on a chip. Essentially it’s a really tiny Linux computer that you can use for most anything you could use a full-size computer for. It’s just not quite as powerful.

NeoPixels (WS2811)

I was afraid, when I first started this project, that I would need to attach an Arduino to the Pi, to use as a slave to control the LEDs. The Adafruit NeoPixels, that I had picked to light the tiki mug shelves, are very sensitive when it comes to the timing of their communication, so if you’re not sending data to them at just the right speed, they won’t show the colors you want them to show (or maybe they won’t light up at all). The Pi, being a modern multitasking computer, might be busy doing something else, and not be able to communicate to the NeoPixels on the schedule it wants. The Arduino, on the other hand, is a real-time microcontroller, which means it can schedule its communications on a real-time clock and communicate at the required speed all day long.

Thankfully, someone much more clever than I figured out a way to drive NeoPixels consistently from the Pi by combining the Pi’s PWM (pulse-width modulation) module with its DMA (direct memory access) module, so that the NeoPixel data signal can be sent without being interrupted by the Pi’s multitasking operating system. The resulting library, rpi_ws281x, was exactly what I needed, and Adafruit’s tutorial on setting it up is killer.

The only thing that’s different in my setup is that I used a different level shifter chip to get from the 3.3V Pi logic level to the 5V logic needed by the NeoPixels. I used a Sparkfun PCA9306 Level Translator Breakout, which was also quite easy to set up. You just need a reference voltage attached on either side of the breakout, and then connect the data wire to each side, and the voltage gets shifted up or down as necessary. Here’s my circuit layout:

NeoPixel control from RasPi

Anyway — success!

PaleoPixels (WS2801)

Surprisingly, the bigger challenge was getting the pixels I already had hung from the air duct to be controlled by the Pi as well. Those LEDs are controlled by older chips, the WS2801, which use a different communications protocol. It should have been just as easy, but I really started looking in the wrong place, and it led me down this path of trying to deconstruct these really convoluted projects that were doing way more than I needed. I’m sure they’re great for the folks who made them, but man, I was way more confused than I needed to be.

Eventually, my salvation came in realizing that the Pi’s Serial Peripheral Interface bus would be the best place to connect these pixels, and a rough test code file from Adafruit pointed me in the right direction. The test code worked great, but the functions didn’t match up with the NeoPixel functions, so I spent a decent chunk of the afternoon writing a new library for the SW2801 Pixels that I’m calling PaleoPixel. (Because they’re older!) That way, once I load both kinds of pixel strips into my eventual master control program, I can issue the same commands to pixels of either type, and they’ll react the same, even though the underlying hardware is different.

Controlling just the PaleoPixels with the Pi, here’s my circuit:

PaleoPixel (WS2801) control from RasPi

And the latest version of my PaleoPixel code can be found on Github.

The upshot of all of this is now I can get rid of the Arduino entirely, and save both communications overhead and a big chunk of space inside my project box. Now, I just need to control them together… next time!

Kilauea Cove: Tiki Nook Build – Part 1

I’m gonna build a volcano.

Movies are a huge passion in my life, so of course I have a screening room (which most other people would probably call a “home theater”) in my basement. Tiki is a passion of mine too, and while I haven’t brought too much tiki decor into my home (just a bunch of mugs, at the moment), that’s starting to change.

The screening room is now getting a name: the Lava Lounge, somewhat after the upstairs Lava Room at the now-closed Trader Vic’s Las Vegas, but I’m a sucker for alliteration, so “Lounge” it is. (I never actually went up to the Lava Room on my one trip there, but I fell in love with the neon sign.) The Lounge already has deep red walls, red leather recliners, and a Shag print that features a volcanic island. Plus, I’ve recently added red LED path lights that make it feel even more lava-like. I’d like to add a faux-neon mini sign to the door, among other upgrades, but some of those plans will have to wait for a bit.

Update 2016-05-15: Due to unintentional overlap with a Seattle bar called “Lava Lounge,” I am changing the name to Kilauea Cove. This name refers to the complete area, with both the Screening Room and the Tiki Nook.

Just outside of the door to the screening room, there is a little nook that I usually call the “tiki nook”, which has a tiny bar-top for mixing drinks and some shelves for my more interesting tiki mugs. Extending that lava feeling out to the tiki nook is the next project, and this is the first in a series of posts that will show how I’m building that out.

Tiki Nook History

Tiki Nook v01

The tiki nook space is pretty basic — bare white walls and a really awkward HVAC duct that plows through the space. I’ve dressed it up with faerie lights zip-tied to the duct for a while, but as the lights would burn out, and I had real trouble figuring out which bulbs to replace without spending a really tedious weekend with my multimeter, I eventually added another string of new faerie lights and then another, so there was this web of broken lights and working lights, all zip-tied together into some sort of terrible fishnet. To top it all off, the newer faerie lights I picked up just weren’t very bright, and it was pretty much impossible to see well enough to make a drink without propping the refrigerator door open. I could have bought some bright LED faerie lights, but then it would just be this ugly bright mess all the time. Obviously, something must be done.

First steps

The first order of business was to replace the old, busted lights with something I could mold into the roles of both swank, dim tiki lounge and mixing a drink here, so my eyes need a few more watts. I clipped the old zip ties and strung up a new set of Adafruit 12mm Diffused Thin Digital RGB LED Pixels. These LEDs use WS2801 controller chips, and I had an old Arduino Diecimila laying around doing nothing, so I hooked ’em up, and temporarily set up a basic lighting pattern so I could get a feel for them. I won’t get into the code for this here, since it isn’t my final lighting look, but it’s a simple tweak of Adafruit’s test code for the pixels.

Tiki Nook - New Pixels

Once I had the new pixels up, and we got the insurance payout for the damages incurred during #SewerSaga, I decided that I could finally do some cool stuff with the nook, with even more animated lighting and some special effects. Some of the lighting is still wending its way across the country, but there’s one thing I had to test now that I had the basic parts.

SMOKE MOSHEEN!

I’ve long wanted to have a real tiki bar attraction in my home, and inspired by and , I thought I could finally do a miniature volcano in my tiki nook. We’ll get into the specifics of the design in future posts, but now that I have everything I need to control the smoke machine, I wanted to give that much a try!

I’d put together a Sparkfun Beefcake Relay Kit, which lets a 5V signal from a microcontroller essentially turn on a switch that can handle a 120V mains connection. At the moment, the relay will be triggered by the aforementioned Arduino, but eventually everything will be controlled by a master Raspberry Pi.

Anyway, I got that wired together, and based on Control a Fog Machine With Your Microcontroller by Jeff Haas, I hacked up an IEC power cable to connect to this remote. I thought I had everything together correctly, but I’d just tested it manually and not by triggering with the Arduino at all, so when I finally did that, I discovered a short in my 1/8″ plug connector. I solved that with a judicial application of hot glue, but now the LED on the relay lights when it’s supposed to, but doesn’t actually trip the switch and… Okay, I thought I solved it with the hot glue, but there’s still something loose, because if I wiggle the connector around, it works fine.

Yay! Sort of!

Arduino controlled smoke machine via @sparkfun relay. #tikinook #LavaLounge

A video posted by @swizzlevixen on

I think the big challenge is going to be ducting the fog in such a tight space, as well as controlling it, so that it will act on cue the way I want it to. I suspect the answer may be in quickly filling a reservoir with smoke and then pushing it out on cue with a solenoid — or a woofer, much like what uses — but I’ll cross that bridge when I come to it!

ECCC Artist Alley Table Dimensions

I’ve applied to get a table in Artist Alley at Emerald City Comicon in Seattle next year, for my VFX podcast, The Optical. So, before I helped my good friends at AAlgar Productions pack up their table this year, I took some measurements. Assuming I get the table, I plan to have an overhead display clamped to the table, and bins underneath. If you’re doing something similar, here are some useful dimensions.

ECCC Artist Alley Table Dimensions

Here’s a scalable PDF of the same dimensions, all released for you to use under CC BY 4.0 (tl;dr — give me attribution, preferably with a link to this blog post, then use it however you like).