Twitter Stock Ticker


Last night I was rummaging through some of my past projects doing a little winter cleaning, and I stumbled upon this jQuery plugin that I wrote a while back. I ran the code to see if it still functions (it was using jQuery  1.3). And to my pleasant surprise, the code still runs like a charm. So, I just want to take the time to share it with you all.

Solving the Firefox Ellipsis Problem


On a recent project for a client, I was asked to make the CSS style “text-overflow: ellipsis” work on FireFox browsers, which has never supported this style. This style basically truncates text and adds an ellipsis (…) when the length of the text overflows the container. Supposedly FireFox 7.0 will correctly this issue, but I’ll believe it when I see it.

Which is the best Enterprise CMS?


I’m am working on a project currently that is leveraging an Enterprise CMS. At the outset, I did an analysis of existing CMS systems to select the one that best fit our clients needs. That turned out to be Magnolia (

However, another one of our clients is using the Alfresco CMS for their business. I reviewed it over the weekend and was impressed by the slick and intuitive user interface. The creators of Alfresco come from Documentum and Interwoven.

Three OCR Software Vendors Compared


I recently evaluated three vendors of OCR technology for a C# .NET desktop app. Basically the software needed to accurately read and report the results of scanned “bubble” tests – the kind that you took as a kid for your Iowa tests (yes I’m from the midwest) and SAT’s. In addition to reading bubbles, the software needed to accurately read barcodes, OCR or printed characters (the test takers name) and ICR or hand-written characters (for hand-written answers).

My First Facebook Development Journey: Extended Permissions, FB AS 3.0 Client Library, and Application Tabs


On a recent project, I had to create a Facebook Flash
application where the application will live in a Facebook application tab on a
fan page. The whole Facebook application development was very new to me. During
that time, because it was a Flash application, it seemed the most sense was to
use the Facebook and Adobe supported Facebook AS 3.0 client library which can
be found here.

Papervision Wish List


I’ve been using Papervision 2.0 for several months now, and while I’ve been able to get it to do most of what I want it to, it has been a tedious journey. If I were to do this project over again, I’m not sure I would choose Papervision, unless they make some improvements.

I’ve put together a short wish list of things I’d like to see done to Papervision:

Building a Better TileList: A Custom Scrollable TileList using Flex


I use a TileList component quite often when building Flex applications. Recently, I was asked to create a nice, smooth, horizontal scrolling effect for a TileList containing a 3×3 page grid of 40 or so images. After many unsuccessful attempts to cajole the TileList into the proper behavior, I decided to roll my own.

It seems the fundamental problem with the TileList, which extends from the ListBase class, is its management of item renderers. It gets confused when attempting an animation to change the horizontal scroll position using an AnimateProperty effect. It seems that item renderers get confused when moving items into view using an effect.

Wrangling Flex Labels: Auto-sizing Text


I am currently working on a project where we have a
fixed-width dialog box, and need to fit the title text in a label. The problem
is, the text is too long. What to do? Well, the basic Flex Label provides you a
couple of options: show an ellipsis (…) at the end of the label or cut the text
off. Neither of these solutions was viable.

This is a common problem that occurs in UI development:
fitting text in a limited space. My solution to this was to create a LabelUtil
class that automatically adjusts the font size of the text to fit the width of
the label.

Going with the Flow: Tips and Tricks for Using the Adobe Flex TextFlow Component


We’ve been busily developing using Flex 4 (aka “Gumbo”) here at the Grio offices and are impressed with many of its new features. One of the more interesting but difficult to decipher features is the TextFlow component.

The TextFlow component is used to layout text in a highly controlled way. It uses an XML-based markup language, Text Layout Format (TLF), to define the content of the TextFlow. TLF uses some similar tags to HTML (<div>, <p>, <span>), but it is definitely not HTML.  This may trip you up a bit as you learn TLF; I recommend reading the Adobe Labs info before diving too deep into development (

Keeping it Clean: Creating a Profanity Filter with Flex


I was recently tasked with writing a profanity filter for the chat module of an AIR application. I did some research and alas, there were no Flex examples to be found. I thought I’d share my implementation with you.

The filter needed to replace naughty words with asterisks: so profanities such as ‘f— you’ would appear as ‘**** you’. The filter also required the ability to use localized word ‘blacklists’.