Why hello there! ¶ 

I'm Bob, a Computer Science graduate student at from Cal Poly, San Luis Obispo. I received my Bachelors degree in Computer Engineering from Poly in June of 2010 and my Masters degree in Computer Science in June of 2012.

My graduate focus was in graphics, although I also enjoy the fields of security and embedded systems. My personal and academic projects have given me fun things to do, like building a Christmas light animation system from scratch, designing vehicle electronics for some of the most fuel-efficient vehicles on the planet on the Cal Poly Supermileage Team, and writing a GPGPU Monte Carlo ray tracer in CUDA and C++.

I worked as a Code Junkie for iFixit from June 2011 through July of 2012. Next I worked as an R&D Rendering Engineer at DreamWorks Animation. Currently, I work as a Robotics Engineer at a stealth mode startup.

In a past life I worked at Cisco Systems, where I wrote an internal SNMP performance testing tool for their biggest and baddest routers and worked in R&D developing UI prototypes for some patent-pending tech.

What was that about Chistmas lights? ¶ 

Yeah! Man, what a fun project!

The lights are controlled by 4-outlet gang boxes out in the yard. They have a single AC power input and a Cat-5 jack that sends logic-level signals that turn each channel of lights on an off.

Block Image
Block Image

The boards inside each gang box are pretty simple. A 5V logic-level signal (coming in over Cat-5) flips on a triac through an opto-isolator. Triacs are like transistors for AC signals. Opto-isolators consist of an LED that trips a photo-detector when it's turned on. That keeps my high-voltage AC and low-voltage DC circuits completely electrically isolated. The output of each triac is wired up to its corresponding outlet.

Block Image
Block Image

The whole show is controlled via some free light sync software called Vixen. Vixen talks to my custom FPGA lighting controller to turn each channel on or off at the appropriate time. The controller I designed has an AC input to synchronize with the sine wave so all 32 channels are dimmable!

Block Image
Block Image

And those super fuel-efficient vehicles? ¶ 

Another fun project. The Cal Poly Supermileage Team designs, builds, and races its vehicles in the Shell Eco-marathon Americas. The two main categories we compete in are Prototype and UrbanConcept.

The Prototype cars are exceptionally streamlined and designed for maximum fuel efficiency. Here are some pictures of the recently-retired Black Widow, our Prototype car which achieved a best of 2,752.3 miles per gallon on 87 octane gasoline.

Block Image
Block Image

The UrbanConcept category places more rigid requirements on the vehicles to be more like an actual small car. They must have 4 doors, a luggage compartment, be seated upright, etc. Our first competitive vehicle in this category is Capax, which achieved 420 miles per gallon (again on 87 octane gasoline).

Block Image
Block Image

My role on this vehicle was all the engine wiring, instrumentation, lighting, and telemetry systems. Quite a lot of electronics on this car! We're able to log GPS location, elevation, X/Y/Z forces and angular velocities, and engine data such as spark timing, temperature, manifold air pressure, etc.

Block Image
Block Image

This gives the driver a pretty awesome interface. He's got a steering wheel with all the necessary controls right at his fingertips. In addition, he's got a heads-up-display with important speed, engine, and lap timing information to ensure he can have the best performance possible.

Block Image
Block Image

And some gibberish about ray tracing? ¶ 

Mhmm. These are some early renders from my first attempt at writing a GPGPU Monte Carlo ray tracer.

Block Image
Block Image
Block Image
Block Image

Mistakes were made and a lot of lessons learned, but a decent chunk of what I gained from this is going into my Masters Thesis work, which looks at a new approach to parallelizing renderers, specifically ray tracers. Hopefully I'll have more pretty pictures to share soon!