Thursday, September 03, 2015

GTP 2015

It was great - in hindsight. I have to admit there were various moments when a DNF was very appealing, but the thought of being called a WIMP from here to eternity were enough to get me to the finish.



The first part was at night. 00:30, mass start, lots of cheering and nerves. My basic plan was to maintain a decent rhythm for as long as possible, and get as many KM done as possible before the sun came up. Seemed to work: I made it to the halfway point about an hour after sunrise, which meant the worse climb was done and dusted early in the morning. But I get ahead of myself.

It starts with an 8km climb! The couple of km are easy(ish), then you need to walk. Lot of rocks, scrambling at times, and a kilometre of vertical gain. Sets you up nicely for the rest of the night/day... The descent on the other side is great, you and the rest of the runners in single file, jumping from rock to rock, illuminated by your headtorch... Look back (when you can!) and there's a glowing line descending the mountain, really fucking cool...



Then you hit the forest trails, and the number of people around you drops as everyone finds their place. I was feeling pretty good here, and could overtake a fair few runners.

The kilometres go by, another tough climb at 16km, then another downhill, and all is well. Somewhere around 22km we hit the last climb of the night, which takes us up to Morcuera. This was a bit of a draggy climb, the main thing motivating me was a girl I had a few metres ahead of me. I'd overtake her, she'd overtake me... and so on. Very fit, which helped  :)  I was definitely walking the uphill bits by now, I possibly could have run more but with two marathons ahead of me that would have been really stupid. As we hit the top my batteries were failing, but the sun was coming up and I no longer needed my headtorch. 37km done in about four and a half hours.

I really hope the cows will forgive the humanpat I left them in the field just after the Morcuera feed station. I tried to bury the paper, but I must admit I really CBA to do a good job of it. But god I felt great after :)

The downhill was a fucking nightmare, this is one way that running is massively different to biking. 14km of dull forest track, the odd bit of singletrack notwithstanding. Dull and a quad killer. To make it worse, the last 3km are asphalt as you head into Rascafría. The feed station here is great, and as it's the halfway point you could send ahead a backpack with whatever you wanted for a change of clothes etc. I changed t-shirt, put on a cap, sun cream etc. One huge mistake - a volunteer told me I no longer needed to carry my head torch etc, so I stuck it in the backpack to get rid of the unnecessary weight. More on this later...

Making friends here: last year's winner was sitting in a chair feeling sorry for himself. Apparently his stomach was playing up and he had to give up. I tried to cheer him up by pointing out this was probably the only way I could beat him, but it didn't work... fuck him, he's an Argentine and probably still sore about the Falklands :)

