Haute Route Days 1 and 2

May 1st, 2011 by pyrat

Day 1 – Argentiere to Trient Hut

Looking down to Argentiere Glacier and Col du Chardonnet
Looking down to Argentiere Glacier and Col du Chardonnet

Managed to actually get the first lift from Argentiere due to taxi and good organisation. We stayed at the Hotel L’Arve in Chamonix, which I recommend.

Rolf and Roar were a bit behind us in the lift line so we managed to have a cheeky expresso at the grands montets cafe.

We got going an headed down towards the Argentiere glacier via the Rognons glacier. Some crevasses but excellent visibility. Long descent to get the skiing legs back. I had done minimal downhill skiing this season, mainly snowboarding and xc skiing.

Rognons descent
Rognons descent

We switched to skins on the Argentiere glacier and onto the Col du Chardonnet. On the way up we used ski crampons. I used mine for the first time and learned that skiing downhill on them is not a good idea when there is rocks around. I ripped off the dynafit plastic mount. Bindings were otherwise fine.

Chardonnet Ascent
Chardonnet Ascent

Looking back to Rognons Glacier
Looking back to Rognons Glacier

It flattened off then we got to the abseil over the other side. We had 2×30m ropes with us and rope-round-the-back side slipped down the col. This was fine and exciting, potentially later in the season we would require more rope to do this. Also we relied on the next party to unclip rope for us.

Chardonnet
Chardonnet

Skinning up chardonnet from Argentiere Glacier
Skinning up chardonnet from Argentiere Glacier

Chardonnet crew
Chardonnet crew

Johan waited for rope release and skied down the last section with the rope, as he arrived at the group he had a very impressive wipeout.

Col du Chardonnet
Col du Chardonnet

Next a traverse ski and then up over the Col de Saleina; Skis on the pack for this one and the thin air took a bit of getting used to; tough times.

Fenetre de Saleina
Fenetre de Saleina

On the other side of the col we saw both the Trient hut and some sexy lines above the Col du Tour. I was persuaded by Johan and Erik to hit this, so off we went for an extra tour.

Eivind
Eivind

Unfortunately the turns were not as nice as they looked; the snow was breakable crust! So we had to do Italian style turns to make it down.

Food at the Trient was excellent, portions slightly small however and the guardian crew not the most friendly. The main guardian was nice though.

Norsk Crew
Norsk Crew

Important to drink a lot of water at altitude and to rehydrate in the huts. Water, Coke and Beer all have their benefits!

Heineken and Girl
Heineken and Girl

6hrs 40min

Couloir Copt
Couloir Copt (Xavier de la Rue hit this.)

Saleina Dusk
Saleina Dusk

Day 2 – Trient Hut to Mont Fort Hut

Up quite early, we were the second last group to leave the hut. Down the Trient glacier where there were quite a few holes.

Haute Route 2011
Col des Escandies

Over the col des escandies, with skis on back and ice axe, no crampons.

Smiling Col des Escandies
Smiling Col des Escandies

Peein Col des Escandies
Peein Col des Escandies

Nice skiing down the Val D Arpette into Champex ski resort. Saw the point d’orney couloir over the backside of the Trient hut which we should really have hit as the conditions were good for it.

Val d Arpette
Val d Arpette

Val D Arpette
Val D Arpette

As we arrived at the ski resort we were lucky enough to arrive around 10:10am when there was a bus at 10:25am which took us to Osieres. From here we got a train to Le Chable via Sembrancher. From Le Chable you can get a cable car to Verbier. Maybe a taxi would be faster but not sure how much it would cost.

Val D Arpette
Val D Arpette

The boys carried on up to the Les Attelas restaurant for some tasty food. I went to Mountain Air in Verbier and got my binding spacer replaced by a friendly dude for a reasonable price.

Chilled out at Attelas restaurant and hoovered up leftovers, then onto Mont Fort hut for more beers, wine and chilling out.

A funny moment was witnessing a group of yah’s skiing down from the Mont Fort hut half cut in the pitch dark without headtorches at 11pm. Hope they made it safely back without getting buggered!

2 hrs 05min skiing!

Cleaning Chains

April 29th, 2011 by pyrat


Rusty chain

As winter comes to an end, its time to get back out on the bikes! My commuting bike (called the bus) has taken a hammering over the winter months and the chain is not in a good way.

Sheldon brown shares a good tip on cleaning chains. Sometimes when you think that you should buy a new chain for your bike, all that it needs is a good clean.


Drop the chain into a plastic Coke bottle with a couple of ounces of un-diluted citrus degreaser, cap it, and shake thoroughly. Fish the chain out with a spoke, rinse in water, and you are all set! (I am told that Pepsi bottles also work, and are easier to remove the chain from, because they have a wider mouth…but I’m a Coke guy, not a Pepsi guy.)

