Performing in Brooklyn tonight (Feb 26th)

February 25th, 2009

A little late, but I just wanted you New York folk to know. I’ll be performing at Monkeytown with some other amazing visualists and live musicians — A while back Joshue Ott and I create an event called SoundTrack, where musicians create and interpret music to live performed video. Gone are the days of VJs — Josh and I take pride that we create our visuals on the fly, on the spot (clip triggering is so 90s).

Most of the people that read this blog are Flash Users, and I’ll be beta-testing on the fly the new version of Onyx 4.0, with a release probably scheduled next month (gasp). Most people don’t know this, but since my departure from Adobe, I’ve been moving in the C++ world, as the projects I’m working on need the speed. But you flash users should be proud to know that Flash is still one of the best ways of receiving camera input to screw with …. I’ve tried Processing, OpenFrameworks — Flash as a benchmark is faster and more reliable than both of those 2 at getting camera pixels.

So come check it out. Be a proud Flash man. Drink some beers with us, say hi, and enjoy the show.

Show info here:
http://www.intervalstudios.com/soundtrack

A really nice write-up on createdigitalmotion.com

First thoughts on Flash 10

November 16th, 2008

So I’ve finally had some time to play with Flash 10, with the Pixel Blender Toolkit mainly + some of the new vector drawing, but also with some of the other features as well. Flash Player 9 was huge for everybody, and opened so many doors, and Flash 10 is supposed to do the same as well. It was by far one of the largest FP releases to date, but I would have to say I am a fairly disappointed with some of the tests I was trying out.

Pixel Blender Toolkit

First and foremost is that the Pixel Blender Toolkit, while faster in some regards, is extremely slow in other regards. I was trying to mimic some of the photoshop blend modes, and could not get a ShaderFilter to run any faster than 5ms per BitmapData.applyFilter() on a 320×240 image — which amounts to 20 frames per second. It would vary greatly anywhere from 5ms to 10ms, which isn’t something we normally expect from bitmap operations in FP. Even very simple operations in shaders, where it would take the input and just return it back, would sometimes take 2 ms. These shaders need to be much more robust if we are to be expected to use them regularly. Granted, this is much better than trying to use set/getPixel (which runs normally 320×240 at 60ms), but for many purposes, it falls short. We need it to run 2x faster and more consistenly.

Secondly, parts of the API don’t match up, or are only partially implemented. Why isn’t there a method to use BitmapData.draw and BlendMode.SHADER?

Graphics rendering performance still isn’t that great

Yes, you gave us vectors, and you let us pass in entire path commands. That’s great. But really, performance is not that much more improved. I can still only draw about 100 lines at 60fps. Also, if one wants to change a line stroke, one has to create an entire new vector. Why not create another GraphicsPathCommand that can change stroke thickness, color, or any other option? I’ve ended having to run many graphics.drawPath() commands and seperate vectors — I thought the whole API was created to reduce method calls and interpreted code execution.

Old performance issues still need to be ironed out:

Why is it that BitmapData.copyPixels() is still 10x faster than BitmapData.setPixels (from byte array)?

My Google 10^100 Submission

October 20th, 2008

Now that I’ve had a bit of time since I’ve left Adobe, I decided to put in a submission for Google’s 10^100 Project. I don’t know how many times I’ve wanted to do volunteer work, but I always thought it would be of better use to the world if I could use my real skills (code monkey!) This project would facilitate that, allowing me to use my preferred skills as volunteer work.

The idea is called Possibilities.org, which is similar to rentacoder.com, but instead of working for money, you offer your skills as volunteer work. Grantees would also visit the site and post their grants, and you can choose who you grant your money to. We have an unenviable task of getting green, but nobody wants to spend the money on it. With this site hopefully that task gets a little bit more achievable. I would love it if some block in some city decided to try fund to fund solar panels for all the roofs. Here’s the site I’ve made for the proposal:

http://www.danielhai.com/possibilities

Leaving the Mothership Adobe

September 16th, 2008

So I’m leaving Adobe after a great couple of years, I’ve worked with such great and smart people, but it’s time to switch gears. I haven’t been able to blog so much because I work for them, but I hope to begin writing/criticizing about the web space a lot more, like I used to back in the day (when people still used to read my blog). I will be getting into the mobile space, and working on various art projects when I finish, maybe do some traveling (trying to follow the summertime)

Anyways, thanks to the good folk I’ve worked with — Lalit, Chris, Derek, Danielle, Geoff, Ken, Moca, Charlie, Tom, Ivan. Meeting the flash team folks was great, some of the smartest/funniest/coolest people I’ve met.

Next Page »