• CasperJS, the friendly front-end testing ghost.

    2 September 2014

    A client recently introduced a new requirement that all applications must have documented testing routines that should be manually completed before they are deployed.

  • Code Club @KnoxlandSchool: who let the cats out?

    24 April 2014

    I'm delighted to say we have started a Code Club at Knoxland Primary School.

  • Careers day at Knoxland School (includes mid-air collisions!)

    23 April 2014

    I volunteered / was volunteered ;-) to attend a careers day at our primary school (@KnoxlandSchool, Dumbarton). I develop e-learning for Air Traffic Controllers (ATC) so I thought I'd try to give them a fun introduction to the basics of the ATC as well as working with computers and being self-employed.

  • Using CasperJS in a Yeoman Workflow to Test for 404s on a Jekyll Site.

    12 February 2014

    I use the Yeoman Jekyll Generator to livereload and build my personal site. I love the automation. I've been wanting to introduce testing to my workflow for some time and, for a front-end developer, CasperJS looked like a good fit. This post outlines the steps I took to integrate a test for broken links on my site into my Yeoman workflow.

  • My e-learning development set-up.

    6 February 2014

    I'm currently developing a lot of Adobe Edge Animate (EA) compositions for e-learning modules. They will ultimately be deployed to a Learning Content Management System (LCMS) but I need a way to quickly review content as I develop it. EA lets you preview in the browser but I like to see content in context so I need to be able to step through different pages and topics within a module. I also like to have live-reload as I code ;-)

  • Edge Animate Tip: Creating Triangles

    3 February 2014

    I find triangles pretty useful during e-learning development, mainly to use as arrow heads. I generally like to avoid using images where possible in Edge Animate (EA) (for several reasons including download speeds, ease of maintenance and easier integration with Content Management Systems i.e. fewer separate files).

  • Edge Animate Tip: Keeping Objects on Top

    30 January 2014

    I wanted to create a drag and drop interaction in Edge Animate (EA). I had the problem that when an object began dragging across the page, it would hide behind other objects.

  • Jekyll, Google Analytics and Different Domains

    29 January 2014

    The code below switches Google Analytic account based on the current domain. I wanted to do this to avoid having to change the code and recompile each time I wanted to upload to a backup site. This code has not been widely tested yet so do so before putting into a production site.

  • Case Study:

    11 January 2014

    I built version 1.0 of this website (you are looking at v2.0) trying to follow the tidal wave of new best practices I had read about over the last couple of years. Once finished, I hated it!

  • Case Study:

    11 January 2014

    This was a small static site that Jock asked me to build to promote his architectural drawing business on the Island of Skye.