Posts in Category "General"

September 21, 2010

Teaching an Intermediate Pixel Bender for Flash Lab at Adobe MAX this year

This hasn’t been added to the schedule yet, it should be soon, but I wanted to give a heads up on this. I’m teaching a course on Pixel Bender this year, picking up from where my labs in 2008 left off. Here is the current description:
So you’ve walked through the tutorials, added some filters to your display objects, maybe added a animating parameter or two, even written some of your own filters from scratch. What next? This lab will introduce you to topics like: optimizing your Pixel Bender and Actionscript code; using ShaderJobs to process data asynchronously; using Pixel Bender to process audio and other non-image data efficiently in your Flash movies; taking advantage of Pixel Bender parameter metadata; new Pixel Bender APIs in Flex4; and will give you a look under the covers to how Pixel Bender runtime works in Flash Player 10.1

I’d like your input on topics that you’d like me to cover. Please leave your suggestions in the comments.

Also, in my previous labs, I used Flash Pro, this time I’d like to use Flash Builder, but I can go either way. Which would you prefer?


For those figuring out their MAX schedule, it looks like my lab will be on Monday at 5pm in room 402AB.

Update: The 90 minute session will be Wednesday, October 27 at 04:00PM in room 402AB. It is right at the end of MAX, so hopefully you will be able to attend.

If you are interested in attending my lab, please make sure that you at least are comfortable with the things I covered in my introductory tutorial.

Hope to see you there!

5:54 AM Permalink
September 10, 2010

Upcoming talks and events

(all times/dates are PST)

I have a few conference talks and such in the next couple weeks, so I thought I’d send out some pointers.

If you are attending the Intel Developer Forum in San Francisco, I’ll be speaking on a panel discussing how to educate the next generation of computer scientists for the new paradigms of parallel processing. The Panel is called “Parallelism and Education: Navigating Through a Sea of Cores”, the session is on Monday 9/13 at 11am, right after the keynote. I’ve written about this session last month.

On Tuesday, September 14th, around noon, I’ll be appearing live on Intel Software Network TV, you can watch here.

Later that evening, I’ll be hosting a Pixel Bender Meetup at 6pm at the Mars Bar in San Francisco. All Pixel Bender developers are welcome to join me and talk Pixel Bender. More info and directions here.

The next week, I’ll be speaking at the NVidia Graphics Technology Conference in San Jose. My session is on Thursday, September 23rd at 11am and it is called “GPGPU in Commercial Software: Lessons From Three Cycles of the Adobe Creative Suite.” More information here.

If you attending IDF or GTC or you’ll be in San Francisco on the 14th, come by and say “hi!” Otherwise, I’m hoping that I’ll be able to post video or slides from my sessions soon after.

Of course, I’ll be at MAX as well and may have some surprising things there, but I can’t talk about that yet :)

9:00 AM Permalink
August 31, 2010

Parallelism and Education: Navigating Through a Sea of Cores (IDF Panel 9/13/10)

If you are attending the Intel Developer Forum in September and you are interested in education, I’ll be on the panel. “Parallelism and Education: Navigating Through a Sea of Cores” with a great group of other industry and academic folks. Paul Steinberg from Intel has posted an introductory post on his blog introducing some of the topics that we’ll be covering in the session.

I’ll be one of the ones representing the Industry side of the equation. While there seems to be some general agreement on the panel about some certain ground truths, there has been some very lively discussion on how best to educate current and future computer scientists in the new paradigms of parallel programming. This session could be a humdinger.

My personal position is that all software is parallel now. Nearly every system that software runs on, from the lowest end embedded systems, to huge data centers are sporting multi-core processors. However, multi-core computing isn’t the only environment software developers work today. Specialized processing units, like discrete GPUs and CPU/GPU hybrids are now very common across a large range of hardware. Distributed computing is widely used at the high-end. Even web programming is moving parallel with worker threads in javascript and my own team’s Pixel Bender in Flash.

If academia treats parallel programming and data structures like a specialized field of study, walled off into a couple courses and ignored by the general curricula, it will be doing a disservice to its students. A thorough grounding in parallel algorithms, data structures, computer hardware and theory integrated throughout the computer science curriculum is required.

While parallel programming is now a fact of life for software, hardware architectures and programming models are still evolving. Understanding the parallel programming concepts, algorithms and patterns and how they map to current hardware is far more important than the syntax or usage of any development library. Hardware will continue to evolve and new patterns will emerge. Without the grounding of theory mixed with the understanding of the hardware, tomorrow’s professionals will struggle to adapt. While I advocate the usage of libraries like OpenMP, TBB, Ct and Cilk for introductory classes, at some point, I think students need to be exposed to low-level threading, GPGPU programming (at the OpenCL or CUDA level), and SIMD so that they can understand what those libraries are doing for them and evaluate new libraries as they become available.