I have had ok results with this method. I only managed to get solvent based degreaser which is horrible smelly cancerous stuff. The bottle top was pretty wee so a larger one in future will be better. It also only worked quite well and not as good as I thought.

I will need to try with real citrus degreaser in the future and see how that goes.

Haute Route Equipment List

April 27th, 2011 by pyrat

Matterhorn from italian side
Matterhorn (from italian side)

Here is a list of what I took on the haute route. We were a group of 6 without a guide and shared the safety equipment between us.

Generally go as lightweight as possible with everything on the list. Get the lightest possible as in the end it makes your skiing a lot more enjoyable and your skinning easier. Light is right.

Dynafit Bindings seem to be the way to go.

Technical Equipment

  • Skis (w/Dynafit TLT Speed)
  • Boots
  • Poles
  • Skins
  • Tranceiver – Fresh Batteries
  • Shovel
  • Probe
  • OMM 35L Pack (Maybe 40L would be better)
  • Straps for skis
  • Harness (Black Diamond Couloir)
  • Ice Axe (As light as possible)
  • Crampons (Lightweight Aluminium)
  • Ski Crampons
  • 3 locking carabiners
  • 2 non-locking carabiners
  • 1 Ice Screw
  • Prusik cords (2 times 5m length of 6mm cord)
  • Belay device
  • 1x dyneema sling (120cm)
  • 1x dyneema sling (50cm)
  • First aid (blisters, duct tape, sports tape roll (important for blister prevention), plasters)
  • Ear plugs
  • Wee Headtorch – Fresh Batteries
  • Survival Bag
  • Compass
  • Maps (Martigny, Arolla 1:50000, Missed 1:25000 maps would be good to take these)
  • Route Guide (Scan and print out relevent parts from Peter Cliff’s Book)
  • Watch
  • Victorinox Knife
  • 500CHF – get from Geneva Airport
  • Toothbrush + Paste
  • Mobile Phone
  • Silk sleeping sheet (wool covers and pillows are provided by the huts)
  • Passport
  • Sun Glasses (Category 4 Important)
  • Sun screen and lip protection
  • Goggles
  • 1 liter Water bottle.
  • 500ml mineral water bottle
  • Pen + Wee Book
  • Medication (if applicable)
  • Lunch and Snacks – Day 1
  • Insurance Docs
  • Zip-lock bag for wallet etc.
  • Camera

Clothing

  • Shell Jacket
  • Waterproof Trousers
  • XC Ski Bottoms
  • Pertex Windproof
  • Primaloft Insulation Jacket
  • Light Fleece
  • Down Vest
  • 3 x thermal tops (1x synthetic, 2x merino)
  • 1 x thermal bottoms
  • Insulated Mitts
  • Light semi waterproof gloves (use these most of the time)
  • Liner gloves
  • Buff x 2
  • Sun hat
  • Hat x 2
  • 2 x Thick Socks (Merino)
  • 1 x Thin Socks
  • 3 x Boxers

Group

  • Skin wax
  • Stove + Pan
  • Rope x 2

Erik, Roar, Alastair, Pigne D Arolla Summit
Erik, Roar, Alastair, Pigne D Arolla Summit

I18n fix

March 23rd, 2011 by pyrat

Fix for an error with I18n, ruby 1.9.2 and Rails 3.

(incompatible character encodings: UTF-8 and ASCII-8BIT)

Rails 3 Benchmarks Startup Time

March 14th, 2011 by pyrat


Waiting

I have been having an annoying problem recently. One of the projects I am working on has a fairly large Gemfile and this is impacting startup time considerably on Ruby 1.9.2.

Ruby Start-up Times is a good article detailing boot up times for different ruby versions with a relatively fresh app.

Well, the development app I am currently working on has 148 gems defined in the Gemfile.lock. I don’t think this is overly excessive as many gems such as devise have many dependencies.

The result is that it takes a long time to bootup rails when using 1.9.2. This means that repetitive tasks such as tests, generating migrations, running migrations, rake tasks, generators, basically anything which requires a boot of the rails environment takes a long time.

This impacts the speedy development feel which rails gives you, diminishing the experience somewhat. I decided to try and see different boot times for different ruby versions.

For the benchmarks I used the same script as used on the post Ruby Start-up Times

  #!/bin/bash
  echo puts Time.now > test_script
  time rails runner test_script
  time rails runner test_script
  time rails runner test_script

Rails startup performance comparison

The graph above shows the average run time for the above script in seconds for each of the ruby versions listed. The ruby versions were installed using rvm. The most recent REE gave a mysql2 segmentation fault so I went with the earlier version.

