The Road To Hull…

Reading Time: 12 minutes

I rather suspect that I was not the one person that James thought would be reading his blog article, but nevertheless I did and with some interest. There are many routes to and indeed through university and it struck me just how different my story is to his.

Sadly this tale takes place before the prevalence of digital photography so it’s a little light on images. In fact it really begins at a time when photography itself was in its infancy, paint was the order of the day.

John Constable: The Wheat Field
John Constable: The Wheat Field

Never Destined for University

My ancestors didn’t go to university. Most of them barely went to school. They were farm hands and factory workers with the odd miller and dressmaker thrown in just to add spice. In 1944 however there were significant changes to the state education system – changes that meant that both my parents were able to get a far better education that their predecessors.

I was born into what was very definitely a white collar family. I would argue that we were working class – even though my parents made their living with the pen and not the plough we had no central heating, double glazing, car or telephone.

I was a normal child, I loved sport and playing outside, building dens and generally acting like I was a character from a Just William book, or more likely from the Beano. I quickly noticed though that my interest in science and maths was a little more keen than most of the kids around me. The roofs of my dens stayed up and it wasn’t my aerial runway that snapped, dropping Craig derrière-first into some very uncomfortable looking brambles.

In the early 1980s home computing was taking off and my elder brother wanted to be right at the cutting edge. We couldn’t afford that, but we had a steady stream of second hand equipment that he’d push to its absolute limit. I was a bit young for this but I tried to join in, I think I annoyed him quite a bit but these were valuable lessons to me. I learnt to program a computer when I was about 8 years old, about the time I learnt the offside rule.

I found school frustrating. I had trouble concentrating in the classes I wasn’t interested in and trouble coping with how slow the ones I was interested in moved. Nevertheless I did quite well, but I’m sure there were a few teachers tearing their hair out in the full knowledge that if I actually applied myself in their classes I could have done so much better.

I knew what I wanted to be though. I knew at 8 years old that I wanted to be a computer programmer. These were exciting times and the more and more I heard in the media and the more equipment I managed to get on the bench in front of me the more I was sure. Studying history was just not where it was at. Who learned anything from history anyway? Computing, that was where you had to be. Computing was going to be increasingly important in society and it was going to be where I made my career.

There was a problem however. My parents were quite remarkable simply because they had both stayed on at school to get O Levels and not left to find work at 14 (or even 11). A Levels? University? It wasn’t something that was in my culture. Besides, by age 16 I felt that I’d had just about enough of formal education, I felt I was being babied by the system, it was channelling me down a very generic route and actually preventing me from studying the things that would be best for my future.

British Telecom Research Laboratories

Fortunately for me, British Telecom’s world renowned research facility at Martlesham was a comfortable cycle ride from where we lived and at 16 I joined their Trainee Technician Apprentice scheme to train to be an electronic research technician. I never had any intention of actually working as an electronic technician though, by that point it was clear that electronics research in the UK was all but dead. If BT were going to continue with research it was going to be in software, not electronics.

The training group had tried their best to alter the apprenticeship to reflect this, but in reality they hadn’t gone anywhere near far enough.

BTRL - Now Called Adastral Park
BTRL – Now Called Adastral Park

I was young and rather petulant, the course wasn’t what any of us needed and I was – on reflection – rather obnoxious about this. I almost got fired. Several times. They really weren’t happy with me doing just enough to scrape through the electronics stuff and using the time and facilities to learn more the kind of computing that I thought I was going to need. To them I was pig-headed and insubordinate. To me they were irretrievably mired in the dogma of a dying industry. I was just – but only just – smart enough to toe-the-line enough not to actually get fired, even so I sailed pretty close to the wind a few times. I even wrote a farce called “BT Terminated” which loosely chronicled the battles I had with the Training Division. They found a copy of it and did not see the funny side. I almost got fired for it.
Nevertheless I did actually enjoy my time as an apprentice and the TTA scheme was hugely important to me, a lot of the skills that I still use today were learnt on that programme.

Somehow I made it through
For some reason I thought a purple silk shirt and braces was a good idea.

BT’s Operations and Maintenance Centre

I graduated from the training scheme and went into the OMC team. At that time the Operations and Maintenance Centre was a network of computers that controlled the vast majority of telephone exchanges in the UK. This was very different to the systems I’d been working on as a trainee which were generally small experimental developments.

The OMC team wasn’t really my first choice, the problem was that I was very conscious of what the training division thought of me and there was no guarantee of a job at the end of the apprenticeship, so I thought any job in software development was a good outcome.

Unfortunately I walked straight into the same kind of problems that I’d battled throughout my apprenticeship: the OMC used some rather dated technology and methods and wasn’t really compatible with my enthusiasm for being on the front-line of technology.
They viewed me as a having a dangerous obsession with the cutting edge that was putting the UK’s telephony infrastructure at risk and I viewed them as dangerous Luddites whose desperation to cling on to the 1970s, use defunct and irrelevant methodologies and archaic technology was putting the UK’s telephony infrastructure at risk. The truth of course, was somewhere in the middle and if we hadn’t all been quite so pig-headed I think we could have achieved something rather significant.

It was in the OMC team though that I first learnt the realities of trying to build and maintain a large mission critical system that required extraordinary resilience. A lot of the lessons I learnt then are very much still with me today.

