the mole in the hole

There’s a hole in the bole of the tree,

The leaves of the tree are green,

In the hole in the bole of the tree lives a very old mole that was lost you see!

He went to bed when he was a sleepy head,

Come rain or shine,

Summer and winter,

He would not budge,

He would not move!

So no one could ever see him – you see!

– Constance O’Connor

the things we trust to github

One of the issues of using public GitHub is that, well, it’s public. Even with the layers of security, it’s all your information ‘out there’. Somewhere.

However, it is a fact of life that we all use GitHub and many large and small companies choose the hosted GitHub option over hosting an in-house, expensive GitHub Enterprise environment. The problem is that developers and operations folks sometimes push things into GitHub without thinking. How about those keys or passwords you’re meant to use Ansible Vault or StackExchange blackbox for but didn’t?

With this in mind someone on the internet wrote gitrob to try and provide some kind of insight into what you may or may not be storing in your vast, sprawling, micro-services hell of repos. It’s pretty neat and all but we’re a docker house for better or worse and we wanted it packaged neatly for us. To that end we created a docker image for gitrob and how we use it at TES Global.

In essence, using docker, you can run a container as the main backend service while running a scan container on a cron job to keep the information updated. This works well for us, but your milage will vary. You will need Postgres and a GitHub OAuth token in order to get this to work. See the here for more information.

By the way, all we did was dockerize this – much kudos to Michael Henriksen for gitrob!


senior platform engineer

I am an Engineer

I work for TES Global. TES Global’s story is an extraordinary one: its digital community on TES Connect is one of the fastest growing of any profession globally, and it boasts a 100-year heritage at the centre of the teaching and education community, with offices in London, San Francisco and Sydney. Today, TES Global has over 6.9 million teacher members in 197 countries across the globe and connects more than 72 million teachers and students. Up to 6.3 million resources are downloaded from the site a week, 13 a second. Home to more than 800,000 individually crafted teaching resources developed by teachers for teachers, this unparalleled collection helps to guide, inform and inspire educators around the world.

The operations team at TES plays a big part in ensuring our platform is kept alive and healthy as well as working very closely with a range of developers to deliver one of the smoothest delivery pipelines I’ve had the privilege to work with. I’m now looking to expand my team and am looking for an individual who has current permission to work in the UK and will not require VISA sponsorship to join us as a Senior Platform Engineer (SPE).

SPEs are responsible not only for the underlying hybrid cloud infrastructure but also for networking, security, performance, automation, integration and education of the wider internal developer community in the best practices of using our infrastructure and services. They are the last but one line of support and assistance and as such are expected to understand their subject matter deeply and thoroughly. It can be an incredibly challenging role but one that we all feel is worth doing and worth doing well. We all work in an Agile manner and believe in effective communication as the single most important tool at our disposal.

The TES platform lives within the AWS public cloud and an internal Xen based stack. SPEs are expected to be deeply familiar with both these stacks and to provide interfaces for developer operations that are seamless between the two.

We make extensive use of Docker, Ansible and Python and our SPEs are expected to be familiar with these technologies and to become extremely proficient with them. You’ll be supported each step of the way on that journey.

We work closely with the wider engineering teams to share our experiences and knowledge to continuously improve the technical operations procedures, tools and approaches throughout the business.

What’s it like to work here?

We release regularly and frequently here at TES and that means our systems and our infrastructure has to be as dynamic and robust as the engineers creating the features. This isn’t a 9 to 5 job and we work the job and not the clock. TES values it’s people highly so there are various social events regularly scheduled to help maintain a healthy atmosphere and a sense of community. We try to hire clever people to do simple things and so make the complex seem mundane.

We constantly look at ways we can improve how we work to cooperate and tune the process to the people rather than the other way around. We don’t believe in blindly following doctrine but encourage teams to arrive quickly and effectively on ways of working that help deliver the quality our customers have become accustomed to.