Heading out from Rascafría is one of the most unpleasant climbs of the day - "El Reventón". In English that would be "The Breaker", which is fairly accurate. I imagine a fair few people dropped out in the feed stop, and certainly I met another 10 or so heading back downhill to the feed station to the get the "losers' bus" to the start line. (They don't call it that, but we all know what it is....) And up we go, it's a pretty horrible climb with lots of walking and forcing yourself to run despite your body saying no... But finally you get to the feed station, and another refill of both water bottle and off we go.



Aside: to cope with the high temperature forecast I bought a couple of 750ml water bottles in Decathlon, and filled one with pure water and the other water+salt.(The salt from sachets I brought with me). Seemed to work.

Another km of climbing and we hit the fun bit: "Claveles". Lots of jumping from rock to rock, carefully calculating if the rock in question is likely to move and lead to a broken ankle. To make it more fun the first 500m or so is climbing, no running here - it's definitely scrambling territory as you drag yourself up to the top... And to top it all, due to a change in route you have to do it twice: out and back. It's not massively difficult, normally, but with 64km in your legs... I took it easy, and made it through without major problems.

The next 10km is downhill. Again, normally, this would be great. But my quads are shot, my feet hurt, and I CBA. The first few km are rocky and tight singletrack, and I walked a lot of it. Then it opened up a bit and I could run, albeit at a frankly pathetic pace. But slowly but surely I made it to the feed station in La Granja,  and it's a blinder. Great atmosphere, cheering as you enter it, pasta and loads of other stuff, a real uplift. But following my basic plan I made sure not to sit down, eat a fair amount, and after 10min or so push on.

The Englishman in me was embarrassed by the cheer as we headed out of the feed station, no idea if the guy I met here was or not. I probably could have asked him, after all we were to spend the next 35km or so together.

Alejandro did the GTP last year so knew what was coming up, and was happy to have a bit of company for it. The next 10km or so were an easy uphill, so following his lead we ran when it was flat or downhill, and walked the worst bits. I was pretty fucked by this point and would probably have walked it all, but thanks to Alex I made a bit more of an effort. Stunning scenery here: a narrow river gorge with trees providing shade, despite the horrendous heat it was OK for running.

The heat: I made sure to drink at least a bottle between feed stations, plus the other bottle with salts. It wasn't a huge issue overnight, but once the sun came up... "La Granja" however  is the lowest point, and you get there at about 13:00.... It was pretty unpleasant.

Running+walking Alex and I made it to the feed station at 89km with the worse done. Alex was pretty fucked here, despite being from south Spain the heat was hurting. I wasn't complaining: I was happy to relax a bit... We press on, the last 4km or so of climbing were tough but knowing you've done most of the race...

Done, and 4-5km of up and down are all that separate us from the last downhill. It's a classic trail, but today I'd just like it to be over. Alex is pushing me on, and I'm returning the favour. Downhill or flat: run. Uphill, walk. The last 2km or so we walk whatever: we're both 100% aware of the last 9km downhill and what it means.

Another feed station, a quick km of uphill (walking, obviously) and we hit the downhill. Alex has got some pretty good blisters and we agree to take the first bit (lots of loose rock and stones) easy, then accelerate. Which is pretty much what we do. The sun's starting to go down, I take my hat+glasses off, and off we go.

We check the time: we're still in with a chance of beating the 19hr mark, so we go for it. The last 5km are a nightmare, I'd love to relax and take it easy, but Alex is pushing me on and we have to go for it. My quads are shot, Alex is equally fucked, but despite everything we keep going and going to the line.... and fail :)

I knew it was coming, my watch was pretty clear. But it was worth trying, and I'd rather give it all and fail than the alternative.

So 19:03 at the finish, but... official obligatory material check. Oops. I asked a volunteer in Rascafria if I needed to carry my lights, and "no". So I left them in my backpack thee. Idiot. it was a lie, born of ignorance probably. The official classification isn't out yet, but I'm pretty sure they'll add another 1:30 to my time.




TL;DR: good race, tough, now fucked and can't walk downstairs. Got a medal, though :)

Monday, June 29, 2015

GTP 2015

Vaya carrera... el ambiente, el calor, toda la noche y luego casi todo el día "corriendo"... impresionante.

Tenía un plan básico, que era beber mucho y salir fuerte con la intención de quitar tantos kilómetros como fueron posibles de noche, sabiendo que el calor iba a causar problemas. Y más o menos me ha funcionado - he llegado a Morcuera con la salida del sol, y pude afrontar el Reventón a primera hora de la mañana. Pero me adelanto.

Antes de la salida estábamos Cosette, Rapha y su hermano, y luego con Berne y los demás que habían hecho la nocturna. Menuda envidia me daba, verles tomar su cervecita fresca con los deberes ya hechos, y nosotros aún sin haber empezado... Pero nadie me ha obligado a participar, encima he pagado, así que el tonto soy yo :)



Nos ponemos en la salida, las fotos de rigor, y ¡en marcha! Los nervios desaparecen con la noche y la luz de los frontales y directamente nos ponemos a salir del pueblo y empezar a subir. Siguiendo con mi plan me exprimo un poco, y subo bien hasta coronar la Maliciosa. La bajada después es una delicia - las piernas aún responden, y tiene suficiente dificultad para ser entretenida. Miro atrás, increíble ver ese hilo de luces bajando la montaña, preciosa. Luego por el bosque de noche, de nuevo estoy muy a gusto.

