Grant Skinner

The "g" in gskinner. Also the "skinner".

@gskinner

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 →

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.

Spell Check Engine for AS3, Flash, Flex, AIR

Today I am happy to announce that the gskinner.com Spelling Plus Library (SPL) is available for purchase. It is a client-side, real-time (check spelling as you type) spell checking and spelling suggestions engine for ActionScript 3, including Flash CS3, Flex 2 / 3, and Adobe AIR. It was architected to be robust and performant, while also being extremely customizable and simple to use.

If you’ve seen any recent demos of Buzzword, you’ve already seen SPL in action. Virtual Ubiquity implemented Spelling Plus Library in their awesome word processing application, and has provided invaluable feedback that we have used to enhance the API.

In Flash CS3, you can set up spell checking on text fields or components without a single line of code. Just drag and drop components on stage. In Flex, you can use a few simple MXML tags to set everything up. Of course, if you want to get down and dirty, you can use the library’s robust and well documented API to control virtually every aspect of spell checking.

A few of SPL’s more notable features:

  • Checks spelling in any text field, as you type, with no server dependency

  • Context menus for spelling suggestions

  • Under 12kb for the full library and just 4kb for the core spelling logic. The full US English word list file (over 150 000 words) is only 250kb.

  • Background wordlist loading and polite parsing means you don’t have to halt your application while the dictionary initializes.

  • Support for accented characters, case sensitivity.

  • Can check over 35,000 words per second

  • Very simple mechanism for customizing underline styles and colors

  • Full support for HTML styled text, works with rich text editors

  • Custom user word lists

  • Comes with example files, US and UK word lists, a quick start guide, a specifications document, and full API documentation in ASDoc format

If you’d like to learn more about SPL’s features, view some demos, or buy a license, check out the gskinner.com Spelling Plus Library product page.

Apollo Time Tracking Application: Codenamed gTimer

Our development team is in a mixed environment of Mac OSX and PCs (mostly WinXP), and one of the challenges we’ve always faced is time tracking and reporting. There are plenty of decent, low-cost options on either platform, but we were never able to find a single time tracker that worked on both that met our needs. When I started playing with Apollo, I realized that it would be a great technology to build a cross platform time tracking application that did everything we needed. We’ve been working on it for awhile, and the result is a cool Apollo app we’ve code named gTimer (the name will change). If you’ve attended any Adobe keynotes or conference sessions about Apollo you may have seen it demoed.

I think it’s somewhat unique, in that it leverages Apollo’s potential in a different manner than the one Adobe is promoting. Rather than taking an existing web property, and moving it onto the desktop, we have created a new desktop application that takes advantage of the web, the Flash platform’s capabilities for rich UIs, and Apollo’s cross-platform support.

Continue reading →

Flex 2 from a Flash Developer’s Perspective

I recently had the pleasure of attending a summit on component development for Flex2. I came into it much more as a component developer than a Flex user, so it gave me a great opportunity to learn about some of the lower level features of Flex direct from the source. Since then, I’ve been tinkering around with Flex, and while I still don’t feel as comfortable with it as I do with Flash, I do feel like I have a good grip on when and why I would use it. Being that this is a subject that a lot of Flash developers seem curious about, I decided to post my thoughts. These are my very generalized opinions as a long-time Flash developer getting into Flex 2, your mileage may vary.

Flex 1 / 1.5 never held any interest for me. Development was messy, licensing was confusing and pricing was prohibitive. I felt I was paying $15g for a layout manager, and hey, we have a few of those in our code library already. Flex 2 addressed all of those issues. The development environment is great (for the most part), and licensing and pricing has been completely redone. Flex 2 has definitely piqued my interest.

Continue reading →

Flash 8 Bootcamp

I realized I’ve never blogged this officially, so I thought I should.

Over the past couple months I have been assembling a new workshop called ” Flash 8 Bootcamp“, which I will be running in Toronto on Nov 11-12 (this Friday-Saturday) and Los Angeles on Dec 2-3. It is an intensive two day workshop that covers every new feature of Flash 8 in gritty detail. The thing I like about this workshop is that unlike my previous “Enterprise Development” workshop, this workshop is accessible to a much broader range of Flashers (both because of the low pricing, and the lower prerequisites) and the content is much more future-proof. While the course won’t specifically look at AS3, I’d say over 80% of the content is directly applicable to it. This is largely due to the fact that most of the Flash 8 features were added with AS3 migration in mind.

UPDATE: The bootcamp will be running in London, UK on February 11-12. Please read the announcement for more information.

I also like this workshop because it should be a lot of fun. While I love teaching hardcore technical content, it’s nice to do a course that is much more relaxed and visual.

Continue reading →