27 January 2012

 

Lessons from a missed plane

For the first time in my life, I missed a plane this week. But it was a chance for a little moment of growth.

I was booked on the 15:40 bus from Stratford (London) to Stansted. Normally this takes 45-50 minutes, so I arrive over two hours before my plane departs at 1840. I don't mind leaving early as I generally have lots to read, and this way I have a nice margin of safety.http://www.blogger.com/img/blank.gif

Ha. The A12 was closed due to a potential suicide (try not to read too many of the comments on that article, as the stupid may make your head explode) and every road in and out of East London was pretty much blocked solid. The bus which arrived at 15:55 was actually the scheduled service from 15:10, so the Irish man sitting next to me who'd got on at Liverpool Street was already looking very nervous about his 17:00 departure to Dublin.

As we crawled up Leytonstone High Street, a German passenger approached the driver. He wanted to get off, because he knew that he had no chance of making his flight, so he preferred to get the Tube back into town rather than make a fruitless journey to the Cambridgeshire/Essex border and back. The driver was reluctant ("elf 'n' safety"), and I was half-expecting a shouting match, but to my surprise the driver took up the German guy's suggesting to call his depot and he was given permission to let people off at the next bus stop.

After this, we carried on, well below walking pace, for what seemed like forever, while 50 kilometres to our north, gates were closing and planes were taking off without us on board. A man aged about 30 was sitting across the corridor from me and asking the driver if he, too could get off.

I asked him when his flight was; he told me the time, which put him in the "unlikely" bracket - towards which my own departure was also starting to slip. I suggested that he stay on the bus anyway, as I intended to do: you never know, I said, the flight could be delayed, and if you get off the bus and later find that the plane was an hour late, you'll kick yourself. He though about it for a moment and seemed convinced. "Driver", he announced, "I'm going to follow this gentleman's suggestion, and maybe I will make it to my plane".

