Going Coastal

March 30, 2007

The plan to use up my remaining days of leave was to use at least
one getting some good miles in on the bike. When I mentioned this to
the others in Molesey BBT there were three interested. This dropped
to just one on the day and only if it was not raining. The weather
forecast then reduced it to just me but only after I had detoured to
Epson to meet up. I decided to press on to Brighton and possibly turn
round when it started raining so that worst case I would only have to
ride 50 miles in the rain. (I thing this was a delusion. If it had
started to rain 10 miles from Brighton I was hardly going to turn
round and not get there.)


I was not complaining though as the route from Brighton from Epson
takes you straight over Epson downs then over Headley heath and down
Pebble Coombe. I’ve been descending this hill all my cycling life,
firstly as to get from Sutton wear I lived as a teenager, out to the
country side this is the least unpleasant way over the North Downs.
Then when I bought my first speedometer for my bike, and “Avocet”
that cost a fortune then and could only tell you speed, trip
distance, trip time & total distance this was the hill I would do
60mph down. Well that was my plan. At around the same time the
video/betamax thing was going on and video cameras were becoming
available. I thought it would be very cool to video a cyclist’s eye
view of this.


So yesterday I got my chance at doing the video at last. For a
full 60mph attempt you have to approach the hill on the main road and
not by turning right as I do in the film. You also have to be doing
at least 40mph when you pass the 40mph sign. (When I did this as a
youth the speed limit was 60mph so since at the time I did not know
speed limits don’t apply to cyclists I was still o.k. I will gloss
over that my aim was to get to above 60mph as youthful exuberance).
You also have to believe you can take the left hand bend without
breaking. Top speed is achieved just as you round the bend (hence
the saying “Chris youv’e gone round the bend”). My
fastest I recall was 58mph which is a testament to my trusty tourer,
my legs when I was in my twenties but mostly to sheer stupidity of
trying to read a tiny LCD speedometer which is vibrating about as
much as this video while also trying to stay on my side of the road.


Yesterday it was a sedate 44mph as recorded by my current
speedometer which automatically captures your maximum speed, a great
safety feature.




From here on the camera started to play up. I’m beginning to thing
that perhaps these cameras are not fit for purpose. This is the
second one that fails in the same way as the first. It will power off
given the slightest knock. It is as if something inside has vibrated
loose as it was good for about an hour but from her on in on the ride
it would power off randomly. So I have no video of the run into
Brighton which a shame for me but I suspect no one else will be sorry
about this.


Once I got to Brighton since the rain had not yet started so I set
off straight back with the intention in stopping in the first Cafe I
came to after it started raining for a cup of tea and some food. I
ended up having the tea on my kitchen table as the rain never came.


Total distance : More than 105 miles @ 16.5 mph. (More than
because the speedometer stopped recording for a bit on the return
leg. I don’t seem to be having much luck with gadgets at the moment.
My laptop is currently reinstalling as well).


Total time: 7 hour. Left at 8am
and arrived back at 3pm.


Technorati Tags: topic:[cycling]
topic:[molesey bbt] topic:[pebblecoome] topic:[brighton]


Shared shell. Very cool.

March 28, 2007

If you work for Sun, or are a Sun Spectrum customer and ever want
to share a login session with someone else while doing your work then
check out the shared shell: http://www.sun.com/123.


For collaboration with people in Sun it is fantastic whether you
are both in Sun or a customer and Sun. (I suspect that two customers
could use the same thing to collaborate as well , I could see nothing
in the T’s & Cs that would forbid that but I am not a Lawyer). I
particularly like the ability to “write” on the screen.


Tags: topic:[solaris] topic:[shared-shell]


Handlebar mounted video camera

March 27, 2007


I bought an Oregan Scientific 2K Helmet Camera for use on my bike. I was sold on it by the
demonstration on The Gadget Show where they threw one out of the window into a pond while it was recording and it survived and recorded it all.


To start with I have mounted it on my handlebars for two reasons:



  • I don’t usually wear a helmet.


  • It would be impossible to control the camera while on my head.



The second reason is the real reason my journey is only less than an hour when I come home, am fit, have a tail wind and the traffic is good. So most of the time I would need more than 1 hour
of “film” but the camera with a 2GB SD card will only record 1 hour 2 minutes at the highest quality. So I either have to reduce the quality, something I will investigate, or stop the camera on the most boring bits. Since the whole journey is pretty boring and I aim to keep it this way as any excitement probably involves me being in collision with a motor vehicle.


