crazyscot: Me in front of Tongariro (nz)
posted by [personal profile] crazyscot at 07:15pm on 05/08/2011 under ,
I bought a bike the other day. I've been having a minor tweak in one hamstring recently, but on two days this week I've felt sufficiently discomfort-free and energetic to cycle to work.

The bike cost nearly $900 (£450-500) from a proper bike shop, and a bit more for a pannier rack. That price point is not entirely unreasonable, considering that if I was still in the UK I would have been contemplating spending that sort of money on a new bike. What I have is very nice compared to my old Raleigh; quite light and zippy, and it seems less longitudinally stable though that's possibly more an effect of the reduced weight. (I don't know what price point the cheap crap bicycle-shaped-objects here go for, but I didn't look for them. Google suggests a couple of hundred dollars at K-mart.)

They have a mandatory helmet law here. Myself, I'm pro-choice and don't wear one in the UK in low-risk on-road situations, but having to wear one isn't going to stop me from cycling here. What I have done is to use it as an excuse to make myself seen better; my helmet is dayglo, practically visible from space.

The cycle to work is a little over 4km, takes me around 15 minutes, and is almost entirely flat. The road surface is a bit rough in patches, but it's generally pretty good. (The same cannot be said in the eastern suburbs, some of which we drove through last weekend.) Twenty-four speeds on a road bike seems pretty excessive here on the Canterbury plains, but that description doesn't hold for pretty much the rest of the country.

I felt quite alive on Wednesday after cycling. Tonight I still feel pretty good, but with added saddle soreness, and I bet my legs won't thank me tomorrow...
crazyscot: Beeblebear wearing headphones (tech bear)
posted by [personal profile] crazyscot at 10:20pm on 05/08/2011 under ,
At work, we have a build system.

Up until today I had treated it mostly as a black box: press the button, software is built. It's entirely homegrown and written in Ruby, of which I speak not a single word.

We have multiple firmware deliverables and unit tests to build; the build system compiles and lints everything within sight (both for the target and for the host), then selectively links subsets of the object code into the outputs. As part of doing so, it builds up a map of the symbol dependencies amongst compile units; if something fails, you get a pointer to the linker mapping log which tells you where it started from, where its meanderings took it, graphical representations of same, and an attempt to provide some hints as to what you might need to do to fix it. If everything does build, it then goes on to run all the local unit tests (and it does so under valgrind, for good measure).

There's more. As well as doing all that, it's smart enough to only recompile the compilation units that have changed, relink the affected outputs, and rerun only the affected tests. So in other words your first build takes ages, but they're much faster and pretty reliable after that. Fully automated laziness, I like it :-)

Today's lesson was to not try to outsmart the buildsystem, for it is cleverer than I am. I thought I was being clever and saving myself time in telling it to build only a subset. This was before I had realised it computes the minimal set of tasks anyway, and I got the runes subtly wrong and it bit me (gently).

I half suspect it is plotting world domination while we sleep.

November

SunMonTueWedThuFriSat
          1
 
2
 
3 4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30