Instantly share code, notes, and snippets.

Adrian Rowbotham aderowbotham

View GitHub Profile

#Setting up a Cordova Project #####HMTL London, 2014-07-23

Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript

PhoneGap is Adobe's implementation of Cordova. PhoneGap also offers the PhoneGap Build service. This is not covered here.

View pancake-simplify-menu.js
// this works as of 6 Nov 2014, Pancake 4.6.10
// set the names of menu items you want to hide here (either the href or text content of each top-level link)
var itemsToHide = ["#proposals", "credit notes"];
$( document ).ready(function(){
// run again after Pancake's JS has run
setTimeout(hideMenuItems, 50);
View angular-debounce-wrapper.html
<!DOCTYPE html>
<html xmlns:ng="" xmlns:svg="">
<meta charset="utf-8" />
NOTE: Angular has a debounce directive built in as of AngularJS 1.3 in the form
of ng-model-options:

Keybase proof

I hereby claim:

  • I am aderowbotham on github.
  • I am aderowbotham ( on keybase.
  • I have a public key whose fingerprint is 00C0 9F60 154C 2381 73D6 16D3 E7F4 1CEC 1EFA 15CD

To claim this, I am signing this object:

View boolean-radio.html
<h1>How to use radio buttons to represent a boolean?</h1>
<!-- It's important to use `ng-value` for the boolean value and not just `value` -->
<h3>Enable some setting?</h3>
<label><input type="radio" ng-model="myBoolean" ng-value="false"> Yes</label>
<label><input type="radio" ng-model="myBoolean" ng-value="true"> No</label>
View distribute_integers.js
// distribute a large integer as evenly as possible between any number of integer positions
// inputs
var total = 6;
var parts = 5;
var fractionFloored = Math.floor(total/parts);
var mod = total % parts;
var output = [];

#Pirata Logo | September 2012

##Associate Technical Director

We've got a brand new opening for a senior someone who can bring technical experience, client­facing skills and team leadership to the table. Pirata is changing as we branch out into exciting new types of work, and you will be expected to help us shape the technical team as we continue to make that transition.

A background in technical project management is something we're very keen on here, although we are also considering candidates with more of a hands­on development background. In either case it is expected that you will be familiar with a wide range of development languages, tools, platforms and content management systems.


#Pirata Logo | September 2012

##Technical Lead

We're looking for a Technical Lead with a wealth of web or app development experience. You will be expected to show incredible attention to detail and be able to understand and solve problems in the context of the bigger picture.

You will be expected to show leadership qualities and be able to oversee small teams of developers across a range of projects. You'll also be required to communicate often complicated concepts to clients without blinding them with acronyms and jargon. You'll ideally have several years experience in back-end development preferably with Python / Django or one or more PHP frameworks or content management systems. You will get involved with hands-on development at times, though this will likely comprise less than a third of each working week.


##Developers’ Tools

I’ve created this list as a place to capture some of the handy tools that frequently get shared among developers.

Note: the category anchors were working yesterday, but seem to have stopped working today. GitHub is no longer rendering anchor tags at each header. If anyone knows of a solution let me know!



Spreadsheet concatenation formulae

These are tested in Open Office. May need modifying for Excel.

Combine multiple address fields into one

Contatenate cells B5 - F5, inserting a comma and line break, only if the cell is not blank