Jason Sheedy's blog

Let me tell you a story about the time I was a software engineer ...

Upgrade to Flex 3.3 SDK for Flex Builder Linux

After the official release of Flex 3.3, this is a short note on the steps required to upgrade Flex Builder for linux to use it. The upgrade path for the flex SDK has been improved significantly over previous releases.

In the past you would be required to cobble together an SDK bundle from the official Adobe SDK release, the data visualisation components from within the Flex Builder release and some other parts of the AIR SDK. In the latest release of the Flex SDK, it includes everything you need to upgrade for mac and windows and with a couple of aditions from the AIR SDK for linux you're ready to role.

Detailed instructions and other useful information are on the Flex SDK release notes page.

http://www.adobe.com/support/documentation/en/flex/3/releasenotes_flex3_sdk.html

Step1. Downloads

http://www.adobe.com/products/flex/flexdownloads/

Flex 3.3 SDK

http://download.macromedia.com/pub/flex/sdk/flex_sdk_3.zip

Data Visualisation Components for Flex Builder

http://download.macromedia.com/pub/flex/sdk/datavisualization_sdk3.3.zip

AIR 1.5 SDK

http://www.adobe.com/products/air/tools/sdk/

Step 2. Extract the Flex SDK into a folder of your choice

Step 3. Extract the data vis bundle into the same directory

Step 4. Open console, change directory to the SDK lib directory and extract the licensed components for data vis i.e. java –jar DMV-source.jar <license.properties directory> ../
Note: You need to have a Flex Builder Pro license installed on you machine for this to work

Step 5. Extract /runtimes and /bin directories from the AIR SDK into the Flex SDK directory.
Note: All the rest of the AIR SDK components are included in the Flex SDK.

Step 6. Rename the new /bin/adl to adl_lin

Step 7. Rock on .. you can now build Flex 3.3 and AIR apps in Flex Builder for linux..

The process is still a little convoluted for linux users, but as Flex Builder for linux is still not officially release I'm not going to be too hard on the boys and girls at Adobe. Thanks to Adobe and contributors for all the hard work and improvements in Flex.

cfObjective Australia

I just recieved the news that the ColdFusion community in Australia is putting on a conference to celebrate all the good things about CF.

I'm not sure about the speaker line up yet, but I'll be interested to know who'll be there.

More info at the link below...

http://www.cfobjective.com.au/

Our current project is all Java/Flex based, so there are some days I miss the simplicity and built in features that are offered by CF. There's a long running debate between CF and native Java, but for me the choice is simple. I'll use the appropriate tool for the project at hand....... I know we havn't spoken much lately, but I still love you ColdFusion.

 

R.I.P. DJ Angus

It's with great sadness that I just learned of the passing of a good friend and great DJ, Mr Angus Galloway. Know by some as DJ Bribe, he passed away on 06/02/08. My condolences go out to his family and friends. I hadn't spoken to Angus for many years, but hearing of his death is a real shock. He was a great guy!

There are many tributes for him online and also a copy of the last set he played just a couple of weeks before he died. It took me a while of scouring though forums and various articles to find a valid link to this set, so I'm going to post it here for reference. It's a rockin' old school set too!! I have a bunch of unique mix tapes that he did for me that I've been meaning to rip for years. I'll post them here asap as a tribute and for all the fans that love and miss him.

Final Set @ Candee Flip 26/01/08
http://www.sidechainmusic.com/assets/files/DJAngus@CandeeFlip260108.mp3

Facebook memorial page
http://www.facebook.com/group.php?gid=9954377092

Scratch set 1989
http://www.youtube.com/watch?v=HW9_oFQQft8

MySpace page
http://www.myspace.com/djbribe

 

RbMan Upgrade .... finally

It's been some time, but I finally got around to doing an upgrade on RbMan. :) For those that don't know, RbMan is a flex/coldfusion based resource bundle editor. It allows teams of translators to manage big collections of resrouces and translate them via the magic of the internet. Say goodby to your I18N worries and download RbMan today ... only $9.95 and it comes with a free set of steak knives. Not really . it's open source and is release under the Apache 2 license.

The upgrade was  pretty extensive and includes: linux compatability updates, Coldfusion 8 compatablity updates, Flex 3 updates, plus lots of other tweaks and fixes to make it more robust and user friendly. Despite this being only a point release, the whole code base has had a major re-work. Comments and feedback is always welcome.

For full details go here:
http://www.jmpj.net/jason/page.cfm/RbMan2

 

Installing ColdFusion 8.01 Standard on 64-bit Ubuntu Hardy from Woe to Go