I was conscious though that my technical skills were falling behind the curve and that was going to make it difficult for me to find a more suitable position. I needed to get out of there or my career would suffer. Unfortunately at the time the OMC team was deemed to be under-performing which made it very difficult for anyone to transfer out. If I was going to get out, it was almost certainly going to be out of BT.

Then a few things kind of happened at once. Firstly, a new boss arrived – he’d come through the graduate programme which wasn’t unfamiliar to me, I’d worked with graduates during my training programme and these were some of my favourite times, their theories and my practical ability were a good combination in the research environment. We made some pretty remarkable stuff happen.

That did not happen here.

The new boss was a nice guy and he was doing his best, but he was a new graduate trying to deal with an embittered and demotivated team and he wasn’t shining. To me it was really obvious: he had no special ability, no great knowledge of how to develop software that had been imparted to him in the hallowed halls of some arcane seat of learning. He was now just like I was when I was 16, starting out learning his trade, it’s just that he was doing it as a manager not as a technician.

Some time around then, one night in the darkest corner of the dingiest nightclub in town a girl I’d met a few weeks before said something that would change my life forever.

She said “You must meet my friend, I think you’ll like each other”.

Some Kind of Stranger

You know those things that really only ever happen in films? Your eyes meet across a crowded room, you tip your hat, smile and calmly wander over to where she’s stood. Something witty immediately springs into your mind and everyone lives happily ever after. Yeah, it didn’t go anything like that.

I’d never been formally introduced to a girl who I was supposed to like before and it was all a little awkward. We both – almost immediately – pursued relationships with other people. Nevertheless I couldn’t get the girl out of my head so I was glad that we started turning up in the same place a lot of the time. I was more glad that I wasn’t the only one doing it deliberately. With the pressure off we’d chat a lot and, well nobody was surprised when those other relationships didn’t last so long.

One of the first things she told me however is that she was going to University next year. I knew that almost all long distance University relationships fail – and fail quickly. I didn’t want to lose her.

I’d long held the idea that when I was a bit older I’d take what amounted to a career break and go to University. It was a target that I’d chalked onto the wall of things that I’d like to achieve at some unspecified point in the future.

Right now I was going nowhere in my job. I knew that this was the kick up the arse that I actually needed.

I looked at the new boss’s salary and mine. I looked at the progress that I could possibly make in 3 years if I stayed. I did the sums, I calculated the opportunity cost. It was clear that getting a degree for me at that time was a good investment.

At the time the web was taking off and the opportunities for software developers were rapidly increasing. I thought it highly unlikely that I would struggle to find a job even if university didn’t work out. The girl however, she was definitely for keeping.

BT did sponsor people to go university but they only allowed the cream of the crop to apply and not only did I have a the under-performance of the OMC team to contend with but the fact I’d narked off pretty much everyone in my command chain throughout my entire career up to that point.
BT were however offering voluntary redundancy which, if used wisely, might just see someone through 3 years of study.

Suffolk Wildlife Trust

Unfortunately the redundancy scheme was closing and it would leave me with a 9 month gap until until the start of the next academic year. So I took a career break and I actually ended up working for Suffolk Wildlife Trust. They needed IT skills which I could provide, at the same time I was able to get out into the meadows and woodlands of Suffolk as part of their habitat management function. Spending 9 months of my life not chained behind a desk was just the sort of break I needed.

A lot of this work actually meant leading teams of volunteers and this was one of the most valuable experiences of my life. These people wanted to work, but a lot of them – for a variety of reasons – had been tossed onto the scrapheap of life. Many of the people had learning difficulties and this is one of the times I remember my perspective on the world suddenly whirling round to a totally different angle. I had to find a new way to lead because what worked in the lab and on the sports field wasn’t going to work here. I learned compassion, patience, understanding. I learnt to lead by not just giving orders but also by supporting people and enabling them to get the job done. Mostly it was simple things like not sighing when I had to explain for the 19th time that day how to use a brush saw. Seeing someone’s expression turn from sadness to joy just with the simple words “You’re doing a good job!” is a powerful thing indeed.

The skills I learned at SWT have helped me in so many ways in so many different parts of my life I can’t even begin to try to quantify. I was genuinely sad when my time with them came to an end.

Going to University

...from my student card
…from my student card

Hull got short-listed almost by default, it was one of only six universities that offered both the degrees we wanted. Outside of Oxbridge it was the second highest rated. We also both knew people at Hull and it came with good personal recommendations.
It’s worth mentioning that I was 21 at the time which meant that I counted as a mature student and the fact that I didn’t have A levels or equivalent academic qualifications was therefore not an automatic bar to my acceptance onto a course. Having said this I did still have problems getting traction with quite a few places. I realise it was easy to overlook my application, I’d done an apprenticeship in electronics but that probably just meant that I was just really good at soldering. Similarly I’d worked for a software house as a software technician but that could mean that I was just loading copies of Word onto people’s PCs. Hull was one of very few establishments that I believe properly considered the detail of my application rather than simply dismissing it on face value.

I wasn’t exactly the normal first year student. I’d already been through the phase of being young and away from home. I’d also come from an environment where not turning up in the morning because I’d overdone it the night before wasn’t an option. I went out a lot, but I knew when to call it a night. Having said that there are plenty of weekends that I plainly don’t remember.

