Friday, November 30, 2012

43 miles to go

Due to some unforeseen opportunities for cycling. including a wonderful ride by the light of the full moon, to and from dinner out on Wednesday, I'm now closer than I had expected to my stretch goal for the year (making a total 5500 miles on my bike alone in 2.5 years) with a month to go. And with things to do over the weekend, and dry if cold weather, doing the best part of that remaining 43 miles in the next two days seems quite plausible.

Might I have to aim at 5555 rather than 5500? That would be pushing it, trying to fit in just under a hundred miles in the next month.

48 Hours Later: Two thirds of that 43 miles achieved, running errands in cold and dry (except where the sun had thawed things out by Sunday afternoon) conditions.

Tuesday, November 27, 2012

.Net under the covers

An interesting little oddity I stumbled across the other day, involving StringBuilder.AppendFormat, and a string which it turned out had had a GUID already expanded into it, and an unexpected exception result

so it looks like the parse for a number is run before checking that the format is even sane; not what one would have expected.

Recent Reading

I've actually gotten around to reading something that isn't on-line chat or technical over the last few months, so time for a round-up


The Clockwork Rocket by Greg Egan

Having skipped his intervening fantasy Iran novel, the return to physics driven story, albeit with a gimmick given away by a glance at the blurb, seemed worth a go.

Now, half the plot of his earlier Incandescence was how a woman in a pre-industrial society managed to avert an existential threat to her world by being Newton and Einstein rolled into one. Now, stop me if you've heard this one before, but the whole plot of this latest book is how a woman in a pre-industrial society manages to begin to mitigate an existential threat to her world by being Newton and Einstein rolled into one.

When, some chapters in, it became clear that this was indeed what was going on, I just went to the online auctorial physics infodump, because it had failed the "Who are these people, and why should I care?" test. One canon Sue was OK, but this got a bit too much.

Rivers of London by Ben Aaronovitch

By contrast, this book is covered with all the warning signs that normally turn me off -- fantasy, urban fantasy, secret wizards...

But there was something that seemed intriguing about it anyway, so I gave it a try. And such a contrast -- or to coin a phrase "That's the way to do it!"

And there are sequels. The second, Moon over Soho benefits from having set the scene already, and gives a chance to thicken the plot. The third, Whispers Underground then veers away from the line set by the first two into a more "secret London" sort of story, with a central mystery that wasn't really the same sort of police procedural sort of mystery that had driven the others.

Still, two out of three ain't bad. I just hope he doesn't just flog this setting to death.


Thursday, November 08, 2012

Take a hike, Wiggo.

On the news this morning, there was an item about Bradley Wiggins having been knocked off his bike and rushed to hospital -- which is not a nice thing to happen to anyone. But then they had a clip from him where in the first breath, he was invoking the sledgehammer of State against the victims.

If he'd said "I'm glad I was wearing a helmet, and I think all cyclists should.", that would have been fine; but we know that compulsion results in lowered cycling participation, as indeed does even the perception that you have to dress funny to do it. Certainly, I've cycled more since I decided that choosing headgear for the weather (to shade the back of the neck, to keep the head dry, or warm) made it more appealing than the one size fits all conditions notion of armour that I used to do.


Sunday, November 04, 2012

Out of touch?

There has been much waxing lyrical about touch UI in the last few days, from the likes of Jeff Atwood and even Herb Sutter. But somehow I don't feel that I'm in with this particular party.

Let's face it -- touch, just plain touch, has been around since the Apple Newton, and was workaday fare when it was called a Palm Pilot. And back in those days, around the turn of the century, even those 160x160 px screens and 16Mb of memory were good all-around workhorses. I had a couple of the Handspring PDAs, and later one of the Compaq palm-tops, and used them to death -- with the MessagEase keyboard, I could type as fast as I could compose, tapping and dragging the stylus; and I could do easy and accurate cursor navigation and text selection. With the PLua app, I could even code on and for the device (and have a single PalmOS app to prove it, for rolling various dice combinations for role playing games).