The two of us, seated in the front rows of the bus, chatted to the driver for the rest of the journey; he seemed pleased to have non-hostile customers between him and some of the more nervous-looking people behind him, on what he said was his worst-ever journey in five years as a bus driver. (During the last ten minutes of the trip, he over-ran his maximum 4.5 hours of driving time. I don't think that he would have pulled over and taken his mandatory 45-minute break anyway, but perhaps our input helped. Mark, mate, you did a great job.)

We arrived at Stansted at 18:50, ten minutes after the scheduled departure time of my flight. To my surprise, it was still up on the departure boards, saying "Check-in closed". No other flight with a departure time within half a minute was up there, so I realised that it was most probably delayed. I didn't have a bag to check in, so I headed straight to security, which took far less time than usual. Into the departure area, the flight is still up... "Gate Closed". Yes, but... maybe they're still counting boarding cards. No gate number, though. I asked somebody whose job wasn't to know this sort of thing (you have to pick up a phone, as there is no information desk at Stansted; presumably it would take up valuable selling-you-stuff room), and she guessed a gate number. I ran down there, getting extra directions on the way from people in Ryanair uniforms. Got to the gate... damn! The plane was sitting there, the door had just closed, and nobody was to be seen.

I trudged back the whole length of the terminal - about a kilometre, I reckon - calling Mrs Brown to ask her to get me a ticket for the next day's flight before it filled up. Then we had some fun and games to get back "landside", through some secret doors, and I bought a bus ticket back to London.

I slept all the way. When we arrived, I grabbed my bag and walked to the Tube station, right next to the bus stop. I felt a tap on my elbow; it was the man who had decided to stay on the late bus, who had come back at the same time as me. I said, "I guess you didn't catch your plane, then". He smiled and said "No, but I don't regret having stayed on the bus. I might have caught the plane, and I know I did everything I could. Thank you." And he shook my hand.

It didn't stop missing my flight from costing me over a hundred pounds, but I think the world was a very slightly better place than it otherwise might have been.

Labels:


 

Bounded rationality and the Ryanair boarding process

I’m tall. 1.93 metres or 6 feet 4 inches, although being very very old, I've probably started to shrink a bit. Anyway, when I fly, I like to have a decent amount of leg room, which typically means sitting in the exit row.

On most flights, this is a matter of outrageous fortune. Last time I booked a transatlantic flight, Lufthansa allowed me to choose my seat online, but although the flight was 7 months away, the exit row seats had all gone. (On the return trip, I asked the check-in person at the airport very nicely, as an afterthought, if there were any exit row seats available; he looked, smiled, tore up my boarding card, gave me a new one, winked, and said, "Don't tell anybody". I got 6 hours of sleep on a 9-hour flight, which is a record. Presumably somebody got bumped...)

Now, like a lot of people in Europe, the airline I fly with most often is Ryanair. For some reason, people boarding Ryanair flights do not head straight for the exit rows. I'm not sure why this is - maybe they like to be able to put things under the seat in front, or perhaps Ryanair passengers customers don't think that they will want to open the door in an emergency - but I'm not complaining. I usually get a "long leg room" seat, and if I don't, well, it's usually only a 75-minute flight anyway.

I could, of course, more or less guarantee an exit row seat by paying €5 to be first on the plane (or rather, at FKB, first on the bus which takes you to the plane, so you probably aren't first on the plane since you're stuck in the depths of the bus). But that really does feel like an extravagance. (Incidentally, I'm not one of those people who complains about all the "extras" on a Ryanair ticket. I've been paying for my own air fares for thirty years, and I would rather pay one of the nice Mr O'Leary's itemised bills than take a nice, gentle, all-inclusive hammering for three times the price, which is what I had to do until he and the equally nice Mr. Stelios came along.)

You see, the thing I hate most about boarding a Ryanair flight - or any other plane, for that matter - is pointlessly standing for 20 minutes in a queue at the gate. My place on the plane is reserved. If I'm travelling with Mrs. Brown, she's quite happy not to sit next to me while I strike up laboured spontaneous conversations with those around me, so we don't need two seats together. I want to get on last, preferably not even waiting at the foot of the steps of the plane. Fortunately, everyone else seems to be prepared to queue up for me, despite getting almost no benefit out of it.

There's now another good reason to be last. As of two weeks ago, Ryanair have changed the rules about the exit row. You now have to pay €10 to sit there (for that price, you also get the "priority boarding" option). At first, I was tempted to join my fellow passengers in their mutterings of "robbing bar stewards", as they were politely prevented from sitting in the good seats by the long-suffering cabin crew, and I'm certainly not going to be paying €10 extra for a short flight; but then, I just booked a flight to the Canaries, and €10 to avoid four and a half hours of cramp, and/or the urge to fight past people to get to row 16, is well worth it.

This raises an interesting question, however. The exit rows are not in a separate cabin, and €10 is not a lot of money compared to the price of the ticket. That means that Ryanair will sell every single one of the 189 seats on the plane if they can, even if nobody pays the premium for legroom. So what happens when a full planeload of people get on when 18 of the seats are reserved?

I got chatting to a cabin crew member at the bus stop while waiting for the coach up to Stansted. She told me that their instructions are to keep the exit row seats for last. (They don't always know exactly how many passengers will turn up, so it makes sense to protect the value of the €10 upgrade by not giving these seats away until the have to.) So, if you want to have a chance of an exit row seat, wait until everyone else has boarded ("After you" - "No, after you"), and hope the plane is full.

I suppose that there could be some unintended consequences of this slightly perverse incentive to stay sitting down, rather than boarding the plane like a co-operative citizen. I intend to continue to be among the last to board the plane anyway.

Labels:


30 September 2009

 

AnyDatePicker

Part of my job involves maintaining a Web application which I wrote almost entirely from scratch. I designed the database, wrote pretty much all of the PHP and HTML, and even put my toe in the water of CSS. A colleague now supports part of the application, but v1.0 was more or less entirely my own work.

Unless, that is, you count the date picker. You know what I mean: the little window which opens on a travel site, say, so you can say when you want to leave and when you want to come back. When I was writing the application, I hadn't yet learned Javascript, so I scoured the Internet looking for a date picker that could do times as well as days, have the week start on a Monday, was multilingual, and free software.

Well, 2 out of 4 ain't bad. I found one which did the first two, scraped together just enough Javascript to allow me to send the day name abbreviations (M, T, W, etc) to it in different languages, and ignored the word 'Copyright' because, well, er, we're non-profit and nobody will find out.

That was nearly four years ago. In the meantime, I've found some things I don't like about it, apart from the fact that I would like our application to go open source and then somebody might just notice that I stole the code. It uses Javascript's date objects, so you can't ask people for their date of birth with it unless you're running a school, because Javascript's dates start at 1/1/1970. And it opens a new document window, which often turns into a tab these days, depending on how the user has set up their browser. So we get support calls: "I can't see the calendar" (as most users call it), and when we look, they've got 35 copies, each in its own tab, as a result of frantic clicking.

Anyway, about a month ago I was on a hotel's site and I noticed that the date picker appeared and disappeared in an instant. (It certainly wasn't the first one I've seen like that, but presumably I was in a receptive mood.) It occurred to me that it was running in a DIV rather than a window. I thought this was brilliant and decided to write my own, so that my application could be "pure" (and people wouldn't open 35 tabs trying to specify a date).

Remembering how much of a hassle it was to use the one which I stole (OK, OK, if you break into someone's house and steal their DVD recorder, you don't get the instruction book), I decided to make my date picker as flexible as possible, so that other people could use it without having to touch the code (although you do need to write a couple of Javascript data declarations yourself).

The result is called AnyDatePicker. I don't know what this means, except that it does let you pick any date in any year from 1582 (the start of the Gregorian calendar) through 9999. It also has a lot of ways to allow you to control exactly which dates and times people can choose; for example, it would be pretty good for a system where people book 15-minute appointments and you have different opening hours for Fridays, weekends, and holidays.

Please feel free to check it out.

22 January 2009

 

Podslurping

I learned a new word today: Podslurping.

I've been having fun with StatCounter seeing how many people have been hitting this blog since the Conficker worm made people take the whole business of securing their networks against memory stick worms seriously. (The answer is: about 15000 in the last 7 days.)

One of the sites which referenced my original post was this one at the Postdam Institute for Climate Impact Research in Germany. It notes that with Autorun.inf disabled, Podslurping is made harder.

So what is Podslurping? Well, at its simplest, it consists of plugging a USB storage device (of which an iPod is just one example) into somebody's PC and copying lots of data from its disk, or the network to which the PC is connected. That hardly seems worth giving a name to, but the clever part comes if you automate it. You can write an Autorun.inf file which will start the copy to the USB device as soon as you plug it in, without any need to access the keyboard. All it needs is a reasonable copy program and a few lines of a .BAT file.

So now you literally only need three seconds unsupervised access to the PC on two occasions (one to plug the device in, one to unplug it half an hour later) and you can steal all of the data from it, without having to log in or risk detection by hanging around in the office, leaving a command prompt window open on the screen, etc. If the PC has USB ports on the rear, you don't even have to walk round to the side of the desk where your victim sits; in fact you could probably drop your phone and slip the USB device in while the user is sitting there.

So if you have issues with people potentially stealing data, disabling Autorun might be a useful extra precaution to take.

15 January 2009

 

Conficker

This rather unfortunately-titled virus - ask anyone who speaks both French and German ;-) - seems to be "flavour of the month" at the moment.

