Shuffled Row Solver

10.02.2010

I got my my wife a Kindle for her birthday. She loves it. But she loves beating my high score on the Shuffled Row game even more. So, I made the Shuffled Row Solver. Cheating, you say? Is it cheating to use a dish washer to wash dishes? I submit it’s not. I’m kidding, I’m kidding…of course it’s cheating but it was still fun to make and fun to see her face when she saw my “high score”. Yes, I told her about the app afterward and gave her full credit for continually beating my score. Continue reading »


SpeedDial AIR App: Dial from the Desktop

09.15.2010

Please upgrade your Flash Player This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.

Go ahead. Dump your wallet out on your desk and filter through your receipts and frequent-diner cards trying to find that one business card with that one phone number. Then proceed to pick up that phone and take on the monumental task of manually dialing each and every grueling digit. Pshhhh. That’s so last year.

Introducing SpeedDial. Run the app and click on a Google contact with a phone number. Your phone will ring. You pick up. The contact’s phone will ring. They pick up. Done. Want to call them again? Click their name. Done. Again? Click their name. Done. Continue reading »


CabMaskableSprite: CacheAsBitmap and Mask Workaround

09.09.2010

In DisplayObject Quirks and Tips, I described a quirk where a sprite with both a mask and a filter would cease dispatching mouse events. As a refresher, here’s the example code: Continue reading »


Free Flex Classes in Utah

08.30.2010

If you’re interesting in learning Flex and live in Utah, feel free to join us in American Fork for free classes. Visit our Utah Flex Class Google group to learn more.


DisplayObject Quirks and Tips

08.28.2010

After having worked a great deal on the Rain SVG library, I’ve come to learn and re-learn some of the quirks and workarounds of DisplayObject, the fundamental UI class in ActionScript. For your benefit and mine, here they are. It’s only a short list of the many so if you’d like to add on, feel free to post a comment. Continue reading »


JavaUtils: Detecting and Installing Java from AIR

06.25.2010

Adobe AIR is a great way to bring the sexiness of Flash to the desktop. However, sometimes you need more low-level power for things like connecting to peripherals. For this reason, AIR applications are sometimes paired with Java applications to accomplish such tasks. But first, the user’s system must have an adequate Java Runtime Environment (JRE) installed in order for the Java application to run in the first place. Continue reading »


Washer and Dryer Pedestals

06.11.2010

This week I took on another man project. Our washer broke after a whole 1 1/2 years of use. Considering we were planning on getting a replacement, I figured it would be a good time to make pedestals for the washer and dryer.

A pedestal elevates a washer or dryer so you don’t have to bend down as far. Yes, we’re that lazy. And tall. And the wifers has a bad back. And apparently the rest of America is in the same boat because you can purchase them at your nearest appliance store for a mere $200 or more per pedestal. No thanks. Instead, I bought a bunch of wood, screws, and paint from Home Depot and made our own. Homemade they cost around $30 per pedestal. Continue reading »


RedLiteGreenLite

05.30.2010

Please upgrade your Flash Player This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.

What is it?

RedLiteGreenLite is a small, simple app that allows a group of people to communicate the status of something. The status can be either red or green and the subject can be whatever. That may sound a bit general, but that’s the point. It can be used for whatever purpose your crazy mind can come up with. I’ll get you started:

  1. At work, we have a single shower and a lot of shweaty guys after soccer. So we know when the shower’s available, someone can turn the status red when he enters the shower and turn it green when he exits. This way nobody has to keep stopping by the shower to see if it’s available. When it’s green, it’s available. When it’s red, it’s not.
  2. At a call center, representatives are split into groups. When one group is on break, no other group is allowed to go on break. Again, when the status is red, a group is on break and other groups must continue attending the phones. When the lite is green, the next group is free to take a break.

The process is pretty simple: join a group. Other people join the same group. When others in the group change the status, you’ll be notified. When you change the status, others in the group will be notified. The status of the group will be persisted across sessions. In other words, if everyone logs out and then logs back in a week later, the status will remain as it was the last time it was set. Continue reading »


ImageInspector: An Image Zoom & Pan Component

05.11.2010

This type of component is becoming quite popular these days and for good reason: it makes it extremely easy to quickly zoom in and pan around an image. I imagine most all of us have seen an example of this but I’ve never found the code for one that suits my fancy. So here you go. Here are some possibly unique features I wanted and implemented along with the usual goodies: Continue reading »


Size Text to Container

04.27.2010

The new Text Layout Framework for Flash Player is a huge improvement over the historic TextField. Even so, it’s still not easy to have text auto-size to fit its container(s). In the demo app below I’ve implemented one solution that makes the text as large as possible without being cropped. Go head, type something in the box. Right-click the app to get to the source.

Get Adobe Flash player

The basic methodology is very similar to the Guess the Number game where you whittle down the options until you get to the one you’re after. With a few smart guesses, this can be decently efficient (~20ms). If you can come up with a more efficient or elegant way to accomplish the same task, post a comment below!