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.

4697.3

So 619 miles on my bike since the end of June, or 746 in total -- meaning nearly 400 miles in August. So, I should push the 1000 miles comfortably this month, all being well, and can see how the last quarter of the year shapes up.

Tuesday, August 28, 2012

Fortunate Fall

This morning, presumably as a result of Saturday's drenching, my bike was squeaking a lot on the ride to work. By the time I got there, I'd just about pinned it down to "something in the front wheel".

I didn't get around to doing anything to it at lunchtime, so it was still squeaking on the way home. But, at a T-junction on the cycle path, I wanted to turn right, while another cyclist coming from the blind corner to the left also wanted to turn right -- result a low-velocity collision as our front wheels met.

We ascertained that no damage had been done, and cycled off. A hundred yards or so later, I realized that the front wheel was now running quietly again! So, no need to try haphazard lubrication and hope.

Sunday, August 26, 2012

Three hot days and a thunderstorm

Or so goes the traditional English summer.

After the hot weekend, and a couple of dull days, the weather brightened up so I could take Karen out, first to the exhibition of Han grave goods at the Fitz (weds), then to the Crown and Castle for lunch (Thu) where we sat out on the terrace until the haze came up and the wind strengthened (as we were moving on to coffee), and again on Friday, when Karen's mother came to visit and we went out for lunch, and again sat outside at the Plough at Coton.

But then Saturday...

It sprinkled a bit around 10-ish when I wandered out to do a bit of shopping, and a bit heavier burst after I got back; and it looked fair and the radar tracking the weather suggesting it would miss us, so I headed off to the Plough at Fen Ditton for the CAMDUG meet-up. And for a while thereafter, we sat and chatted out on the riverbank in the sun -- until suddenly all went dark.

We got inside ahead of the rain, which then tipped down in stair rods with hail for an extended period, before brightening up.

So then time to cycle home again; and by the time I got past the Elizabeth Way bridge, it has started sprinkling, and carried on that way until I had gone through Cambridge -- at which point the heavens opened again, so it was just head down and pedal, being glad of just having silk shirt and lycra shorts, which were reasonably comfortable when saturated, even though the rain was now cold (unlike a couple of weeks ago when I got similarly caught in torrential rain on the way home from work). Fortunately I got home ahead of the encore with hail.

This morning, looking at how much the pond had been refilled, it seemed like we'd had well over an inch of rain in total.

Third time lucky

After two previous attempts were at least partially a wash-out, this year's late August cycling holiday in Norfolk went without rain.

Arriving at the King's Head soon after midday on the second day (temperatures pushing 30) of the one really hot weekend we've had this year, I headed up to the Gin Trap at Ringstead for lunch, then out to Burnham Market along the back lane that's marked as a cycle route.


View 19 August 2012 in a larger map

Following a shandy at the Nelson 1805 (formerly the Jockey), I headed back, deciding on a different route, through the narrow lanes to Syderstone. I didn't stop at the sign saying "Unsuitable for motor vehicles", but carried on into where it became unmade. The first bit was loose stone, so I needed to push, and later there were stretches of dry loose sand, which were for going barefoot and pushing -- though in the late afternoon heat, and without air cooling, I was dripping with sweat on the pushing sections.

I didn't quite make it to the main road unscathed -- just a few yards short, there was a pool of silty mud across the whole track, which clung to the tyres as I pushed, and oozed between the toes.

Back at base, despite the two refreshment stops, I sank a couple of bottles of mineral water; and then the same again plus a pint of Spitfire over dinner.


View 20 August 2012 in a larger map

The next day was duller and cooler; and the route I took through North Creake aimed to do in reverse the path through Holkham Hall I did last year, only this time there was no garden produce for the picnic lunch on the coastal path towards Wells. Indeed everything was being late -- not even blackberries were ripe for picking; mostly still having flower buds opening.

Year without a summer

Blackberries way behind schedule (blossom and buds way over-exposed)

Holkham Hall

Holkham Hall