With a solid educational background, today’s students will be well equipped for tomorrow’s parallel future.

To find the panel, check the IDF Session Catalog. It is currently planned for Monday 9/13 at 11am (following the keynote).

Free passes are available to educators -Enter the code ACAWEB1 when you register.

See you there!

9:11 PM Permalink
April 12, 2010

New Pixel Bender Features in Adobe CS5

There was a lot of work on Pixel Bender, under the hood, for CS5. One of the main things that you’ll see in your CS5 apps is significant performance improvements when running Pixel Bender on the CPU. We partnered with Intel to drastically improve our X86 and X64 Pixel Bender performance on Windows and Mac. We also did significant amounts of work ourselves to improve our threading and Pixel Bender jitting. This means much faster Pixel Bender renders in After Effects, Photoshop and the Pixel Bender Toolkit in CPU-mode.

For Flash developers, the Pixel Bender Toolkit now includes a live Flash preview so that you can see EXACTLY what your image processing filters or blends will look like in the player. We’ve also added many of the top feature requests from the community.

There were a ton of other tweaks we did that you won’t notice (except in increased performance or stability) in many of Adobe’s other applications. It is just one more way that we think that CS5 is the most outstanding collection of Adobe apps ever!

3:47 PM Permalink
December 18, 2009

recordings from my recent panels

He is the panel on Flash Games from MAX 2009 in Los Angeles:

and here is the panel titled “Preparing the world for ubiquitous Parallelism” at the SC09 conference in Portland
Youtube link

3:10 PM Permalink
April 3, 2009

Pixel Bender Toolkit v1.5 released!

The newest version of the Pixel Bender Toolkit has been released on Adobe Labs. This is pre-release 6, but it is also version 1.5. This new version includes the ability to edit, compile and run Pixel Bender Graphs (supported in Photoshop and After Effects). It also has a number of bug fixes, specifically in areas around PBJ generation.

You can get it from the Pixel Bender Technology area on Adobe Labs, and please let us know about any issues or suggestions for the next release in our forums, our Adobe Group or on twitter.

11:15 AM Permalink
September 21, 2007

See you at MAX!

The AIF team is having a coming out party at MAX and all of you are invited! Bob Archer and I will be speaking on Wednesday on from 3pm to 4pm.

Image and Video Processing using Adobe Image Foundation’s Toolkit for Flash

Kind of a boring title, but we’re engineers, and I promise the talk will be pretty exciting. Especially after you see the Keynote presentations…

“Discover a new language for image and video processing (developed by Adobe Image Foundation) that will soon be available on Adobe Labs. In this session, we will demonstrate tools for writing and testing the language, explain how to write efficient algorithms, and share examples of the possibilities for development. We’ll also show how these tools were used to create some of the video processing effects shipping in Adobe After Effects CS3.”

I want to talk more, but I don’t want to ruin the surprises that we have in store. If you are at MAX, come by and say “Hi!” I’ll be around all 3 days, there is plenty of stuff for me to see too! Also, I grew up in Chicago, so I can tell you where to get the good pizza and char dogs.

4:56 PM Permalink
March 13, 2007

One of the things that I find fun and yet frustrating…

is reading the news sites or blogs where somebody mentions an Adobe product that I have some involvement with. Especially those products who haven’t been released yet. It’s fun to see how excited people are for the stuff we are working on. It is also painful to see how wrong the speculation is or how incorrect the rumours are. I correct the things I can (the ones that are actually public) and I bite my tongue on the others (those will be public soon enough). Either way, it is just cool to see that people are interested in what Adobe is doing. A lot more fun than the kind of things I used to hear about my company’s products in my last job (starts with an M and ends with a T…)

Ok. one dish. Every “leaked” code name I’ve seen for After Effects is wrong. Those guys are waaaay more creative in their codenames than any of y’all give them credit for.

10:26 PM Permalink
February 26, 2007

Hey, where’d the comments go?

Sorry folks, I’m getting tons of comment spam and it is taking way too long for me to sort it out everyday. I’ll figure something out eventually, but for the moment, I think you’d rather have me improving the products you use rather than making sure you don’t have to see spam in my comments.

9:17 AM Permalink
January 5, 2007

I’m very excited…

That we’ve finally announced the new production studio.

Why am I excited? There are two reasons: as a mac user at home, I’m overjoyed that I’ll now have a much more seamless solution between video editing, effects, DVD authoring and Flash; and as a Adobe employee, my new team contributed a lot to this release, but I haven’t been able to blog about it at all until now.

I still can’t talk too much about the work that we’re doing, but soon I’ll be able to give you a lot more info.

(updated: fixed spelling mistake)

11:44 AM Permalink