Experimenting with HTML and Javascript development in Adobe AIR

This is a rather long post detailing some of the things I learned this weekend while creating my first “real” Adobe AIR application that joins my love of programming with another hobby that I have enjoyed for several years.

Those of you that know me very well might remember that one of my hobbies is amateur radio. There are many facets to the ham radio hobby and one of them that I’ve been involved with over the last few years combines radios and GPS data into a real-time position reporting system called Automatic Position Reporting System (APRS). To make a long story short, people equipped to use this system have specialized radios in their vehicles that read positional data from GPS units and transmit it out over certain frequencies periodically. Usually, these information packets eventually find their way to a series of servers that forward the data to connected clients for display on whatever mapping system the client has available locally.

This weekend, I spent some time creating an Adobe AIR application written in HTML and Javascript that connects to one of these servers and plots the position reports on a Google map. I haven’t had a chance to do much development with AIR up to now so I thought this would be a good exercise to see if I could create a usable solution.

Read More

Dropbox and Time Machine don’t always play well together

Over the last couple of weeks I’ve noticed that my hourly Time Machine backup on my Mac Pro has been backing up almost 2GB of data every time it runs. I couldn’t for the life of me figure out what could be changing that much data each hour and Time Machine is less than helpful when you try to find out exactly what is being backed up each time. It will only tell you what the total size is of the files being backed up. Now, normally this wouldn’t be too big of an issue. However, in my case, I have Time Machine on 7 different Macs in the house backing up to a 1TB Time Capsule. Total free space just keep getting lower and lower so I started worrying when I got down to about 20% free space on the Time Capsule.

Read More

Dynamically set ColdFusion ORM datasource

I’m a relative novice using ColdFusion’s ORM features having done just one “real” project so far that took advantage of it. I’m working on an application that needs to be able to set the datasource for each request based on the URL that the customer is using to access the site. For example, if a customer visits http://customera.demoapp.com I need the application to use the DSN named “dsn-customera”, http://customerb.demoapp.com gets “dsn-customerb” and so on.

Normally this wouldn’t be an issue–you’d do some sort of logic in the onRequestStart() method in Application.cfc and set a request or session scoped variable to the name of the DSN and go from there. However, when using ColdFusion’s ORM functions, this approach doesn’t work since “this.datasource” is configure in the pseudo-constructor at the top of Application.cfc like so:

Read More