Steve Harris

Some pictures, the odd grumble and a bit of IT
Follow me on Twitter
View my Photostream

Installing PhoneGap Development Plugins

Adobe PhoneGap is a development platform which enables the creation of mobile application across a wide range of platforms using standard web technologies/languages. Adobe is heavily pushing the cloud based build and debug version of the tool. Although it works well from Adobe DreamWeaver I have found it no substitute for the Xcode based plugin. For more information regarding PhoneGap itself refer to the website

Unfortunately as Adobe are moving PhoneGap in to the cloud I have found the local build methods to be difficult to follow as a single working set of instructions for the current version (2.9.0) does not appear to exist.

The following is not intended as an exhaustive installation guide rather a set of tips or pointers to which instructions should be followed to install version 2.9.0 on OSX/Xcode and build you first iOS application:-

  1. Open Xcode, select Xcode from the top left of the screen, select preferences. Change to the Downloads tab and download/install command line tools. Close Xcode.
  2. Taking instruction from install NodeJS available at
  3. Again taking instruction from install PhoneGap by entering the following command in a terminal window sudo npm install -g phonegap

At this point instructions breakdown as the commands available at are incorrect e.g. the command cordova is now phonegap.

  1. To build your first application environment ready for xcode open a terminal window, navigate to the folder in which your projects will be based and issue the command phonegap create hello com.example.hello “HelloWorld”. This will create a folder named hello and populate it with a folder structure to develop in .
  2. Next generate the iOS specific environment including the Xcode project by first navigating to the root of the project folder e.g. cd hello once in the project folder issue the command phonegap build iOS. This will prepare the iOS build for the first time and create an Xcode project file which you can load into Xcode.

You are now in pretty good shape, but you will need to manually start the iOS simulator in Xcode when debugging. For every project you wish to start repeat steps 4 to 5.

If you want to automate the starting of the simulator perform the following:-

  1. Issue the command phonegap run ios in the terminal window. You will notice an error message recommending that you download a plugin from
  2. Open the site and follow the instructions to install the small ios-sim application which launches the iOS simulator when the command phonegap run ios is given. Again this may not be as easy as it seems unless you have homebrew installed or have used github before. I did the following:-
  • from a terminal window changed to the download folder
  • enter the command curl -L -o to download the file
  • unzipped the contents of the file with the following command unzip
  • changed the terminal path to the extracted folder e.g. cd phonegap-ios-sim-1.8
  • install the ios-sim applicaiton using the command sudo rake install prefix=/usr/local/bin

Provided the above steps were successful you can now compile and launch the project by issuing the command phonegap run ios from your project folder.

Quick Comparison of PhotoBox & One Vision Imaging

Both photography labs are based in the UK and Europe, PhotoBox is aimed more at the consumer market and has a lot of products on offer, whereas One Vision Imaging is a professional lab used mainly by amateur and professional photographers.

I should point out that I am not affiliated with either company, I signed up for a Zenfolio trial and thought I would compare the results of both before recommending them to clients. This is not a detailed scientific comparison of prints, its 5 minutes with a scanner.

It is difficult to compare physical prints online, but before I gave the prints out I quickly scanned them using a Canon MP560 scanner/printer, zipped them through Adobe Lightroom to match the crops as closely as possible and exported them below. Apologies for the poor crop, I scanned them so quickly I used the same automatic settings on each and for some reason the software took an inch off either side.

The left most picture is the original from Adobe Lightroom which was colour matched using a Colour Checker Passport, the middle picture is from One Vision Imaging, and the right most picture is from PhotoBox.

Remember the same automatic settings were used on each of the two scans, apart from differences in brightness the scanned images do reflect the physical prints well and do demonstrate difference between the physical prints.

As you can see, the colour of the child’s truck in the PhotoBox image does not match that of the original, and the skin tone is also off on the PhotoBox photograph. The One Vision Imaging photograph is far closer in terms of the trucks colour and the skin tone.

Physically the One Vision Imaging print is as accurate as you can imagine a print to be in terms of the truck, skin tone and colour of the child’s T-Shirt. The PhotoBox is not without merit though as it does have a vibrance about it, but for me the vibrance should not mean sacrificing the colour accuracy to this degree.

I still intend on offering both on Zenfolio, PhotoBox provides a surprising variety of products and are cheaper than One Vision Imaging, but it does prove that you get what you pay for so I will be recommending One Vision Imaging for those must have prints.

Clifton Village

Clifton Village, originally uploaded by Steve Harris.

Transparent Proxy on Ubuntu 11.04 Server

A number of resources exist for configuring Squid with ClamAV as a transparent proxy server on Ubuntu, however some of the information appear to be incorrect for version 11.04, the following articles and notes will be of help. I’m using a windows based DHCP server behind Ubuntu and effectively using Ubuntu as a gateway from one network to another where my ISPs router sits. But you can tailor the idea to suit.

