Wednesday, December 31, 2014

December cycling

This month I only used the old bike, and the trips I logged on the Cycle Challenge site came to 293.7; but my bike odo ended at 11040.7 or 291 miles -- but I did have a couple of drop-outs. So comfortably over the 4200, possibly up to 4215 for the year.

That includes a couple of runs in the cool and occasionally bright holiday weather; one of which took in the first stretch of the Roman road, which was good firm going, apart from the bit near the Fulbourn road where vehicles crossing had pounded it into deep ruts and slurry -- indeed some vehicles crossed as I approached that bit, and while I dismounted to carry the bike across, the sound of revving of engines suggested that all was not well with the hindmost of the convoy. I watched him fail to do anything but dig in deeper for a while, before heading on, having had my daily ration of schadenfreude.

Now, can I beat that distance in the coming year?

Monday, December 01, 2014

PowerShell -- dynamically typed, except when it isn't

Consider

PowerShell is dynamically typed, so it should just work, right?"

Wrong. The output goes

System.Xml.XmlDocument
System.Xml.XmlDocument
Cannot convert value "23" to type "System.Xml.XmlDocument". Error: "Data at the root level is invalid. Line 1, position 1."
At line:5 char:3
+ $y <<<<  = 23
    + CategoryInfo          : MetadataError: (:) [], ArgumentTransformationMetadataException
    + FullyQualifiedErrorId : RuntimeException

So you can make static typed values, but can't even tell by inspecting the object whether it's static type or not. Combine this with the loose scoping that makes separate scopes nigh impossible (unless you want to write a proper closure, when it doesn't work), this makes little local scratch variables a lurking menace in any non-trivial script.

If only more people would get with the program and use F# as their .net scripting language.

November cycling

The numbers for the month are 10749.7/890.7, plus 3 miles where I noticed the odo drop out or +145.0/+145.1 or 293 miles, so 3921 miles year-to-date, lower than it might have been due to a couple of days where I needed to work from home, and with most weekends being at home too; but starting to be affected by bad weather too.

So, 4000 will happen; but with more home-working on the cards, 4200 will depend on how much I manage to get out for rides in the country at the end of the month.

Saturday, November 29, 2014

Powershell -- cascading exit codes through nested shells

Finally resolved why I couldn't repro the issue in this cut down case; so, for future reference, just the real problem, and none of the dead ends:

I have a problem. I want to run a set of PowerShell scripts from an orchestrating PowerShell script, each in their own process so that I can relinquish assemblies that they've Add-Typed quickly, and thus allow them to be updated when I re-deploy the whole system. And those scripts can potentially fail for some reasons, and the failure can be soft (retry with different parameters) or hard (abort entirely).

Plus, I don't want to capture the (write-)output of the inner scripts as I want to watch their progress; which leaves me with the exit code as mechanism, which is enough for my need.

We can test this mechanism with a simple script that we can make fail on demand:

And drive it like

This results in

PS> $LASTEXITCODE
0
PS> .\OuterScript.ps1
output
host

01 December 2014 17:34:50
Inner script done
Got file code 0
output
host

01 December 2014 17:34:52
Inner script done
Got file code 23
PS> $LASTEXITCODE
23

However, if I add in one line (the one with the comment):

We get

PS> $LASTEXITCODE
23
PS> $LASTEXITCODE = 0
PS> $LASTEXITCODE
0
PS> .\OuterScript.ps1
output
host

01 December 2014 17:36:14
Inner script done
Got file code 0
output
host

01 December 2014 17:36:15
Inner script done
Got file code 0
output
host

01 December 2014 17:36:17
Inner script done
Got file code 0
PS> $LASTEXITCODE
0
PS> 

we get bitten by PowerShell's odd behaviour regarding automatic variables, which makes the local use of the name somehow refer to a different (and locally overriding) thing to what gets set by process exit -- another variation on the gotcha I hit a couple of years ago.

What I'd been hitting was just that explicit zeroing of the exit code (in a dense block of initialisations, where I'd not spotted it) had been happening, before a process launch and completion had created the "real" $LASTEXITCODE. Remove that line, leave the value unset on start, and it all just works.