There is a nice, readable summary of how this virus spreads here.

On our network, we installed the MS08-067 patch to every PC as soon as it became available, and we have Autorun disabled (of course).

That just leaves the problem of the worm, once it's on your LAN, spreading by logging in to the other PCs. I presume from the description that it does the equivalent of
  NET USE \\{pc}\ADMIN$ /USER:{pc}\Administrator {password}
for some set of passwords selected from a dictionary.

Well, as luck would have it, all of our PCs have unique, computer-generated(*) passwords on the local Administrator account. This was a decision we took 12 years ago when we first installed Windows NT 4.0. It was done so that if necessary we could keep any troublesome users from having Administrator privileges (we had decided that by default, Domain Users would be in the Administrators group, after discovering that this was necessary to install a patch for Office, and not being in the Administrators group didn't prevent them accidentally breaking NT anyway). In 12 years we've only had to do this once (and the guy was let go a couple of months later), and we've always wondered if it was really a sensible thing to do, since managing all those 8- or 9-letter random words is quite a bit of work. It looks like we may have found a good reason after all...


(*) Since you ask: we used SET PASSWORD /GENERATE on VAX/VMS.

10 September 2008

 

Protecting us from our own passwords

Very early in the history of interactive logon with passwords, the big brains noticed that if someone was looking over your shoulder, they might see what you were typing. So they decided that whenever any system, anywhere, asks for a password, it has to be replaced by blobs or asterisks.

We've all become so used to this, that we don't realise how inappropriate it is for 99% of our daily interactions with computers. The vast majority of us will never encounter anyone trying to steal our password by looking over our shoulder, but I'm guessing that almost everybody reading this has been locked out of a system, site, or application to which they had legitimate access by a problem caused by not being able to see what you're typing.

There are many reasons why people type the wrong password. They forget which site they're on, they forget that this system forced them to change their password last month, maybe Caps Lock is on, whatever. (If you're typing the right username but the wrong password into a site, you'd better hope that the site managers don't capture your wrong attempts and then try them on other sites which they might learn that you're signed up for...)

It's also possible that your keyboard layout may not be what the operating system thinks it is. All keyboards are electrically identical, so the only way Windows (etc) has to know what the top-left letter key means, is the keyboard settings which you gave it. If someone replaces their QWERTY keyboard with an AZERTY one, without informing the system via some obscure part of the Control Panel, the top-left letter key might look like an A, but the system will see a Q. And the person typing will still see the same blob or asterisk. (In our environment, we use 15 different keyboard layouts, and people tend to move around and take their keyboard with them. And even if they know how to set up the layout for their current Windows session, they usually don't know that they should also change the default layout so that the new keyboard works correctly at logon time as well.)