Here is quick clip:



If you can’t resist the temptation to watch, then turn the volume down as the audio is rubbish.

This is the decent from the roundabout on the Ridgeway and the Red Road in Camberley. This is fastest part of my journey so potentially the most difficult for a helmet cam on handlebars. However I am still disappointed about the quality due to the vibration. The only solution I can see is to mount it on my head. The content is terminally dull.


The other thing is the number of cars that overtake, one crossing the white line to do so.
Since I topped out at only 33mph and would have hit that speed just as the car that crosses the white line passes. Since this is something that happens every day it did not really bother me at the time.


Tags: topic:[helmetcam] topic:[video] topic:[cycling]


Operating systems as children

March 25, 2007

Solaris: you stay at that end of the disk. Windows you stay at
the other and no talking.


Right I’m only going to say this once:


Solaris: you will not, repeat not, delete Windows from the grub
menu.


Windows: Even if Solaris does delete you from the grub menu you
are not to make your partition the active one so that Solaris can’t
boot.


Thank you.


Tags: topic:[solaris] topic:[windows] topic:[grub] topic:[fdisk]


Clocks Forward, Summer Bike out.

March 25, 2007

We went for a gentle ride to Henfold via Epson Donws, Headley &
Box Hill. 8 minutes to climb the Zig Zags which is not so good. We
made it to Henfold for an early breakfast @ 9:30. Need to find some
more hills.

Then back via Ranmore where we met another club.
One of them stopped while climbing for a clipless pedal moment. She
was fine. I’m not sure it is actually possible to have a clipless
pedal moment when there is no one watching.

Then over Polsden
Lacy and a bit of detour via Effingham for the run back via the usual
route and back early.

63.9 miles @ 16.7 mph


Tags: topic:[cycling] topic:[molesey bbt] topic:[ZigZag]


mdb pipes.

March 20, 2007

Sometimes I find my self doing things that I have been doing for
years and just wonder whether by now there is some tool that I have
missed that makes the old way of doing something redundant. So in the
off chance that I have missed something I’ll document the way I often
drive mdb (or more often mdb+ a slightly improved mdb that I keep
wishing would get open sourced) in the hope some bright spark will
point me at a better way. Failing that someone might find this
useful.


When looking at crash dumps I often want to process some data and
then pipe it back into mdb via some text processing tool. Now given
that the startup time for mdb, particularly when running under kenv
is very significant you don’t want to be doing the obvious of having
mdb in a typical pipeline. So while I can do this:


nawk ‘BEGIN { printf("::load chain\n") }
/buf addr/ {
printf("%s::print -at buf_t av_back | ::if scsi_pkt pkt_comp == ssdintr and pkt_address.a_hba_tran->tran_tgt_init == ssfcp_scsi_tgt_init |::print -at scsi_pkt pkt_ha_private | ::print -at ssfcp_pkt cmd_flags cmd_timeout cmd_next\n",
$3) }’ act.0 | kenv -x explorer_dir mdb+ 0


It is a pain as kenv processes the explorer to build the correct
environment and for large dumps loads the dump into memory only to
throw it away.


So instead I start mdb as a cooperating process in the korn shell:


kenv -x explorer_dir mdb+ |&


Then I have a shell function called “mdbc
that will submit commands into the cooperating process and read the
results back. So the above becomes:


nawk ‘BEGIN { printf("::load chain\n") }
/buf addr/ {
printf("%s::print -at buf_t av_back | ::if scsi_pkt pkt_comp == ssdintr and pkt_address.a_hba_tran->tran_tgt_init == ssfcp_scsi_tgt_init |::print -at scsi_pkt pkt_ha_private | ::print -at ssfcp_pkt cmd_flags cmd_timeout cmd_next\n",
$3) }’ act.0 | mdbc


or I can do



mdbc lbolt::print


Just by way of an example to show why I bother, compare the times of
these two equivalent commands:



: dredd TS 243 $; time echo lbolt::print | kenv -x explorer mdb+ 0
real 0m37.03s
user 0m7.02s
sys 0m7.26s
: dredd TS 244 $; time mdbc lbolt::print > /dev/null
real 0m0.01s
user 0m0.00s
sys 0m0.01s
: dredd TS 245 $;





