Steve: Developing on the Edge
Steve: Developing on the Edge
Thoughts on development, Web-services, technology and mountains.
Page1234567891011121314151617181920
17 - 24 of 1263
1Jun
Tue2010
Gospel Pass: harder than I remember.

I can't remember the last time I rode Gospel pass -probably late 1990s. I've been lax. I'd even forgotten how hard it was.

Gospel Pass

I could lay the blame on the eight year old child attached to the back of my bike, but since at some points he got off and ran ahead, it's hard to say that such blame would work.

Gospel Pass

He even had the energy to run up the hillside afterwards, which means either he is fitter than me, or I wasn't working him enough.

Gospel Pass

I was in the bottom gear getting the bike up the 1 in 5 sections, and his 6-speed tagalong didn't really have low enough gears to keep down with me. As he's still complaining about his legs and "butt" after a 21 mile ride, I think he contributed enough. I'm the one who has got heavier and less fit.

Gospel Pass

Whatever the reason, it was good to get down into Hay and locate our support vehicle in the hay literary festival car park, so get back to Crickhowell without having to head back over. And Alexander now knows that Wales has harder climbs than the Alps, as well as being able to say that he's done the highest road pass in Cymru.

Gospel Pass

I'm not going to mention the Hay Festival itself, except to say that every writeup I've seen of an event that I attended seemed to reach different conclusions from me. For example, the guardian write up of the videoed interview from Ed Miliband, now ex-cabinet member with the president of the maldives, the paper focuses on some call for direct action against the US. I don't remember that. I do remember the Maldives President almost being embarrassed to talk about his years of imprisonment for being a journalist or the solitary confinement, instead proud to say that they probably now have a freer press than the UK. I also remember -and somewhere have a photo of- the expression on Ed Miliband's face when the president says that they'd had a lot of support from the UK conservative party and could Ed congratulate William Hague on becoming Foreign Secretary -good natured humour. No call for a big anti-US movement, more discussion on how to convince a lot of that country of the problem.

25May
Tue2010
Looking towards Europe

I'm currently sorting out space on a Big Winged Bird to take me to Berlin.

Bristol Airport likes to consider itself an international airport, "world class", but it's still pretty provincial. The one daily flight over the atlantic is going away in September, which I wont miss, Newark being an awful place to end up.

It's so-so for in-EU business travel, so I'm glad there is a daily trip to Berlin. And Back. I'm going there for the Berlin Buzzwords event, where I'm one of the speakers. As has been announced, one of my talks is an open talks session.

That's a session where I'm only moderating, and we want people attending to stand up and give a quick overview of what they are up to. I am looking for 3 or 4 speakers, very short, "this is something fun we are doing". I will take PDF or PPT slides and host them on a linux laptop, no PPTX or other fanciness, and we can all share the same laptop, so avoiding the 10 minute laptop binding interval between speakers.

Who is talking? Right now, I've got my eye on a colleague for some alternate filesystem stuff, otherwise, completely open. As a contingency plan, I will have a few backup slides prepared on the not-really-ongoing work on datamining bluetooth phones. I do that as a hobby to show some more interesting MR work than just server log files. But I'd really be happier with other people's stuff, to give a flavour of what is happening in europein the big-datacentre-stack we are building and using.

20May
Thu2010
I'd like an upload in the gigabyte range

Right now the all four desktop cores are busy while the laptop reboots the Outlook VM that the corporate AV scanner just brought down:

sf-startdaemon-debug] 2010/05/20 16:08:43:811 BST
 [INFO ][Thread-178] HOST morzine:rootProcess:bulkioget
- Downloading 5368709120 bytes from http://127.0.0.1:8080/download?
  size=5368709120&format=application/octet-stream

This is part of SFOS-1476: add tests for big data upload/download and long-lived connections, which is driven by a need to get some very large files around a network, and us not wanting to commit to HTTP/HTTPS until we are sure how well the real world handles big files. Not really big files, just DVD or VM-HDD size images. It's not like we're talking terabytes -not yet, anyway.

As well as some servlets that will accept very large quantities of data and return CRCs of them, we have some client components that currently use the java.net libraries to do PUT/POST/GET of the data; someone else has been looking at how browsers handle large quantities of data coming down, or going up as part of a file.

Key Points

1. While there is no theoretical limit to the size of data being pushed over an HTTP connection, a lot of the code is written with an assumption that a signed 32 bit integer is all you need to count the data.

2. This assumption is built into the browser that ships with windows, which doesn't let you submit big forms.

3. This assumption is built into the Sun's java.net.HttpUrlConnection class, which takes a signed integer as the content length, not a long.

4. Unless you set chunking to true on your java.net.HttpUrlConnection, PUT/POST operations save everything to a buffer, which tends to trigger out of memory events.

