I’ve applied to be a speaker at Adobe MAX 2010

May 7th, 2010

I learned a lot over the past year and a half since I started working with Adobe Flex/AIR, and I really want to give the talk that I wish someone had given me at Adobe MAX 2008. It would basically be a, “Here is what to look out for when you’re writing your first large Flex/AIR application, and here is a repository of source code to save yourself a few hundred hours of work”.

  • Cross platform gotchas
  • Localizing/Globalizing (how to cheaply include every currency and date format in the world)
  • Adding license key protection
  • Team workflow (source control and build system gotchas)
  • Smooth badge-based deployment
  • Adding crash reporting to your app (even in pre AIR 2.0 code)
  • Quickly adding a help system to your app
  • How to improve the built-in AIR auto-update mechanism
  • Custom component gotchas
  • Large scale QA/testing on a shoestring budget
  • Elegantly adapting code to the single threaded environment
  • Emulating type-safe containers
  • Reducing compile times

It would be more of a “wide dive” instead of the “deep dive” talks that are all of the rage, but the source code supplement would hopefully fill in the gaps. Whether I am accepted or not, I’ll put this talk together for my local Austin Flex user group, and I’ll post the source code and materials here.

Text “link” event won’t fire unless selectable=”true”

May 6th, 2010

I couldn’t figure out why the link in my Text element’s htmlText field wasn’t firing. Turns out I had selectable=”false” on the Text element, and changing it to be selectable=”true” made it work again. Hopefully someone will see this when they do the same Google search I just did looking for this problem. :)

Including Library and System Files in a Mac Spotlight search

April 21st, 2010

Thanks to this helpful post, I am now happily searching through my /Library folder using the Finder’s search/Spotlight field.

Here’s a quick video I made showing how to do it.

1Password for Chrome

April 19th, 2010

I love 1Password. I think it’s the best password manager out there, even though it’s only for the Mac.

Anyway, they now have an extension for Chrome, and it is easy to install by following these instructions.

The Making of an AIR App – From Whiteboard to Reality

April 19th, 2010



Jesse just made a cool video showing the evolution of “You Need a Budget (YNAB)” as it went from whiteboarding concepts to reality:

You can check out the original blog post here.



Installing the AIR 2.0 SDK on the Mac (OS X)

April 19th, 2010

I’m posting this as a note to myself because I keep forgetting how to do it between drops of the AIR 2.0 Beta SDK.

This article tells you everything you need to know. The key for me was the helpful “ditto” command:

You can apparently also use “cp -r”.

We (”You Need a Budget”) got our first New York Times mention

March 26th, 2010

Jesse and I just found out about this article in the New York Times, and we were pretty jazzed that YouNeedABudget.com got a mention!

On a related note, YNAB 3, our flagship software, is out of beta as of last night! If you’re tired of the way those other applications handle budgeting, you’re going to like YNAB.

Downloading old versions of the Flex SDK

March 19th, 2010

Every time I set up my Flex development environment on a new machine, I always forget where I can download the older versions of the Flex SDK, so I’m making this note here for myself. This is the page where you can download all versions of the Flex SDK (3.0, 3.1, 3.2, 3.3, 3.4, 3.5, and so on…)

YNAB wants to hire a Flex/AIR Expert

January 14th, 2010

We’re looking for someone to help us make our AIR-based personal finance software even better.
This will start out as a 6 month contract, but if things are going great, there’s a strong possibility we will extend it. We’ve got a lot we want to do to the latest version of our software, YNAB 3, and want to go faster than one guy (me) can handle. If you have a passion for making great software, and also happen to know Flex/AIR,
check out the job description!

One-Line CSV Parser for ActionScript, AS3, Flex, AIR

December 10th, 2009

Well, okay, it’s slightly more than a line, but still I wish someone had written a blog post like this when I went out looking for a CSV parser for YNAB 3.

Thanks to comments in this blog, I discovered that you can split a CSV line, and correctly account for escaped commas, doublequotes, etc, with the following expression:

For each line of text in your CSV file, just do this:

var components : Array = line.split(/,(?=(?:[^\"]*\”[^\"]*\”)*(?![^\"]*\”))/g);

There are some side effects, like quotes that are used to wrap values are still included in the components, but it was a small price to pay. I think it beats the typical state machine approach. (Well, I say that cause I didn’t have to come up with that beast of a Regular Expression).

Now you’ve got your array of values for your csv line. I’m sure you can take it from here.