tl;dr: This blog is closing down. The new blog is at Let’s go there now!

After 7 years, this blog will be going out to pasture. It will be replaced with a personal blog at I have a few major reasons for the transition.

  1. dispatchEvent() was a Flash-oriented blog. I still think Flash has some life left in it but regardless of whether you agree, in the real world, the platform has been on the demise. The upside to this is that I’ve been exposed to some of the many other ways to make rich content on the internet. I’ve been working primarily with Javascript and HTML5 and some of the libraries that go along with them such as Middleman, Sass, Backbone.js, etc. I’ve also picked up quite a bit of Ruby, Java, node.js, and bash script. Anyway, it’s time to move away from a Flash-centric identity and into a multi-diciplinary one.
  2. The dispatchEvent() team is dissolved. I originally started this blog in 2006 and invited some of my favorite coworkers to share it with me. Namely, Roger Braunstein and Caleb Johnston were the most active. Some of the most popular posts came from these guys. However, we haven’t seen much of each other lately and the number of contributions from others have dropped-off to nil. The new blog will be just me (for now).
  3. WordPress is a huge memory hog. I’ve never much liked WordPress. It has always seemed to me like the benefits of having such a rich platform were negated by it’s esoteric architecture and I’ve never felt like I had full control over it. After failing to customize it for 7 years and after countless out of memory errors, I’m switching to Octopress. Octo is arguably much more complicated to set up and work with, and yet, it is very liberating to have so much control over how it works. I even enjoy learning new things in order to make it do what I want. It also is totally flat HTML so the memory problems should go away.

So thank you so much for reading! I’ll be leaving this blog alive for a while longer but all new material, and most of the old posts from here, will be at

Pro-Tip: Add your contact info to your lock screen



This is a simple trick that pretty much speaks for itself. I edited my homescreen wallpaper to include my email and my wife’s phone number. I keep a passcode on my phone so if it were ever lost and found, this would allow someone to contact me without unlocking it.

Other info you may want to include:

  • Your blood type or drug allergies
  • A cash reward offer
  • Instructions to destroy the device so it doesn’t fall into the wrong hands

I highly recommend doing this yourself. It only take a moment in photoshop.


Tagged , ,

My top games (mostly iOS) of 2012


The end of the year is the time when lots of enthusiasts and games journalists come out with their coveted “Game of the Year Awards.” As I see the posts pop up, it only makes me jealous and a little ashamed that I haven’t been able to enjoy most of the titles mentioned. I’ve had a lot of my mind this year between a new job and a baby on the way in January, pretty much the only games I’ve played have been on iOS. Then I realized, “Hey, I’ve played a lot of great games on iOS this year!” So here’s my list.

My top games of 2012:

Broze Tier – Punch QuestiOS


Punch Quest isn’t very complicated and it’s not incredibly novel, but it’s got a lot of heart. The gameplay is pretty basic, run, punch, punch, punch, punch but there are some RPG elements and powerups that kept me coming back for more. Perfect for the toilet!

Bronze Tier – Hero AcademyiOS


We all want to play asynchronous turn based chess on our phones right? Wrong! That’s a total snorefest. Hero Academy, on the other hand, with its guilds of wiggly characters, feels like a strategy board game but with a lot more pizzaz. In fact, it’s very similar to the card game cum iOS port, Summoner Wars (but in my opinion, more fun). The variety of different teams keeps things fresh.

Silver Tier – Lost CitiesiOS


Lost Cities is a classic card game designed by famous board game designer, Reiner Knizia. It’s simple yet challenging and has very little “theme” to hide it’s mathy, set collection mechanic. But despite being fairly dry, the iOS port built by German developer, The Coding Monkeys, makers of the exceptional Carcassonne port, is a beautiful and rich experience. Gameplay goes fast, the interface is very intuitive, and the computer AI have a lot of personality.

Silver Tier – FezXBLA


I feel a little weird about putting Fez on the list for two reasons. One, I never got far enough in the game to experience the best features of the game, namely the puzzles that force the player to leave the experience of the XBox and interact with other people to be solved. And Two, I didn’t enjoy the game enough to be compelled to get farther. That being said, it’s hard to argue that Fez is not one of the best games of the year in terms of innovation not to mention it’s sheer 8-bitsy beauty.

Gold Tier – LetterPressiOS


Letterpress is an asynchronous turn-based word game that at first glance resembles a very stylish Boggle or Scrabble, but upon closer inspection is more like a game of Go). Instead of looking for higher-scoring words, the real goal is to capture territory from your opponent. The result is a surprisingly sophisticated instant classic.

Bonus points for being a game I happen to be very good at.

Minecraft Award for Excellence in Alpha – Sol Forge (Demo)iPad


SolForge is a digital card game created by Gary Games (now StoneBlade) and Richard Garfield and a successfully funded Kickstarter campaign. The game is similar to Magic the Gathering but with a distinctive feature in which cards become more powerful over time (think MTG meets Pokemon). It’s not officially out yet, but the team did release a free demo of the game in December. Despite being very limited in scope, I have enjoyed playing it very much and look forward to the final version.

The Game Made Just for Me Award – Super HexagoniOS


When I first saw the video for Super Hexagon, I felt like Terry Cavanaugh monitored my dreams made a game just for me. It’s a beautiful, minimalist, geometric hyper-maze and it’s hard-as-fuck. Hexagon has all the appeal of a Ms. PacMan cocktail cabinet in that any layman can try to play but when someone actually doesn’t suck, it’s downright impressive. I also LOVE the fact that Cavanaugh himself is consistently on the top ten list in the leaderboards.