So in a remarkable turn-up for the books I turned out to be a model student. I’d finally got myself into the environment that I wanted, actually studying the subject I wanted. Sure there were aspects of the course that I didn’t agree with but I’d grown up a lot since leaving BT. Yes I was still annoyed because I believed my time could be better spent in some areas but I’d gained a sense of perspective, the problems really weren’t that bad and the overall result was very much for the better.

At the time the big software corporations hadn’t got involved as much with student activity. There were a few events, notably The British Computer Society Challenge which is the reason you’ll find my name etched into one of the plaques on the wall in the department.
The department itself also ran a number of challenges which I always seemed to manage to unintentionally avoid, usually through strange coincidences such as them happening to book the closing date on the same day as a major music festival.

I had fleeting involvement in Freeside. When it started the main aim was to explore free, open source software and to get such operating systems (not just Linux) running on any hardware it could get its hands on (not just PCs). I would have liked to have spent more time on/in Freeside but it just didn’t happen, by the time I really became aware of it I was moving into my third year and a lot of extra-curricular activity was dropped so I could concentrate on the important things.

I don’t remember much about the third year, I don’t remember a single exam and I only have the vaguest memories of graduation.

Graduate Life

Apart from a brief sortie into the world of database middleware development I stayed in the area of communications and large public safety systems. Something had changed though, I was no longer that petulant child trying to fight against everything I saw as wrong. All that natural drive and energy were now being used in a positive direction, they were making a huge difference in my career and were really helping the businesses that I worked for.

The Seed Office at about 8am...
The Seed Office at about 8am…

In 2008 however I was ready for a new challenge, something that I knew was going to be different and take me to places I’d not been before. So 8 years after graduating I rejoined the University of Hull, this time not as a student but to lead the development of the Brigid Command and Control system. Seed Software has undergone a few changes since then and my role has changed and developed. Being a student at Hull was the first time I really felt at home with my career in computing. Being there as a leader and a mentor is an immensely fulfilling role and one I hope to be able to continue for some time to come.

If you’re wondering what became of the girl, I saw her recently. She’s doing well, has a very successful career. She lives in a little Georgian Cottage in Suffolk with a small black and white cat and her husband, who just happens to be a certain Computer Programmer.

Using IP Webcam to Boil Eggs

Reading Time: < 1 minute

Cooking With IP WebcamIP WebCam RemoteI end up using the IP Webcam Android application for all sorts of things. It’s really easy to prop or jam an Android device pointing at something you need to keep an eye on or even push the device somewhere where you just can’t get your head. Then fire up a web browser and monitor the output stream.
Today’s issue was that I forgot to boil some eggs for lunch, so I propped my Wildfire S against a spare pan and went back to the office. There I monitored the webcam and started the timer when I saw the eggs boiling. They were ready in perfect time.

Seed At BAPCO 2014

Reading Time: 3 minutes

Tom at BAPCO 2014
British APCO, or simply BAPCO is the Association of Public-Safety Communications Officials. At Seed we produce not only communications systems for the emergency services but many of the applications that use them: in-vehicle systems, hand-held systems for mobilisation and data capture and our Command Control mobilising system.

So being represented at BAPCO’s large annual event is important for us. In previous years we’ve piggy-backed on some of our partners’ stands but this year we decided that our portfolio was significant and mature enough that it warranted its own stand.

The results were pretty amazing, there was a real buzz around the stand with people from all over the emergency services and public safety spectrum coming to talk to us and find out more about who we are and what we do.

It was a lot of hard work though; it’s nearly a week later as I write this and I’ve just about finished tidying up all the admin. For the other guys it’s been a much longer road. I was able to simply turn up to the stand on the first day. There were weeks’ worth of preparation effort before that – design and planning. Then the guys had to put everything in the van, drive it to Manchester and get the stand set up. We don’t have people to do any of this for us, so it was great experience for our young software developers to be part of the process right from the graphical design to screwing shelves into the wall.

They were also in the front line on the stand, talking to people and demonstrating our software. In the average business only very senior technical people get to do this, so to be able to give them that kind of experience – and just the experience of being at such an event – is a great benefit.

It wasn’t all work and no play though. We had some fun, such as the reaction training (computer) game at the official dinner – well there was only ever going to be one winner of that! We now know who plays the most shoot-em-ups too, and it wasn’t who we thought.

As a business, BAPCO 2014 gave Seed some great opportunities. Firstly we were able to connect with our existing customers and partners. As we don’t have any customer relationship managers every opportunity to spend time with the people we currently do business with, to talk about openly about their needs and where they see those needs going is really important. Getting those discussions out from drab meeting rooms and into an environment of seemingly limitless possibility is also important because at Seed we’re always looking forward, trying to work out ways that we can use technology to benefit our customers and our society.

We were also able to get the message of who Seed are, what we do and why we’re different to a much wider audience. Sure just about everyone in the Fire Service has heard of Seed but not many knew that nearly a third of England’s Fire Services have a Seed system. Not many realised that we started back in 2005 and that since then we’ve grown a lot; we’re not just in-vehicle terminal (MDT) providers any more, we have a full portfolio ranging from data capture to our own Command and Control mobilising system.

Seed is not limited to the Fire Service either – some of our products are as applicable to other emergency services as they are to Fire and further even that that. Our mobile forms product for instance is applicable anywhere where field workers have to fill in forms that need to be centrally collated.