Results

Rubinius is painfully slow to startup, for me it is currently unusable. 1.9.2 is significantly slower than 1.8.7 for bootup. This is highly frustrating as once the application starts up, 1.9.2 feels snappier than 1.8.7.

REE takes the title for the fastest rails 3 bootup time in development for a project with a number of gems defined in the Gemfile.

Possible reasons for 1.9.2’s terrible performance

There is a thread about this on Rails-Core

To quote Yehuda Katz


There are things that the C require code does in 1.9 that slow things down. One such example is re-checking $LOAD_PATH to make sure it is all expanded on every require. This is something that should be addressed by ruby-core. I’ll open a ticket on redmine if there isn’t one already.


I am also experiencing this problem and a $LOAD_PATH issue seems like a potential cause. Lets hope it gets fixed soon.

Digging deeper there is a bug report on the ruby bugtracker but unfortunately it looks to be scheduled for the 1.9.3 release. It doesnt look like this is going to be coming out any time soon, so another solution needs to be found.

Suggestions for a quick fix

  • It is possible to stop bundler requiring all the gems on startup, and you then need to manually require them in your code. This is a potential solution but it would be a lot better if the bug in 1.9.2 could be fixed instead.
  • Use REE for most of your development and use 1.9.2 in a separate terminal if you need it for tests etc.
  • Some other kind of lazy loading solution would be excellent, or even better someone with knowledge of ruby internals who can fix this problem and it be released as a patch release rather than waiting for 1.9.3.

Pomodoro and Incremental Improvements

March 10th, 2011 by pyrat

tomato

Productivity in General

Recently I have been increasing interested in productivity. Currently I spent a large proportion of the working day in front of a computer. The challenge has been to maximise the amount I get done but minimise the amount of time required to do this.

Enter Pomodoro

From http://www.pomodorotechnique.com/

The basic unit of work in the Pomodoro Technique can be split in five simple steps:

  • Choose a task to be accomplished
  • Set the Pomodoro to 25 minutes (the Pomodoro is the timer)
  • Work on the task until the Pomodoro rings, then put a check on your sheet of paper
  • Take a short break (5 minutes is OK)
  • Every 4 Pomodoros take a longer break

The beauty of this is the simplicity of this compared to other productivity system. (GTD)

The key to success here is not getting distracted whilst working on the Pomodoro and respecting breaks, even if you are in ‘the zone’.

I currently use this timer for OSX.

For Linux and Windows fans there is this great air app that works as a pomodoro timer.

Small Improvements to Existing Habits

I have also found that making small incremental improvements to daily habits quite beneficial. The time savings on a daily basis are relatively small but these small savings really add up over time.

Examples

  • Learning to properly touch type.
  • Memorizing / printing out bus timetables for hassle free public transport.
  • Finding annoying things which take time in your daily workflow and improving these processes. (eg. improving bash aliases to make your project workflow more powerful.)

Art of Flight Teaser

February 17th, 2011 by pyrat

This is the new film from Travis Rice and Crew. Thats it thats all redefined snowboard film making when it came out. This film looks set to push the boundaries even further!

Ruby 1.9 Tips

February 7th, 2011 by pyrat

A runnable script to show off a lot of ruby 1.9 features. Hopefully this will increase the takeup of 1.9 as it is now stable enough to use for real in production.

Courtesy of igrigorik.

Currency Rates Library

January 26th, 2011 by pyrat

The Rub

I needed a way of grabbing up to date currency information and an easy way to convert currencies using these up to date rates.

Normally this information requires signing up for premium accounts or writing web scrapers to do this for you.

It turns out that the European bank provides a daily xml for free that contains this information. It is specific to the euro but is fairly trivial to convert this into conversion rates for any of the other currency as the base currency.

Currency Rates is born

gem install currency_rates

It is a simple class for getting up to date currency rates in an array. You pass a base currency which the rates will be calculated against. Connects to the european bank to get a daily breakdown of the rates.

Deliberately lightweight to allow you to build on top of.

Example

#!/usr/bin/env ruby
 
require 'rubygems'
require 'currency_rates'
 
parser = CurrencyRates::Parser.new('GBP')
puts parser.engage.inspect

Valid values for the initialize call are:

"USD"
"JPY"
"BGN"
"CZK"
"DKK"
"EEK"
"GBP"
"HUF"
"LTL"
"LVL"
"PLN"
"RON"
"SEK"
"CHF"
"NOK"
"HRK"
"RUB"
"TRY"
"AUD"
"BRL"
"CAD"
"CNY"
"HKD"
"IDR"
"INR"
"KRW"
"MXN"
"MYR"
"NZD"
"PHP"
"SGD"
"THB"
"ZAR"
"EUR"

