Slides, code, and links from my “Cool Shit” presentation at 360|Flex Indy
Posted by: Doug, in 360FlexAnother 360|Flex has come and gone and I’ve returned home with my liver and dignity partially intact. This post contains the slides from my presentation as well as all the code for the examples that I showed during the presentation. The slides are embedded below or you can download a PDF of them here.
The problem with these slides, however, is that if you read them out of context a lot of it probably won’t make that much sense (and some of it may very well be misunderstood completely). So I’m planning on doing a follow up post shortly after this that will try to put my slides in context by providing some notes about what I was talking about when I was showing each slide. So don’t look at the slides like the one that says “Fuck Flex” and jump to any conclusions. I’m not ditching Flex development, I wasn’t angry, and I wasn’t just trying to shock people with swear words on slides. If you saw my presentation then I hope it all made sense and I hope some of it resonated with you. If you didn’t make it to my session then I’ll be posting a few followup posts about the main topics that I covered. I’ll be doing some posts that go into detail about steganography, head tracking (including detailing some of the optimizations I came up with), and augmented reality (hopefully with some good video).
Slides
UPDATE: Turns out SlideShare’s embeddable player is throwing errors, so you can view the presentation slides directly on SlideShare here.
Or download the PDF of the slides.
Code
Here’s all the code of all the examples that I showed.
- STEGAsaurus
This is an AIR app that hides secret data (either text or files) in PNG images. It uses the PNGEncoder class in the Flex framework and the PNGDecoder class written by Heriet. When you run the app it allows you to drag and drop an image file to either encode secret stuff or to decode secret stuff that has already been encoded in the image (it can only decode PNGs created with the app itself).
Download the AIR installer | Download the source - Modified Marilena head tracking library
The Marilena library is part of the libspark project and it is a port of a facial detection algorithm from OpenCV that uses a technique called Haar Cascades. I used an optimized version by Mario Klingemann as the base that I started with, and then I made further optimizations from there. The main optimizations that I made have to do with not having to rescan the entire image every pass (since we’re concerned with live webcam tracking) and also checking for different rotations of the face to allow the user to turn his or her face at an angle.
Download the source - Head Tracking Targets
This was a simple demo that uses Flash Player 10 3D stuff (no PaperVision or 3D library used). I was trying to recreate the fantastic demo that Johnny Lee did that uses the Wiimote to detect head movement. This demo should detect your face and move the targets as you move your head around.
Run the demo | View the source - Crappy Top Gun game (controlled with your head)
This is another demo that uses head tracking. This one is a little Flash game that recreates part of the original Top Gun NES game. You control the plane by moving your head in the direction you want to fly and the objective is to avoid getting hit by rockets. It’s a really crappy game and isn’t very fun to play, but it was intended to just be a proof of concept.
Run the demo | Download the source - Safe Sexting
This is another head tracking demo that can automatically blur out your face. It’s sort of a Photo Booth type of application that lets you take pictures of yourself. The general concept is that it’s for all those young teenagers out there who are getting in trouble for sexting. Being the good citizen that I am, I wanted to come to their aid. This app will let you take dirty pictures while concealing your identity!
Run the demo | View the source - Augmented reality demo with fake chests (male and female)
And for the finale of the presentation I pulled off my shirt to expose an augmented reality marker on my chest. I then “augmented” myself with a 3D muscular male chest that made me look like a bodybuilder, and then to top it off I threw some fake 3D breasts on my chest (all while simultaneously blurring my face with the Safe Sexting app). If you want to try the augmented reality stuff out you’ll need to print out this marker and hold it up the the camera (or tape it to your chest for the full effect).
Run the demo | View the source
So that’s all the slides and code. I’ll be putting together a series of blog posts that go over each of the individual topics I covered in much more detail. And like I mentioned, I’ll be doing a post that puts the slides in context for those of you who didn’t get to see the presentation live. I think there might also be some video floating around of most of the presentation, so if I can get my hands on that then I’ll be sure to post it.
Links
In addition to the slides, here are the direct links to all the videos or demos that I referenced in my slides:
- Lee Brimelow’s dead drop (and the explanation here)
- Johnny Lee’s Wii experiments
- Boffswana head tracking demo
- Mr. doob’s head tracking demo
- Funny video review of Top Gun for NES
- Grant Skinner’s webcam experiments with snow and fire
- Boffswana FLARToolkit demo
- JackLinks Sasquatch AR example
- GE SmartGrid AR example
- Topps AR baseball cards (video here)
- AR game with characters shooting each other (video)
- Weird AR dolls from Japan
Were you there?
I’d love to get some feedback on how you thought the session went. Was it engaging? Was the technical content good? Too technical/not technical enough? Let me know in the comments or feel free to shoot me an email: doug.
Entries (RSS)
May 29th, 2009 at 3:18 pm
Crazy slides, crazy shit!
May 29th, 2009 at 5:02 pm
Doug, I saw the preso. I found it a refreshing break from all the technical talks. You obviously have a very dynamic personality and put together a very well thought out and personal presentation. I personally found all three topics intellectually interesting, and was impressed that you had the fortitude to roll up your sleeves and actually do something of significance with each of them. I was embarrassed to realize I had known nothing about AR until your talk, so that little nugget alone provided a lot of value to me.
Ultimately, as I think I asked you at the end… I was hoping for some kind silver bullet that we could all use to keep us passionate about our day jobs. But that is probably not realistic. If you could figure out how to do the “bringing the passion back to the things we get paid to do talk…” now that you might have been able to sell the 100+ 360 tickets that were left.
May 30th, 2009 at 11:51 am
Doug,
After sitting in your session, I was really excited again to get back into development. I took to heart what you talked about with being burned out making login pages, etc.
You found some cool shit too. The demos were fantastic, and I liked that you gave credit to your inspration, and then your list of where you’d like to see it go.
Some people will not get past the offensiveness – which is too bad for them. I don’t share your speaking style but I thought your preso was one of the best if not the best of the conference. This was echoed by others I talked to afterwards and by the shear numbers.
Job well done!
June 1st, 2009 at 11:49 pm
Great Stuff Really Cool shit.
was waiting a long time for it.
When will be able to view the video it inspires more ?
June 6th, 2009 at 11:44 am
Thanks for posting your slides and such. I’m trying to tinker around with your source code for the AR demo (you totally beat me to the punch on the wearable AR items!).
I’ve worked on numerous AR implementations and would like to get your feedback on what you feel makes your implementation so smooth as far as tracking. It seems like the ones I’ve done always are a bit skittish and never have been able to replicate the tracking as well as yours.
Thanks again!
June 10th, 2009 at 9:26 am
Doug,
Your presentation was both inspiring and amusing. I appreciate your honesty and creativity, and am glad to know that the Flash building community has such enthusiasm.
The content was certainly engaging, and while it could have been more technical, I think your approach was more important in helping us remember how not to get burned out by the mundane, but to find our geekiness and enjoy what we work with by looking for it in different places. You did a great job summarizing (and demonstrating) different directions ours and other technologies are heading. The CSI factor was an interesting metaphor, and while we could’ve sat around and watched you build apps on the fly, it was more important to me to see the thematic development.
Thanks again and keep the idea factory rolling!
June 11th, 2009 at 6:34 am
Doug, your presentation alone was worth the cost of the conference! It was fun, refreshing, inspiring, and the title speaks for itself! Very cool shit. I loved that you were able go from burn-out to such a fun, wild ride of programming. You are a really creative guy, and I thoroughly enjoyed it. Can’t wait to see what you present next year! You’ve set the bar high!
July 10th, 2009 at 4:18 pm
Hey!
Great Idea, however when I tried out the demos, it didn’t actually turn on the camera. Am I doing something wrong?
Great presentation!
August 15th, 2009 at 11:22 am
[...] Safe Sexting The third demo I showed was the “Safe Sexting” app that uses the Marilena library for facial detection and uses Pixel Bender to automatically blur out your face. This demo was also shown in 360|Flex Indianapolis. You can read a bit more about this demo in a previous post about the 360|Flex presentation. [...]
April 12th, 2010 at 7:26 pm
Hi!
Was wondering how you implement your changes to the Marilena library. I am getting errors with an event listener for ObjectDetector.as. I think its because you don’t reference a dispatchEvent in this class anymore. I tried to add this back in but i didnt get any tracking at all. Thoughts?
July 9th, 2010 at 8:50 am
[...] so I can use the word fortnight) ago, I had the opportunity, nay the privilege, to attend Doug McCune’s “Cool Shit” session at 360|Flex. As many of you may heard, read or watched, there was an… incident that [...]
March 20th, 2011 at 7:53 am
I too think hence , perfectly indited post! .
June 6th, 2011 at 9:58 am
I carry on listening to the news bulletin talk about receiving boundless online grant applications so I have been looking around for the best site to get one. Could you advise me please, where could i get some?
February 5th, 2013 at 1:19 pm
I and my guys were found to be taking note of the nice strategies from the website then quickly got a terrible feeling I never thanked the website owner for those tips. Most of the men had been as a consequence glad to see all of them and have in effect undoubtedly been loving them. Thanks for truly being well kind and for finding this sort of great things millions of individuals are really wanting to discover. My honest regret for not expressing appreciation to sooner.
April 12th, 2013 at 7:43 pm
[...] of the loa vivienne westwood jeweller karen millen eerie or interesting pandora bracelet sale karen millen this is highly advised ?????? karen millen clickbank has the eye of over 100 Lululemon Canada [...]
April 18th, 2013 at 2:20 am
I truly like the layout of your site. I appreciate the excellence of the information. You have done a exceptional job. Thank you very much
April 19th, 2013 at 11:37 pm
I can’t depart your internet site ahead of recommending which i essentially appreciated the standard data a person deliver on your guests? Is usually gonna be once again normally to consider new discussions
April 20th, 2013 at 1:34 pm
ubxlvfyrukwp
April 20th, 2013 at 4:53 pm
ucdjvpbbkrji
April 20th, 2013 at 4:53 pm
xbjuyvrljvcw
April 21st, 2013 at 3:36 am
ylkgcxrcwjki
May 6th, 2013 at 8:39 am
Definitely believe that that you stated. Your favorite justification seemed to be at the internet the simplest thing to remember of. I say to you, I certainly get annoyed even as folks think about worries that they plainly do not realize about. You controlled to hit the nail upon the top as neatly as outlined out the whole thing without having side-effects , people could take a signal. Will likely be back to get more. Thank you
May 6th, 2013 at 7:29 pm
I simply had to thank you so much again. I do not know the things I could possibly have carried out in the absence of these information provided by you about that industry. It absolutely was a very difficult issue in my position, however , noticing the professional avenue you processed that forced me to leap with fulfillment. I’m happy for your work and then wish you comprehend what a great job you have been doing teaching people with the aid of your blog post. Most probably you’ve never got to know any of us.
May 8th, 2013 at 5:41 am
I will right away take hold of your rss feed as I can not find your e-mail subscription link or newsletter service. Do you’ve any? Please permit me realize in order that I may just subscribe. Thanks.
May 9th, 2013 at 10:31 am
[...] After that Share this:FacebookEmailPrint [...]
May 14th, 2013 at 1:16 am
You could definitely see your expertise within the paintings you write. The sector hopes for even more passionate writers like you who aren’t afraid to mention how they believe. At all times follow your heart.
May 18th, 2013 at 1:31 am
Hello there, I found your blog by means of Google even as looking for a related topic,
your site came up, it looks great. I have bookmarked it in my google bookmarks.
Hi there, just become alert to your weblog through Google, and located that it’s really informative. I’m going to watch out for brussels.
I will be grateful in case you continue this in future.
Numerous other people might be benefited from your writing.
Cheers!
May 18th, 2013 at 1:55 am
Wonderful blog! I found it while searching on Yahoo News.
Do you have any suggestions on how to get
listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Appreciate it
May 19th, 2013 at 6:27 am
Fantastic points altogether, you simply received a new reader. What would you recommend about your put up that you made some days in the past? Any sure?