Being able to stand in a room where most of the UK’s public safety organisations are represented and give those messages loudly and clearly is a hugely positive thing for us. We’re all very glad we did it. I enjoyed it too, sure it was tiring but it was very definitely worth the effort.

There’s more specific information about Seed on our web site here and my blog here. Also feel free to contact me directly at T.Fosdick@hull.ac.uk.

There are some photos and a video from the BAPCO event on our Facebook page.

A Hole in the Mobile Phone Market

Reading Time: 2 minutes
HTC Wildfire S
HTC Wildfire S

This is my mobile phone, or cellphone if you will. It’s a HTC Wildfire S running cyanogenmod 9. Sure it was never an expensive phone but I didn’t get it because it was cheap, I got it because it was small.

I am notoriously hard on kit. Something like a mobile phone just gets shoved in my pocket and ends up doing whatever I do. Scaling roofs to find mobile phone signal is perfectly normal in my world, as is climbing into the loft, crawling into tight gaps and running out in a howling gale to rope the remains of the fence to something a little more stable.

Amongst my friends, many of whom have the same attitude to life as me, there is a catalog of broken phone screens. My little Wildfire S has lasted a few years now without any serious damage.

It is however getting a little long in  the tooth. It never had even remotely enough memory to start with and fiddling it to make it think that a portion of the SD Card is actually internal memory isn’t the most reliable. It’s also suffering a bit with a lot of modern apps which are a getting a bit slow.

So I’m in the market for a replacement – I figured this should be easy as there are a lot of new “mini” phones on the market. Only they’re not, the new “mini” phones are only mini compared to their tablet-size counterparts.

The look of horrible confusion on the face of a mobile phone stores salesperson is one I’ve got well used to, “sorry, I’ll just repeat that. I’m looking for a small, tough smartphone. Not a 6 inch mini-tablet that will break as soon as I attempt to climb a ladder with it in my pocket.”

I’m never far from a PC, a laptop or a tablet. I don’t need a mobile mini-tablet, what I need is a smart-phone, something that fits in my pocket and allows me to check social media and run a few tracking and navigation apps and maybe listen to Buddy Guy.

Surely this isn’t too much to ask?

I Baked a Bread!

Reading Time: < 1 minute
Actual Bread! From My Oven!
Actual Bread! From My Oven!

It’s not a big thing, especially considering all the culinary adventures I’ve had, but up until 7pm this evening at no point in my life had I ever attempted to bake bread. Those two mini-loaves on the right are my first ever attempt and not only do they look like bread they actually taste like bread too!

As a child I was fascinated by how my mother would mix the dough and kneed it. Then the magic started – the dough would rise. Then she’d bake it and we’d have bread. My mother made bread, wonderful smelling soft bread. Most people had to buy bread, but my mother could make it. To my child’s brain that was very impressive.

This probably explains why I’ve been entirely happy to undertake some ludicrously complex and technical culinary challenges but to date not bread baking. I was scared. I was scared that I might not be able to do it and that if it didn’t work it would ruin the memory of that smell. It would ruin part of my childhood.

But it did work, and actually to me it’s quite a big thing.

The Revenge of the Sprout

Reading Time: 2 minutes
Sprouts!
Sprouts!

Like any sane and right minded individual, since a young age a good portion of my Christmas lunch time has been dedicated to avoiding the terror of the Brussels Sprout. Tiny pockets of horrible the little green blighters stalk dinner tables up and down the land at this time of year. Leave just a tiny space on your plate and they mount a full assault, screaming their war cry, “Do you want any sprouts oh go on have one oops that was seven oh well they’re good for you!”

This situation is exacerbated considerably in my case. Living in a rural area has some great advantages, but it has its hazards to. In particular there is the danger of knowing a sprout farmer, which I indeed do. So for me not only is there the danger of copping a sprout grenade at a friend or relative’s house I’ve got two enormous stalks of green ghastliness sat in my pantry staring at me.

A little while ago though a good friend of mine took me aside and whispered in my ear. The trick”, he said, “is to cut them in half and roast them with butter and ginger – lovely!”

I didn’t have any butter but I did have some extra virgin olive oil and some ginger paste, so I put a good glug of oil on a baking tray and mixed in half a teaspoon of ginger paste. After taking the outer leaves off the sprouts I then halved them and put them cut-side-down on the baking tray, threw a pinch of salt over the top and chucked them in the (fan) oven at 180 Celsius for 10 minutes.

As promised they were indeed lovely – the outer leaves a little crispy and slightly sweet and the inner full of ginger-laden flavour.

Like many things the problem with sprouts is not the sprout itself, it’s the fact that many people have no idea how to cook them in a way that I like.

Ghostbusting the Central Heating

Reading Time: 5 minutes
Mr Pump
Mr Pump

I lost last weekend, although not in a hotel in Amsterdam[1]
I lost the weekend trying to find out what was wrong with my central heating system. What follows is one of the most bizarre journeys of home maintenance that I’ve ever been on.

It all started when I was woken on Friday by a nasty groinching noise – the sort of groinching nose that an expensive electro-mechanical device makes shortly before it relieves you of the contents of your wallet. Worryingly the only two candidates in the next room were the central heating pump and diverter valve, both of which definitely fall into the category of expensive.