5. If you set set chunking to true on your java.net.HttpUrlConnection, GET operations fail as some code tries to get the output channel, which triggers an exception saying, roughly "you can't get the output channel on a GET". Whoever wrote that code should fear the incompetence police, as all they are trying to do is close the output stream -they should do nothing on a GET as there is no output channel. This bug still exists in Java 1.6.0_20-b02, incidentally.

6. You have no way of knowing what the back end can handle without testing it

7. You have no way of knowing what proxies can handle, which implies that HTTPS is the only way to reliably PUT and GET big GB data sources

8. When you have a series of tests that take minutes to complete, all the timeouts in your test code to detect failures have to be rolled back to allow for longer tests (my fault, that).

The overall implication is that a lot of code out there contains an assumption that was valid in 1995-1996: nobody will be uploading a 6GB file in a form or pulling it down afterwards. A valid assumption when home users were on dial up links, work networks were 10Mbit. But now that the office is moving over to 1Gigabit/s links, there's nothing wrong at the ethernet with shoving an 8 gigabyte file around, on a link at that speed you can get it done in a minute or two, if the network is free and the machines up to the job. But HTTP client and server implementations, and the various helper libraries, were all written when 2GB was a lot, and you can't rely on them or stuff in the way to work reliably with big datasets. BitTorrent it is then.

The other issue I have is with my own tests. First, I'm seeing log messages from tests that should already have finished:

[sf-startdaemon-debug] 2010/05/20 16:29:17:027 BST 
 [INFO ][Thread-364] HOST morzine:rootProcess:bulkiopost 
 - Uploading 5368709120 bytes to http://127.0.0.1:8080/upload
[sf-startdaemon-debug] 2010/05/20 16:29:35:225 BST 
 [INFO ][Thread-152] HOST morzinerootProcess:bulkioget
 - Download finished after 4294967296 bytes, checksum=3399378632

Looks to me like the download has been running for a while even though we've moved on to another test. Need to find out what's happening there. I think it's related to the second issue: the bulk operations from 1GB up all finish in just after 60 seconds, which worries me. I think they are still going, deployed components spawning threads in the server, uploading or downloading data. While this helps stress things, it means you can't trust the answers

Name Status Type Time(s)
testBulkIo1MB Success 5.768
testBulkIo8MB Success 3.378
testBulkIo128MB Success 11.148
testBulkIo1GB Success 62.834
testBulk3GB Success 62.695
testBulk4GB Success 62.545
testBulkIo5GB Success 63.721
5May
Wed2010
Defending the NHS against Man in the Middle Attacks

My lack of a 3G dongle gives me an opportunity to do some writing while loitering in a doctor's waiting room with a small child.

I now have a plastic card that gives me free medicines when my doctor (NHS speak: GP, general practitioner, at the end of my road) prescribes them. This means that I have gone straight into the extra privileges of being over 60 (free medicine, bus pass) without exploring the mid-life crises options (fast cars, motorbikes) which the removal of a driving license denies me.

I also get to explore how the NHS works. There is a big sign up about how the NHS is a zero tolerance zone and patients who are violent or threaten violence will be banned from the GP. Which I agree with. What I am not sure about is whether asking questions about back-office failure modes, their frequency of occurrence, escalation process and such like constitutes violence or the threat thereof. Certainly one of the reception staff no longer welcomes my arrival and last friday she ran off saying "I can't take this any more".

BRI

I am off to the US on saturday, and the neurologist has prescribed some extra medicine to deal with jet-lag related issues and ensure my well being. At least he said he would on April 9. That's the neurologist at the BRI hospital, 10 minutes away on foot, less than a second away as far as the Simple Mail Transport Protocol is concerned. The latter would imply that delegating the issuing of a prescription should take no more than an email from an nhs.gov.uk email address to the GP's nhs.gov.uk destination address, such in-domain emails are considered valid even without digital signatures.

Unfortunately, for some reason, the process currently in use between BRI and GP consists of a fax which is sent from the BRI to the GP back office, this fax is somehow received, scanned in, correlated with the relevant patient and then available for a doctor to see .

There's a big weakness here: no authentication. It would be fairly straightforward of me to generate a spoof fax based on the printed out copies of letters which I have been CC:'d on. (isn't that quaint incidentally "carbon copy"? The acronym has outlived the process, just as "dial" and "ring" has on phones, because nobody has replaced those verbs with "buttoned" and "plays something cheesy by S-Express".

The initial defense against spoof faxes would be nobody has a fax machine any more, but I believe that there must be software to turn the unused modem socket on a laptop into a fax machine, and hence generate a spoof fax, possibly even with spoof caller ID info. This is clearly inadequate.

Hence my security conscious GP has a second line of defence, namely they lose the faxes.

I turned up last Friday afternoon to see that the fax which I had been told had been sent by email from the BRI had been processed, only to discover it wasn't listed as being received. I ran home, grabbed the email, then spent most of an hour waiting to be seen while the room got fuller and fuller. I then had to run off to meet an outstanding commitments, namely a friends funeral -something viewed by the staff as a sign that I did not have an emergency. I did, however, get their fax machine number and send another email to the hospital saying "did you really fax it to this number", they replied in 15 minutes saying "we have faxed it again"

Yesterday, the Tuesday, I turned up for the 16:40 appt booked on the friday to see a real doctor, while waiting I checked to see that the new fax had arrived, and of course, it hadn't. This time, prepared, I had the complete printout of the emails with the hospital.

Unlike the reception staff, the doctor wasn't surprised by a process failure, took the printed out emails and dialed the number on them, and so got in touch with the person there who sent the fax and could read out the details. I also transcribed them as the space in their application for prescription details is about the same length as a twitter post (same MS Access database schema?) so the complicated details at the end would have been omitted. One thing I've learned: always take pen and paper to the doctors.

We also discussed the apparent loss of a fax somewhere in the system twice in a week, where I expressed my belief that the process is flawed and that email would in fact be more reliable, generate a better audit trail and save time and money. She noted these facts and said they would be passed on, though the likelihood of her fixing the entire NHS communications process was unlikely. She also said I was lucky the person at the BRI was still there at 16:50, as often they run off early.

What I didn't mention is that I clearly now have a new way to generate spoof prescriptions which uses their inability to handle faxes as a feature, rather than a defense. The next time I want to get a controlled drug I will just generate a spoof email printout discussing the prescription and include the phone number of an accomplice, one who will, after a few minutes of pretending to look for the paperwork, come up with the prescription which will then be transcribed and issued to me.

This is easier, as it avoids me having to work out how to get my laptop to send faxes, and it will stop my prescriptions being lost in the GP's fax handling process, which is clearly not going to work any better for illegal prescriptions than ones I am meant to be taking.

25Apr
Sun2010
Maybe I should just go singlespeed

I spent ten hours of my weekend trying and failing to get a new SRAM drivechain setup to work without sounding like it is about to fall apart.

At least on Saturday it was sunny and I could do it in the back garden, on Sunday it was showering intermittently and I had to retreat indoors to share a back room with a bicycle and a rabbit that viewed anyone who wants to hide from the light as an equal.

About the best bit of the experience was discovering that the manufacturer has their own youtube channel. That's progress. Not just a PDF file in six languages that is designed to print on some non standard paper, a real video. Too bad the soundtrack doesn't have their back wheel making the same noise as mine. Maybe they edited it out.

I think the root cause of the problem is that "modern" 9-speed and 10-speed rear cassette/derailleur/chain/shifter setups have too tight tolerances to be easy to set up. And whoever came up with the cable routing for that rear derailleur didn't have maintenance in mind.

21Apr
Wed2010
The airplanes have stolen our blue
the airplanes have stolen our blue sky

The airplanes are flying overhead. I believe we are meant to be grateful.

the airplanes have stolen our blue sky

Anyone stuck abroad or about fly is, but the rest of the country, the vast chunk of people who don't fly? I'm not sure. Certainly the sky isn't as flawlessly blue as it was.

But at least now we can all get our pineapple chunks airfreighted in from Africa.

the airplanes have stolen our blue sky

The whole thing was starting to become an election issue

19Apr
Mon2010
Cinema

Been watching some moving pictures, some at real cinemas!

  1. Exit Through the Gift Shop. Lovely. It's by Banksy, but it's not him going on about his work, more a documentary of how graffiti in the streets is criminal, but how suddenly it can become fancy art if on show in gallery. Very, very funny.
  2. Headless Woman. Imagine being stuck in an eight hour meeting with someone going through the same twelve power point slides, reading each word as the bullets slide in. No windows to look out of, no wifi, and even the laptop has a flat battery. If you can't handle that -avoid this film.
  3. Control. The bio of Ian Curtis, lead singer of Joy Division, plot co-authored by his widow. That's a plot spoiler there: he kills himself at age 23. Looking at the coverage of Macclesfield, lovingly filmed in B&W, I can start to see why. I knew about Ian's demise, knew that he'd just watched a Warner Herzog film and always thought that was the cause. Now I know more. This is a bleak film. After seeing, you can't listen to this single without feeling sorry, hear someone driving at speed into a brick wall, documenting their downfall as it happens. Even the song titles become depressing.

As Matisok said after that time camping/bivvying in the Welsh Mountains one November where we got roped in to the rescue process of a suicide attempt: if you are not planning to survive the next 24 hours, there are really good ice climbs you could have a go at. Which clearly he's been doing. But then if you don't live somewhere grim and have lots of issues you don't go on to write songs about it.

18Apr
Sun2010
Above us only Blue Sky
Kingsdown without Contrails

Interesting to compare coverage of EU flight groundings from those out of Europe, who complain about the crisis, from those in the continent, who are enjoying the silence, the blue.

Kingsdown without Contrails