In my previous post I agonised for more than a week over trying to get CF8 Standard to run on my 64-bit server. Much of the issues I face were not because I was running on a unsupported distro, but simply because of licensing issues that forced me to shoehorn the 32-bit version of CF into a 64-bit distro. The 64-bit Enterprise version of CF installed without even a blip on the radar ... the way it's supposed to be. Below is a step by step record of the process i went through to get it going. (with short comments)

- downloaded coldfusion-801-lin.bin from Adobe
- re-upload it to the server (ftp site would have been handy)

- create CF user/group
$ adduser --group cfserver
$ adduser --ingroup cfserver cfserver

- add multiverse repository to sources list
$ nano /etc/apt/sources.list
(add)
deb http://archive.ubuntu.com/ubuntu/ hardy multiverse
deb-src http://archive.ubuntu.com/ubuntu/ hardy multiverse

- install 32 bit JVM
$ apt-get install ia32-sun-java6-bin

(fixed cf installer error by generating en_US locale)
$ locale-gen en_US.UTF-8
$ /usr/sbin/update-locale LANG=en_US.UTF-8

- run installer as root with -i console flag
$ ./coldfusion-801-lin.bin -i console

- start coldfusion
$ sh /opt/coldfusion8/bin/coldfusion start


Install 32-bit Apache
- remove old version of apache
$ apt-get remove apache2 apache2-mpm-prefork apache2-prefork-dev apache2-utils apache2.2-common libapr1 libapr1-dev libaprutil1 libaprutil1-dev

Download and compile apache
$ apt-get install build-essential (This is used for compiling the source)
$ apt-get install libc6-dev-i386( Installs 32 bit header files)
$ apt-get install gcc-multilib (install 32 bit gcc libraries)
$ export CFLAGS='-m32'
$ tar -xzf http httpd-2.2.9.tar.gz
$ cd httpd-2.2.9
$ ./configure
$ make clean
$ make
$ make install

- start apache
$ sh /usr/local/apache2/bin/apachectl start
- modify apache config
$ nano /usr/local/apache2/conf/httpd.conf
- restart apache
$ sh /usr/local/apache2/bin/apachectl restart

Setup the coldfusion apache connector
$ nano /opt/coldfusion8/bin/connectors/apache_connector.sh
(edited to look like this)
===============================================================
#!/bin/sh

#
# Configure the Apache connector.
#    -dir should be the *directory* which contains httpd.conf
#    -bin should be the path to the apache *executable*
#    -script should be the path to the script which is used to
#        start/stop apache
#
../../runtime/bin/wsconfig \
    -server coldfusion \
        -ws apache \
    -dir /usr/local/apache2/conf \
    -bin /usr/local/apache2/bin/httpd \
    -script /usr/local/apache2/bin/apachectl \
     -coldfusion \
    -ws32 -v

exit
==============================================================

- run the connector
$ sh /opt/coldfusion8/bin/connectors/apache_connector.sh

Setup Coldfusion and Apache daemons to run at startup

$ ln -s /opt/coldfusion8/bin/coldfusion /etc/init.d/coldfusion
$ update-rc.d coldfusion defaults

$ ln -s /usr/local/apache2/bin/apachectl
$ update-rc.d apachectl defaults

... and that as they say is that ... Bob is now my uncle. Big thanks again to Umal, Charlie and others for all your help!!

 

 

ColdFusion 8.01 Installation Minefield

I begin this story not as a long and protracted tale of woe, but as a warning to others that may tread upon these perilous shores. Argg ... I know what you're saying .. "I never had any trouble installing coldfusion 8" .. well neither had I up until this point. The story begins with me getting my shiny new 64-bit virtual server at slicehost.com ... BTW slicehost are awesome .. I highly recommend them.

I've got a 64-bit server so naturally I would 'assume' I'd download the 64-bit installer coldfusion-801-lin64.bin. That was my first mistake. So I go to Adobe.com and search for an ftp site to download it from .. to no avail. Since, I'm installing a server software and setting up my server via ssh it would have been nice to download it directly onto the server via ftp ... Na sorry .. denied. I had to download it to my workstation and then re-upload it to my server. Annoying!!!

So, an hour or so later it's finished uploading and I think to myself sweeeet ... daddy's about to get some CF love ... denied. I ran the command line installer for linux, as is detailed in numerous other blog posts, and was confronted by the following error.

java.lang.IllegalArgumentException: Malformed \uxxxx encoding

WTF .. I dug around for ages trying to find some reference to this and could only assume it had something to do with the locale setting on my server. I had set the server up using en_AU, but from experience I know that most Adobe stuff uses en_US. Under this assumption I generated the en_US locale on my server using $ sudo locale-gen en_US.UTF-8 ... and what do you know it worked... assumption confirmed.