I crossed my fingers that some sort of airlock was responsible so bled the pump and a couple of nearby radiators. Hey presto the system burst back into life so I went back to bed.

On Friday night however, whilst I was cooking, I heard a very similar nasty groinching sound coming from the boiler. My wallet yelped, then ran away and hid. Praying to the gods of home maintenance that I wasn’t going to need to call a plumber I hoped that the boiler was simply resonating a sound that came from somewhere else. Regardless, the system was clearly unhappy so I went upstairs and turned the central heating off, but for some reason I can’t quite fathom left the hot water on.

It’s at this point I need to mention that we have a Y-Plan system – the water that the boiler heats can either be used to heat the hot water tank or the radiators depending on the position of the mid-position (diverter) valve.

What happened next surprised me slightly. The boiler fired up and the pump started running – no nasty sounds. So the problem was clearly not the pump and I started to look very suspiciously at the diverter valve. Motor valves are notorious for failing, jamming and just generally going wrong. So I grabbed the “manual” lever and waggled it about. It moved freely but something else interesting happened – the boiler stayed running no matter whether the diverter valve was sending water to the hot water cylinder or round the central heating circuit.
So I left the valve in the mid-position sending hot water to both circuits and we had heat in the radiators. Until the hot water cylinder got up to temperature, which was rather too soon for my liking.

It’s times like this I’m glad that I have a chunky wood burner.

I had things to do on the Saturday but I did manage to get rather a lot of reading done – service manuals for everything in the system and at the end of it all everything was still as clear as mud. One thing that did occur to me though was to measure the boiler input voltage. When the system thought it was heating hot water – regardless of what it was actually heating – there was a something around 240V at the boiler.
If I switched it to central heating it dropped to 150V. So the nasty groinching sound – the sound like something failing to start was probably not because of a mechanical failure but because of a lack of juice.

I breathed a sigh of relief – the fault was electrical. The only component unique to the central heating circuit was the room thermostat my beady eye of suspicion fell upon it. Basically a thermostat is just a temperature controlled switch so I decided to bypass it, just to test. In theory this was a perfectly valid thing to do – if the central heating worked with the thermostat bypassed it would point very strong indeed at the thermostat being at fault. The problem was that the central heating control circuitry is a mixture of two different manufacturer’s wiring instructions and I misinterpreted. So instead of bypassing the thermostat I actually shorted out the output of the programmer. I had a pretty good idea what I’d done when I flipped the “On” switch and heard the almost instant clank of the trip switch flipping “Off”. I may have sworn. Quite a lot. This is because I’m a trained and apprenticed electronic technician and as such this kind of control circuitry is as much, if not more my domain of expertise as an electrician. So making this sort of cock-up is highly embarrassing. I swore some more, to make sure there was enough swearing to communicate just how annoyed with myself I was.

Then I removed the erroneous link wire and prayed once again to the Gods of home maintenance, hoping this time that my stupid mistake hadn’t fried anything expensive. After checking the circuity and components for any physical signs of damage I crossed my fingers and flipped the switch back on again. Initially I did think I’d got away with it. Nothing fizzed, popped or banged, there were no strange smells and nothing appeared to be getting hotter than it should. Nothing that is apart from the boiler which was merrily heating water and the pump was happily whirring away. This was odd because both the central heating and the hot water were turned off at the time.

At least I knew I didn’t need a plumber. I knew who to call; Ghostbusters.

Now I’ve never been particularly frightened by the paranormal so I thought I’d take this opportunity to do some investigation. If I turned the thermostat up to 30 degrees the boiler stopped. If I turned it down to 10 degrees and the boiler started again – the boiler, pump and thermostat were working perfectly.

The real issue though was that I’d made matters worse. Not only did I have the problem of the nasty groinching sound to solve but my central heating was now being operated from beyond the veil. So I grabbed a plastic colander, put it on my head[2] and began my journey into the supernatural. I’d recently short-circuited the output of the programmer and now there was a switching malfunction. I had a pretty good idea what the problem was. Inside the Danfoss CP75 programmer are two relays, one for the hot water circuit and one for the heating. With it all safely isolated I popped the case off the central heating relay and found precisely what I expected – a miniature poltergeist with a teeny-tiny arc welder had mischievously welded the contacts together.
The real explanation is a little more mundane – this is not unusual for a relay that had been massively, but only momentarily, overloaded (say by some idiot shorting the output). As the contacts meet the sheer amount of power melts the surface and they weld together. The breaker then cuts out and prevents further damage. If you’re lucky the damage is only superficial and a little tap will break the weld.

I was lucky. What I did notice however was how much crud there was around the contacts. A few minutes with some fine grade wet-and-dry soon had them looking like new.

I put the programmer back and hey presto the system now works perfectly both for hot water and heating. Apparently so much crud had built up on the relay contacts for the central heating circuit that it was no longer making proper contact at all.

Danfoss CP75
Danfoss CP75

A good result in the end. Sure calling a “heating engineer” might have saved me quite a lot of time – someone with experience would probably have identified the programmer much more quickly than me. But then I wouldn’t have got to run around the house with a kitchen utensil on my head singing old Dean Martin tracks[2]
They’re also unlikely to have identified the output relay directly. Those programmers are no longer made so not only would a “heating engineer” be charging me a premium for a new programmer I’d be facing a substantial bill for wiring it in, too.