This "security feature" must cost millions of dollars in helpdesk calls every year. Eevryone who has ever worked on a support phone line has had people call who are "convinced" that they are typing the right password. Sometimes you can get them to type the password in another box and then paste it across, but that's not always possible, and explaining it to a confused user is often a nightmare in itself ("Don't click OK when the password is in the username box!").

It doesn't even make you very much more secure. Someone who really wants to steal your password while being in the same room can observe your keyboard while you type, perhaps keeping up some conversation to distract you, and after a couple of times they'll have a pretty clear idea of your password, especially since so many people choose insecure ones (hmm, did anyone think that maybe some people do that precisely because it's easier to type "rosepetal" than "h4%tfr3q" when you can't see what you've typed?). Now that we all have LCD screens, it's getting harder to sell us the fantasy that someone is parked outside our offices in a van examining the electromagnetic field from our monitor. And of course, the password-stealing spyware inside your PC gets a full view of every keystroke, unobscured by blobs. It's more than slightly ironic that the bad guys can see your password more clearly than you can.

So imagine my delight when I first saw this feature in an admirable free ZIP/RAR program called 7-Zip:



Yesss! Provided of course that there are no spies in the room, you can check the box when opening a password-protected RAR or ZIP file, so that you can see what you're typing in the password box!

Question: why isn't this feature available on every non-military password dialog box in the world?


04 September 2008

 

Not ready for (corporate) prime time

Since Google launched the Beta version of their Chrome browser - it's about 72 hours ago but it feels like a lot longer - we've been getting people asking why we've blocked its download to our corporate network.

The short answer is "because it's not suitable". Sure, it looks great, has better security, Javascript runs fast, etc etc. But it seems like no thought has gone into how one might go about deploying it in a business setting.

First, the only way to get it is by interacting with Google's download site. You get a small installer executable, which then goes back to Google and downloads the rest. During this time, you sit and watch. Is it installing the same code as yesterday? How can you tell? Until we can see a single .MSI file, with the usual command-line parameters allowing for totally silent installation, we can't use this.

Secondly, have you taken a look at where the installer leaves all the files which make up the browser? Well, most of them are in the profile of the user who downloaded it. On an out-of-the-box version of XP this means that your Web browser is in C:\Documents and Settings\username\Local Settings\etc etc etc. This is a disaster in many corporate environments which use roaming profiles, because they typically have fairly strict retention policies about how long old profile copies are allowed to remain on PCs. Although it could have been worse (Chrome could have installed into some other directory at the top of the profile rather than "Local Settings", thus entering the roaming part of the profile and being copied to the server when you log off), this means that in practice you're going to have multiple copies of the browser per PC, but with each individual user losing access to it every time the local profile copy is cleaned.

I wish that this was the first time we'd seen this sort of problem, but it isn't. Although "consumer" products (such as the iPhone and iPod, or any Google application you can name) tend to be the worst offenders in terms of treating your entire PC as if they own it, some business software publishers are not far behind. I hope the person who decided to place Adobe Bridge's file cache in the roaming part of the user profile is reading this.

In mitigation, perhaps I should mention that it took Microsoft about 6 years from the release of Windows NT 4.0 to get their programmers to understand the consequences of roaming profiles. Most MS products now do the right thing, although some are still quick to impose their own view of the world on "User Shell Folders" registry entries if the network is a little slow, with potentially "hilarious" consequences for unsuspecting users who didn't realise that all their new documents are being chucked into an unbacked-up directory on the local hard disk instead of their network drive.

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]