With the hour advancing, by the time I was heading south from Wells, it was too late for looking for pubs, except if they'd be open all day, so I just took an easy way back.


View 21 August 2012 in a larger map

The last day's ride was aimed again for a Gin Trap lunch, going to Sandringham, following the cycle route to Sedgeford, then detouring out to Heacham, using the cycle paths to Hunstanton, thence to Ringstead.

Ringstead Mill

Ringstead Mill

The last bit went cross country, taking an early turn from the cycle route towards Docking (passing the one blackberry bush I saw all weekend with ripening berries), then the road to Fring where I hardly had to pedal once (and then only because of a gusty south-westerly), before taking a final loop around the (for once, dry) green lane to the west of Great Bircham; totalling about 95 miles in a hotter and thus less energetic holiday than last month.

And then home, with a token few sprinkles of rain on the windscreen on the way.


Friday, August 17, 2012

The prodigal returns

Yoko, our female Tonkinese, managed a disappearing act on Sunday; and was not sitting waiting crossly to be let in either that evening or the next morning. The lack of corpses by the roadside gave hope, but there was no response to leafleting the neighbours.

Then today, she reappeared, fast asleep on an armchair, not even announcing her return with her usual wailing.

Wednesday, August 15, 2012

Building a stand-alone scalalib.dll for .net convenience

Following up on the previous post -- making a single dll scala runtime goes as follows

  1. Download and expand IKVM 7 into folder
  2. Copy the contents of the bin subfolder into a folder .\scala-out
  3. Copy scalalib.dll and forkjoin.dll into that same .\scala-out folder
  4. Install ILMerge if not already available
  5. Run this command (assuming powershell prompt)
    & 'C:\Program Files\Microsoft\ILMerge\ILMerge.exe' /closed /allowDup /t:library /targetplatform:"v4,c:\windows\Microsoft.NET\Framework\v4.0.30319" /out:scalalib.dll .\scala-out\scalalib.dll .\scala-out\forkjoin.dll  .\scala-out\IKVM.OpenJDK.Charsets.dll .\scala-out\IKVM.Runtime.JNI.dll .\scala-out\IKVM.OpenJDK.Text.dll .\scala-out\IKVM.OpenJDK.Beans.dll .\scala-out\IKVM.OpenJDK.XML.API.dll .\scala-out\IKVM.Reflection.dll .\scala-out\IKVM.Runtime.dll .\scala-out\IKVM.OpenJDK.Management.dll .\scala-out\IKVM.OpenJDK.Corba.dll .\scala-out\IKVM.OpenJDK.Core.dll
    and wait until done (takes ~3GB memory, so 64-bit systems only)
  6. Observe that some of those referenced assemblies aren't actually in the IKVM subset that the scalacompiler.exe drop bundles
  7. Build helloworld.exe as before and co-locate it with the new 33Mb scalalib.dll that resulted from all the grinding
  8. It just works™

Hopefully the real deal will bundle something like this -- ideally also strong-named (but hey, you can do that with Mono.Cecil to rewrite that file and the assemblies you link against it).

P.S. If you have .net 4.5 on your machine, change the target platform as indicated here.

PP.S. The runtime has a dependency on the native code ikvm-native-win32-x64.dll and ikvm-native-win32-x86.dll from the IKVM download, though I'm not sure where from the depths of IKVM you may hit those.

Hello Scala.net

Belatedly spotting the March '12 update to the Scala.net story, a very brief "Hello, World"

Build with

path\to\scala-bin\scalacompiler.exe -d path\to\output -target:exe -Ystruct-dispatch:no-cache -Xassem-name HelloWorld.exe -Xassem-extdirs path\to\scala-bin -Xshow-class HelloWorld -Xassem-path "C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Windows.Forms.dll" hw.scala

where giving "." as path\to\output will put the new executable in the same folder as the scala compiler.

You now need to copy all the dlls (apart from mscorlib and the other System.* files) out of that folder into your output path folder. Then

path\to\output\HelloWorld.exe

and, suddenly:

Still slightly painful to actually perform the build, but definitely getting there. Still needs a stress-test.




Monday, August 13, 2012

Congenial

Spent the weekend at this years BRS con, with Friday being an "on my bike day" so I could sample the Real Ale Bar, the other days playing chauffeur for Karen, and running other errands.

As usual, it was a good chance to meet people I'd not seen in ages -- including Paul Mason, who had managed a visit back from Japan, to talk about (or point and laugh about) how academia views the fan phenomenon.

And as usual, it made me think, maybe I should dust off something from the cupboard and try doing this thing again, even if only just once every other year. Maybe some HeroQuest or something similar. But then the moment passes.

Trivia

So, while sitting on the drive at the anniversary of acquisition,the car odo was reading 6454 miles, or 2980 miles on the year -- thanks to last year's dry autumn, and the usual run of snow days (and no thanks to the spring weather).


Talking of which, the fruit trees seem to have counted April-May as a second winter, because they have had a second run of blossom in the last few weeks:

New plums in August

Baby plums


Apple blossom in August

Apple blossom


The plums at least managed to avoid the worst of the late frosts, and if the belated warm weather keeps up, might end up ripening a decent crop -- but at current indications that will be after the bank holiday weekend, the usual peak (and unlike last year when they were peaking about now); but the apples have been hit -- the Bramley has but a handful of fruit that look like they'll never get big enough to use; though the Charles Ross has a smaller than usual crop of smaller than usual fruit, but will at least not be a complete write-off.


Friday, August 03, 2012

On the road again

Between holiday and just everyday cycling with a purpose (unlike the gratuitous getting miles in on rare dry evenings in June), I managed 350 miles last month, which is more like it.

Last night on the way home through Bourn, it was just starting to spit with rain, with a strong southerly wind in my face, so I was barely over 20mph going through the 30 limit (as opposed to the more usual barely legal), but just kept on pedalling to get up the far side of the valley an keep ahead of the weather.

Then a car pulled out, and promptly go stuck behind another slow cyclist grinding up the hill -- so nothing for it but to keep pouring on the coal, and overtake the both of them. I was gasping for breath on the next up out of the village, but it was satisfying.

And I managed to get clear of the path of that batch of weather and carried on dry all the way home.

Saturday, July 14, 2012

Cycling holiday

Despite a weather forecast which started with a sunny-ish day (rain by evening) and then wet thereafter, I managed 127 miles over 3 days, with only 2 of those miles being wet.

Not that one

The holiday was the Cyclebreaks Heritage Coast tour, amended to two nights at Westleton, on account of the Halesworth Latitude festival taking over the hotels there.


View 12-Jul-2012 in a larger map

Fearing that the weather would make this the only day for distance, I made 10am start from base, stopping for a sandwich at the Eat Anglia café next door to the Earl Soham Brewery (beer from next door on tap -- so it might as well be the brewery tap from that point of view). Thus fortified, I took part of the route up to Halesworth, and ad-libbed my way from there, suddenly recognising as I turned south at Blyford that I'd cycled in the opposite direction on previous tours ending in Southwold for the night.

The A12 was full of slow-moving traffic when I arrived there, so it was a bit of a wait to cross, but then no problems making the way to Westleton, and a very nice meal of ham hock terrine, and beef and onion suet pudding, washed down with the Summer Dream elderflower ale from Green Jack Brewery.

It was pleasing that this time, after 45 miles, while my legs were starting to tire, I was otherwise perfectly OK that evening -- unlike three months earlier, when doing the same distance around Ipswich had me creaking and hobbling. Even with the awful weather, I have at least managed to get back in condition for the season.


View 13-Jul-2012 in a larger map