The installer then ran through as normal until the trouble really started ... dat dat daaaaaa. (Insert suspense building sound effect here). I selected "Server Installation" and when I input my serial number it said it was invalid. Hmmm .. ok so I finished the installation under the trial license and everything worked beautifully .. until i put the serial into the CF administrator. The stupid thing dropped me down to developer mode. No warning about Standard Edition not being supported on 64-bit platforms.

After much digging around and a drawn out support ticket from the Adobe support staff in India and I find that Standard Edition isn't supported on the 64-bit version. They could have told me that straight away, but I found it myself in an obscure note in the cf8.01 release notes  which says, "ColdFusion Standard edition runs in 32-bit mode on these systems.". I admit I should have read them first, but there's only so many hours in a day.

Anyhow, so now I'm at the point where I'm trying to install the 32-bit version onto my 64-bit platform and I'm not having much luck with that either. After running the installer, I get the following error message.

jason@blah:~/tmp$ sudo ./coldfusion-801-lin.bin
[sudo] password for jason:
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...

exec: 2481: /tmp/install.dir.5149/Linux/resource/jre/bin/java: not found

So, at this point .. that's as far as I've got. The temp jre/bin/java file is actually there, so I don't know what the go is with that ??? Adobe tech support have still not gotten back to me on this. Has anyone else seen this error? Does anyone care? Is cold fusion pissing me off right now??? You bet it is ..... screw this ... I'm going fishing.

 

Update: Here is a compressed version of this post and all it's comments with the final solution.

Sites using bytespring CMS

Just testing out http://www.searchme.com/ and I thought I'd try a search for bytespring... Besides being a cool new search interface, it turned up a heap of sites I wasn't aware of that are using Bytespring CMS. Here's a list of the ones I found.

http://anglicantv.org/
http://www.gonz.net.nz/
http://www.ulseth.no/
http://www.bestwode.org/
http://www.tagit.co.nz/
http://www.cvalleycorvettes.com/
http://caralarm.co.nz/
http://www.ekk.org/

I thought it was worth making a note of them here for future reference... For anyone else that's using it, please feel free to leave a note in the comments. :)

 

Dynamically created remoting destinations with BlazeDS and Spring Annotations

In our current flex project we're using BlazeDs in combination with the Spring Framework to provide the middle tier infrastructure. As part of the requirements we need to be able to dynamically create flex remoting destinations, so rather than creating destinations manually inside the flex services config, we're using a handy little library written by Marcel Overdijk that enables you to mark your services as a @RemotingDestination. Using these annotations Spring will dynamically add your service class to the BlazeDS destination list. More detail about it can be found on the original blog post by Marcel.

The library is posted on the Adobe exchange. However, it's not current and Marcel has been having trouble getting Adobe to update it. The new version includes a fix that I contributed for an issue with proxied services. i.e. If a bean was already proxied, it wouldn't be recognised as a @RemotingDestination because the proxied bean didn't carry the annoation over. There are also a couple of other minor fixes in the new version,

While we're waiting for Adobe exchange to reflect the changes, I'm posting it here for anyone that needs to download it in the interum .

 

Handy regex tester for AS3

I found this tool really useful for testing regex in AS3. There's a few of these around, but this one is very nicely done.. http://gskinner.com/RegExr/

WebDU 2008 card game

One of the highlights of this years conference was the great card game created by Kai. It basically required you to collect cards during the conference and put them together in a certain combination in order to achieve the highest score. In my desperate attempt to win I decided to build a calculator that would enable be to calculate the highest score. Unfortunately, I was about 30minutes away from getting it into a functional state before the deadline :(

As it turns out the rules i used to calculate the score must have been slightly different from what Kai had used, so the scores didn't add up exactly the same. On the up side, it think it would still give you the correct combination of cards to get the highest score. Congratulations to Zoe for the big win !!! The cards selected by default are actually the wons she used to win.

The interface is still a bit rough, so be kind. :) The drag'n'drop handler is working properly, so you have to click an item again to re-calculate the score after you drop it from the selected list to the discarded list.

To have a play with it click here.

To download the source click here.

Google Code Jam and webDU day 0 code war

This looks like fun .. wish i had time to go in it. More here.

Along the same vein was the webDU 2008 code war. It was a heap of fun and produced some amazing examples of what NOT to do. :) Four of us from the sunshine coast team produced a "Love Calculator" in Flex. It was good fun and not too serious. Unfortunately, our competitors had a couple of Adobe guys on the team so they won the heat. It was an inside job for sure!! I'm sure the clap'O'meter registered higher for our app, but in the spirit of good sportsmanship we didn't ask for a recalibration :)

More Entries