Menu Sign In Contact FAQ
Banner
Welcome to our forums

NATS computer failure closing London airports

if a bit of code needs (a lot of ) comments, that is a clear sign that it lacks clarity in the coding. The perfect program is readable without any need for comments.

Well said!

Airborne Again, I love your analogy. I’m gonna start using with clients that say ’What do you mean it will take you 1 month to do this, my son can do it in 2 days!".

One thing I disagree is that today’s new developers are of lower standard than in the past. My experience is the opposite from working with new graduates, and interviewing many of them. They know their computer science concepts very well, they’re multi skilled using various tools/languages and they have well rounded personalities, i.e. it’s fun to work with them and go out to the pub after work :) Admittedly when they get to me they’ve already went to some filtering process.

Last Edited by geekyflyer at 15 Dec 09:49

@kwlf: yes I’ll agree that assembler is more likely to require some documentation, and there’s no better place for that than in the code. The first example that comes to my mind is using a register for a variable, especially if it is not an index or a loop counter. Peter hinted the same, when stating “the lower the level…”

@geekyflyer: I never stated, or meant to imply, that today’s programmers are of a lower “standard” – they only live/work up to different requirements, and unfortunately, nobody requires them to think of the machine their code will be running on.

And yes, the little boy (or girl!) that creates a flashy screen does not need to think of resource restraints – today’s PC’s are at least as powerful as yesterday’s servers – neither must any documentation be created, are there any security restraints to be dealt with, or must there be interaction with a zillion other components in the corporate environment. That makes a world of difference.

EBZH Kiewit, Belgium

It’s difficult to define what a lower standard might be, because perhaps 99% of today’s paid programming work is completely different to what it would have been say 30 years ago.

Today you are developing apps with GUIs, mostly. In fact it’s the case that most of today’s paid work is developing GUI front ends for databases, plus server-side code in PHP etc, and that is why so much mainstream corporate IT work can be subbed to India fairly easily. The end result might be poor but it’s fairly speccable and fairly testable so you chuck it back at them until they make it work.

I have done mostly embedded work and have never really done GUIs, which would make me a totally unproductive and unemployable programmer today

Today’s programmers are up to speed with GUIs and can knock up apps at an amazing speed. But they are no better at avoiding the usual bugs than anybody in the past. That comes only with experience i.e. knowing where the skeletons are most likely to be buried.

I think the NATS stuff is nearly all “algorithms” (which have been hacked many times over the years, usually very carefully and by very competent people) and some weird I/O stuff to connect old software to the “new world” without rewriting the old software. For example I bet they have ripped out a load of old modems (300 baud, originally) and replaced them with leased lines and then had to emulate the modem links, possibly with dedicated protocol converter boxes.

There is a lot of expertise involved in that no matter how you do it, and if the key people leave then you have a big problem. I make serial data protocol converters including user-programmable – C and Pascal, don’t laugh – ones (among other stuff) and all the time I get calls from somebody who installed one 15 years ago, the original programmer is long gone and usually unknown, and what can be done?

An analogy to NATS is an aluminium rolling mill which is running a load of my boxes. They put in a control system c. 1975, made by Hitachi and using a weird 64kbit/sec “LAN” with 122-bit packets which is driven at a high power (watts) to make it highly noise immune. In 1992 they replaced the Hitachi PLCs with unix boxes and wanted a box to convert from RS232 serial data to the Hitachi 122-bit packets. They came back in 2010 for some more of these when they replaced the motor speed controllers with modern 3 phase AC drives (and new motors too). They will probably run this for another 20-30 years. The guy in charge is a Grade A anorak who I believe sleeps in the factory and has done so for 20-30 years, and as you would expect he is technically brilliant. So much industry around the world runs like this…

People just move on too fast these days, for these industries that rely on technology that has to work for many years, and I don’t think there is a “technology” solution to that. It is just very hard to motivate people to hang around. Everybody who can write a line of PHP is on Linkedin and putting their CV out 24/7.

Administrator
Shoreham EGKA, United Kingdom

there’s no better place for that than in the code.

