Speaking Engagements

TensorFlow.js Community Show and Tell
Streaming Live on YouTube, April 2020

In this Show & Tell I shared some highlights from working with pose capture via TensorFlow.js to power the Adobe Design experience at the de Youngsters Art Part earlier this year.



Web Components in Space!
Google’s Web Components SF Meetup, February 2020

In this talk, I explored taking Web Components into 3D and beyond with AR and VR. Noteable personal projects I showed included a simple Web Component based 3D scene creation tool with Babylon.js. I ended with a fully working demo of a Web Component working on an Oculus Quest headset in VR.


Prototyping for Project Aero
Adobe Tech Summit, Moscone Center SF, February 2019

Though the details of this talk are under wraps, designer David Montero and I discussed our efforts around prototyping for Adobe’s new Augmented Reality initiative. We detailed how prototyping can take assumptions/hypothesis, turn them into design and something usable, and then be validated or invalidated


Intro to VR
Adobe Tech Summit, San Jose, CA February 2017

This session explored what Adobe was doing in the Virtual Reality space and speculated on our future endeavors. Winner of Top 10 session at this internal technical summit.


HTML5 Buddy Cops
ForwardJS, San Francisco, CA February 4, 2015

This session explored Polymer and Atom-Shell as great technologies that go great together, much like buddy cops


Atomic Desktop Power with NodeJS
HTML5DevConf, San Francisco, CA October 20, 2014

This session covers how to build an HTML5 based application utilizing features from Node.js that were never possible in your browser using Atom-Shell from Github


Creative NodeJS
cfObjective, Minneapolis, MN May 14, 2014
HTML5DevConf, San Francisco, CA May 22, 2014

This presentation was an exploration of past creative coding/multimedia platforms followed with the basic premise that Node.js is the next up and coming creative platform. I explored using desktop application wrappers like Node Webkit and Atom-Shell. I also took UI frameworks and libraries that we are familiar with in our browsers and used them in Node.js with Node Webkit. One example included an AngularJS directive for doing face detection live with OpenCV in Node.js.


Panelist for Front End vs Backend
cfObjective, Minneapolis, MN May 15, 2014

This panel of myself and 3 other developers explored what the different strengths and weaknesses of front end application were compared to the back end. I’m kinda proud to say that I brought up the internet connected egg tray followed by the claim that front end and back end divisions were really just useless constructs especially for modern development with the “internet of things”


Sweatin’ to the Web
cfObjective, Minneapolis, MN May 17, 2013
Refresh the Triangle, Raleigh, NC May 23, 2012
JSConf, Amelia Island, Fl May 31, 2013

Following up with my love for the MS Kinect and 3D depth sensing from the NCDevCon presentation – I studied up on OpenNI: A free, open-source, cross platform 3D sensing SDK. I took this and created a Node.js plugin to use gestures and skeletal data in a browser. In my presentation I talk about moving around to interact with the web, using natural user interaction, and some light Javascript to interact with my plugin.

Javascript fun with the MS Kinect
NCDevCon, Raleigh September 30, 2012

On a whim, Ben got a used XBox Kinect for $70. And now after a bit of setup he’s controlling things on screen using just his hands (and possibly his feet) in mid air! Not only that, but by using the fantastic KinectJS project, we don’t have to use C++ or C#, we can use Javascript in a normal modern browser. The keyboard is sooo 1980’s. The keyboard is sooo 1990’s, touch screen is sooo last year. It’s Kinect time!


Javascript Continuous Integration with Google Closure and Jenkins
Triangle Area Coldfusion User Group, Durham NC April 19, 2012
cfObjective, Minneapolis, MN May 19, 2012

A long time ago, Ben learned, accepted, and loved continuous integration and Object-Oriented code organization…you know with classes and packages and stuff. Then he had a decent sized Javascript project and it all went to hell.

Then Ben breathed a sigh of relief when he found Google Closure and used it with ANT and Hudson. He was able to sort and separate his Javascript into many many classes and packages which Closure was nice enough to compile together into a nice little package.

Not only was it minified into one file so Ben didn’t have to fear the Javascript “We’re not an OO language we’re Prototypical” purists, but Closure also kindly pointed out the things that would probably fail in IE. The browser also thanked him that it didn’t have to download his entire library of like 70 .js files all at once.


Live Instrumentation in Flash
NCDevCon, Raleigh September 17, 2011
FITC @ Adobe MAX, LA California October 22, 2011

This session will covered the basics of working with sound in Flash, and then how we to build on top of that to create rudimentary musical instruments on tablets and phones. We’ll explored, at a fundamental level how sound works, how to create sound at a certain frequency, and how those frequencies can be mapped to notes and chords. We’ll then explored how to use this knowledge right in Flash for web, AIR, or mobile.

I dissected my open source Flashamaphone project http://code.google.com/p/flashamaphone/ to help attendees learn these concepts, and showed off other similar audio engines.


HTML5 vs Flash Video: Choose Wisely
NCDevCon, Raleigh September 17, 2011

In this session, Ben will discuss the differences in serving up your video content through Flash versus the HTML5 video tag. Each has pros and cons, and we’ll discuss what is appropriate for different situations. We’ll also discuss using streaming or progressive video along with some popular video player libraries (both on the Flash and Javascript sides). We’ll also get into how the HTML5 video tag works at the basic level and how you can leverage it if you choose to develop your own player.


Music and Sound in Flex and Flash
NCDevCon, Raleigh May 22,2010

Presented on various ways of working with sound in Flash and Flex.  Covered basics of digital signal processing for audio, creating sounds from scratch, and microphone manipulation.  Also covered various ways to get more performance when processing lots of audio samples


Adobe Fireworks CS4 for Beginners
Raleigh Durham Adobe User Group

Discussed Adobe Fireworks features for designing and interactive prototyping for HTML sites and Flex applications


Using Flash Assets in Flex 3
Raleigh Durham Adobe User Group

Discussed how to use assets created in Flash in Flex 3 applications.  Presentation covers skinning, creating AS3 components, and basic graphical manipulation using the Flex Component Kit for Flash CS4


Physics in Flash
Raleigh Durham Adobe User Group

Discussed why developers may want to use physics engines in Flash and covered the pros and cons of several free engines.  I went into detail on Box2D and showed a few demos and explained how it works


Zinc Desktop Tool for Flash
Raleigh Durham Adobe User Group

Discussed what Multidmedia’s Zinc is and why it’s a great choice to bring Flash to the desktop.  We went over using joysticks, embedding media, creating extensions, and more.


Sound in Flash
Raleigh Durham Adobe User Group

Discussed a wide variety of topics under the umbrella of using sound in Flash.  This included embedding on the timeline and loading/playing sound with AS3.  Also went into advanced topics like visualization and creating sounds dynamically through code.


Raleigh Durham Adobe User Group

Discussed a popular 3D engine for Flash called Papervision3D.  We went over how to create assets in a 3D tool called blender (modeling, texturing, and exporting).  And then we covered how to bring these assets into Flash for manipulation.  This presentation was given by Troy Stratton, Iris Stratton, and myself.


Flash Catalyst and Flex 4
Raleigh Durham Adobe User Group

Discussed newly released beta software for the Flash platform.  Covered how to design/prototype an application in Flash Catalyst, and bring that over to Flex 4 for creating interaction and functionality.  This presentation was given by Troy Stratton, Iris Stratton, and myself.