Dark Side of the 8-bit Moon

A Dark Side of the Moon nerdgasm in this 8-bit remix of Pink Floyd’s epic.

There are moments when you’re combing through the Internets, come across the ultimate in nerdgasms and can’t believe what you’ve found.

Such was our gasp when we were introduced to this 8-bit, Nintendo rendering of Pink Floyd’s Speak to Me / Breathe / On the Run created by Brad Smith (aka, Sakanakao) above.

Put down what you’re doing and take a jaunt over to YouTube. Smith has remixed each song from Dark Side of the Moon in 1980s gaming glory.

Flex == Gumbo == Flash Builder

Adobe recently announced that Flex will now be known by Flash Builder; my feelings about this are mixed however. There were many times I had to explain the differences between Flex and Flash (and, saying ‘Flash’ in that sentence I mean the capital ‘F’ Flash CS4 authoring vs the little ‘f’ flash which is the compiled output), as well as explain in the end that there really WAS no difference as it was all flash in the end (note the little ‘f’).

But at the same time being an old Macromedia Director developer who remembers when Flash was still FutureSplash, was part of the Flash 3 and 4 beta team and was one of the first using Flash inside of Director for my work for Marvel — I still shy away from saying I ‘do Flash’. Why? Because my experience with Flash (big ‘F’) as an authoring environment has been painful to say the least. FutureSplash originally was just a little vector graphics drawing and animation package; there was never really any room for any scripting other than the most simplest imaginable. When Macromedia bought it and renamed it Flash, Actionscript 1 was things like the old ‘goto(20)’ stuff; Flash was still very much an animations package and tied down to the use of a timeline. Even coming from Director – where one could use the MessageWindow to create objects in memory and manipulate them without ever committing anything to a script as such (and common now with things like Ruby and the irb) Flash seemed like a step BACKWARDS. Director had objects – Flash didn’t. Director had bitmaps. Flash didn’t. Vector graphics? Really? Why then was Photoshop the standard and Illustrator not so much?

But for the web, Flash started to grow, to overtake it’s big brother. Now I could go off on Macromedia’s choices in this and why this happened (the difference with the plugin installs, Director’s unfocus in regards to platform, it’s shirking of really interesting technologies such as Beatnik which I have strong opinions about, how Macromedia just kept glomming onto a busted engine without re-writing it) but irregardless of grandpa’s tirades, it DID happen. Flash became the standard, and I left Director behind. But it was painful; having seen what an (almost real) programming tool could offer, Flash 4/MX/CS3 was just…urrrgh.

But then I picked up Flex and it was …. different. In some ways I’d say it was BETTER than Director — ok in a LOT of ways. Here was a true programming language (either with ActionScript3 or MXML), and EXTENSIBLE in ways that Director never was. A real skinnable interface. Things that originally were first in Director (bitmapData) were now in Flash. Now once in awhile I do still miss the MessageWindow but on the whole, I’ve drunk the Kool Aid and found that it was good…

At AdobeMax in 2007 I got to see what was coming – Gumbo (Flex 4) looked fantastic, and Thermo took photoshop and allowed designers to add the rudimentary logic to an interface. I’ve been waiting…

And so Gumbo — I’m sorry, Flex 4 — I’m sorry, Flash Builder beta has just been released. And I’m still drinking the Kool Aid. I’ve had a little bit of a poke around it today (I’ve got work I gotta do!) and there are some really cool things I’ve found..

First off, while scripting I found you were given hints and additional information while adding components; this will save time if a developer just needs some quick information rather than have them open up the full help. Another huge time saver is having the IDE generate additional functions automatically either while scripting or in a component’s properties window for all the scriptable items.


Themes are huge as well – especially after developers like Juan Sanchez of ScaleNine and Degrafa fame brought Flex’s skinning engine the attention it deserved. Though I really don’t like the new default ‘spark’ theme (it seems like we’ve gone back in time to retro computer land) support for the extension, creation and packaging of themes are stronger than ever. Working hand in hand with Flash Catalyst the skins output can be selected with Flash Builder’s new theme browser, with single items still being customizable.


I’ve yet to really play yet though; I want to dive into the CSS support; I was confused by the previous incarnation of Gumbo’s CSS editor — it seemed as if one couldn’t get to the visual representation of the ui elements as one could in Flex 3, but it might have been my bunglings… I had a weird issue with this version of Gumbo – the Flash Builder beta — when ‘tab’ wasn’t finishing the autocomplete, but was instead tabbing out of eclipse, but again, suppose that was my fault as well…