Friday was dull, but apart from a few flurries of rain late morning, dry (except for underfoot). The route was almost the planned one, though I extended a mile or so further north on the marked cycle route, going through Brampton. Lunch at the Blue Lighthouse in Southwold (skewered king prawns, and treacle tart), a little walk along the promenade, and a paddle in the very chilly sea (nobody was swimming), then back on the bike, for the journey back via Walberswick and the muddy off-road section where I came a cropper last time in dry weather. This time forewarned, there was just a lot of barefoot wading while carrying the bike, both on that stretch, and later -- after a pause for a pint at the Ship in Dunwich -- on the bridleway between Dunwich Heath and Westleton.

Dinner was chicken liver with black truffle pate, macaroni cheese, and what they called peanut butter cheesecake, but was more like a peanutty mousse.


View 14-Jul-2012 in a larger map

It was raining when I woke up, but by 9, the rain radar was showing the rain had moved to the south, with a few laggard patches remaining in its wake. So rather than going south through Wickham Market and then across, I decided to go west and not turn south until the last minute. I did run into one of those laggard patches of rain for some of the route to the A12 at Darsham, but then on, it was dry from above.

Scarecrow
Scarecrow at Denham

Although I knew it was likely to be a bad choice, I decided on the minor route between Heveningham and Laxfield, and was greeted with water running across the road as I came into the former, then soon after going past Ubbeston, there was a hundred yards or so where the road was running ankle-deep with river, and finally a similarly deep puddle at the junction at Banyard's Green; but from then on it was dry, and by the time I came to the White Horse on the A140 at Thornham, even trying to be sunny.

From there, heading south from Finningham, the roads suddenly started to be wet again, suggesting that rain had been through very recently, vindicating the choice of route. And after a pause for a coffee at base, the rain started again as I began the drive home.

Monday, July 02, 2012

Strong-naming assemblies using Mono.Cecil

As the Microsoft FxCop libraries are inherently 32-bit (including native code as they do), developing code using them on a 64-bit platform throws up places where the modes get mixed, and an assembly that is generally AnyCPU ends up needing to load an x86 library and barfs. No real problem here, use corflags assembly /32BIT+ /Force, where you need the /Force for a strong-named assembly. And then if later you need that one strong-named... There is the standard technique of ILDasm/ILAsm to rebuild the assembly with strong-naming (as documented e.g. here), but you still end up with the corflags yellow warning in the MSBuild output about breaking the original strong-naming if you need that too.

But when the code I was working on also uses Mono.Cecil to do stuff, it was easier to silently do the whole lot in one script:

Yes, you can do that in PowerShell too, just with more fussing about the path to the Cecil assemblies because of the schizophrenic current directory model it has. And because the rest of the code in this particular project is F#, keeping the build scripts in the same language is just natural.


Dept of "should know better"

Cycling home from doing a little bit of shopping on Saturday morning, I was coming up to a junction where the road makes a nearly blind left turn at the point where another road joins from the right, with a traffic island in the mouth of the joining road (so a T-junction with altered priorities). Checking the mirror, there was a good gap behind me to another cyclist and then a couple of cars.

So arm out to indicate, and move over to near the white line... When suddenly the cyclist passes me, cuts in in front, then blithely bounces out again, entering the wrong side of the island. And never at any time did his hands leave his front tiller -- a piece of kit I really don't think should be road legal. Now, I'm used to the normal run of urban cyclist who usually has an arm down by one side and indicates by a twitch of an index finger or maybe a flex of the wrist; but this chap was too goddamn precious to make even that attempt.

I, of course, advised him of his unfamiliarity with the general rules of the road, but it irks me that someone supposedly serious about it should be such a bad advertisement for cycling as a mode of transport.


4078.2

In the end, the last week of June turned out to be good for cycling -- apart from the one day when I ended up cycling home in rain that hadn't been on the Met Office forecast. I can forgive getting showers wrong, but more organised weather less so -- like on Saturday just gone when they said cloudy for the morning when there was a blatant band of rain visible on the radar (The Weather Outlook is always wet and gloomy, so if I went by them I'd not have cycled at all).

So, over the easy target, and, with the cycling holiday in March, 950 miles for the half year, which is good considering we had a couple of months of almost total washout, above and beyond the normal April showers.

And now July opens wet again...