Best Single Experience Award – JourneyPS3


Journey is a beautiful, two to three hour long, minimally interactive program which feels “gamish” but only barely could be called one. And yet, it stands out above everything else that I played this year as a perfect entertainment experience. Like a great film, Jaws or the Shining or The Big Lebowski for example, not a moment of it is wasted on something that doesn’t progress your story or enhance your emotional connection to it.

In the tradition of Joseph Campbell, the player has a need, to go towards the mountain, and he will be changed by the experience. Without any dialogue or instruction, the game guides the player through an exhaustive range of emotions from excitement through darkness and out the other side on the verge of tears. The interaction with other players was an interesting side feature that I could take or leave; just walking towards the light was enough to satisfy me. Although it sounds corny, Journey is all about the journey.

Game of the Year Award – Magic The Gathering: Duels of the Planeswalkers 2013iPad


Magic is not a new game. In fact, I played my first game of it in 1994 when I was a freshman in high school. Video game versions of Magic are not new; I played the first videogame version by Microprose) in 1997. Even the Deuls of the Planeswalkers series is not new; I played it on XBLA in 2009. But this year’s entry, MTG:DOTP2013 for iPad, has brought me back to the franchise because it’s finally the right level of detail on the right platform. Magic is fantastic on a tablet!

Playing the game with touch just makes a lot of sense. The interface is beautiful and very intuitive. It guides you through the more tricky aspects of the system. A lot of care was taken to show off the art and really bring you into the universe.

The game features a substantial number of highly polished decks, each one allows the player to try a new strategy. Much of the credit should really go to Wizards of the Coast for creating a very nice 2013 series. I’m sure a lot of more hardcore player wish there was a more robust deck building system. That would be great, but I don’t see how that would be possible without opening the floodgates of collectible card microtransactions so I’m happy with the decks I have. Besides, the developers have been good about keeping the updates and new decks coming.

The different gameplay styles show off the different strengths of the game. The AI is on point and the online connectivity opens the playfield up to additional challenges.

In short, DotP2013 breathes new life into a great but inaccessible old game.

Tagged , ,

The Economics of HUGE’s Birthday Policy


As you my know, I recently began working for a new company, HUGE in Los Angeles. HUGE is a great place to work for a lot of reasons, but one of the best reasons is that the company gives employees their birthdays off! Since mine is coming up this weekend, I have been thinking a lot about how this is not only a great idea for employees, but makes a lot of business sense as well. Let me break it down.

Conventional birthday party

At most other companies I’ve worked, when a person’s birthday comes around the following occurs…

  1. A shitty ice cream cake is ordered ($)
  2. Perhaps a card is passed around the office (this usually stresses me out and takes me a long time to come up with something to say)
  3. People gather in the kitchen (sometimes reluctantly), sing happy birthday (sometimes embarrassing the birthday boy/girl), and eat cake (fat!)

The emotional benefits of this approach range from awkward to marginally exciting at best. It’s hard to put an exact number on it, but all of this activity will probably take about 15 minutes. That’s 15 minutes per person per birthday. In other words…

Hp = (n * t) * n
Where Hp is the total office hours spent partying every year, n is the number of employees, and t is the time spent for each birthday.

Paid time off for birthdays

When you have a day off of work, one person is very happy for the day and nobody else is affected. Everyone wins. The time spent is 8 hours for one person per birthday. Or…

Hv = n * 8
Hv being the total office hours spent vacationing every year.

Notice anything about these two functions?

The party function is exponential, O(n^2), while the vacation function is linear, O(n).That means that the more employees you have the more expensive it is to throw a party while with vacation time, you have a fixed price per employee for birthdays.

HUGE LA has about 90 employees. When we compare the two formulae, we get these results.

Hp = (90 * .25) * 90 = 2025 hours
Hv = 90 * 8 = 720 hours

Vacation time is about 1/3 as many resources as birthday parties. Of course, for smaller numbers of employees, birthday parties are actually more efficient than days off. If we reduce the inequality…

Hp < Hv
(n * t) * n < n * 8
(n * t) < 8

The magic point where parties are cheaper than vacations is when (n * t) < 8. So if party time, t, is 15 minutes, that number is 32 employees, (32 * .25) = 8.

Some offices combine all the birthdays into one party for all the birthdays in a given week. This changes the equation to

Hp <= (52 * t)

…which is linear but also only provides less than 10 minutes per week for partying before you’re better off giving vacation time. It also doesn’t help much for offices with under 40 or so employees. An even better plan would be to have one party per month for all of the birthdays in that month. That would give you roughly 40 minutes of uninterrupted cake-hole stuffing per party!

But regardless of the time, what adult would rather eat cake than take a day off of work!?  Forward this to your boss.

Tagged , ,

Best unit for font-size in CSS


My brother Neal turned me onto this article on A List Apart


The best unit for defining font sizes in CSS are ems combined with font-sze:100%; in the body selector.

But working with ems can be a PITA. But if you’re using less css (or sass), it can be quite easy. 1 em = 16px so the conversion can happen in a parametric mixin.


// less
.font-size (@px: 16) {
    font-size: @px/16 em;
p {
    .font-size(18); // 1.125em

// sass
@mixin font-size ($px) {
    font-size: $px/16 em;
p {
    @include font-size(18); // 1.125em

PS, less rules, sass drools!

Tagged , ,