Topamax Online Buy Prozac Aldactone Online Buy Toprol XL Stromectol Online Buy Amoxil Glucotrol Online Buy Stromectol Clarinex Online Buy Nexium

Another 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

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:

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.

del.icio.us:Slides, code, and links from my  digg:Slides, code, and links from my  spurl:Slides, code, and links from my  wists:Slides, code, and links from my  simpy:Slides, code, and links from my  newsvine:Slides, code, and links from my  blinklist:Slides, code, and links from my  furl:Slides, code, and links from my  reddit:Slides, code, and links from my  fark:Slides, code, and links from my  blogmarks:Slides, code, and links from my  Y!:Slides, code, and links from my  smarking:Slides, code, and links from my  magnolia:Slides, code, and links from my  segnalo:Slides, code, and links from my  gifttagging:Slides, code, and links from my
del.icio.us:I got punk'd at 360|Flex (in my own session!) digg:I got punk'd at 360|Flex (in my own session!) spurl:I got punk'd at 360|Flex (in my own session!) wists:I got punk'd at 360|Flex (in my own session!) simpy:I got punk'd at 360|Flex (in my own session!) newsvine:I got punk'd at 360|Flex (in my own session!) blinklist:I got punk'd at 360|Flex (in my own session!) furl:I got punk'd at 360|Flex (in my own session!) reddit:I got punk'd at 360|Flex (in my own session!) fark:I got punk'd at 360|Flex (in my own session!) blogmarks:I got punk'd at 360|Flex (in my own session!) Y!:I got punk'd at 360|Flex (in my own session!) smarking:I got punk'd at 360|Flex (in my own session!) magnolia:I got punk'd at 360|Flex (in my own session!) segnalo:I got punk'd at 360|Flex (in my own session!) gifttagging:I got punk'd at 360|Flex (in my own session!)
del.icio.us:My 360|Flex Itinerary digg:My 360|Flex Itinerary spurl:My 360|Flex Itinerary wists:My 360|Flex Itinerary simpy:My 360|Flex Itinerary newsvine:My 360|Flex Itinerary blinklist:My 360|Flex Itinerary furl:My 360|Flex Itinerary reddit:My 360|Flex Itinerary fark:My 360|Flex Itinerary blogmarks:My 360|Flex Itinerary Y!:My 360|Flex Itinerary smarking:My 360|Flex Itinerary magnolia:My 360|Flex Itinerary segnalo:My 360|Flex Itinerary gifttagging:My 360|Flex Itinerary
del.icio.us:Interview up on InfoQ digg:Interview up on InfoQ spurl:Interview up on InfoQ wists:Interview up on InfoQ simpy:Interview up on InfoQ newsvine:Interview up on InfoQ blinklist:Interview up on InfoQ furl:Interview up on InfoQ reddit:Interview up on InfoQ fark:Interview up on InfoQ blogmarks:Interview up on InfoQ Y!:Interview up on InfoQ smarking:Interview up on InfoQ magnolia:Interview up on InfoQ segnalo:Interview up on InfoQ gifttagging:Interview up on InfoQ
del.icio.us:SpatialKey launches private beta digg:SpatialKey launches private beta spurl:SpatialKey launches private beta wists:SpatialKey launches private beta simpy:SpatialKey launches private beta newsvine:SpatialKey launches private beta blinklist:SpatialKey launches private beta furl:SpatialKey launches private beta reddit:SpatialKey launches private beta fark:SpatialKey launches private beta blogmarks:SpatialKey launches private beta Y!:SpatialKey launches private beta smarking:SpatialKey launches private beta magnolia:SpatialKey launches private beta segnalo:SpatialKey launches private beta gifttagging:SpatialKey launches private beta
del.icio.us:FlexCamp. Miami. Friday. digg:FlexCamp. Miami. Friday. spurl:FlexCamp. Miami. Friday. wists:FlexCamp. Miami. Friday. simpy:FlexCamp. Miami. Friday. newsvine:FlexCamp. Miami. Friday. blinklist:FlexCamp. Miami. Friday. furl:FlexCamp. Miami. Friday. reddit:FlexCamp. Miami. Friday. fark:FlexCamp. Miami. Friday. blogmarks:FlexCamp. Miami. Friday. Y!:FlexCamp. Miami. Friday. smarking:FlexCamp. Miami. Friday. magnolia:FlexCamp. Miami. Friday. segnalo:FlexCamp. Miami. Friday. gifttagging:FlexCamp. Miami. Friday.
del.icio.us:My foray into tweetcoding digg:My foray into tweetcoding spurl:My foray into tweetcoding wists:My foray into tweetcoding simpy:My foray into tweetcoding newsvine:My foray into tweetcoding blinklist:My foray into tweetcoding furl:My foray into tweetcoding reddit:My foray into tweetcoding fark:My foray into tweetcoding blogmarks:My foray into tweetcoding Y!:My foray into tweetcoding smarking:My foray into tweetcoding magnolia:My foray into tweetcoding segnalo:My foray into tweetcoding gifttagging:My foray into tweetcoding
del.icio.us:How are you doing global exception handling in Flex/Flash/AS3? digg:How are you doing global exception handling in Flex/Flash/AS3? spurl:How are you doing global exception handling in Flex/Flash/AS3? wists:How are you doing global exception handling in Flex/Flash/AS3? simpy:How are you doing global exception handling in Flex/Flash/AS3? newsvine:How are you doing global exception handling in Flex/Flash/AS3? blinklist:How are you doing global exception handling in Flex/Flash/AS3? furl:How are you doing global exception handling in Flex/Flash/AS3? reddit:How are you doing global exception handling in Flex/Flash/AS3? fark:How are you doing global exception handling in Flex/Flash/AS3? blogmarks:How are you doing global exception handling in Flex/Flash/AS3? Y!:How are you doing global exception handling in Flex/Flash/AS3? smarking:How are you doing global exception handling in Flex/Flash/AS3? magnolia:How are you doing global exception handling in Flex/Flash/AS3? segnalo:How are you doing global exception handling in Flex/Flash/AS3? gifttagging:How are you doing global exception handling in Flex/Flash/AS3?
del.icio.us:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) digg:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) spurl:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) wists:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) simpy:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) newsvine:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) blinklist:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) furl:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) reddit:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) fark:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) blogmarks:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) Y!:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) smarking:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) magnolia:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) segnalo:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid) gifttagging:Analyzing the size of the Flex framework (or why I hate the AdvancedDataGrid)
del.icio.us:What my Eclipse/Flex Builder setup looks like digg:What my Eclipse/Flex Builder setup looks like spurl:What my Eclipse/Flex Builder setup looks like wists:What my Eclipse/Flex Builder setup looks like simpy:What my Eclipse/Flex Builder setup looks like newsvine:What my Eclipse/Flex Builder setup looks like blinklist:What my Eclipse/Flex Builder setup looks like furl:What my Eclipse/Flex Builder setup looks like reddit:What my Eclipse/Flex Builder setup looks like fark:What my Eclipse/Flex Builder setup looks like blogmarks:What my Eclipse/Flex Builder setup looks like Y!:What my Eclipse/Flex Builder setup looks like smarking:What my Eclipse/Flex Builder setup looks like magnolia:What my Eclipse/Flex Builder setup looks like segnalo:What my Eclipse/Flex Builder setup looks like gifttagging:What my Eclipse/Flex Builder setup looks like