[1] If you don’t get the reference search for Lloyd Cole & The Commotions – Lost Weekend
[2] Insert “as is the tradition of my people” or “as my faith demands” as you choose.

The Accidental Feature Hazard

Reading Time: 3 minutes
Plainly Not a Racing Car...
Plainly Not a Racing Car…

An accidental feature has just bitten us in the butt. I thought it worth a quick mention because it’s one of those things that happens quite often in the software industry and it’s more complex than it might first appear.

In this case it’s the ordering of a list – the customer had noticed that the list was always in a particular order. They wrote their training notes and indeed their operational procedures based around the fact that this list was always in that order.

We didn’t explicitly program the list to be in that order, we didn’t declare it as a feature that it’d be in that order, nevertheless it so happened that it was. Then we fixed a bug and as a result the ordering of the list changed slightly.

Now we have a bug report complaining that we’ve broken the list.

There are certain elements of the software development world that now would be waving their in-depth specifications at us crowing about how bad Agile is at this kind of thing and how if we’d “done it properly” then it would have been clear from the start that the list was in no guaranteed order.

They would be mockingly waving those specification documents if a) they could move them without a fork-lift and b) they hadn’t been put out of business years ago by Agile software houses like Seed.

Would it really have helped though? Perhaps – maybe the customer wouldn’t have relied on the ordering of the list or maybe they’d have spotted that it wasn’t ordered and asked for a change in the specification before the initial delivery.
Actually that isn’t so likely. Such specifications are often so complex and confusing that they never get much distribution within the customer organisation and if they do the number of people who understand them is limited (often to zero). The likelihood that the people who needed to know that the list was not in a guaranteed order actually knowing this is rather far from 100%.
Naturally there is also the risk that no matter how detailed the specification that particular detail was omitted.

So it is by no means certain that having an in-depth specification would have prevented this from happening. The only thing it is likely to do is make the contractual situation unequivocal.

That’s not the real question though, what we have to consider is what the result of us batting it back to the customer with the comment “well we never said it would do that in the first place” would be. Even with a water-tight contract such a response would have to be carefully considered.

The software industry today relies on good customer relations, repeat business and reputation. We want the customers that are using our software to continue using our software, not least because they pay an annual licence fee. Even if you’re an app developer for smartphones you have to be careful – if you annoy your customers they post bad reviews and there’s only so many bad reviews you can face down before you app dies in favour of someone else’s that has better reviews.

From a purist software development point of view this list ordering is a feature request, indeed that’s what we’ll call it internally. The relationship with the customer however is a far more complex matter – every customer tries to get at least some of their feature requests through as bugs in the hope that they’ll either get them for free or that they’ll be treated with a higher priority. If you let the customer walk all over you then you’ll be in trouble. On the other hand the age of profiteering has long passed and if the customer thinks your trying to charge them unjustly to fix genuine bugs then you could find your reputation damaged and your business will suffer as a result.

We may think of Computer Science as a logical, scientific profession but the reality of being a good software developer is that you not only need to understand logic, but you need a good grasp of politics too.

Behind the Scenes – Internet and the Office Roof

Reading Time: 7 minutes

There’s almost a throw-away comment in my last article, The Internet and the Office Roof “I was prepared”. We all knew about the St Jude storm and we knew fairly well when it was going to hit. But what does “prepared” mean? What did I do and what do I have that made me well prepared?

In many ways that story is far more important than me jumping on and off the office roof trying to find some mobile Internet. There’s some kit I have that’s useful but let’s start here because it’s simpler;

Things I Did Before the Storm

Loose objects outside are problematic. They can get blown around and damage themselves, other things or simply get blown away. So the day before the storm I had a wander around. Bins are a classic problem but ours have a little pen they live in and I thought them safe.

Garden furniture is another problem but ours is folding, so I collapsed it all and weighted it down. It’s quite heavy so in that state I was confident it wouldn’t budge.

I also surveyed the structures around the house – the decking, the fencing, the bin pen, the Wendy house. Were these in good condition? Were there any parts loose or vulnerable that might need fixing down?

Water Container
Water Container

I took the time to draw some water into the camping container. Some large scale power outages were possible and there are a lot of electric pumps in the water network. Although we didn’t lose water there were disruptions nearby.

Rechargeable devices are great, but useless if they’re not charged. So the day before the storm I made sure that everything that I use and all out battery packs were on charge well in time for the storm.

I had a good look at the house too – did everything look in good order? Again anything loose or vulnerable could cause big problems. Chimney pots for instance are pretty big and heavy, you don’t want a loose one crashing through your roof.

Things I Have that Might Help

An “A” rated freezer like mine is a far better place to store cold food – even if it’s turned off – than a cool  box. However the greater the thermal mass in the freezer the longer it will remain frozen. If you have a load of cool blocks it’s worth chucking them in the freezer a day or two before the storm (which I did).

I always keep a stock of tinned and packet food in as well because this is the country and things happen. A few days worth of relatively nonperishable food is a good thing to have regardless. I make sure that I always have rice, lentils, dried egg noodles, soy sauce and spices. You can make a stir-fry with all sorts of things, most notable vegetables which you can store for a good period of time without a fridge and you can always make lentil curry.