and just to show that I get the right
results from the mdbc command.



: dredd TS 245 $; time mdbc lbolt::print
0×496619a9
real 0m0.01s
user 0m0.00s
sys 0m0.01s
: dredd TS 246 $;



However like talk
it does have a 1980s feel to it so I look forward to hearing the
error of my ways.


If you think you might find it useful
the shell function is here.


Tags: topic:[debuggers] topic:[mdb]
topic:[act] topic:[Solaris] topic:[ksh]


Don’t IM…. talk!

March 20, 2007

I had to contact an engineer quite urgently today. First email,
then IM, not logged in so I set a buddy pounce, then phone, got voice
mail.


Finally got him.


Using good old talk(1)!


Welcome to UNIX.


Tags: topic:[talk] topic:[UNIX] topic:[Solaris] topic:[instant messaging] topic:[email] topic:[phone]


Disk errors, fdisk and format

March 19, 2007

I had some problems upgrading this
laptop to nv60 this weekend. First I managed to try it with the
power lead not fully connected so instead of coming back to an
upgraded system I came back to a flat battery.


Then the second attempt hung and the
only clues were in the messages file:





Mar 18 09:39:09 principia gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0 (Disk0):
Mar 18 09:39:09 principia Error for command ‘read sector’ Error Level: Fat
al
Mar 18 09:39:09 principia gda: [ID 107833 kern.notice] Requested Block 62711776
, Error Block: 62711832
Mar 18 09:39:09 principia gda: [ID 107833 kern.notice] Sense Key: uncorrectable
data error
Mar 18 09:39:09 principia gda: [ID 107833 kern.notice] Vendor ‘Gen-ATA ‘ error
code: 0×7


So I ran up format to see if I could use the analyse option to find
the broken block and either repair it or add it to the defect list.
So I get the current disk:





format> current
Current Disk = c0d0
<DEFAULT cyl 20031 alt 2 hd 32 sec 63>
/pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,0
format>


That the geometry is probably made up is not important. With those
numbers there are 2016 sectors per cylinder which puts block
62711832 in cylinder 31107 on the disk. Moving so lets plug that into
analyse ask it to do 2016 blocks so I test the whole “cylinder”
and with luck I can move on. So go into the analyse menu:





analyze> setup
Analyze entire disk[yes]? no
Enter starting block number[0, 0/0/0]: 31107/0/0
`31107′ is out of range.
Enter starting block number[0, 0/0/0]: 62711832
`31107/1/57′ is out of range.
Enter starting block number[0, 0/0/0]:


Well that is odd. Now I remember that this system will dual boot,
could it be that format is using the Solaris partition and not the
whole disk? Looking at the fdsik this would explain it:





             Total disk size is 38760 cylinders
Cylinder size is 2016 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ============ ===== === ====== ===
1 IFS: NTFS 0 8319 8320 21
2 Active Solaris 18727 38759 20033 52
3 Solaris 8319 18395 10077 26


So the block must be in fdisk partition 2. Subtracting 18727 from
31107 gets me the relative offset in the Solaris partition of 13280
which in turn ends up being in the swap partition, which is the least
inconvenient place as I can delete the swap run the analysis, which
found nothing, and add the swap back.





I can’t help thinking format should not
behave like this, or at least have an option to use absolute
addresses, perhaps it has and I don’t know about it. Anyway roll on
EFI.





Tags: topic:[format] topic:[solaris]
topic:[disk] topic:[fdisk] topic:[vtoc]


Another amazing cycling video

March 17, 2007

Now I am usually happy just to be able to do a track stand when the lights are red.


This on the other hand is beyond belief:


Tags: topic:[cycling] topic:[stunts]


scsi.d updates are like busses.

March 16, 2007

None for months then three come along one after another. This
latest update is a direct result of me failing to test the script on
Solaris 10. Some of the things that work on Nevada are not quite
there on Solaris 10.


Specifically in nevada you can do this:


this->name = “->”


But not in Solaris 10. So the name now has to be a flag that is then
checked later.


As always the new script is in the
scsi.d directory
this one is version 1.12.


On the up-side the bugs were reported within hours as there are
actually people using this script to do useful work which makes me
realise this was worth putting out there.


Tags: topic:[scsi] topic:[scsi.d] topic:[dtrace] topic:[solaris]
topic:[opensolaris]