Strangely enough, I’d probably have more time for play from work if I was using ‘Flash Builder’ – as I’m dealing with skinning issues in Flex 3. The universe mocks me.

** originally posted on www.grimmwerks.com/blog

geek tech: the sixth sense

Was watching this insane video from TED where Pattie Maes and Pranav Mistry of MIT’s Fluid Interfaces Lab show how one can become a gargoyle from Neal Stephenson’s ‘Snow Crash’: wearable tech that is the aware of the user’s environment – for instance projecting amazon’s rating of a book one is thinking of purchasing, or projecting a watch onto a wrist initiated by a simple hand gesture. Imagine walking up to someone and seeing their interests projected on their chest, or taking a picture by just framing the area you want a shot of. Though right now it’s quite klunky and cobbled together, the cost of the off the shelf devices only total $350. It’ll be interesting to see where this might go…

Bug Quash!

According to dictionary.com, ‘quash’ is:

–verb (used with object)
1. to put down or suppress completely; quell; subdue: to quash a rebellion.
2. to make void, annul, or set aside (a law, indictment, decision, etc.).
1300–50; ME quashen to smash, break, overcome, suppress < OF quasser, in part < L quass?re to shake (freq. of quatere to shake; cf. concussion ); in part < LL cass?re to annul, deriv. of L cassus empty, void Synonyms: 1. crush, squash, quench, repress.

Well, it appears that Adobe is hosting a Bug Quash: “An event where the community comes together with one goal in mind… To quash as many bugs in one day as humanly possible. Don’t just complain, do something about it.”

This is quite an interesting idea — and you too can take part from anywhere around the world by signing up and interacting through Adobe Connect.

The End of Civilization

iFart and Pull My Finger: a lawsuit that really stinks.

When I think of cnn.com I think of a place where I can quickly read about the latest news, the most important news that’s going on in our nation today. I often think about what future civilizations might find perusing our old micro fiches – or using archive.org’s wayback machine…. and I’m so proud when I read about how two competitive iPhone apps are suing each other…

This one phrase just leaps out at me:

Air-o-Matic says its app, “Pull My Finger” has a unique brand identity that its competitor has infringed. It wants $50,000 from Infomedia to settle the dispute and may sue in federal court.

In a formal complaint filed in a Denver, Colorado, federal court, however, InfoMedia says the phrase is a common “descriptive” term used in its advertising and cannot be trademarked.

For some reason it reminds me of being in a line at a McDonald’s in the mall and listening while a group of boys were making fun of one boy for buying BOOKS… for wanting to READ.


Fun with Flex: CSS Weirdness

I’m a huge admirer of Flex, and specifically for it’s CSS integration (you can see some fantastic examples of which at scalenine, or watch my interview with Juan Sanchez at last year’s AdobeMax) — but every so often I come across something that I don’t know is my misunderstanding of how CSS works, or just a little bit of strangeness that makes Flex time so much fun…

For example; with this one project I’ve got a number of components I’m using, like so:

These are basically laid out as a VBox which holds 4 HBoxes – each HBox consists of a Text component and a NumericStepper:

Originally I had each Text and each NumericStepper share the same CSS (ie .workForm), but the NumericStepper’s label, as seen above, was off; though both Text and NumericStepper’s fontSize was set to 12, the label within the UIComponent of the NumericStepper really didn’t ‘see’ where it was supposed to be laid out; and I had no real way to get deeper into the NumericStepper’s labelPlacement property for the label.

A suggestion on the flexcoder’s list was to move the CSS onto the HBox only and have it trickle down to both of it’s children – the NumericStepper and Text, as the 0 borderWidth seemed to be confusing the layout of the Stepper. This was close, but the NumericStepper’s background then stayed white:

So I thought I’d split off each CSS category to the class type — ie HBox.workForm and NumericStepper.workForm. How this is supposed to work is that the NumericStepper sets styles attributed to it’s class as the HBox sets it to is — pretty logical yes?

But in looking at it after compiling it’s exactly as if there’s been no splitting of the CSS style:

So, I’m curious about the way this is trickling down, and decide to test by moving NumericStepper above the HBox styles like so:

Now interestingly, the NumericStepper does set it’s fontSize to 18 as expected — but the Text component does as well! And it doesn’t have a styleName set at all:

What you’d think is that the Text, being a child of HBox would inherit the HBox.selfForm; but instead it seems that the classtype is ignored as the CSS loads and instead overwrites or adds to the current style. Meaning, all the HBox.selfForm properties are loaded, but then the NumericStepper’s selfForm is loaded and overwrites those properties shared (such as fontSize) but only adds the properties not being used, and displays them as overwritten…