Friday, October 31, 2014

October cycling

The numbers for the month are 10604.7/745.6, plus 95.14 miles on cycling holiday or +171.8/+146.0 or 412.9 miles, so 3628 miles year-to-date, passing last year's total on the morning of the 19th, in continuing mild and dry weather, and with 4200 now looking like a good stretch goal for the year.

The numbers were slightly helped by the incentive of the Cambridge Cycle Challenge, in which I came second for the district as an intermediate rider, and was also in second place in the work team. Never before had I been paid for making that extra ride to the pub! But it was also helped by continuing balmy weather -- T-shirt and shorts even in the middle of the month.


That included the first day of an autumn cycling holiday, which was another Constable Country pub-crawl, ambling to the Tattingstone White Horse (under new management, so a bit less looking like a bikers' pub) for lunch, the Bakers' Arms at Harkstead for a quick one, then the Sun Inn at Dedham to sample some of their wares (not so impressed by the Lushingtons) before settling down for the night.

Monday the weather was not so nice, but I decided to take a different tack this time, stopping at the Red Rose in Lindsey Tye (which has a cycle stand!), then across to the Maglia Rosso (which I'd not tried back in July) for some cake and hot chocolate, en route to which, the front dérailleur jammed in middle gear; before making the usual detour to the Cherry Tree in Glemsford (sampling the rather potent Redemption Brewery Urban Dusk), then a different route to Lavenham (avoiding Shimpling in favour of Long Melford, via a B road that emerges just before the 30 limit).

Evening sun

Evening sunshine, Sunday

Offton, village sign

Village Sign

Bizarre house sign

How Bizarre!

Between mechanical problems, and the remnants of Hurricane Gonzalo, bringing strong winds and heavy showers, I then wimped out, and got taken back to base rather than spend a few hours being driven before the wind.

Thursday, October 02, 2014

Configuring Jenkins with PowerShell

No sooner do I say I have nothing technical to write up of general interest, than I spend a day stitching together pieces across the internet, because most Jenkins examples tend to be written to *nix or the JVM, and I'm on Windows where the admin tool of choice is PowerShell.

So, start on the Jenkins wiki page for Authenticating scripted clients, which tells you how to get your API key -- visit $(JENKINS_URL)/me/configure in your browser and look for the API token so you don't have to script your password (especially if you're using AD authentication on the server). Setting username/API Token as a Credentials object on a WebClient will just get you 403 errors, until you notice that the Groovy script example sets pre-emptive auth on its web client. The secret to HTTP Authorization and .NET WebRequest, WebClient Classes needs to be sought separately.

At this point you can GET from $(JENKINS_URL)/job/[job name]/config.xml, with DownloadString and cast to [xml] PowerShell style to read and modify.

Then you have to POST the modified XML back; but if you just do that with the Basic auth header, suddenly more 403 out of nowhere, until you read the small print about the Jenkins Remote access API about CSRF protection. When you get that and add it to your headers, it's now just a case of using UploadString to push the xml as xml.

Putting it all together we get

This appears to correctly preserve line endings as is, so you don't need to do anything non-default, equivalent to the --data-binary as you need for scripting with curl.

Tuesday, September 30, 2014

September Cycling

Well, this wasn't supposed to be just a cycling mileage log, but for the past few months, when it's not been keeping house and garden on an even keel, my side-project time has been eaten up with at-work side projects, variously involving Perforce streams, Jenkins, Windows Workflow 4, and a heavy dose of PowerShell to glue it all together -- nothing that has turned up any real revelations in and of themselves, and the results are automation tools mainly of interest to immediate colleagues, rather than of the "did you realise that you could...?" that I've hit in the past.

So, meanwhile, on two wheels, the numbers are 10432.9/599.6 or +162.1/+250.3 or 412.4 miles, in what was a dry month, continuing warm to the end, and would have been more had I not been down with a cold in the middle of last week, so 3215 for the first three quarters of the year. That makes it likely that I'll pass last year's total of 3441 miles sometime around mid October, and 4000 still a reasonable end-of-year target.

I got the new bike serviced at 550 miles on the odo, when I was able to get away with just a new chain this time; so time to start checking for wear about the 1250 mile mark and weekly thereafter.

Sunday, August 31, 2014

Southport holiday

We went back to Vitalise Sandpipers again (missing the Flower Show, as there weren't any twin rooms available that week when we went to book).

Sandpipers from the Marine Way bridge

And of course I took my bike -- both for little shopping trips and for longer ambles.


For a change, on Tuesday, I took the train for the first few miles -- buying a day-return ticket for Blundellsands and Crosby for the princely sum of £4.08 (for which I thank the local ratepayers!), getting off at Freshfields, and allowing myself a choice of stopping points on the way back.

The new furthest point of my cycling expeditions

Starting by picking up the trans-Pennine trail, which was at worst narrow packed gravel with a few puddles, I picked up NCR 62 until it reached the canal, and then went the other way, until the point where the cyclepath switched banks made a sensible place to tend back to base. Taking the main drag back for the first mile or so was no problem -- the very wide street and lack of serious traffic all helping. Then a little track through the park to join up with the way I'd come last time.

Actual art

This time, the tide was out, and I actually noticed the Crosby beach attraction


Improv

Modern art committing slow suicide

and then headed back along the coast path until I was back at Freshfields, which in terms of convenience was the obvious place to get the train back from.

On the way, the strong wind had knocked my bike over when I'd propped it up at one stop, and it had snapped the shaft of the clip-on bar-end mirror I'd been using; so it was fortunate that on the train back, as we pulled out of Ainsdale, I noticed the Mecycle shop next to the station.

So, there being a dearth of obvious cycle shops in Southport, I headed there on Thursday for a replacement, or as near as possible, and they were ever so helpful fitting a different, smaller, but actually more convenient little mirror. Then I went on for a bit more of an amble -- encountering as it happened another couple of cycle stores, whose stock of mirrors was even more meagre -- until the rain started, just a drizzle as I headed back from Formby, but starting to come down heavily as I reached Ainsdale.

So I stopped at Mecycle again, this time for the cafe, and a lunch of lentil stew, until the rain went over, and clear blue sky took its place.

Despite a forecast that had painted Monday as the only wet day of the week (there were actually just a few sprinkles of wet, at least locally -- there were substantial puddles on the way on the southward loop on Tuesday), the real rain waited until Friday, when I didn't get any miles in at all, because of it. Wednesday was a no-miles day too, because in the good weather, we made the organised trip to the Lakes (two hours each way, and a couple of hours there).








Views from Lake Windermere

August cycling

With 81.9 miles off meter; odos 10270.8/349.3 gives 157.2 + 136 -- a disappointing 375.1 miles for the month, and a total of 2803 for the year. Looks like I shall be passing the 3000 miles mark (last year's stretch goal) around mid-September.

Wednesday, August 13, 2014

Almost breaking even

So after 4 years of owning my new Smart, it's on 10151 miles, while the WAV is on 10365 (since March '10); meanwhile my old bike is on 10231 (since fitting the odo in early Jul '10), and the new one at 256 miles after the reset.

So that's 1243 and 2515 miles driven respectively, a total of 3758; adding up the miles for the bikes, and counting all the off-meter miles (other bikes and various meter failures), that comes to 3747 miles pedalled, which is only about an average day's worth of miles less.

It's been true a while now that in terms of hours, cycling is my primary mode of transport; now we're getting to the stage where it'll be true in terms of miles as well.

Later: Recalling another 7.5 miles done off-meter puts the cycling total to 3754 -- which is within margin of error the same as driving.

Saturday, August 02, 2014

The Outer Limits

Following on from the previous post -- having done the Ely to St. Ives run, I filled in the last big arc on this map


showing the extreme points I've reached on day cycling trips from home, essentially all of it during the last five years.

The limitations of terrain, including the limited crossing points of rivers and major roads, mean that there aren't really any more significant big targets to aim for now :(

Update 7-Sep-2014: what is probably the last long ride of the season, to close that wedge to the east; while doing so, I found the junction at Brinkley and going past the pub that is now the Brinkley Lion familiar; just that it was the first time that the pub had been open as I went past. It is possible that in the past I went a little further that the new line on the map, but probably not too much.

Thursday, July 31, 2014

July cycling

So 10113.6/213.3 + 84 miles cycling holiday + 15 other miles or 468 for the month, and 2428 for year to date.

While Le Tour was circling Leeds, I did a circuit of the Fens (Ely and St. Ives, for a 67 mile run) to put the odo on the old bike over the 10000 mile mark by the end of the 4th year of use.

Reach village green

Reach village green

Hitching post again

Hitching post again

Adventurers' Fen
10,000 miles

Round the clock at Wicken

Hundred foot river at Earith Bridge

Earith Bridge

Busway terminus

Start of the good bit

Windmill Bridge

Windmill Bridge

That was somewhat hard work, in a bit over 7 hours including lunch and tea breaks -- but without stopping at any of the pubs. The cycleway from St. Ives was welcome at that point of the run, smooth as well as level, so I could open up to a good cruising speed despite the legs starting to complain.

Then in not so nice weather in mid month, a quick break based in Bury


Stanton Mill

Stanton Mill -- a working post-mill

Bardwell Mill

Bardwell Mill

Pakenham Mill

Pakenham Mill

where it was almost but not quite raining for both days, so deciding me against going to the Anglo-Saxon village at West Stow, or stopping at the cycling cafe at Hawstead Green (maybe next time I do the Constable Country run).

And apart from that, one bike service and no days rained off when I wasn't on holiday, so petty much as many miles as reasonably fit in a summer month.

Monday, June 30, 2014

June cycling

The headline numbers are 9957.5 and an estimated 480 (as the new odo factory reset itself after rain on Friday, basing on 16 commutes and a couple of side-jaunts during the month on the new bike) for a total of 454 miles for the month and 1960 year to date.

As a stretch goal, 4000 for the year seems more achievable than it did earlier in the year.


Sunday, June 01, 2014

Cycling provision fail

Southport is generally well furnished for cyclists -- but there are exceptions:


View Larger Map

The only reason for the gutter would be for a short-cut for bikes -- but there's that sharp-bend sign in the way!

Cycle provision fail

FAIL!

Sufficiently awful that I stopped and posed the bike to show the corner of the sign just above where the stem meets the handlebars!


May Cycling

Recording the numbers gets complicated now, as I have a new commuter bike for getting to work (with the old one relegated to shopping use) -- so 9838.7/144.98; or 313 miles around the local area (including a spin out to Sandy on the early Bank Holiday). Then add 68 miles around Southport and a couple more unmetered, for 383 miles for the month, and 1506 miles year to date.

The Bank Holiday run

The tower at Sandy

The tower at Sandy

The ford at Sutton

The ford at Sutton

The Southport cycling



From Crosby looking to Bootle

From Crosby looking to Bootle

Turning point

Turning point

And to show how technology has moved on in the 15 years since I last bought a bike, the new one has an aluminium frame (so is lighter even with a chunkier frame) and hydraulic disk brakes -- and has cut about 5min off the commute each way.

Just need to remember to look at the chain on the old bike around the 11,000 mark.

Saturday, May 17, 2014

Some numbers

This is for my benefit more than the world's...

The car dash was showing 10000 on the odo and 10:00 on the clock this morning as I drove to collect my bike from being serviced.

And the large circuit (partly off-road) of the village is 1.67 miles.


Sunday, May 11, 2014

Film -- The Wind Rises

Miyazaki's latest farewell to his directorial role is a love letter to early aviation, the sort of thing that has appeared in many of his other films -- Porco Rosso, Laputa or even Howl's Moving Castle -- now given free rein in the story of the designer of the Zero fighter, admittedly one that elides the war years entirely. It manages to both retain the usual Ghibli quirkiness, while yet being a sober and mature work. Simply the best movie I've seen in years.

It also co-opted his most notorious protégé, Hideaki Anno, as both key animator (getting to draw the Zeros), and in the speaking role of the lead character, in a part which involved a small amount both French (the poem of the title) and German (sung) at times. Hence the little shout-out to Anno's major work in the telling of how the casting must have gone.



Saturday, May 03, 2014

April cycling

With the odo at 9670.8 after finishing the 30 days challenge -- albeit some days just a mile or so around the village, or a rather perfunctory up and down the road in the rain on Easter Sunday -- that makes 365 miles for the month (compared with last year's 250-odd including lingering snow), a pace of about 12 miles a day on average; and 1123 year-to-date, meaning 3500 for the year should be doable but 4000 quite a stretch.

And talking of stretch -- I missed the window between "replace the chain" and "replace the back block as well", with all the other things going on, and it won't be until next weekend that I have a window to put the bike into be serviced. And with that likely count of miles, reckoning on services every 4 months rather than every 6 going forward.

Sunday, April 20, 2014

Quick Cycling Break

Since I didn't get to do a Norfolk break on my bike last year, I did a quick jaunt just before Easter, getting the last of the really good weather before it went downhill for the holiday weekend.


And in much better weather than when I was there five years ago, I decided to head south to Castle Acre and exorcise the bad memories -- and not end up at the Gin Trap for lunch both days.

Cattle at Houghton

Great Massingham

The very nice pub (the Dabbling Duck) I stopped at for refreshment is just past the red car -- if I'd known it was there I wouldn't have needed any picnic supplies. The bar snack menu showed quite clearly that their chef knows the way to a man's heart -- it starts with delicacies such as chips triple fried in beef dripping with curry sauce, and crumpets with bone-marrow and Marmite butter, before getting really serious about the fat and carbs. It made the large pork pie, Scotch egg and Babybel cheese I'd packed look like a virtuous choice!

Castle Acre Priory

As it happened, the weather being so warm I didn't need sleeves, after spending four hours in the saddle, I realised over supper that I had caught the sun, and was going slightly pink, not having had quite enough shirtsleeves weather to pick up a tan incrementally.

Thursday was going to be the Gin Trap lunch day, and a variation on the usual up the coast from Sandringham -- the dry weather meant that the Peddars Way was light off-roading, as was the unmade track near West Newton.

The Peddars Way

The Peddars Way

The work going on at Ringstead Mill a couple of years ago was now done.

Ringstead Mill

Ringstead Mill

The day having been cloudy and cool, I hadn't needed to bare my arms; and soon after I left the Gin Trap, it started raining, though only staying a sprinkle, not like on previous occasions, curtailing the amble back to base.

So, nothing too strenuous, 36.5 and 36.9 miles respectively, for the first real long rides of the year.


Sunday, April 06, 2014

Fun with destructuring pattern matching -- a well kept secret of F#

Despite having been using F# as my go-to language for any personal project for 5+ years now, there are still simple things about the language that -- not being pointed out in the texts -- had passed me by until now. Prompted by a number of questions on the MSDN F# forum about porting some category theory implementation in ML to F#, I tried the exercise myself over a few evenings.

To my surprise, almost everything just ported over with mechanical syntax changes -- with the notable exception that F# doesn't have an infix keyword to mark a function as behaving like an operator. This included repeated idioms involving pattern matching in function arguments

even though you can't do multiple overloads of the same function name with different patterns, Erlang style (those would have to be different cases in a function expression); you can even have your destructuring and eat it too as in

where you have names for a component of the first argument and the first argument as a whole brought into scope. This generalises to being able to provide names for components of a tuple argument

you just have to parenthesise appropriately to distinguish taking the last element or the tuple as a whole.

There is one caveat -- if you want to do pure destructuring to assign names to components and write

this gets parsed as defining a function Cat on a tuple that returns a constant; unlike in SML you have to provide a dummy name for the whole expression

or parenthesise it, to get the destructuring assignment to id and comp that you wanted in the first place.



April foolery

Normally at this time of year, after the clocks have gone forwards, I think to myself that there's light in the evenings, but it's still too cold to do anything with it. This week it's been mild enough that I've sat out at the picnic table twice in the evening to eat my supper, as well as doing the necessary weeding.


Monday, March 31, 2014

9305.8

A busy month, but with dry enough weather for a lot of cycling; and after cleaning contacts and making a few infinitesimal adjustments to the sensor magnet, odo readings once again, to a total of 361.2 miles for the month, and 758 miles year to date, compared with last year's 604.



Wednesday, March 12, 2014

March Madness

March opened with our next-door neighbour getting a new fence around his front garden. Unfortunately, the old phone line ran just under the soil along the boundary, so was exactly where a hole got dug for one of the fence posts.

So farewell to the last of the GPO junction boxes in the close...








...and hello to a new BT one, plus a 25% increase in our download speed! (Though perhaps that was ADSL2 kicking in at the same time). It did take more than a week, though.


Tuesday, March 04, 2014

Wet weather

While there was hardly enough rain in March to disrupt my steady schedule of cycling, there was just enough to put the Cam into spate and flood the usual spots along the water meadows.


so I got to take some pictures on a bright morning on the way to work, but otherwise rejoiced thing the fact that we're in a semi-desert in the part of the world.

Friday, February 28, 2014

February cycling -- 8944.6 + 53

Well, between other commitments at the weekend, rain, wind and a cold, there was an 8-day gap in cycling spanning the second week of the month; then increasingly temperamental contacts on the odo dropped 53 miles -- stopped registering at the return from a supermarket run and one way to work, registered for the next couple of commutes, then failed entirely for two full round trips. So an unsurprisingly low increment in this shortest of months -- 184 total (131 + 53) and 397 for the year, which still keeps me ahead of last year.

It would have been more but the two good days this week I was at a corporate off-site, which I'm still recovering from; and now after a spring-like start to the week, it's wet and wintry again.

I shall have to get a new odo and give up the idea of running the current one around the clock.


Monday, February 17, 2014

A 1,001 software development nights

If you have ever read some of the translated Arabian Nights, you will be familiar with the way that a character will head off on a quest, find someone who knows how to help him complete the quest, if he will just run an errand for them... And so Scheherazade secured her position by greatly delaying unwinding the recursion thus engendered.

I'm finding some of my side-project coding is being like that at the moment. The failure of one apparently innocuous change to do what I wanted led me to think "I could use a tool to help here!" And then "But to do that, it would be useful in the long run to have a tool that helps build programs including that sort of tool."

And then I find that some of the libraries I was relying on as support don't quite do what I want, so "I could use a tool to help here! But to do that, ..."

So now I have a handful of new side projects just to help unblock me on but one of my already over-long list of same.


Sunday, February 09, 2014

Anime — 2013 in review

When something that used to have a regular slot in the day happens less often, there comes a tipping point where it almost never does. It was like that with TV before we gave that up; and it happened with anime last year.

The year opened with us picking up three series -- Chihayafuru 2, Vividred Operation (previously reviewed) and The Unlimited (good to see familiar faces, but the story was a bit meh) from the winter quarter in addition to carry-overs, including the previous summer's Uta Koi (generally harmless mix of humour and retellings of the lives of the poets), and going back to pick up the previous autumn's Girls and Panzer (a fun piece of sports fluff involving the lady-like art of sensha-dō).

But as spring arrived and none of the series appealed, it was time to eke out what we had (including barrelling through the entire run of Encouragement of Climb taken as one 40 minute session) -- and hence the crash.

Of summer's shows I tried the first episodes of about half a dozen series, but the few that didn't end with a feeling of "glad that's over" didn't leave me eager for the next episode, and the only one that went any further than that was Gatchaman Crowds, which is the other series we're carrying forward to this year along with Chihayafuru 2 (and House of Five Leaves, where the DVDs never got unpacked all year -- should have just charged through it when we started).

At some point I might get around to looking at some of the autumn titles (the ones that sound dire but got good word of mouth and the one that looked plausible and got no word of mouth) -- but I did watch a lot more anime in the closing weeks of last year than the whole rest of it, rewatching Akagi (having seen that was on the Crunchyroll repertoire), Saki (in readiness for the current season's continuation that I haven't started yet) and Sora no Woto.


A sad tale of digital decay (with a happy ending)

In the distant past, I used to use CVS for my home projects, before moving to SVN, and latterly to Mercurial (because it seemed that git would never play nice on Windows -- so, not long before Github for Windows came out, then). For various reasons, I thought I'd sweep the cobwebs off one of the old projects that still lived in the CVS repo backup.

I also had a copy of the WinCVS installer from way back when, so I expected just to run it up, check things out and be done.

It turned out that that was when the fun began. I started with looking for a CVS/Mercurial bridge, but they all seemed to be Unix based and included dire warnings about CVSNT being problematic. And it's not as if I really needed the old check-in history. So back to the long-hand way.

WinCVS installed OK, but the CVSNT sub-installer just hung. Try the latest (coming up to its 7th birthday) release. No joy there either, just the same hang. Discover that CVSNT itself is now being charged for -- there surely is indeed one born every minute! Try Tortoise CVS -- which completes its install of the included CVSNT, but (as I find after much googling for the error message

cvs server: Couldn't open default trigger library: No such file or directory

later) has failed to install the default_trigger.dll file.

Start looking for the CVS file format and how it handles binaries, because there are image files in the repo module as well as just code; and discover that it's the same as RCS format.

Inspiration finally dawns. The problems cited by cvs2svn with CVSNT in migrations is CVSNT in its role as a command line client, and not with the repo it talks to! Fire up cygwin and check everything out smoothly, after three hours beating around the bush.

The moral of the story : it's not enough to keep the back-ups -- you have to be able to usefully read them as well! Even if it's just some hobby code, rather than NASA downlink telemetry from the 1960s.



Garden rubbish

The weather has continued mild over the past 4 weeks, and now we have the crocuses and snowdrops out amongst the marigolds, and one slow-motion blooming rose in the more sheltered and sunny part of the garden.

We finished the last of the apple crop yesterday, and pulled half the leeks last weekend; and the crop of salad leaves that were mostly eaten by caterpillars last August have actually pulled themselves together enough in the winterised bed in the greenhouse that I've been able to get garnishes for Karen's lunch.

And with the garden next door no longer a wilderness, that's been a cue to start tidying up dead wood (and all too live ivy) in our own back hedge -- I've already got enough debris to fill the green bin until going on Easter. It looks like that'll be this year's garden project by the time it's done.

Saturday, February 01, 2014

8813.3

Despite the wettest January since whenever, the main reasons I had at any point not to cycle to work in the continuing mild weather were either meetings mid-afternoon with no suitable window to get home before dark, or when the bolt securing my saddle snapped for the second time in six weeks, which latter robbed me of about 30 miles. So, 213 miles in all, rather than the almost 250 it could have been -- still 35 miles ahead of last year.

Meanwhile the garden is merging late autumn -- marigolds, and a rose slowly opening -- with spring as the snowdrops are out and the other bulbs are poking through. And with both the mild weather and our neighbour having cleared the spinney which had grown up in his back garden over the last ~30 years, no deer has been coming to nibble on them.


Sunday, January 12, 2014

Garden Rubbish

While there was a fairly white frost on parts of the garden this morning, the half-hardy fuchsias and the marigolds seem to have shrugged it off again. Meanwhile, in the greenhouse, one of the last of the beef tomatoes was ripe enough to pick, along with some salad leaves growing in the raised bed, between the bubble-wrap covered overwintering pot-plants.

Meanwhile the apple crop is just about running out and getting to the stage when I'm racing decay in the early picked stored apples, the celeriac seem to have done nothing, and the leeks are just about ready enough to do for a couple of meals. At least with the milder weather and the next door garden no longer being a spinney, there's been no muntjac nibbling the sound windfalls that have been in "outdoor storage" where they lie.

With the weather in general staying benign, it's also meant I've been steadily mounting up the miles on the bike again, workshifting the last couple of hours of the working day.