I don’t think we’re really in disagreement, but still feel that choosing sensible variable names is necessary but not sufficient. Perhaps a routine needs to last exactly 13 clock cycles, or at some point you count the number of significant bits in an integer, right-rotate the answer one step to halve it, then right-rotate the integer by the result. Or you run out of memory and write a reminder to yourself about which variables you can use safely in a function call and which you’ve been forced to recycle elsewhere. Or you discover that configuring a pin driving an LED as an output rather than an input reduces power consumption by 1000 and so should be done immediately on initialisation. Unless I make written notes of why I do these things, I break my own code the next time I look at it.

Last Edited by kwlf at 15 Dec 12:27

I have done mostly embedded work and have never really done GUIs, which would make me a totally unproductive and unemployable programmer today

If there are any software engineers out there doing embedded work, particularly in C please contact me :)
Far from being unemployable they are essential to our business and we are always looking for them!

Darley Moor, Gamston (UK)

Far from being unemployable they are essential to our business and we are always looking for them!

So, Peter, here’s your route to the Jetprop

here’s your route to the Jetprop

What makes you think I need to work harder to get one?

But I agree that embedded / C programmers are very rare. Perhaps the best “get down there and get dirty” programmers nowadays are game writers. Anybody old enough to have cut their teeth actually doing embedded stuff when it was the way things were done (1980s) will now (mostly) be too keen to climb the corporate salary ladder, to want to be doing “real work”. The other thing I would try is posting on a Symbian hacking forum; that was a very hard C++ environment and anybody familiar with it would have to be very good.

Administrator
Shoreham EGKA, United Kingdom

I reckon there are about a hundred “get down there and get dirty” types coming out of university every year in the UK. I see quite a few of their CVs every year, almost all from about 6 universities. As far as I can tell, about 40 are snapped up by the high frequency trading world and the rest are split pretty evenly between small startups, a few to the banks (they don’t last long), the top end consultants and the top end tech firms (and a few who drop out, of course).

A few years down the line, that hundred have swollen to a three or four hundred as people who didn’t learn all this as teenagers pick it up on the job. Hiring is difficult.

EGEO

Maybe I should return to my roots of 8051 macro-assembler programming in lieu of retirement. I recall some fun times, hard work, long hours but great satisfaction from squeezing that extra feature out of extremely limited hardware.

Returning to the OP, I guess it’s quite a lot to do with the different levels of funding available.

From it’s annual statements, NATS revenues last year were £917m, of which £742m arose from en-route charges on 2.2 million flights (approx £350 each)
Of this just £125m was spent on capital investment.
Link

The FAA ATC managed 25 million flights last year. The FAA covers a much wider remit and has a total budget of around $16 billion (over £400 per flight)
Investment by their ATO division alone was $6.1 billion, which I think includes $4.1 billion on NextGen.
In all, some $5.7 billion = 35% of FAA total spending is focussed on expanding air traffic capacity primarily through the NextGen program.
Link

In other words, they are spending about 30x what NATS spends to cater for 10x the number of flights. They still missed their target, replacing only 8 of the planned 11 computer systems that are 40 years old, but are clearly making a lot of progress.

I haven’t compared this with spending in other European countries but would think its fairly typical.

I wonder if NATS should be using Friday’s failure to argue for more funding for modernisation rather than just say they have it all under control. I don’t necessarily agree its all down to older equipment/programming languages – a system architecture that requires sysops to fix server faults within 8 minutes or there’s a major backlog doesn’t seem fit for purpose to me.

FlyerDavidUK, PPL & IR Instructor
EGBJ, United Kingdom

German DFS reported 1.109bEUR revenue (i.e. about 10% less than NATS), 125mEUR investments (11%) and 36mEUR in profits. With 2.9m IFR flights handled, this is 376EUR per flight which means DFS only makes about 80% of the revenue per flight compared to NATs. However, investments are less than NATS. From what I know, the computer systems at DFS are relatively modern, mostly Unix based.

I wonder if NATS should be using Friday’s failure to argue for more funding for modernisation rather than just say they have it all under control.

We should just have one ANSP for all of Europe with one computer system. Europe is comparable to the US in size and I’d say 75% of the cost and complexity are not needed. Of course this means that everybody does it like the French German British Italian Spanish ANSP… ah, well, let’s forget it.

Last Edited by achimha at 15 Dec 18:27
Sign in to add your message

Back to Top