Where has ‘the truth’ gone?

After discussion with my employer, I’ve decided to remove my previous post – “The truth about the Gatwick ATC closures” – from this blog. To be clear, I’ve not been put under any pressure to do this, but it has been pointed out that I could inadvertently be damaging the working relationship with our customer, something I had never intended. This is a difficult time for our industry as a whole – now more than ever we need to be working together.

My original post was borne out of frustration towards the incredible amount of false information being presented as fact in the media. Call it ‘fake news’, call it ‘sensationalism journalism’, call it what you will – these articles serve as nothing but clickbait to the general public, but seriously damage the reputation of everyone working within our industry. The outpouring of positive feedback to my post was immense – it’s clear to me that the vast majority of aviation professionals are fed up with this rhetoric. I go into work every day and sit beside people putting all their effort into providing an outstanding safe, orderly and expeditious air traffic service – it’s time that those with an influential voice use it to defend the ‘coal face’ workers from this kind of onslaught in the media.

To everyone who read my post – Please use any platform you have to provide a positive influence on guiding debate in the media. The aviation industry faces difficult times in the near future, we must ensure that well-sourced facts form the basis of future discussions.

To the airport – The article was written as a defence of Gatwick, if it had the opposite effect then I apologise.

To my employer – Don’t just pay attention to my words, pay attention to everyone who stood up and applauded them as long overdue. You have a highly motivated workforce who will always provide the best possible service no matter what the circumstances – don’t let that good-will be eroded. Oh, and don’t worry, these posts won’t become a regular feature!

The State of my Life

AKA “Goodbye OpenMarket, Hello NATS!”

As you may have noticed by the updates to my About and home pages – I’ve changed employers! Around Christmas I was offered a position with National Air Traffic Services as a Trainee Air Traffic Controller, meaning that I’ll be spending the next 3 years in intensive training to take on the job I’ve dreamed about for a long time! As sad as I am to have left OpenMarket at the start of March, I’m really excited by what the future holds, and can’t wait until my training begins at the end of May.

For those of you worried by the prospect of me being responsible for air traffic, your concern is understandable. Paul has kindly launched ismattdysoncurrentlycontrollingtheskys.com service so you can check before you fly.

Sound the alarm!

My colleague and partner in crimes against PHP has “not a blog”-ed about a recent waste of my Friday afternoon at work. There’s a pretty awesome video of it in action as well. Kudos to GrahamB on the light-triggered panic in the background.

Essentially, this wonderous creation boils down to an off-the-shelf novelty fuzz-light connected to a 13A 4-way extension lead that was adapted to be controlled via a USB relay. Only simple modification needed (I don’t trust myself with anything electrical usually) – snip the neutral cable on the extension lead and run through the relay (even I can’t cock that up). Through the use of some really dodgy python (not PHP, as Tom alludes to, for a change) that was adapted from numerous tutorials – the relay can then be controlled via a HTTP GET request to the relevant port with /on or /off as the request string.

This is then hit via a command to our work IRC bot, so you can type !emergency into any channel to turn the light on, or !emergencyover to turn it back off again, which will create the appropriate HTTP hit, and return appropriate witticisms from the bot. I’m not going to paste that code here though. Make your own.

You may wonder what the point of this probably-lethal waste of money & time is. Good question. I’m still asking myself that, but it’s pretty damn fun to control a flashing light from your computer…

The pyweb/serial shonky python script used for control:

USB Relay HTTP Control Script

Accepts HTTP GET requests to /on and /off, sends the requisite serial commandto the USB relay board

Matt Dyson, 2012
import serial
import web
from struct import *

commands = {
    'relay_1_on': 0x65,
    'relay_1_off': 0x6F,
    'relay_2_on': 0x66,
    'relay_2_off': 0x70,
    'info': 0x5A,
    'relay_states': 0x5B,

urls = (
    '/(.*)', 'relay'
app = web.application(urls, globals())

class relay:
    def GET(self, arg):
        if not arg:
            return 'No action given'
        elif arg=='on':
                return 'Turning light on' + send(commands['relay_1_on'])
        elif arg=='off':
                return 'Turning light off' + send(commands['relay_1_off'])
                return 'Unknown action'

def send(cmd):
    ser = serial.Serial('/dev/ttyACM0', 9600)
    return ". Done"

if __name__ == "__main__":

The code still contains the necessary commands for getting information/relay states/relay 2 control (currently unused), but these aren’t exposed via HTTP. We’ve not dreamt up a use for the second relay yet, I suspect further evil will happen at some point again in the future.