Example result array:

[{"currency"=>"USD", "rate"=>"1.58482"}, {"currency"=>"JPY", "rate"=>"130.28671"}, {"currency"=>"BGN", "rate"=>"2.26562"}, {"currency"=>"CZK", "rate"=>"28.05560"}, {"currency"=>"DKK", "rate"=>"8.63284"}, {"currency"=>"ILS", "rate"=>"5.71573"}, {"currency"=>"GBP", "rate"=>"1.00000"}, {"currency"=>"HUF", "rate"=>"317.67159"}, {"currency"=>"LTL", "rate"=>"3.99977"}, {"currency"=>"LVL", "rate"=>"0.81552"}, {"currency"=>"PLN", "rate"=>"4.48653"}, {"currency"=>"RON", "rate"=>"4.94642"}, {"currency"=>"SEK", "rate"=>"10.26180"}, {"currency"=>"CHF", "rate"=>"1.49690"}, {"currency"=>"NOK", "rate"=>"9.11266"}, {"currency"=>"HRK", "rate"=>"8.58558"}, {"currency"=>"RUB", "rate"=>"47.14741"}, {"currency"=>"TRY", "rate"=>"2.50090"}, {"currency"=>"AUD", "rate"=>"1.58992"}, {"currency"=>"BRL", "rate"=>"2.64361"}, {"currency"=>"CAD", "rate"=>"1.57892"}, {"currency"=>"CNY", "rate"=>"10.43290"}, {"currency"=>"HKD", "rate"=>"12.33837"}, {"currency"=>"IDR", "rate"=>"14323.90385"}, {"currency"=>"INR", "rate"=>"72.43649"}, {"currency"=>"KRW", "rate"=>"1770.37938"}, {"currency"=>"MXN", "rate"=>"19.10177"}, {"currency"=>"MYR", "rate"=>"4.83614"}, {"currency"=>"NZD", "rate"=>"2.06591"}, {"currency"=>"PHP", "rate"=>"70.20678"}, {"currency"=>"SGD", "rate"=>"2.02989"}, {"currency"=>"THB", "rate"=>"48.82247"}, {"currency"=>"ZAR", "rate"=>"11.25607"}, {"currency"=>"EUR", "rate"=>"1.15841"}]

Code is also available on github

OAuth and Banking – Lets make Statement APIs

December 1st, 2010 by pyrat


Oauth lets us standardize limited access to personal banking data.

Accessing bank statements programmatically is a difficult problem. Finance tracking websites like mint involve typing in username / passwords for some US banks and most UK banks dont allow automatic export of statements at all.

UK building society Nationwide recently dropped structured formats from their online statements, offering only PDF! It is shocking that a bank would drop structured data output in favour of PDF in 2010.

Banks should implement OAuth to allow applications restricted access to their bank accounts. From here they should provide an API for accessing your statements in a structured format (json / xml). This in turn would drive innovation of mobile and web financial applications and this will drive more customers to the banks that provide these digital services.

This excerpt from oauth.net describes concept of limited access using OAuth,


Many luxury cars today come with a valet key. It is a special key you give the parking attendant and unlike your regular key, will not allow the car to drive more than a mile or two. Some valet keys will not open the trunk, while others will block access to your onboard cell phone address book. Regardless of what restrictions the valet key imposes, the idea is very clever. You give someone limited access to your car with a special key, while using your regular key to unlock everything.

Everyday new website offer services which tie together functionality from other sites. A photo lab printing your online photos, a social network using your address book to look for friends, and APIs to build your own desktop application version of a popular site. These are all great services – what is not so great about some of the implementations available today is their request for your username and password to the other site. When you agree to share your secret credentials, not only you expose your password to someone else (yes, that same password you also use for online banking), you also give them full access to do as they wish. They can do anything they wanted – even change your password and lock you out.

This is what OAuth does, it allows the you the User to grant access to your private resources on one site (which is called the Service Provider), to another site (called Consumer, not to be confused with you, the User). While OpenID is all about using a single identity to sign into many sites, OAuth is about giving access to your stuff without sharing your identity at all (or its secret parts).

As you authenticate with the bank during the OAuth process it allows existing login credentials to be used, so the addition of oauth to the internet banking suite would be an enhancement rather than a rewrite; Allowing the banks to use there existing internet banking login functionality.

This would bring banks and banking data up to speed with the current developments in technology. There looks to be an interesting development in the US which separates the internet offering from the web technology. Bank Simple could pave the way for a new direction in how we bank.

Traditional banks need to embrace this or risk getting left behind by a new generation of tech savvy online operations.