1. When installing Ubuntu Server include BIND for DNS, if you have already installed Ubuntu without BIND use sudo apt-get install bind9 dnsutils to install;
2. Configure your two network cards with different IP addresses, one for the LAN and one for the WAN side;
3. Configure BIND to act as a forwarder only using BIND9ServerHowto;
4. Install and configure Squid and ClamAV as explained here, I personally used the comment from Jayson D. Martinez How to Setup Transparent Squid Proxy Server in Ubuntu, but I did not install the web admin tools;
5. Also install the ClamAV Daemon using sudo apt-get install clamav-daemon
6. When configuring squid, check the default file thoroughly, consider making a backup and recreate the file from scratch;
7. The iptables configuration from here works better Squid transparent proxy with iptables
8. Configure a machine behind the second network card, using the Ubuntu server as a gateway and test.

If you have any problems check:-

- The squid log files in /var/log/squid/;
- The port number you configured in squid.conf is the same one you used in the iptables line and that you have added transparent to the http_port line of the squid.conf file;
- Manually configure a browser to use the ubuntu server as a proxy to rule out a problem with the iptables.

You could also extend this configuration using a web content filter like DansGuardian Squid Proxy Server On Ubuntu 9.04 Server With DansGuardian, ClamAV, And WPAD the link also contains useful notes on checking the ClamAV installation is updating correctly.

Installing Vmware ESXi 4.1 on a USB key from Mac

This process to install vmware ESXi 4.1 on to a USB key from an Apple Mac (OSX) was adapted from the following article which explains the process for previous versions of ESXi The difference being the filename and location of the image on the ESXi 4.1 CD.

1. Download the ISO and mount in Finder
2. Copy the file imagedd.bz2 from the mounted ISO to a location on your hard disk
3. Insert the target USB key in to your Apple Mac
4. Open a terminal window
5. Run diskutil list, locate the USB key in the list for this example we will say it is /dev/disk5
6. Run diskutil unmountDisk /dev/disk5 it will disappear from Finder but will still be accessible from the command line
7. Run bzcat imagedd.bz2 | dd of=/dev/disk5, you will need to specify the location of the .bz2 file you copied in step 2
8. Wait for the process to finish, it may take some time
9. When the prompt reappears check bytes were successfully transferred, if not check your previous commands
10. Run diskutil eject /dev/disk5 to eject the disk, it can now be removed from the Mac
11. Insert the USB key in to the server/pc you are going to run ESXi and power it up.

It is important to note this will boot in to ESXi directly and is not the installer. Once started your can set the root password and configure using the menu system.

The same process could be used for installation on to SD Cards, but check the hardware compatibility lists on


We recently celebrated our sons birthday with a big party, as with most events like this hundreds of images were taken and once collated I faced the daunting task of selecting a small percentage for a short slideshow.

I usually do this by rating images in Apple Aperture, first going through and giving anything worth a second look two stars, these I review and tidy up before rating them with three stars or higher if the image is ‘exceptional’.

At this point I like input from my wife, but sitting a Windows 7 user down in front of a Mac where the mouse is funny and maximise does not maximise things is more hassle than its worth. So I searched the iPad app store and found one of those perfect IPad apps – Pixelsync.

In short its a small app on your iPad and a helper application on your Mac which allows for projects in your Aperture library or iPhoto to be viewed, rated and flagged on your iPad. There does appear to be a restriction that like iTunes and the iPad or iPhone sync the library must be open in Aperture although Aperture does not need to be running at the time. It would be nice if this restriction could be resolved in both iTunes and Pixelsync but that is probably an Aperture restriction so outside of the control of the author of Pixelsync.

With the helper application on your Mac configured to open your library from the iPad you can select which projects within that Library will be synchronised to your iPad. Once synchronised you can rate and flag your images before synchronising back to Aperture.

The application works perfectly and my wife enjoyed rating the images while sitting on the sofa drinking a cup of tea far more than sitting in front of my Mac using a funny mouse.

I believe Pixelsync has been available for a while, and I meant to write this a while back. The appearance of Photosmith for the iPad which appears to be a similar app but for Adobe Lightroom reminded me to put finger to key and post this.

Pixelsync can be purchased on the app store and more information along with the helper application can be downloaded from


Reluctant, originally uploaded by sdharris.

@ Jamie’s

@ Jamie’s, originally uploaded by sdharris.

vSphere Client closes when you attempt to import a machine (P2V)


The VMWARE vSphere client closes or crashes when you right click on a host and select Import Machine.


You probably have an older version of the VMWARE client such as VI Client 2.5 installed for administration of older ESX installations.

There is a DLL conflict documented in, although it describes a Visual C++ Runtime error which I did not receive.


The solution documented in the release notes works though which is to remove (although I suggest rename) the following files located in C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher:-

  • libeay32.dll
  • ssleay32.dll

Once renamed/removed if you have the vSphere client open, close the client and open it again otherwise simply open the vSphere client. The vConverter utility should now run when you use Import Machine.


Toronto, originally uploaded by sdharris.