Fast-forward almost a decade, and I picked up one of the early and unofficial Android 2.1 tablets (the ViewQuest Slate); and though my skills on the MessagEase keyboard were somewhat rusty, I was still able to type faster than the device could keep up with, despite the ~3 iterations of Moore's law gone past in the interim. And the text selection model, combined with the necessarily fat-fingered capacitative screen, was pretty much unusable. While I could conveniently browse the web while on the khazi and compose terse forum posts, which was a plus over the old PDAs, anything that would involve quoting a section of another post just had to wait until I got onto a real computer.

This year, I've upgraded to an Asus Transformer, currently running JellyBean; and you know what? Despite the quad-core processor, the touch keyboard is still not as responsive as the Handspring one was, and is still way more intrusive. The big bonus to this device, though, is that it has a real physical keyboard and touchpad, which actually lets me select text in a way that isn't intrinsically painful.

So, what is touch good for? Well, even with the keyboard docked, scrolling pages is easier; and the multi-touch zoom makes it easy to expand web-comics so I can read the speech balloons. And I will prod at hyperlinks directly rather than use the pointer via the touchpad (except on really cluttered pages where the pointer precision is indispensable), because the tap-to-activate isn't in my muscle memory at all.

Overall, the device is something that suffices for me as a connection to the Wired when I'm on a cycling holiday, and don't expect to do more than read mail and blogs, and post a bit in the forums (or use it, at pinch, as a camera). But it's really a tool for snacking, rather than cooking -- for example, though I used the Asus while having coffee in bed this morning, I'm now composing this post on my 5 year old laptop running Vista, because it's still simpler to cut and paste hyperlinks that way, and the touchpad plus buttons are just like extensions of my will; and as such, I don't get the urge to reach forward and physically touch the screen, because my intent already has the same effect without conscious intervention, and with greater precision to boot.

And talking the transformation of will into reality with precision, these modern touch devices suck at accessibility. If you are in a state where you are left with just limited use of one hand (and not your even your preferred one at that), a touch device becomes essentially unusable, in a way that mouse plus on-screen keyboard manages to avoid.


Side rant -- one of the things I really, really do not like, even though I now have an Android device with the full Google experience (i.e. I can use Google Play, rather than go to one of the other flaky app depots out there, or scavenge for out of the way DDLs), are websites that detect Android and divert you to a "here's our app" page. No, I don't want your copiously and sulphurously qualified app, I just want your web page written in responsive and universal HTML+CSS+JavaScript, thank you very much -- just the text and the pictures, ta, very much.

Saturday, November 03, 2012

Updating the last vsvars32.ps1 you'll ever need for x64

I've been using Chris Tavares' ultimate vsvars32.ps1 in my powershell start-up script pretty much since it was first posted. But of course, it shows its age in that it assumes you're running 32-bit, given the registry path it uses.

Now, you can hard-code based on your hardware, or assume that anything you're using nowadays is 64-bit (except, of course, when you explicitly run the x86 version of powershell); and there are various ways of detecting current bit-ness. But the simplest way of doing things is to take the behaviour-driven style of detection used as standard in JavaScript and just write

or reversing the order of the two registry keys to taste.

There are of course alternative ways of getting the path we're eventually aiming at e.g. via environment variable like VS###COMNTOOLS where the ### is a number like 90, 100 or, nowadays, 110, depending on VS version.

Milestones

With the end of summer time, and temperatures getting into single figures C most of the time, this weekend it's time to declare the tomatoes and courgettes done, even the ones in the greenhouse, which have mildewed rather than ripen. One last courgette will go into tomorrow's supper as will the last picking of runner beans, and then for veg it will just be the perpetual spinach until the broccoli (last years or this) decide to come on stream, if at all.

We did actually get about a couple of pies' worth off the Bramley in the end, in the form of windfalls that had been concealed in the main foliage -- and there are still a dozen or so fruit on the Charles Ross; so the harvest may just aboue last us through the month, rather than into the new year.

Meanwhile, the car passed 7000 miles on the way home last night.

Later: The runner beans actually were enough for two dinners, so we had the last on Tuesday.


Sunday, October 28, 2012

Twenty Five Years On