I have a lot of camping gear – stove, lights etc. I made sure they were all easily accessible. It’s nice to have a kettle rather than just boil water in a saucepan, but it’s by no means essential!

Batteries
Batteries

A lot of camping things are battery powered rather than rechargeable so I make sure that I always have a small stock of (the right) batteries.

 

Three of my favourite (portable) lights are these.

Nightsearcher Trio
Nightsearcher Trio

The NightSearcher Trio is available from a number of places. It’s a rechargeable LED torch and it’s exceedingly bright. It has a big handle that’s easy to grab and a flat bottom which means that it can be placed upright – pointed at the ceiling. In that mode it will happily light an average sized room. It claims to work for up to 23 hours. I can’t vouch for that but I can vouch for the fact it lasts many hours indeed.

 

UltraFire Torch
UltraFire Torch

The Ultrafire Q5 is another torch, but it’s a pencil variety. It can run off its own special battery (expensive) or a pair of AAs. It’s nothing like as bright as the Nightsearcher but is pretty impressive for the size.

 

Tilley Lamp
Tilley Lamp

A Tilley Lamp – this is a pressurised paraffin lamp so you really need to know what you’re doing to use (and maintain) one of these safely. It throws off a reasonable light and will last several hours on a tank of paraffin (kerosene). Its big advantage is that it also throws off a lot of heat as well so if you’re stuck with neither light nor heat it’s ideal.
The most dangerous thing about these is getting one lit. After that – with reasonable caution – they’re safe to use indoors.

 

Powergen
Powergen

The Powergen is a mobile phone power pack. It’s essentially just a battery with 3 USB ports on it that provide power. It also has a LED torch on it. It’s good for about 4 charges of a modern smartphone.

 

Old Corded Phone
Old Corded Phone

A corded telephone – when the electricity fails generally a cordless phone base station stops working. The resilience of the UK Telephone network is actually quite good and the chances are that even if the power is out the phone will actually still work – as long as you have a phone that doesn’t need any power other than from the phone line itself. This particular phone lived in a workshop for years, hence the sawdust.

 

Nokia 6310i
Nokia 6310i

A Nokia 6310i. It’s an old, stupid mobile phone but from a disaster-coping view it stands out in 2 ways.

  1. The transmitter and receiver on this model were particularly good.
  2. It has a genuine 3 week standby time.

This gives me a pretty good chance of being able to communicate even if everything else goes wrong – and for some time too. Although I still have to sit on the office roof (or walk up the nearby hill) to use it.

 

Tea Light
Tea Light

Tea Lights – small self-contained candles that apparently can last up to 8 hours. They last 4, but they’re cheap and can be used relatively safely without the need for candle-sticks.

 

12V Power Pack
12V Power Pack

A 12V power pack. These are actually designed to start cars that have a flat battery but they come with a range of accessories, notably torches and car accessory sockets. We have one primarily to keep our smart-phones topped up for a week or so when we’re camping well away from power. There are a lot of things you can run from a car accessory socket. Some power packs even have inverters so you can use normal household appliances with them (although probably not for long).

 

Pure One Portable Radio
Pure One Portable Radio

A battery powered radio – in this case actually a DAB and FM / AM radio. Local radio is often the most reliable source of information when all other forms of communication are failing.

 

Bombay Sapphire
Bombay Sapphire

Gin – it’s good for cleaning wounds and in dire circumstances it can be used as fuel. Apparently some people drink it, too.

 

Work Related Things

Half of your county might be without power but the rest of the world doesn’t stop. You’ve got to try to continue to work as best you can. Naturally I have back-up plans.

My main machine is a high-end laptop with an SSD that I normally use docked. This has two advantages.

  1. It’s effectively its own UPS.
  2. I’m mobile. I can work anywhere I can put the laptop down without having to move a lot of stuff.

I have a good quality laptop backpack bag. This means I can cycle easily with my laptop – useful if for whatever reason the car in unavailable or, let’s say, the local roads are strewn with broken branches, fallen trees and other debris.

I did consider getting a mobile broadband deal but I end up without Internet / WiFi so infrequently that it just makes no sense. For the amount that I need it I can tether my phone instead.

My parents-in-law are in easy cycling distance and they’re on a different telephone exchange and use a different ISP which means that the chances of the Internet failing in both locations is fairly small. There are also (actually) a few WiFi hotspots in the local town and there’s another town that’s not too far away that has loads.

I have a SIP phone which means that I have a telephone – the same telephone – wherever I can find some Internet with half reasonable bandwidth.

The Internet and the Office Roof

Reading Time: 6 minutes

I thought I’d got away without any ill effects from the “St Jude” storm on Monday – not so. My Internet failed yesterday morning; I felt like I’d had an arm cut off.

I’m a remote worker – have been for 2 years (a fact that I really should blog more about). I knew the lack of Internet was going to cause problems but I didn’t realise exactly how much.

Tom on the office roof
Some Internet, at least!

The first thing I had to do was call the ISP to find out what was up. What’s their phone number? Well it used to be on a piece of paper under the router along with all the technical (but not security) details of the connection. The paper was missing. There’s no mobile phone signal at my address so the next image I would like to present to you is me, stood on the roof of the office at the end of the garden waving my phone in the air because if you’re really lucky on a clear day you can get some mobile signal there. Eventually I got enough mobile Internet packets to find their phone number.
Apparently the Internet problem is due to local power problems and they can’t give me a fix time because the power company won’t give them one.

