I have said it before and I'll say it again. If you're not using some type of source control you should be.

SVN makes life easy. I'm the type of person that likes to run the latest Betas (Win7 for one) and that often means I reformat and reinstall my Operating System regularly. I also jump between Linux, Windows and OSX.

One of the hardest things to move between machines is my development environment and making sure I have my code and don't lose anything. We use SVN at work and I use SVN for all my personal projects its just easy to check out my code and continue working.

I have recently moved my projects to Project Locker as they have free accounts with up to 500mb storage, SSL plus more.

If you're not using SVN then you should really check this out and start.

I still get asked about installing ColdFusion 8 on Windows 7 and Vista from time to time I remember when Vista SP1 came out and ColdFusion would no longer just "install" like it should and it took a bit of tinkering to come up with the solution. Dale Fraser worked this out for us and it works perfectly on Vista and Windows 7 and Windows Server 2008. This is also the same process for ColdFusion 9.

A little while ago I also created a step by step walk through and here it is: Installing ColdFusion on Windows 7 </ a>

Once that is setup you might like to create addition HOST entries so you access your sites locally via host name rather then http://localhost/site1
Steve Withington has a walkthrough on the process here.

There is sound to this as I step through the process.

If you are interested in Windows Server 2008 and ColdFusion 9 install here is a walk through: http://vc.kukiel.net/cf9win2k8

cfmail is script is easy but as the docs are still a bit lacking and there is no mention of the attributes for using mail in script I had a look in the CF9 install directory and in

/opt/ColdFusion9/CustomTags/com/adobe/coldfusion

You will find the cfc's Adobe made to extend script support. I opened up the mail.cfc and worked out how to use the function. Here is a small example.

Of course to, from, subject etc can be strings they don't have to be variables.
ColdFusion 9 is now officially supported on Ubuntu 9.04 I think this is great news. For a while we knew that it did work really easily on Ubuntu and Debain but it's now good to know its officially supported. You can see Adobes ColdFusion 9 Requirements here

Ubuntu is great but for some simple testing is can be quite heavy. If you have been thinking about trying ColdFusion 9 on Linux I might recommend Debian. I like the Debian net install because it's a minimal install of a basic system. The download is ~150meg and installs lean and quickly.

I used VMware EXSi on an old spare PC but Virtualbox, VMware server or Parallels will also work if you don't have a spare machine. Create a new Virtual machine and allocate 512mb ram. For testing and trying the new features this will be totally fine to run the slim Operating system and ColdFusion 9 even mySQL. When you start configuring your virtual machine make sure the network is set to "Bridged" so its connected directly to the physical network so it gets a real IP address from your DHCP server or router.

After the install there are a few commands and updates I usually run:

#Update the apt repository's
apt-get update

#insall some additions to VI ( simple text editor ) that make is more
#usable on Debian
apt-get install vim-nox

#install a ssh server so we can connect over putty and over sftp with ColdFusion #builder
apt-get install ssh

#you may wish to install apache even if you don't its impressive how easy it is
#with apt
apt-get install apache2

Run ifconfig ( if not ip as in windows ) to find the ipaddress ( presuming you selected dhcp )

At this point I drop out of a direct console session and continue the install with putty.

Download the linux .bin file ( 64 or 32 bit depending on the edition of debian you choose )

Use scp to move the file across. As my main machine is currently running Windows 7 I use CoreFTP which has scp support. You can just drop the .bin file to the root home directory.

Start up putty and ssh to the ip of the VM and log in.

The rest of the install I made a short screen capture pausing out the delays.



Once ColdFusion is installed and started you can test it out. In this short screencast I complete the install and log into the ColdFusion admin and setup a connection over SFTP in ColdFusion Builder create a test file and make sure CF9 is working.



This is a simple testing environment so I paid no attention to security and simply logged in as root. This is a simple demonstration how in less then half an hour you can have a slim OS running ColdFusion 9 in linux and edit your files from ColdFusion Builder. This example also uses the inbuilt ColdFusion webserver rather then connecting to apache which is also an option as part of the CF9 install.


Added an entry on installing mySQL here:
Ever wanted to load an image into your web application instantly? Well now you can. Well you have been able to for a little while actually, it was introduced with Flash player 10 and Mick Chambers has a good article on getting started with reading and writing files from withing the Flash player.

What you need for the demo: Flash 10 and Windows.
What I needed: Coldfusion ( I'll assume the same can be done in .NET/PHP ect ), the updates to Flexbuilder 3.3 SDK or Flex 4 ( I'm using Flex 4 Gumbo Max pre beta edition ) and that's it.

I don't know what the issue is but I just can't get the file.load() methods to work on OSX or my Ubuntu partition. If you know why or how to fix this please let me know.

This code should be reasonably easy to follow but here is a quick break down.

Using the new Flash file reference methods load a file into the Flash player as a byteArray ( binary ). At this stage my demo is only JPG but the AS3 core library also has a PNG library. I set the image data to the byteArray so we can preview the size of the image and how it will look once its been converted.
Clicking the resize button converts the byteArray to bitMapData and based on the value of the HSlider, work out a scaling factor and send this to the Matrix.

Then create a new bitMapData and draw the old data with the new Matrix transform. There are many additional things that can be applied to the data check out the references for the rest.

Finally convert the bitMapData back to JPG format and re-assign that to the data property of the image.

Once it's converted you can save it back to your local file system without the server ever seeing the data or knowing what file you loaded. It has no performance impact on the server and uses no bandwidth or traffic.

As the result is binary as a byteArray we can also send this back to Coldfusion and save it directly as a .jpg The nice thing is that the image sent back to the server is the new size and simply needs to be written to disk as we all know that server side image resizing/manipulation can be resource heavy.

Application?
OK it's a nice feature but what can I use it for? Say you have a real-estate web site and you have many agents needing to upload images. Now they can do all the resizing/manipulation locally which in general is going to be reducing ( but could be enlarging ) the size of the images within the application removing the need for either a thick client side app ( Photoshop/Fireworks/Paint etc ) or the server side manipulation saving traffic, server load and upload time.

Source view: Source View

Full screen app: Full Screen Resize



Sources used:
Mike Chambers Blog
AS3 core library
Andres Alderson
Adobe Flex RFeferences
House of Fusion Flex mailing list

I like having a working demo that you can try for yourself saving back to my server is enabled and you can browse to the saved images. I clean this up every few hours with a scheduled task.

I don't yet have a need for this in our current applications...yet but I think it can be very usefull. Sure the code needs some work and I'd like to work out why it's not working in OSX/*nix but I think its a good proof of concept/starting point.

Be aware that trying to resize a large/high quality image will impact browser performance for the duration of the conversion. Also there is no error checking if you try load a non jpg into the browser its not going to work. And while the controls are a little rough they still give a good indication of what can be accomplished.