Don’t use Number to iterate over for-loops

A while back I read a couple of blog posts about the slowness of using uint and int to iterate through for-loops. I needed to do some testing for a little project today and found this is false. When using the “i” variable in for(var i = 0; i < length; i++) as an input into mathematical operation, especially when doing fractions, Number is faster for obvious reasons. This was established in the posts of the previously mentioned blogs. But when simply iterating over an array which is a very common use-case for for-loops uint is faster. Here is my test setup: var value:Object; var arr:Array...read more

Using Your Own Custom Metadata in AS3

Flex 3 gives us a great new feature, custom metadata tags. Now, I know you could actually use custom metadata in Flex 2, but you would have to add "-keep-as3-metadata MyTag" to every single project that utilized these custom tags. In Flex 3, if you add "-keep-as3-metadata MyTag" to a library (using compc to compile a SWC or a Flex Builder Library project), then EVERY project that uses that SWC will automatically keep the "MyTag" metadata tags. This allows custom libraries that utilize these tags for development. Would be cool to create a library to hook up listeners so you can create listeners...read more

Why is WordPress so easy to install, so painful to update?

I don't think there is a better open-source blog engine on the market than WordPress, but why is it so painful to update it? You have to back up the database, download the files, copy over the config file, themes, uploads, and any other stuff you need to the new installation, and then rename the folders quickly so the new one fills the space of the old one. Why can't we just get the files that have changed downloaded and the database updated by pressing a big blue "Update" button? read more

How to Roll Back Changes using Subversion

A question I've often gotten is "How do I roll back some changes I made in Subversion?" I'm the company expert in Subversion here at mediaRAIN (another one of my hats) so I thought I'd answer the question one more time. Subversion is great as it allows you to track every change you've made and go back to a previous version if needed. Sometimes you only need to go back to an earlier revision temporarily (for example to tag the project at that point). But other times you (or that lousy co-worker who left on vacation yesterday!) have introduced bugs or committed something you shouldn't have. Now you...read more

How to listen to Flash events that don’t bubble

I learned a little trick the other week and thought I'd share. Sometimes you might need to listen to a non-bubbling event "up the chain" somewhere, but of course, since it is not bubbling, that can be hard. The trick is that event events that don't have bubbling still have the capture phase, so if you flip that capture flag to true in the event listener then you can now listen to any events dispatched by any child views whether they are bubbling or not. Example: // listen for some event (this one is even custom) that does not bubble // make sure to set true on capture stage.addEventListener("customNonBubbling",...read more

Hacking the Flex SDK

The Flex SDK is finally fully open-source. So I thought I'd have a little fun and implement my own Binding classes to be used when using the [Bindable] metadata tag in an ActionScript 3 project. The first thing I did of course was to checkout the Flex SDK from subversion. They've got instructions on doing all that in their wiki. The wiki also has some great instructions for downloading and installing ANT and the other things you'll need to build the SDK. Look further down on the previously linked to page in the section "Building and testing." Once I had the project checked out I downloaded ANT...read more