Multilingual Spell Checking for Flash and Flex

We’re currently finishing off version 1.2 of the Spelling Plus Library, which includes a number of enhancements including:

  • various minor fixes and improvements, including resolving an issue with AIR context menus

  • improvements to the text highlighting engine

  • suggestions algorithm has been refactored to be slightly faster and more accurate

  • support for multiple languages using the roman character set

That last one is a big one, and one that we could use a little help with, if any multilingual folk have a bit of time to spare. Our office is hopelessly monolingual, and we are looking for some brave folk to spend 5 minutes or so just playing with the engine and seeing if it returns appropriate results. We’re currently testing French, Spanish, and German.

If you’re interested, either drop a comment below, or send us an email (use the contact link at the top of the page). Honestly, there’s no immediate incentive for doing it, but we’ll try to figure something out.

FitC 2008 Session Notes Posted.

Just finished posting the slides from my FitC 2008 session “My Favourite Things”. I don’t think they’ll make much sense outside the context of my talk, but they might be useful for people who attended my session.

You can access the slides at gskinner.com/talks/.

I’ll also be releasing a bunch of source code and demos from the session on the blog over the next little while, so stay tuned.

As always, FitC was a phenomenal conference. Much love and Kudos to Shawn. It was great hanging out with everyone, and catching some interesting sessions. It was also a nice bonus that the weather was really pleasant (for once) during the conference.

I’m Huge in Japan!

I’ve always wanted to say that, even if it is a bald-faced lie.

While in Tokyo I had the distinct pleasure and honour of being interviewed by Director’s Magazine. The interview, and a rather silly looking photo of me appeared in the Aug-Sep edition of the magazine. I just got a copy (bit of a delay, but hey, it came all the freaking way from Japan, man!), and while I have no idea what it says, it’s still pretty cool, so I wanted to post it for posterity.

Here’s a scan of the picture page:

Continue reading →

Failure to Unload: Flash Player 9’s Dirty Secret

Update: Adobe has added the Loader.unloadAndStop method to Flash player 10 to address some of the issues outlined in this article. You can find more details on this feature in my article “Additional Information on Loader.unloadAndStop“.


Flash Player 9 has a very dirty secret. It doesn’t even try hide this dirty secret, but it’s still not that widely known. You see, Flash Player has severe problems with separation anxiety – once it’s loaded some content, it has a really hard time ever letting it go. Technically speaking, it is extremely difficult to make Flash Player 9 unload ActionScript 3 content.

In this article, I’ll take an in-depth look at the issue, it’s implications, suggestions for addressing the problem in the player, and some workarounds for the time being. If this issue seems like it will impact your projects, I’d strongly encourage you to read through the article and educate yourself, then use the link at the end of the article to provide Adobe with feedback on it. Likewise, I would encourage you to share this issue with other developers, both to help spread awareness of the issue, and to give them the opportunity to also provide feedback to the Flash Player team. I see this as one of the most critical issues that should be solved in Flash Player 10, and the more people raise it as an issue with Adobe, the more likely it is to be addressed.

Continue reading →

RegExr: Full Code Sense and Replace Support for RegEx Testing

This will be the last RegExr related post for awhile, I promise! I’m just having a lot of fun playing around with this.

I just uploaded version 0.2.1b of RegExr. This version includes support for using replace with regular expressions, including replacement codes (ex. $& is replaced with the RegExp match substring). Even better, I wrote a full RegEx lexer / tokenizer, so that RegExr understands the expressions you write at the token level. This allows it to provide accurate capturing group reports, nested token highlighting including display of errors, and contextual information on tokens as you roll over parts of your regular expression.

These new features make it way easier to learn regular expressions if you’re just starting out.

Continue reading →

RegExr Desktop Released: Regular Expression Tool in AIR

I just uploaded the desktop version of RegExr. It’s just an AIR version of the online application for now, but I’ll add some desktop specific features, and put up a nicer looking page when I have a chance.

With this morning’s announcement of the AIR alpha for Linux, this means RegExr is now the first free tool for editing and testing regular expressions (RegEx) that runs on Mac OSX, Windows, Linux, and online (as far as I can determine). Pretty cool, considering it only took 60 minutes of work to convert the online application to a desktop program and add update notifications.

You can install the desktop version of RegExr here. Or, you can use the online version at regexr.com.

Next up, I plan to add support for testing replace functions, and then a proper lexer.

Update to RegExr: Learn and Test RegEx Online

I just released a new version of RegExr, the free online application for learning and testing regular expressions. This release includes a number of minor bug fixes, and a few big new features.

Real-time expression editing

Matches are now displayed in real-time as you edit your expressions.

Code sense

This build has early support for displaying inline code tips when you mouse over your expression.

Infinite match notification

The expression will now turn red if it will result in infinite matches.

New URL

You can now access RegExr at RegExr.com. This simply redirects to its permanent home at gskinner.com/RegExr/.

If you encounter any problems, have a feature request, or want to provide feedback, please leave a comment below.

Known issues:

The group pre-parser doesn’t do a very good job with nested groups. This only affects the group listing in the info field (bottom), not code sense or the groups listing for matches.

Code sense support is very early, and will likely have some quirks. Please let me know of any issues in the comments below.