We’re no strangers to trying edge things and our CTO, Clifton Cunningham, allows us all the freedom to experiment responsibly in order to drive our innovation with many of us having worked with him a number of times before. There’s a reason for that.


  • Providing input into any new solutions and for any enhancements of existing ones.
  • Working with Agile development teams in a web facing environment and for mentoring junior developers in the DevOps process.
  • Driving and owning relationships with multiple suppliers and internal teams.
  • Driving continuous improvement across multi-disciplined teams.
  • Help establish, renew and run processes for on-going maintenance and monitoring operations within the platform.
  • Providing out of hours on-call services on a rota basis.

Candidates should have experience of working in large scale, highly available enterprise environments and have demonstrable capabilities of contributing to a large scale python project. Experience should include some or all of the following technologies;

  • Ansible
  • Python
  • NodeJS
  • Cassandra
  • ElasticSearch
  • RabbitMQ
  • Redis
  • Logstash
  • Kibana
  • Bash
  • Linux Networking
  • Virtualization
  • Hadoop / RDS / MapReduce
  • Git / npm / dpkg / apt
  • Docker / Docker Swarm
  • Rancher / Messos / Marathon / Kube

Application Process

If you’re looking for somewhere to grow your skills and career and not just another job where you can hack then we’re probably going to get along fine. We’re very interested in any female engineers who might want to consider this role to help bring balance to the force.

There will be a technical test to pass as well as some tests that you won’t think a technical role would require. We’re looking for the whole of you and not just your technical kudos so come with an open mind.

If you’d like to talk about this role then please get in touch with me at with a current CV and GitHub account.


Hold for authentication on OSX with a network printer

Well this baffled be for a few minutes and I’m really just capturing this for my own knowledge later. If this happens to you it’s most likely your network password has changed or expired or something. Get it reset and then use your Keychain Access app and locate the printer name. Re-enter the password and you’re good to go.

a good policy

The new immigration policies coming into effect in April 2016 for the United Kingdom make it clear that we demand that those who wish to immigrate to this country are able to contribute and grow with the nation.

The left of course are up in arms over this and so are some sectors such as nursing. Of course people will be affected by this.

Policies aren’t defined to effect the least number of people but to enact sensible constraints under which this nation can grow and become stronger.

If we require more nurses then let us invest in the training of nurses. Of educating young adults about the vocation, not buying the cheapest we can find or going abroad and paying rates that we can ill afford.

Disturbingly, this article cites the RCN as saying:

Research released by the RCN to coincide with its annual congress in Bournemouth, suggests that up to 3,365 nurses, who cost £20.19m to recruit, could be affected. But it says that figure could spiral by 2020, particularly, if workforce pressures lead to increased international recruitment, in which case 29,755 nurses, costing more than £178.5m to recruit, could be affected.

I wonder if I’m the only person who is dumfounded that it cost roughly £7K per nurse in recruitment fees? I’ve recruited large numbers of people before, with much tougher and rarer skillsets than nursing, and I’ve never paid that sort of price for a far small volume of staff.

Someone somewhere is fleecing the NHS and the country.

The article goes on to quite a Home Office spokesperson as saying:

A Home Office spokesman said: “As the prime minister has made clear, the government wants to reduce the demand for migrant labour.

“There are exemptions to this threshold for occupations where the UK has a shortage – but the independent Migration Advisory Committee recommended against adding nurses to the shortage occupation list after taking evidence from groups, including the RCN.

“Employers have had since 2011 to prepare for the possibility their non-EEA workers may not meet the required salary threshold to remain in the UK permanently.”

So it seems that we’ve had four years to plan for this and yet, once again, our public sector seems to have buried it’s head in the sand perhaps? Could they have been baking on a labour government to keep the feed trough open and pour more money into a badly run and poorly organised system? I suspect so.

Yes there will be disruption, which could have been avoided if these public service sectors who knew about it for four years had not ignored the coming change. Instead they chose to ignore it in the hopes it went away. Well, it won’t. It’s coming.

