Son las 5 de la mañana, y suena el despertador. He dormido fatal, como era de esperar: los nervios no son especialmente compatibles con una noche tranquila. Pero a por ello, hoy hay carrera...
Llego a las 7 a Plaza Castilla, donde he quedado con mi amigo francés Rapha, para entregar las mochilas (te las dejan listas en Colmenar Viejo, Cercedilla y Segovia). Hay una cola corta, pero la organización estaba bastante bien y todo ha ido sin mayores demoras. Los nervios siguen allí, además de una preocupación lógica por el calor y la distancia que se nos enfrentan. Pero estamos todos animados, y con ganas de correr. Y las 8:30 la cuenta atrás, y ¡en marcha!
El primer tramo tiene la salida de Madrid, con muchísima gente, luego un sube-baja hasta Tres Cantos. Con la distancia el pelotón se alarga, y como era de esperar a los 10km ya se puede correr bien. Estamos controlando la velocidad, intentando resistir la tentación de soltar piernas, con un ritmo tranquilo pero constante de 5:30-6:00. En algunos momentos nos hemos pasado un poco, pero generalmente hemos podido seguir el plan.
De Tres Cantos a Colmenar Viejo es más de lo mismo, subiendo cada vez más pero ningún tramo de especial complejidad. Seguimos controlando el ritmo, viendo pasar los kilómetros. En estos momentos ya estamos empezando ver las mismas caras que nos irán acompañando hasta la entrada en Segovia. Mención especial para la chica guapa de amarilla que me ha animado mucho :)
Con 27km en las piernas la cosa se complica - una trialera muy divertida nos lleva hasta el Puente Medieval en el km 34, es una de mis favoritas para salir en bici de montaña aunque nunca la he hecho corriendo. Esta trialera es de los pocos puntos peligrosos de toda la carrera, en general ha sido una carrera fácil desde un punto de vista de habilidad, con piernas, pulmones y corazón es accesible a todos.
Luego nos toca un tramo duro hasta Manzanares. Es uno de mis tramos habituales de entrenamiento, y tiene una subida larga y tendida con un par de muros que te hacen sufrir. Ha sido aquí, con 37km en las piernas, cuando nos hemos puesto a andar la primera vez. No será la última. La bajada a Manzanares va por otra trialera, ojo con los tobillos pero sin mucha complicación. De nuevo es una trialera que conozco bien de la bici.
Avituallamiento, y otra vez en marcha - esta vez de camino al punto medio en Mataelpino. Estamos bordeando la Pedriza, y el calor que lleva ya un par de horas castigandonos se hace cada vez más problemático. Mi amigo tiene problemas de estómago, y tenemos que bajar el ritmo. (Si os soy sincero, me han venido de perlas sus problemas...) Es un tramo en ascenso continuo, y tanto nosotros como los demás que nos acompañan hemos dejado de correr salvo en llano o bajada - las piernas ya no están para tonterías y queda todavía más de 50km.
En Mataelpino paramos un buen rato. Rapha está fatal, tiene unos problemas estomacales importantes, y necesita un tiempo para recuperarse algo. No pasa nada, yo no tengo prisa... Al final salimos de la plaza principal del pueblo, y andando pasamos un par de kilómetros hasta que esté en condiciones de correr. Intento animarle, pero parece que no está para el humor inglés :) Bordeamos la base de la montaña, hasta acercarnos a Navacerrada para empezar la subida a la Barranca. Y menudo infierno la subida, una pista forestal sin sombra que sube directamente hasta el parking, de nuevo es un tramo que conozco bien de la bici, pero al contrario de las dos trialeras no lo guardo ningún cariño. Asqueroso con la bici, e igual de asqueroso corriendo. (Digo corriendo: en realidad el tramo lo hemos hecho andando 100%).
Por fin una grata sorpresa! No había mirado bien el mapa, y cuando oí que íbamos a subir la Barranca pensaba que se refería al mirador. Pero no - llegamos al parking, y bendita sea - ¡no hay que subir más! Toca un camino bonito entre los árboles, y una bajada hacía Cercedilla. Aqui el tramo que menos me ha gustado, un par de kilómetros de asfalto que castigaban las plantas de los pies - a Rapha le pasará factura luego. Pero con unos 64 kilómetros hechos entramos triunfales en Cercedilla, sabiendo que si llegamos hasta aquí podemos llegar hasta Segovia. No soy muy fan de paella, pero la que tenían preparado aquí me ha sabido a gloria! Con tantos geles y demás porquerías mi estómago estaba reclamando algo salado, y algo parecido ha pasado al amigo: un poco de comida normal le ha arreglado de una forma espectacular, y ahora le tocará a él arrastrarme a mi.
Ponemos manos a la obra, y arrancamos. Cada vez cuesta más arrancar, andar todavía se puede, pero ponerse a correr es un mundo... Toca subir hasta el Alto de la Fuenfría, es una pista agradable con bastante sombra, y con la entrada de la tarde ya no hace tanto calor. No estoy sufriendo exactamente, pero noto los cuádriceps muy tocados, y me está costando seguir el ritmo. Andar, correr, andar... Hemos mirado la hoja de control a la mitad - y vamos por la posición 100!!! Apretando un poco podemos entrar entre los primeros cien, y mezclando un poco las velocidades, y los ánimos de los que están paseando por la zona nos ha llevado hasta la cima, y el kilómetro 79.
Ahora toca 12km de bajada, y a pesar del miedo que tenía por mis cuádriceps bajo bien, a un ritmo decente (aunque a 6:00 tampoco es nada fuera de este mundo!), y poco a poco vamos acercándonos al último avituallamiento ya con solo 11km para nuestro destino. Un poco de agua, algo de isotónico, y en marcha con el ánimo bien alto.
Se está poniendo el sol, pero afortunadamente todavía hay luz suficiente - no sería una bajada especialmente complicada si no fuera por el cansancio, y no quiero pensar cómo habrá sido para los que venía detrás - hay raíces, zanjas, piedras, todas listas para atrapar un tobillo o hacerte caer. A pesar de un tropezón llego abajo sin mayores problemas, y toca llanear hasta Segovia, con su catedral de guía en la distancia.
Aquí mi amigo está sufriendo, tiene problemas con un pie y tenemos que parar a andar un par de veces. Pero vamos llegando, los GPSs marcando la distancia - quedan 6, 5, 4.... y estamos entrando en Segovia, y nos encontramos de nuevo con el equipo de amarillo, y la chica que tanto alegraba la vista al inicio de la carrera. Les pasamos - un último esfuerzo - y estamos en plena ciudad, bajando y bajando hacia nuestro destino. Hay cada vez más gente animando, aunque lo de "ya queda poco" empieza a molestar a la quinta vez y todavía no estás...
Por fin, ¡el acueducto a la vista! Los gritos de la gente me dan alas, y estoy volando hasta la meta - ¡objetivo conseguido! 13:08 de tiempo, 102km y no sé cuanto desnivel. Impresionante.
Sunday, September 22, 2013
Monday, July 15, 2013
Ultra training plan
From Relentless Forward Progress (Amazon.co.uk):
| Weeks remaining | Mon | Tues | Wed | Thurs | Fri | Sat | Sun | Total | Thursday - Speed work duration |
| 23 | Rest | 10 | 8 | 10 | Rest | 20 | 8 | 56 | None |
| 22 | Rest | 10 | 8 | 10 | Rest | 23 | 8 | 59 | None |
| 21 | Rest | 10 | 8 | 10 | Rest | 26 | 8 | 62 | None |
| 20 | Rest | 8 | 5 | 8 | Rest | 23 | 8 | 52 | None |
| 19 | Rest | 12 | 8 | 12 | Rest | 26 | 8 | 66 | 12-15 mins |
| 18 | Rest | 12 | 8 | 12 | Rest | 29 | 8 | 69 | 12-15 mins |
| 17 | Rest | 12 | 8 | 12 | Rest | 29 | 8 | 69 | 15-18 mins |
| 16 | Rest | 10 | 7 | 10 | Rest | 23 | 8 | 58 | 12-15 mins |
| 15 | Rest | 16 | 8 | 12 | Rest | 32 | 8 | 76 | 15-18 mins |
| 14 | Rest | 16 | 8 | 12 | Rest | 20 | 16 | 72 | 15-18 mins |
| 13 | Rest | 12 | 8 | 12 | Rest | 36 | 8 | 76 | None |
| 12 | Rest | 14 | 7 | 10 | 10 | 23 | 8 | 72 | 18-20 mins |
| 11 | Rest | 15 | 8 | 12 | Rest | 39 | 8 | 82 | 20-25 mins |
| 10 | Rest | 12 | 8 | 12 | Rest | 29 | 16 | 77 | 20-25 mins |
| 9 | Rest | 10 | 7 | 10 | Rest | 0 | 16 | 43 | 20-25 mins |
| 8 | Rest | 16 | 8 | 12 | Rest | 39 | 8 | 83 | 15-18 mins |
| 7 | Rest | 12 | 8 | 12 | Rest | 29 | 16 | 77 | 20-25 mins |
| 6 | Rest | 10 | 7 | 10 | Rest | 23 | 16 | 66 | 20-25 mins |
| 5 | Rest | 12 | 8 | 5 | Rest | 50 | Rest | 75 | None |
| 4 | Rest | 10 | 7 | 10 | Rest | 23 | 8 | 58 | 10-15 mins |
| 3 | Rest | 12 | 8 | 12 | Rest | 40 | 8 | 80 | 20-25 mins |
| 2 | Rest | 8 | 8 | 12 | Rest | 29 | Rest | 57 | 18-20 mins |
| 1 | Rest | 8 | Rest | 12 | Rest | 16 | 8 | 44 | 12-15 mins |
| 0 | 7 | Rest | 5 | Rest | 4 | 100 | Rest | 116 | None |
All distances in km.
The speed work on Thursday is optional, the critical workout is the weekend long run.
Thursday, January 31, 2013
Setting font on Sublime Text 2 to Inconsolata on Windows
Everyone loves Inconsolata for programming, I use the following settings for Sublime Text 2 on Windows:
"font_face": "Inconsolata",
"font_size": 11,
"font_options": ["directwrite"]
Note the last option: if you don't use "directwrite" the font is blocky and unusable.
"font_face": "Inconsolata",
"font_size": 11,
"font_options": ["directwrite"]
Note the last option: if you don't use "directwrite" the font is blocky and unusable.
Tuesday, September 18, 2012
Installing Typesafe Scala IDE on Ubuntu, once again I have to reach for the command line...
The error:
java.lang.NoClassDefFoundError: Could not initialize class
com.ibm.icu.impl.JavaTimeZone
at com.ibm.icu.util.TimeZone.getDefault(TimeZone.java:804)
Thanks to this, nothing works. Stack Overflow provides the answer, apparently OpenJDK 1.7 messes up the timezones on the machine. So without further ado, today's magic incantation:
sudo apt-get --reinstall install tzdata-java
The error:
java.lang.NoClassDefFoundError: Could not initialize class
com.ibm.icu.impl.JavaTimeZone
at com.ibm.icu.util.TimeZone.getDefault(TimeZone.java:804)
sudo apt-get --reinstall install tzdata-java
Monday, May 14, 2012
fun with clojure / lisp
(fn last_element [x] (nth x (- (count x) 1)))
Someone out there invented this language. That someone was not a normal person.
Someone out there invented this language. That someone was not a normal person.
Thursday, April 26, 2012
Iterable interface
Learnt a new thing in Java today:
Given a class:
public class DocumentPreprocessor implements Iterable
...
public Iterator
}
You can use it like this:
for (List sentence : new DocumentPreprocessor(filename)) { ... }
Which I didn't know. So there you go. Learn a new thing everyday :)
Given a class:
public class DocumentPreprocessor implements Iterable
- > {
...
public Iterator
- > iterator()
}
You can use it like this:
for (List
Which I didn't know. So there you go. Learn a new thing everyday :)
Tuesday, March 13, 2012
Installing NLTK corpuses (NLP)
How to install the stopwords corpus:
1. mkdir /home/jim/nltk_data (obviously change the directory name to your user!)
2. Fire up a python console
3. >>>import nltk
4. >>>nltk.download()
5. Downloader> d stopwords
(d for download)
NLP and Installing NLTK
As part of my quest to bring my tech skills up to date I've signed up for a free course on Natural Language Processing (NLP) run on the Coursera website - it's based on a Stanford University CS Major course, and if the first week is anything to go by the quality is high, and the content interesting... An important part of the course is the weekly programming assignment, and here we have a choice of Java or Python as the language used. Given I already know Java I've decided to have a go at Python, and so it is I'm bringing my tech skills up to date by learning a language that was invented last century :)
One of the libraries Python offers is the Natural Language Toolkit (NLTK) which includes various tools to simplify NLP programming. Installing this library on Ubuntu was, as always, less than automatic. In theory, you install the library and then enter in a python console and type "import nltk" - this should work with no errors shown. But...
Things I tried and failed:
- http://nltk.github.com/install.html - easy_install, pip, and various dependency errors.
- sudo apt-get install libyaml-dev
- sudo apt-get install python-yaml
- Uninstall and reinstall the pip libraries (?) - numpy and nltk. No dependency errors, but still didn't work.
- sudo apt-get install python-nltk - installed apparently correctly, but then didn't work.
- sudo apt-get remove python-nltk
- Repeat various times
- sudo pip remove nltk
- sudo pip remove numpy
- sudo apt-get remove python-nltk
At this point god knows what crap is installed on my system, but the bloody thing doesn't work. Googling revealed this page: http://www.nltk.org/download - and finally I got the thing installed:
- Download PyYAML: http://pyyaml.org/download/pyyaml/PyYAML-3.09.tar.gz
- Unzip into a temp directory (tar xvf ...)
- sudo python setup.py install
- Download NLTK: http://nltk.googlecode.com/files/nltk-2.0.1rc1.tar.gz
- Repeat steps 2 and 3.
Saturday, March 03, 2012
Ruby on Rails, Ubuntu style
I've been going through the Ruby on Rails tutorial on my work laptop, but it's hardly ideal: it's not my machine, it's often at work, and unlike my home computer it's a Windows box. So I had the bright idea of installing Oracle Virtual Box, Ubuntu (like at home), and move the sample app I'm building onto a Dropbox shared folder.
So:
1. Install Virtual Box - painless, and very similar to VMWare
2. Install Ubuntu - basically painless, although the CD I was using was 10.10, and it required 2 further updates to bring it up to the latest version. Not sure why Ubuntu couldn't have just skipped to the latest without having to install 11.04 first - I didn't bother to check out the system update options, so this may just have been me being lazy.
3. Install Rails. And here's where things started to go wrong...
Installing Rails on Windows was easy: there's a ready made installer that covers everything, double click, next-next-next and you're done. There's even a cool video that runs you through setting up an account on Engine Yard, Github and so on. It's basically foolproof. On Ubuntu, however, and as with nearly everything else you install on it, you need to do a bit more work.
So, here's a simple how-to for a clean, new Ubuntu 11.10 install.
1. sudo apt-get install ruby1.9.1-full
2. export GEM_HOME=/home/jim/.gem (Here you need to set GEM_HOME to a directory that your user has write permissions for, I used the standard gem directory)
3. gem install rails
4. gem install bundle
EDIT==: after trying to follow these instructions on a different Ubuntu machine, I needed to include the $GEM_HOME/bin directory to my path (in bashrc), for whatever reason the install didn't leave a link to bundle in the /usr/local/bun/ directory... Given the amount of crap I installed and uninstalled when trying this the first time, I'm not overly surprised. == END_EDIT
Unfortunately, the basic bundle script currently defaults to ruby1.8, you need to modify it:
5. sudo vi /usr/local/bin/bundle (modify the shebang)
6. sudo vi /usr/local/bin/rails (modify the shebang)
If you're about to make a clean, shiny new Rails project you're probably done at this point, but as I wanted to run my sample app I had to do a couple more things to get it running.
I tried to install and fire up my sample app - developed as you'll recall on Windows. While I'd been following the tutorial fairly closely, I'd been forced to make a couple of changes to get the console to work correctly under cmd.exe. Unfortunately, these changes weren't directly compatible with Ubuntu, and I had to go through Gemfile and Gemfile.lock deleting the win32 dependencies. Further, there were a series of other dependencies that failed due to missing libraries:
1. nokigiri dependencies:
sudo apt-get install libxml2-dev
sudo apt-get install libxslt1-dev
sudo apt-get install libpq-dev
2. spork dependencies:
sudo apt-get install nodejs
EDIT==
3. Sqlite3:
sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev
== END_EDIT
... finally, all was well:
rails s - no problem entering in http://127.0.0.1:3000
bundle exec spork and bundle exec rspec spec - 40 something tests run perfectly, and 0 failures :)
Thursday, April 28, 2011
iDave diet, day 3
Day 3, all still going well.
Breakfast: roast veg + chickpeas
Pre-workout at gym: protein shake (definitely not part of the diet!)
Lunch: same as breakfast
Post-swim: cereal bar (again, not part of the diet)
Dinner: yet more chickpeas.
Getting bored of chickpeas now, and I'm really missing having a proper breakfast with porridge, juice and a white coffee.
End result (weight @6:30am, 28/04/11): 74.8kg. Pretty much the same as yesterday which (I hope) confirms current basic weight is <75kg.
Breakfast: roast veg + chickpeas
Pre-workout at gym: protein shake (definitely not part of the diet!)
Lunch: same as breakfast
Post-swim: cereal bar (again, not part of the diet)
Dinner: yet more chickpeas.
Getting bored of chickpeas now, and I'm really missing having a proper breakfast with porridge, juice and a white coffee.
End result (weight @6:30am, 28/04/11): 74.8kg. Pretty much the same as yesterday which (I hope) confirms current basic weight is <75kg.
Wednesday, April 27, 2011
iDave diet, day 2
Success on day 2, no fails.
* Breakfast: peas. First time for everything, I suppose, but I don't think I'll voluntarily eat peas for breakfast again.
* Lunch: Spicy lentils. Yum.
Post spinning: cereal bar
* Dinner: huge bowl of salad, turkey steaks, a bit of roast veg (peppers and aubergines), a handful of the chickpeas I was preparing for today.
* Snacked on almonds during the day, trying hard not to eat too many of them. Black coffee, water and diet coke.
Only negative was the gym: I was doing squats, series of 25 with a 20kg bag on my shoulders, managed two series without any problem but completely failed on the third, the legs just wouldn't respond. Spinning after was a nightmare, and I'm feeling pretty stiff today. Hopefully this is simply the result of overdoing it, 105km on Sunday, spinning Monday, and then more squats than usual on Tuesday...
Edit: 74.6kg, down 1.5kg since yesterday?
* Breakfast: peas. First time for everything, I suppose, but I don't think I'll voluntarily eat peas for breakfast again.
* Lunch: Spicy lentils. Yum.
Post spinning: cereal bar
* Dinner: huge bowl of salad, turkey steaks, a bit of roast veg (peppers and aubergines), a handful of the chickpeas I was preparing for today.
* Snacked on almonds during the day, trying hard not to eat too many of them. Black coffee, water and diet coke.
Only negative was the gym: I was doing squats, series of 25 with a 20kg bag on my shoulders, managed two series without any problem but completely failed on the third, the legs just wouldn't respond. Spinning after was a nightmare, and I'm feeling pretty stiff today. Hopefully this is simply the result of overdoing it, 105km on Sunday, spinning Monday, and then more squats than usual on Tuesday...
Edit: 74.6kg, down 1.5kg since yesterday?
Tuesday, April 26, 2011
iDave diet, day 1
Started yesterday on the iDave diet plan (see: http://www.singletrackworld.com/forum/topic/idaves-diet-plan-members for examples), all went well at the start:
Breakfast: two-egg omelette.
Carb bar after spinning
Lunch: spicy lentils + diet coke
Dinner: it all went horribly wrong, and it Wasn't My Fault.
Daughters 1&2 had decided to have an "international dinner", with 5 dishes on the menu: papaya dip from Peru; bread scone things from Alaska; French peas; Chinese empanadillas (though they tasted pretty much like the standard Spanish bar ones, to be honest); and fruit skewers (not sure what country). The food was pretty good - surprisingly so - but apart from the peas none of it was allowed on my diet, and I after spending all day in the kitchen I could hardly tell them I wasn't going to eat it!
So, the results from day 1: FAIL. 76.1kg, no change there.
Breakfast: two-egg omelette.
Carb bar after spinning
Lunch: spicy lentils + diet coke
Dinner: it all went horribly wrong, and it Wasn't My Fault.
Daughters 1&2 had decided to have an "international dinner", with 5 dishes on the menu: papaya dip from Peru; bread scone things from Alaska; French peas; Chinese empanadillas (though they tasted pretty much like the standard Spanish bar ones, to be honest); and fruit skewers (not sure what country). The food was pretty good - surprisingly so - but apart from the peas none of it was allowed on my diet, and I after spending all day in the kitchen I could hardly tell them I wasn't going to eat it!
So, the results from day 1: FAIL. 76.1kg, no change there.
Wednesday, October 13, 2010
Scala
Time for a new language, Scala looks to be interesting:
* Mixins
* Closures
* Functional programming.
Of course, the only problem is finding something I really want to build with it, just playing around with code examples is going to be entertaining for all of about 5 minutes...
Any suggestions?
* Mixins
* Closures
* Functional programming.
Of course, the only problem is finding something I really want to build with it, just playing around with code examples is going to be entertaining for all of about 5 minutes...
Any suggestions?
Subscribe to:
Posts (Atom)