Friday, 25 January 2013

Appcelerator builds for Pieceable

Pieceable is  a great site that allows you to upload an iOS simulator app to the web and then interact with it over a flash player.

I build a number of projects with Titanium Appcelerator which saves some time and space in simulator builds by symlinking. This app bundle won't work in Pieceable. There are some old patches to the Titanium build system, but they are for SDK version 1.8 and 2.0. We are now on 3.0.

So after a build the symlinks need to be converted to the orignal file. This cmd line does that trick.

First cd into ~/Library/Application Support/iPhone Simulator/6.0/Applications/<<APP UUID>>


find . -type l -exec bash -c 'FULLPATH=$(readlink "{}"); ORIGPATH="{}"; echo "Copying $FULLPATH onto $ORIGPATH"; rm "$ORIGPATH"; cp -f "$FULLPATH" "$ORIGPATH"' \;

Saturday, 12 January 2013

Dropbox module for Titanium Appcelerator

We have released our second module in the appclerator marketplace. A Dropbox Appcelerator module.

Dropbox is the well known cloud storage facility and we are using it for an up coming product. So first we needed to integrate that into Appcelerator with a native module.

Being a much more extensive API than the one for Testflight we needed something better to document it. Seeing that it was actually javascript we were documenting we plumped for JSduck. I place the commnets directly into the .m files.  Extract them with a simple sed script and then put the whole thing through JSduck. Here is the result

The only way I could see the module being tested properly was an app that called all members of the API. And it also makes a great way for customers to evaluate and learn to use the product. So all the source to the example app is on GitHub

Making nginx record true ip behind pound

I use pound to front end our web services. Nginx was only recording the pound IP. This blog article is perfect for fixing that

Sunday, 25 November 2012

Appcelerator TestFlight SDK module

TestFlight is a service that helps beta test and analyse your iOS apps. We use the Appcelerator framework for some apps and have released a module into their Marketplace.

There is also a CommonJS helper module that aids use

Thursday, 22 November 2012

Add current directory as new remote git repo

A note to self.

This command line is used to add an existing local git repo to a newly created remote one using the current directory name as the repo name. Note spaces are removed.

NAME=`basename "\`pwd\`" | tr -d ' '` && git remote add origin git@<replace_with_your_host>:$NAME && git push origin master && git pull origin master

The original post that helped with the actual process is:

Wednesday, 18 July 2012

OSX quicklook not working and SugarSync

I have used SugarSync for some time now as my preferred backup solution, but every so often SS seems to mess something up on my laptop. The latest incarnation of this is SugarSync stops the OSX quicklook from working.

So if you have tried all the other fixes, like:
- resetting permission
- deleting your quicklook preferences
- qlmanage -r and qlmanage -r cache

Then try quitting SugarSync. This worked for me.

Here is the forum link on SugarSync ( with reference to the issue

Saturday, 23 June 2012

Who comes up with these things

The other day I saw posters about an audit into drug omissions in hospitals. I can't help wondering how administering a drug is an omission!!

Saturday, 3 March 2012

Photographing the moon

It was such a clear night tonight I thought I would try and get some nice shots of the moon.

Turned out to be more difficult than I thought. The first lot just came out as bright white circles. After a little reading it seems that bright sunny day settings are best.

So started at ISO 100 F11 1/125, which were okay. But I think the best shot I got was this one at F16 1/80

Note that this was on a fairly cheap Tamron 70-300mm zoom lens. So nothing fancy.

Enjoy ...

Saturday, 4 February 2012

I saw this on a ward the other day. With the current state of funding in the NHS, maybe we will be seeing more of these!

Stop persistent networking interface assignment in cloned virtualbox

When a Ubuntu virtualbox is cloned the new box network interfaces will not come up as Ubuntu has added some MAC matching rules. To fix this on the machine that will be cloned, do this:


# ignore VirtualBox virtual interfaces
ENV{MATCHADDR}=="08:00:27:*", GOTO="persistent_net_generator_end"

to /lib/udev/rules.d/75-persistent-net-generator.rules

and delete the file