Time for change.

end austerity now

I posit that we must indeed end austerity now. As I’m an engineer and I never bring a problem to the table without options for resolution, let’s have a look at this challenge shall we?

First, let’s work out what that word Austerity means shall we?

Austerity– policies enacted by governments to reduce national debts.

Simple isn’t it.

They are the policies that governments use to reduce national debt.

They are the policies that governments use to reduce national debt.

They are the policies that governments use to reduce national debt.

Now lets see what the national debt is shall we?

The National Debt – the total amount of money that a nation’s government has borrowed.

The total amount of money that a nation’s government has borrowed.

The total amount of money that a nation’s government has borrowed.

The total amount of money that a nation’s government has borrowed.

In taking these two terms we may then say that Austerity is the way in which a national government reduces the amount of borrowing it is forced into making.

Thus the real question becomes:

How do we end the reduction in borrowing.

How do we end the reduction in borrowing? Does that even seem like a sensible question to ask?

Well, my experience is that there are no nonsense questions but merely questions that help to refine ideas, so let’s tackle this question.

If we are to attempt to stop the reduction in borrowing we must first understand why we borrow money. Think of it in personal terms. How much personal debt do you have? How much money have you borrowed for things and activities you really wanted but didn’t have the cash for yourself?

Let’s take a look at some key items of personal debt as researched by The Money Charity 2014 Debt Stats :

  • £54,197 was the average household debt (including mortgages) in November
  • £163 million was the daily amount of interest paid on personal debt in November
  • 7,015 debt problems were dealt with by the CAB each working day over the year to September
  • 1,315 people were made redundant every day between August and October
  • 866,000 people had been unemployed for over a year between August and October
  • £11.0 million of loans are written-off daily by UK Banks and Building Societies (based on Q3 2013 trends)
  • Every 18 min 15 sec a property is repossessed (based on Q3 2013 trends)
  • Every 5 min 3 sec someone is declared insolvent or bankrupt (based on Q3 2013 trends)
  • £1.479 billion was the daily value of all purchases made using plastic cards in October

Those are startling figures and very worrying ones too I think you’ll agree. But we’re talking about the national debt so what’s our national money being spent on? From the very useful website UK Public Spending we can see the following:

2014 UK Spending

That website is really useful and you should spend time there looking at how spending is increasing. All those figures are in BILLIONS of £.

Sensible people will understand that ever increasing debt causes real issues. In your own life think about what problems mounting debt has caused and yes I speak from experience. In your own life think about what measures you took to get your debt under control and reduce it to a manageable level or eradicate it completely and yes once again I speak from experience.

The end goal is the same whether dealing with personal or national debt. Reduce it and if possible eliminate it. A surplus is what we as private individuals and as a nation should be aiming for. The mythical beast of manageable debt is a two faced hag that will get you in the end. It’s really hard and sometimes not possible. Sometimes it takes years. For a nation, it takes decades. The numbers are so much bigger. I hope!

Going back to the question of ending Austerity then, we are trying to stop the reduction in borrowing. Should we in fact be trying to stop this then? The answer, should in my and a lot of peoples considered opinion, is no.

It is a good thing to reduce debt.

It is a good thing to reduce borrowing.

It is a good thing to have surplus cash in the bank.

I hope we can all agree that living in debt whether a private citizen or an entire nation is a very damaging situation to be in. As individuals there is a tendency at times to think, that as we are already in debt there’s no harm in being more in debt. As a nation, socialist policies are in the same vein.

Both are irresponsible and completely without reason.

As a private individual, if we push ourselves further into debt it is only ourselves and our dependants we put at risk. As a nation we risk millions of people’s lives and futures.

It is irresponsible.