No problem I say to myself – my team know what they’re doing they can survive without me as long as it’s not days. I’ll just let them know. Precisely how am I going to do this then? I’m usually pretty easy to contact, Email, Skype, MS Lync, Google Talk, SIP phone, none of which are going to work. I don’t even have any of the team’s mobile numbers. Telephone again then. The next problem is that I never actually call the Departmental Office so I don’t know the number.
That’s me on the roof of my office again waving a mobile phone around for 10 minutes trying to find the number before I realise that although Outlook won’t connect I will still have my email and the office number will be in someone’s signature – sorted.

Now down to business and for the first time I’m ahead of the game. I know I won’t be able to connect to the Team Foundation Server so I take a back-up of the source tree and then open the solution offline. The problem I’m working on is a complex one, the code didn’t make much sense – I mean I understood what it did, but what it did didn’t seem logical. I needed some context so I wondered if it had always been done like this. Usually I’d look at the module history, but that’s all in the Team Foundation Server that I don’t currently have access to.

Never mind I think, I’ll tackle a different problem, one that’s SQL Server based. Quickly I realise that I can’t remember the syntax for the OVER / PARTITION aggregate functionality. So I have a go, get it wrong and then hit F1 for some help. Which is online, so that’s a non-starter.
But I do have a book on SQL Server that I can refer to. In Safari, the online book system. That’s not going to work either.

Clearly this lack of Internet is becoming quite a problem. I am inventive though and I’ve got a spare satellite TV dish. I wonder to myself if perhaps I mount my mobile phone at the focal point of the dish and direct it at the most line-of-sight phone mast I might just get enough signal strength to tether the phone. I suspect that the answer is a strong no but maybe there is something sensible and practical I can do to improve the signal. I’ll just Google… oh wait, no I won’t.

Small scale disaster planning though is something I blogged about a while ago so I should be on top of this right? The primary backup plan for power / internet loss is to go to my in-law’s house in the nearby town. The problem is that they’re at work. My wife has a key but she’s away on business. To be honest this kind of suits me because I find laptop screens rather limiting, I far prefer the large pair of monitors I have in my office so if I can manage without Internet that’s better for me.

Nevertheless it would be good for me to get some Internet at some point, check emails, make sure the team are OK etc. The secondary backup plan is to find some public WiFi. There’s none in the village (and it wouldn’t work even if there was) so I ponder popping into the local town for lunch – the car is also away with my wife on business but the weather looks OK and I have a bicycle and a laptop backpack bag. I wonder what the weather forecast will be for later though – I’ll just look that up on the Internet… erm, no. Oh well, I can risk it, I have wet weather gear. I’m certainly not going to risk it though unless I can guarantee a cafe or coffee shop that has WiFi and I don’t remember seeing any adverts when I was last there. I’ll just Google… oh no, wait, no I won’t.

Just as I’m thinking this something pops into the back of my mind – I’m sure I remember reading when I signed up for my broadband Internet access that they had a backup dial-in option. The details of that will also be on that missing piece of paper but I remember printing it out from an email. So it’s back onto the office roof for me searching through my email history to find the details. They do indeed, but sadly it’s a national call rate number which means it would get expensive very quickly – but it was enough just to check my email.

At about 9:30pm the situation got even worse, I lost electricity as well. I live in the country where there is no street lighting. I was on the stairs and it suddenly went dark. I was prepared for this – there were torches at strategic points around the house and I got the candles and lighter out so I could find them in the dark.

What I wasn’t quite prepared for was how dark it was, it was pitch black. So I sat down with a view to waiting until my eyes picked up some light. Unusually for the house however I had my mobile phone in my pocket so a few seconds later I was carefully making my way down the stairs to one of the torches.

Electricity is another strange thing – it’s easy to overlook how important it has become to our lives.

The freezer was defrosting. As I had no idea how long I’d be without power the only thing I could do was put some towels under it and hope it wasn’t too long.

The central heating is gas, but of course the pump and all the controls are electric. Fortunately I have a multi-fuel stove which is definitely not electric in any way at all and being honest it wasn’t that cold.

Fortunately the cooker is dual-fuel, which means that the gas rings still work. It does leave me without a grill or oven though which limits what I can cook.

The house phone is a cordless model – the handset might work but the base station won’t. I keep an old fashioned corded handset just for this, so I was able to plug that in. It is worth noting that you shouldn’t assume that if you’ve got no power the phone won’t work. In reality it usually does – in the UK at least.

My alarm clock is a Lumie Bodyclock – it’s great most of the time but it is very definitely mains powered. I don’t have a mechanical alarm clock, but I do have a mobile phone so there was a solution there.

The weirdest thing though was this – it was night and I didn’t know which of the house lights were turned on and which off. This meant that if the power came back on at say 3am (which it did) some of the house lights would turn on, possibly without me knowing.

This morning I had power but still no Internet, so I’m currently sat at my in-law’s dining room table borrowing their Internet and just having to deal with the tiny laptop screen and horrid keyboard.

Being well prepared was definitely worth it – clearly I knew that losing electricity would be a serious inconvenience but just how much I rely on the Internet surprised me considerably.