Claro, no podía seguir así todo el rato, y toca subir de nuevo. Cuesta un poco más que la primera vez, y no llevamos más que 16km... Pero es corta, y luego estamos bajando hacía el avituallamiento de Hoyo de San Blas. El avituallamiento, como todos de la carrera, muy bien y con unos voluntarios excelentes. ¡Un 10 a la organización en ese sentido! Pero todo lo positivo que puede tener el avituallamiento se ve eclipsado por la asquerosidad de la subida a Morcuera. Horrible, una pista fea que no termina nunca. No queda más remedio que subirla, y menos mal que por fin termina, y con las primeras luces del día.

Pasado el avituallamiento me escondo detrás de un árbol para una parada técnica. Mis disculpas a las pobres vacas de la zona, el olor va a durar al menos un par de días :D

La bajada a Rascafría es eterna, e igual que la subida es por pista. Horrible. Y para rematar los últimos dos kilómetros son de asfalto... Mi ritmo está sufriendo, pero por lo menos sigo corriendo. Adelanto a varias personas que ya están andando, a pesar de ir en llano. 54km hechos, y entro en el avituallamiento. Veo al ganador del año pasado, Pedro Bianco, ha abandonado por problemas estomacales. No creo que le he ayudado mucho cuando le dije que por fin le podía ganar, no se ha animado mucho :)

Cambio de camiseta y gorro, me echo crema solar y pongo las gafas. Y en marcha, que hay que subir el Reventón. Está bien nombrado el dichoso puerto, me revienta. Pero no del todo, al contrario de unos cuantos que encontré bajando, rotos. Ya en la parte final de la subida me pasan los líders del GTP60, me desmoraliza un poco hasta que descubro que salieron a las siete y no a las ocho como pensaba... Otro avituallamiento, más agua, un último empujón y ¡estamos arriba! Solo queda esa pequeña detalle de Claveles.



En Claveles me adelanta Fito, se le nota mucho mejor que yo. Debo reconocer que en ese momento tampoco es decir gran cosa. Aquí entramos en el tramo de ida y vuelta, y deprime un poco ver a tantas personas pasarme con Peñalara ya hecha. Sigo, la subida se me hace muy dura, y es un alivio llegar al paso por la cresta que me ofrece cierto descanso - con el peligro que supone lo tomo muy despacio. Y finalmente: Peñalara. ¡Solo me queda un maratón! La vuelta por Claveles es bastante más fácil, y cuando llego a la laguna veo a Cosette. Hablamos un ratito, parece que ni el ni yo tenemos prisa... También veo a otro amigo aquí, Aletex, y de nuevo toca charlar un rato. No hay prisa.

En otros momentos la bajada a la Granja sería muy chula; hoy, sin embargo, no lo es. Es horrible. Mis pobres piernas no pueden con el desnivel, y tengo que empezar la bajada andando. Pasa un kilómetro, más o menos, y la cosa suaviza y puedo correr algo. Y poco a poco me acerco a la Granja, y sin duda el mejor avituallamiento de todos. Como bien, pan con jamón y tomate, algo salado para sentarme el estómago. Más coca cola, membrillo, queso, etc. etc. Charlo un rato con los voluntarios, y resulta que son casi vecinos, de un club de Villalba. Estaría bien quedarme más tiempo, pero "solo" estamos en el km81, y aún falta bastante carrera. Así que continuo, muy a mi pesar.