Wikipedia tells me that the BBC TV series Blackadder III aired from 17 September to 22 October 1987, Thursdays at 9.30. It was one of the very few programs airing I felt inclined to watch that year -- and even so, I forgot to turn the box on for about half the episodes, being on late enough that either we would have already been doing something else after supper, or maybe even thinking about retiring for the night. Or, given that we'd taken a somewhat suspect tree down in the garden of the new house -- fortunately ahead of the not-a-hurricane a few days before the last episode -- it's quite likely that I might been in the garden feeding the smaller branches and twigs (not suitable for firewood) into an incinerator.

And so it would have been about this time, shortly after the series had ended, and I calculated that we'd spent more per program (taking the then current license fee pro-rata) that year than the two of us going to the cinema instead would have cost, that we gave the box the heave-ho.

And that was before home computers of any note, and four years before I even got on the internet at work. As Tim Worstall pointed out today, its opportunity costs like this that, trading off one form of leisure activity against another, that are going to be contributing to an observed trend away from the original idiot box.

Saturday, October 27, 2012

End of season cycling

At the end of daylight savings, I've clocked up to 5378.7 miles on my own bike, and thus going over the 270 miles I needed in the quarter to match miles done that way in the whole of last year -- 5500 miles has to be the stretch goal for the year. And a last cycling holiday with CycleBreaks put in 98 miles more, which is going to make for a good total, despite the dreadful first half of the year.


View 25-Oct in a larger map
Shingle Street low tide

Shingle Street low tide

On the first day, cool, cloudy, but dry, I aimed for the King's Head at Orford for lunch -- which meant a lot of meandering to delay my arrival until decently after noon. Fortified by sausages and mash, and a couple of pints of Ghost Ship, I then got to Shingle Street soon after 3, and made my way to the water's edge to get my feet wet, before heading back. At ten past four, it was a bit late to stop at Sutton Hoo, but by the time I got back to the point where I could make a quick dash across the A12 to the hotel, it was still too early to want to stop for the day, so I got the OS map out (instead of the custom A4 sheets, folded back about half an inch at the ends to fit in the map cover designed for an OS map to be open in, that I'd been using to that point) for a quick off-piste run through Martlesham and the Bealings.

So, having done almost 60 miles, I felt a bit creaky when getting up from the seat in the bar to go to table, but nowhere as much as after doing 45 miles back in March from the same base. And now with winter closing in, I just have to face losing condition again.


View 26-Oct in a larger map
Sitting in the GAR seat

Sitting in the GAR seat

Friday, rain started while I was at breakfast, and I nearly called it a wash; but by ten, the rain had just about stopped, so I aimed for Framlingham for lunch, with a lesser amount of meandering (accompanied by drizzle for the last few miles) to arrive after the Lemon Tree Bistro would have opened. Sustained by lentil soup, a lamb burger, and a Black Forest sundae, I then headed back to stop at Sutton Hoo for a brief visit, before heading back through Woodbridge -- where I managed to foul up a gear-change on an uphill, taking a while to disentangle the chain from where it caught on the inside of the front chainwheel. So this time I did take the shortcut across the main road.


Tuesday, October 23, 2012

Miscellany

Too many distractions and too much to do at work to blog much at the moment, let alone explore recondite bits of software, alas.

Strong winds last week -- though not as strong as 25 years earlier -- blew down the second-flush plums, most of which were perfectly ripe and very tasty.

It was also Jemima's annual trip to the vet -- for which she prepared by catching and eating a pigeon. I'd certainly put the fact that she weighed ~100g more than a year ago onto having a tummy full.

And though it ended up with me lucking out on Friday afternoon on the supposed 20% chance of rain (according to the Met Office forecast that morning), I cycled to the office every relevant day last week, as well as out to dinner on Wednesday evening, and managing 260 miles so far this month, putting all my distance goals in reach by the end of the month, not the end of the year.

Monday, October 15, 2012

Nature notes

Despite blackberries in the hedgerows really having come on stream at the end of last month, yesterday, while out picking, I found a patch where buds were still bursting, even this late in the season.

A few nights ago, looking out late at night to check the weather, I noticed movement in the garden below, something shaggy moving in the shadows, not looking like any of the fluffy cats in the neighbourhood, and definitely not a fox (which we do get from time to time out here in the countryside). Then it moved its head into the streetlight, and revealed itself to be a (probably juvenile) badger.


Sunday, September 30, 2012

Harvest Home

Picked the last of the (April blossom) plums today -- the best part of a month later than usual; and made a first run for blackberries, ditto late. And while the cherry tomatoes outdoors seem to be coming to the end of their run, the runner beans are still going, albeit slowly, and the greenhouse tomatoes are just about hitting their stride.

The apples on the Charles Ross are getting pecked by birds, but when I've salvaged them, they still taste under-ripe.

The broccoli -- old and new -- were ravaged by caterpillars this month (again way late), so I don't know whether there'll be anything to harvest next year. But then I'm still getting leaves off the one surviving chard plant from last year as well as this year's run of perpetual spinach, so I have no clue about what the garden is doing.

5103.9

Well, I managed to surprise myself this quarter. After a fairly wet start, by the middle of this month it started to seem like I might manage to come close to covering 1000 miles on my bike, but with 23.3 miles still to cover on Friday evening, it looked like it might be a bit tight. But with fair warm, if breezy weather on Saturday, I could take a detour on the way home from town to do some gratuitous miles, and go over the target to about 1006 miles.

Then an unexpected excuse arose for another dash into town today for some shopping I'd missed yesterday, and suddenly 2^10 miles went from being an insane stretch goal, to feasible, to achieved, thanks to a side-trip to pick blackberries, at a total of 1025.7 for the quarter, not counting the miles on a hire bike, back in July; and 1901.5 -- 2000 miles would have been beyond insane as a goal -- for the year (or 2103 all-in).

That leaves me just under 160 miles to match last year's total, and 270 to match the miles done excluding hired transport. With a few weeks of cyclable season left, the former seems achieveable, and the latter a plausible stretch,

Monday, September 03, 2012

Recent Reading

Humanity's Fire Trilogy by Michael Cobley

This starts off with a bait-and-switch, the solar system under attack by a swarm of machine intelligences as last-ditch starship launches try to escape the plague. Then fast-forward to a time when, after the temporary inconvenience, Earth is a minor power in a well populated part of the galaxy, and has rediscovered one of the colonies of that desperate exodus. Which just happens to be where a previous cycle of spacefaring civilisation fought the last major battle.

In all, it's harmless spaceship fiction, with a moderately novel cosmology of sedimenting layers of hyperspace, and a heavy seasoning of tropes from cyberpunk onwards; though the ending suddenly arrives in a cloud of anti-climax.

Despite the title, there's no Campbell style "humans are the best" -- the human colonies are more the people who are in the wrong place at the wrong time, with the major blows against the various antagonist factions coming from other sources.

Verdict: entertaining enough for me to have picked up a volume per year as it came out in paperback, but not a classic.

Helix by Eric Brown

His Kethani was harmless enough, and I'm a sucker for Big Dumb Object SF, so I picked this up as part of my stash of holiday reading.

Oh dear. The first chapter sets up a greentarded future a century or so hence, which somehow manages to combine a disease and CAGW ravaged humanity down to the tens of millions with a viable long-shot starship program. The second chapter flips to humans in fursuits in some frozen environment, suffering under a stock model Church. In the third, the starship, 1000 years out, traveling at half the speed of light is a parsec from a gravity well -- then a few moments later it crash lands on an apparent planetary surface.

At this point I put this travesty down, having given it three strikes and it's out, with just one afterthought -- if you're running a 1000 year last-chance colony mission when the human race is dying out due to transient ecological issues, aim for somewhere that it likely to be habitable a millennium hence, by doing a simple cometary orbit to the Kuiper Belt, and expect homeostasis to have reasserted itself by then.

Saturday, September 01, 2012

Once More with feeling

And it's time for the Cambridge Film Festival again, this blog's original raison d'être. So, I checked out the features program on-line.

It may be the way that the puff-pieces are written, but once again I'm underwhelmed, and am left thinking in some cases "Why would anyone make that film?". Can't see myself making the effort to go to any of them.

Eastwood's Unforgiven, which I saw on late night TV while on holiday back in May will probably be the only film I see this year at this rate.