The way to reduce debt and borrowing in either case is reduce expenditure. As a personal citizen it means being more rigorous about what we buy and what we think we need. As a government it means looking at where the public spending is largest and reducing that spend as much as possible. That means the government also has to be rigorous about who the money is really targeted at. It means making sure that those that need get the money and not those that just want it because need and want are two very different things.

We all have to reduce our debts. Because debt is bad.

The problem with the general public perception of Austerity is the one sided reporting by the media intent on feeding the frenzy of public reaction in order to sell copy or drive traffic to a website.

The government’s Austerity measures are designed to better manage the available funding and to reduce the amount of extra funding we need from external sources.

Austerity measures are NOT designed to stop you paying your mortgage, getting medical help, being protected in your home, feeding your children, heating your home, going to work or any of the other things you want to do.

But that is exactly the way in which the socialist left want you to look at these measures.

The socialist left want you to feel that the government is attacking your ability to do the things you want to do.

The socialist left want you to feel that the government is trying to prevent your access to public services.

The socialist left want you to feel that it is them and us.

Don’t believe the hype.

Yes. Some people are wealthy. Some were given their wealth by their parents. Some won it. Most however worked bloody hard to get it. But don’t believe that just because they have money they don’t worry about losing it all or that some financial market fluctuation couldn’t see them and their families out on the street. The higher you climb the greater the fall. They worry about how they leave what they have earned to their children without a large part of it being taken by the government. They worry that perhaps they won’t be able to send their children to the best schools to ensure they get the best chances for the future. They worry about being seen to be wealthy because they could be targeted for theft or worse.

Yes. Some people are very poor. Some don’t have the education to enable them to get better paying jobs. They worry about how they can afford to get that education to try and better themselves and their families. They have more visceral concerns about where the next meal is coming from. They worry about paying for the heating. They worry about paying for the electric. They worry what happens when the last fiver is spent and they have to wait for the next benefits payment from the government to buy anything. They worry about how they’re going to get their children better educated so they can have a better life. They worry about how they get their children to believe in being better when surrounded by so much negativity in the media.

Yes. Some people can’t be bothered to be anything more than they are. They’re concerned about affording that new flat screen T.V. and sure, the kids can have chips and low quality fried chicken so they can afford it. They worry they might have to use all the effort at doing nothing to actually do something to get their benefits in the future. They worry about popping down to some type of weekly payments store and getting themselves more debt they can’t hope to repay. They’re worried about these immigrants with their strange customs and languages coming in taking all the jobs they didn’t apply for.

Yes. Some people are handicapped. They’re worried that it’s hard to find a job because employers aren’t educated enough to understand a physical handicap is not an obstacle to mental agility. They worry that public transport doesn’t always make it easy to get around when you have to rely on a wheelchair. They worry that the benefits they get might be reduced making it hard for them to live even though they’re doing all they can to work hard.

Yes. Some people are liars, lazy or just stupid. They’re worried they’ll get found out for not actually being in need. They worry they’ll be found out for stealing money from those that actually need to support to get ahead. They worry that the perhaps they’ll have to do some level of work to get their benefits. They worry that their life of complaining and whining isn’t enough for people to feel pity any more. They worry that they won’t be able to get as big a part of the social fund as possible so they don’t have to work or try as hard elsewhere.

There are many more types. Which are you?

Are you really so simple an entity that the term ‘them‘ or ‘us‘ fits who you are?

Think about it.

The only difference between each of us is the context we live our lives in. Of attitude. Of the desire to be better and have a better quality of life. Whether we understand that quality of life is defined by our effort and not given to us by anyone else.

If you want to end Austerity you have to be part of that solution. Because guess what?


Do you really believe the socialist press when they paint the government as some maniacal evil machine bent on oppressing you? Really? It’s just easier for you believe in the black and white of the cartoon press instead of using your intellect to question and search for challenges and answers yourselves? Really?

The government wants to end the reduction in borrowing by eliminating the need to borrow.

That’s the secret you’re not meant to find out.

You’re an intelligent and capable human being.

Be better than what the socialist left want you to be.