En la salida del avituallamiento me uno con otro corredor, Alex, un murciano muy majo. Nos juntamos para lo que queda de la carrera, y si he conseguido un buen tiempo es en gran parte gracias a el - me obliga a correr en todos los llanos y bajadas, el muy cabrón. Parece que le gusta verme sufrir... tiene toda la razón: si no corremos se nos va a hacer eterna. Y todavía tenemos que subir hasta Fuenfría, merece la pena exprimirse un poco aquí. Otro avituallamiento, de nuevo unos voluntarios excelentes, y esta vez con unos sprays de agua fresca que viene pero que muy bien. Comer, beber, y salimos de la parada para afrontar los últimos cuatro kilómetros de subida. Andando, por supuesto. Reponemos agua en el puerto, y tiramos dirección Puerto de Navacerrada.

Vamos ahorrando fuerzas aquí, de nuevo solo estamos corriendo cuando el desnivel es favorable. Los dos tenemos muy claro que la última bajada por la Barranca no será fácil, y si no queremos morir en el intento merece la pena controlarse. Y sin incidentes llegamos al puerto, un último kilómetro de subida, y nos quedan ocho kilómetros de bajada hasta la meta.

Alex tiene los pies destrozados, y mis piernas no aguantarán mucho más, así que acordamos ir despacio al inicio, y luego acelerar cuando llegamos a la pista. Parece que por muy mal que me veo, hay gente mucho peor - adelantamos a bastantes personas en la bajada, tanto de GTP60 como de 110. Finalmente llegamos a la pista, y ¡aceleramos! Si apretamos quizás podemos bajar de 19 horas. No lo tengo nada claro, pero merece la pena intentarlo. Estoy muriendo, me duele todo el cuerpo... y ¡Navacerrada! La entrada en el pueblo, la gente animando, y: 19:03. No lo hemos conseguido. Da igual, estoy más que contento con el tiempo!


Monday, April 06, 2015

Typescript: install grunt on Ubuntu

OK, I've got a Windows machine available with a shiny new install of Dev Studio, but as I generally use and Ubuntu linux box for my development work. So I set up grunt on it, and in case it's of any use to anyone here are the steps to get it up and running:

1. Install node:
    sudo apt-get install nodejs
    sudo ln -s /usr/bin/nodejs /usr/sbin/node

2. Install npm
    sudo apt-get install npm

3. Create your app structure, main directory and two subdirectories
./appName
./appName/ts
./appName/app

4. cd appName 

5. Create a README.md file with basic details in the appName directory

6. run "npm init" and fill in the project details. This will in turn create a "package.json" file which will be used later to save your project dependencies.

7. Install grunt and typescript globally:
    sudo npm install -g typescript
    sudo npm install -g grunt

8. Install grunt command line interface:
    sudo npm install -g grunt-cli

9. Install the grunt bits and pieces locally:
    npm install grunt --save-dev
    npm install typescript@1.4.1 --save-dev
    npm install grunt-typescript --save-dev
    npm install grunt-contrib-watch --save-dev
    npm install grunt-contrib-connect --save-dev
    npm install grunt-open --save-dev

10. Create a GruntFile.js which configures which directories to watch and how to generate the js files. The following is an example. Note that it does a fair bit more than simply convert the files, opening a web server and other good stuff:

    module.exports = function (grunt) {
        grunt.loadNpmTasks('grunt-typescript');
        grunt.loadNpmTasks('grunt-contrib-watch');
        grunt.loadNpmTasks('grunt-contrib-connect');
        grunt.loadNpmTasks('grunt-open');
     
        grunt.initConfig({
            pkg: grunt.file.readJSON('package.json'),
            connect: {
                server: {
                    options: {
                        port: 8080,
                        base: './'
                    }
                }
            },
            typescript: {
              base: {
                src: ['./ts/*.ts'],
                dest: './app',
                options: {
                  target: 'es5' //or es3
                }
              }
            },
            watch: {
                files: '**/*.ts',
                tasks: ['typescript']
            },
            open: {
                dev: {
                    path: 'http://localhost:8080/index.html'
                }
            }
        });
     
        grunt.registerTask('default', ['connect', 'open', 'watch']);
     
    }

11. Run "grunt" from the appName directory. This should start a task that will watch the origin directory, and output js files whenever these change.

12. Create a ts file and test it!


With thanks to the following entries: