lunes, mayo 02, 2011

On ultrarunning, GIS and programming on the run.

Those of you that do not know me personally probably do not know that one of my biggest passions is running. And when I mean running, I mean running *a lot*. I have been into endurance sports since I was a kid, and since a few years ago I am a passionate ultrarunner, that meaning that I enjoy a 20 km run, but I have real fun when I get out of home early in the morning and come back home several hours later in the evening with 60-70 km [~43 miles for those not used to the International System] on my legs.

To run such long distances, a fair amount of physical endurance is needed but, more that that, a great psychological endurance is the key. As the classic ultrarunning mantra goes: "pain is inevitable, suffering is optional", and each ultrarunner has his own strategy for ignoring the pain and turning a long run into a rewarding (albeit painful) journey. Some like to listen to music, others simply think about their life. Dean Karnazes, by far the most popular ultrarunner around, wrote most of his best-seller "Ultramarathon man, confessions of an all-night runner" while running, recording his thoughts into a portable recorder and later transcribing them.

Now you must be wondering why I am writing this in this blog about GIS, SEXTANTE and programming. Well, there is a link between SEXTANTE and running, and I would even dare to say that SEXTANTE would not be the same if it were not for my long weekend runs. I do not like to listen to music while I run, and I definitely do not feel like bringing a recorder with me when I go running, but there is something that I love to do when I run. Guess it? That's right: programming. (Another thing that I usually do is to practice scales...but I have a blog about music to talk about that, so I will not bore you here with the details ;-) )

As the great Edsger Dijkstra said, "computer science is not more about computers than astronomy is about telescopes". In other words, you do not need a computer to program. Of course I do not do actual coding while running, but programming is much more that just typing code. Design and optimization are two of the things that can be done without having a computer in front of you. In fact, I have realized that I tend to code too much and think less than I should if I am sitting in front of a computer, so it is better for me to spend sometime "working" without a computer. Staying away from the computer lets me concentrate on details that I might overlook if I am typing code.

Also, running for several hours to the edge of exhaustion gives you an extremely clear thought once you get past the point where your mind and your body separate (and believe me, this happens sooner or later in every long run...otherwise your body would say no and stop), so, somehow, you get "cleverer" as you run. That makes it an ideal situation for thinking about such abstract problems, and for finding optimal solutions to them.

I am writing this here because, as I mentioned in some of my latest posts, there have been some important new functionalities added to SEXTANTE in the last weeks. Most of these new functionalities involve changes in the architecture of SEXTANTE and, thus, require not just coding, but also rethinking part of its design. And, as you might have probably figured out, I did a big part of that while running. The feeling of arriving home, eating something, having a shower (or, better, a freezing ice bath) and sitting in front of the computer to put your ideas to practice is just great, letting your thoughts flow and turn into code. Definitely, much better that sitting in my office at the university (although I usually go for a short early morning 10-15km run before going to work), and by far much more productive.

Now a question to all programmers around: Do you have any preferred moment of the day to work? Anything you like to do to get ready or boost your productivity and/or creativity?

By the way, I thought about this post and "wrote" most of it a few days ago on my mind during a long and beautiful 190+ km (half of them under pouring rain...) bike ride on the almost-abandoned roads around my town. Also, whenever I have a presentation or talk, I usually rehearse it while on the run, so I guess that SEXTANTE owes more than just code to my running/cycling sessions :-)

10 comentarios:

Antonio Ordóñez dijo...

You're the fucking man!.
Mejor en castellano:
Eres el puto amo!.

Did you also run on Friday?....jejeje

Charles dijo...

Más allá de criticar tu adicción a una disciplina deportiva, me quedo con esta frase del finado Edsger Dijkstra que tuviste a bien mencionar:

"Computer science is not more about computers than astronomy is about telescopes"

De pronto, compartir estos temas con la comunidad es muy parecido a la verdadera crueldad de enseñar ciencias computacionales.

Sigamos construyendo y divulgando el conocimiento en la nube.

Un saludo desde TILogía

volaya dijo...

Dijkstra dejó muchas frases para la historia, tenía una ironía y una claridad de razonamientos increíble.

Me sorprende lo de "adicción a una disciplina deportiva". No me veo más adicto que el que juega un partido de futbol de vez en cuando o el que sale a correr todos los días 10 minutos. Correr varias horas no es lo mismo que hacerlo esos 10 minutos pero en más cantidad, es un deporte radicalmente distinto, y el hecho de que requiera más tiempo no es que los que lo practicamos seamos más adictos.

Es como decir que los que leen novela son más adictos a la lectura que los que leen poemas o relatos cortos. El volumen de entrenamiento no es el único factor que defina la adicción que uno tiene a un deporte. :-)

Cabaña Jubelú dijo...

Victor usas algun soft para correr? digo algo tipo micoach de adidas o cardiotrainer corriendo en un telefono? Porque si lo haces me gustaria saber que haces con la bateria!


Anónimo dijo...

ebay replay ebook ebook shannon butcher [url=]art of war ebook download free[/url] download ebook in txt format

Anónimo dijo...

computer software for farming business mentor plus software [url=]windows 2000 anti spy software freeware[/url] westin consulting software marketing denver
[url=]Acuerdo del usuario - Cheap Legal OEM Software, Software Sale, Download OEM[/url] temp monitoring software

Anónimo dijo...

best open source scriptwriting software mehmet software [url=]best video encoding software[/url] palm ir software
[url=]Ease Audio Converter 4.8 - Cheap Legal OEM Software, Software Sale, Download OEM[/url] computer software security products

Anónimo dijo...

computer screen highlighter software best it software [url=]bioinformatics software[/url] panasonic lumix dmc free software download
[url=]Altri - Software Store[/url] tab kids software

Anónimo dijo...

free blood pressure machines pharmacy grocery comprehensive review of pharmacy practice [url=]rigel pharmacy[/url]
tricare mail out pharmacy forms model curriculum for pharmacy technician training [url=]prednisolone[/url]
pharmacy prescribing drugs hogan pharmacy [url=]cvs pharmacy preston center dallas[/url]
ahf pharmacy lauderdale florida pharmacy requirements [url=]lamictal[/url]

Anónimo dijo...

family pharmacy ozark missouri best pharmacy for you [url=]pharmacy in oslo[/url]
pharmacy technician course curriculum cvs pharmacy new or transferred prescription [url=]silagra[/url]
beaverton pharmacy nolvadex online pharmacy [url=]walmart technology pharmacy[/url]
kentwood pharmacy violations or complaints pharmacy ratio strenghts [url=]metformin[/url]