Tuesday, June 29, 2010

Sunday, June 27, 2010

They're moving!

Speaking of the Tube and its infrastructure, check these links out:


With the API opened by TfL recently it is now possible to identify any particular train and its current position. A number of ideas jump to mind though most of them are hobbled by the lack of the internet connection while underground (e.g. "get-in-the-empty-train-just-hit-the-line" app).

Saturday, June 19, 2010


I was wrong in my assumtions yesterday due to my loose memory - today's test has shown that the top-up made on station doesn't become visible online immediately - the balance you see at the site is always the one of yesterday. So the once-a-day-transaction theory is consistent.

The online system is even more detached - e.g. it only shows travel history for the journeys paid for online for some reason.

Okay, now I understand that.

Friday, June 18, 2010

Un-unsealable Oyster

Yesterday I’ve found myself in a bit of a nasty situation. There were severe delays almost every morning this week on the Tube line I use to get to work, so I used alternative route for several time (the office is between two stations of different lines).

I’ve never checked my Oyster card’s balance for I got used to my routine journeys to be covered by the Travelcard on it – and that turned out to be my silly mistake, because that alternative station while situated in a walking distance from the usual one still was in a farther zone. So every time I used that route, my PAYG balance decreased and finally became negative when I finished another morning journey.

I was ill-fated enough to realize that only when I tried to enter the station later in the evening. That’s how I learned that the Oyster card can’t be validated with a negative balance, even with an active and valid Travelcard on it. It’s actually no more than a trifle but not when you forget your money and bank card at home at the same day.

Geez! That was not a pleasant experience at all.

Of course I tried to access TfL website from my phone to top-up online, but in vain – the payment made online becomes active only the next day after the purchase, so I had to wait for Masha to arrive and help me out.

After that incident I got curious of how the Oyster infrastructure is organized. I wasn’t yet successful in understanding why the one-day delay is required for online transactions (perhaps this is not technically conditioned and has other explanations) but nevertheless there were two interesting facts discovered: firstly, Oyster is a value-storing card, not just an read-only ID tag (as in NYCT and other similar implementations) and secondly, all the travel records collected by readers are sent to the central warehouse at the end of the day, not simply as an opportunity arises (or in even real-time for stationary Tube readers).

There were some attempts before to hack Oyster system (surprisingly poorly described), but all of them were based on cloning cards, not on writing new values on them. Of course, after transactions committed at the end of the day two identical cards were easily spotted – and using only one in time didn’t make much sense. I don’t really understand why the new value can’t be written. My current idea is that the one-way encrypting is probably used like in PGP – say, the card is holding the “open key” only while the “closed key” is hold in the warehouse and used by readers. But that’s unlikely - as it was said, there is no permanent connection between readers and the warehouse. You can still buy a new Oyster and use it on a bus without any connection at all (which is obvious due to the bloody jumpy mobile internet in London). Maybe data of every card ever issued (even not yet sold) is loaded into every reader?

Don’t know that yet, but I am more than sure that the same system is used in a number of retail and other systems and is explained on the net. Have to read more about RFID technologies this weekend, stuff seems to be interesting. And the most important, check the wallet when leaving home next time!

Update: Oh, that's really simple! Shame on me.

One-day delay is required for online payment because all the communications with the warehouse happen at the end of the day - so the readers (in this case writers, actually) will be aware of your transaction made on central server the next day only.

That's why you need to specify a station to collect your purchase - apparently, the data is sent to that station only, authorizing its readers to top your card up, and that's still strange - why don't broadcast the data across all the stations?

Another strange thing is that when you make a purchase on the station, you can see my updated balance online immediately - so at least this type of communication is not limited to happen only in certain hours. But if you use online service, you have to wait. What's the principal difference?

Saturday, June 12, 2010

Miss me?

Oh hi!

Sorry for ceasing writing. I don't know what to post here because strangely everything is okay and I haven't got problems serious enough to describe with masochistic pleasure as I used before. The bad side of staying away of troubles is the writer's block as an immediate consequence. Perhaps that's a chance to start my professional blog again (ha-ha), but I haven't decided yet.

Usually when I'm stuck I write about books but currently I'm still reading the same book I was reading three weeks ago (okay, it's of roughly 1000 pages, but still I feel almost guilty). Also, I've watched the final episode of The Wire for the first time yesterday (a confession follows here: I was calling myself a fan for more than a year without watching the final scene) - but what can I say about that? Everybody knows that the show is great (and why did I watch? my heart still weeps for Duquan). So you see, if you've got anything you'd like me to explain, don't hesitate to ask - that's a win-win situation for both of us.

Nevertheless this time I can only show you pictures once again. My only excuse is that they're all fresh and were shot today:

Suddenly, World Naked Bike Ride:

Panoramas (all clickable):

Train sleeper and the ship in the bottle:

And this was absolutely amazing, I've been staring for several minutes being totally unable to stop smiling. Brilliant.