Friday, May 29, 2009

New gear and new books!

I've bought some running clothes yesterday: a shortsleeve, a longsleeve, a short and a rainjacket with zippable arms as Montechristo advised. All made from reflective dryfit material, nothing too tight. The kind shop lady added a reflective jacket on the house. We had a short chat on my progress and I mentioned the pain and kramps in my shins. She gave me three tips:

1) take it easy, take some extra rest!
2) whilst taking a shower after a run, run some cold water on the legs for some time. After that run some hot water on them. Change again by cold water. Change three times minimum and always end with the cold. This is uncomfortable but one of the best things to do.
3) apply an ice pack.

After I told her I did not know what that was, she got one, gave a demo and putted it in my bag :)


Speaking of new stuff, the inner geek will soon be nurtured with some new books. First, I won 'Ruby in practice' by asking a few questions to Jeremy McAnally and Assaf Arkin, authors of the book. After that I got an e-mail from NoStarch press to do a review on some books, 'Greyhat Python' and 'The Manga Guide to Databases' to be exact. Pretty sweet! I'm quite curious about these books but first need to finish my current book 'learn to program'. I hope I get enough time over the long weekend to finish it. Lucky for me I'll do some more traveling soon and get to eat some books on the way :D

I just came back from a training with two four minute and one five minute and some lesser minute runs. The beginning, as always, was the hardest. As soon as I'm properly warmed up and into my rhythm all is fine, except for the shins offcourse.


I took on the short sleeved Adidas 'adizero' shirt. I found it to be a very nice shirt. At first I was affraid it would be cold but it kept me warm and mostly dry. Though having a soaked shirt from the effort had it's charm, it's just too uncomfortable. The new shirt is definatively better.

Anyway, here are the stats. No significant improvement yet, but apart from the shins, the workout felt a bit too lite allready. I guess that if my legs would have some proper recovery, I would do much better than these stats:



Time to eat and apply my new ice-pack!

Tuesday, May 26, 2009

King of the hill

Reading MonteChristo's blogpost on 'heavy stuff', reminded me of my difficult last few runs. I also realised my geographical location and the metereological lookout proved to complicate runs further.

With a mercury meltdown in the afternoons, and a busy schedule, it was a question of choosing the lesser evil. Either a run in the night in a world capital where I don't know my way around and some insomnia from the post-run rush. Or a run in the early morning... Or no run. After last nights terrible and overly fat Paella that last one was no option.

Considering I allready woke up at 6 in the morning that day, just doing it again made some strange illogical sense. But living long and prosper does require it's sacrifices, so running at 6 it was.

But where? After doing some Googling, Madrid's Retiro park was the obvious choice. However, I was not sure if I'd find a safe park with open gates at 6. Also, the Retiro was a bit out of my way. I found a few parks nearby the Palacio Royal. One of them had an interresting Egyptian Temple which I wanted to see and I had been doing some sightseeing near the Palacio before. So I knew how to get there.

It was still dark when I passed the Cathedral next to the Palacio to start my run at Campo del Moro. The Campo del Moro is a park at the foot of a hill. On this hill the Moors who had occupied large parts of the iberian peninsula had built a fort known as the Alcázar. After the Spaniards reconquered the hill, the Moors tried to recapture it and layed siege on the citadel. Hence the name, 'encampement of the moors'. The area around the hill, named 'Mayrit' by the Moors, grew to become Madrid. And the Alcázar was replaced by the Royal Palace.

Unfortunately, the park was closed. So I just ran on the Paseo del Virgen del Puerto, the road next to the park. Long name, short run. Unfortunately, I could not figure out how to get to the Egyptian temple site. Quite dissapointing, but I was quick to decide running around the Royal palace would have it's charms too.



However, I was at the base of the hill. And I had a steep path ahead. I attacked the hill with a steady relentless pace. This was very hard work, but I was rewarded after I conquered the hill. It was truly magnificent to run beside the beautifull palace and it's gardens with the dawn breaking and an overview of the valley where Madrid was waking up.

After I passed the palace, I took a left turn and ran straight to the Plaza Mayor where my session ended.

The stats are pretty much like those from my previous run. But taking lack of sleep and the hilly terrain in consideration and knowing the Nike+ sensor can't register if you are climbing mountains, I'm very hapy with these results!

Saturday, May 23, 2009

Second breakfasts and terrible runs

Today was my worst run, ever. It started with me being out-of-breath allready during the 2-minute warmup. The session continued with many 2-minute run intervals. With such short runtimes I figured I should try to run faster.
However, during the run I was slown down by an ever increasing pain on the insides of my shins. Later this was followed by kramped sensations in my posterior shin and calf.

At least this time my front shin was ok.


To add to the feast, I got a surprise second breakfast. It was a hot day today and there were flies all over the place. This usually makes me practice on my breathing, nose-in, mouth-out. No way for a fly to disturb the fun. Today however, one of the bastards flew right into my nose, straight down my throat. It refused to add to my proteine storage but stayed right there in my throat. It made me gag and I nearly threw up. After that I kept the feeling the bugger was having a party in my throat. And running through the clouds of flies got a new dimension. Where are spiders when you need them?

To give myself a bit of extra motivation today, I changed my route. I decided to see how far I could get running in a straight line. I was near the beach town of Scheveningen when I was at the middle of my trainging session.

Knowing the Scheveningen beach is exactly 5k from my starting point I figured I would be very near the 4k when I would finish.

So, after all the hardship you can imagine I was slightly dissapointed when I saw today's stats:



But I'm glad I've survived ;-)

Thursday, May 21, 2009

Not exactly four

Getting myself to go on a run was a challenge today. Yesterday was a busy day that ended with spicy thai food and some beers. It ended somewhere around 04:00, because I just missed the last train back home and had to wait a full hour until the night train. And offcourse do the necessary traveling before reaching the comfort of my bed.



Anyway, the serious dehydration and lack of sleep might explain the lack of progress in today's run. Which is a waste because I took some extra resting days so I would be fit and could break the 4k barrier.

Today's run intervals lasted 3 minutes each, a bit shorter than last run. So I figured I could speed up a bit and get the 4k with some nice speed digits. It felt I ran faster then usual but my Nike+ stats tell a different story...



Actually, the stats don't tell that much unfortunately. I like the Nike+ but the graphs are really limited. The data is there, so I don't really get why the graphs are so limited. I guess I need to go and see if I can access that data and do some graphing myself!

Monday, May 18, 2009

Books anyone?



Like many geeks, I have a book addiction. If I'm near a bookstore I start to feel the need to go inside and check out their collection on the various subjects that interest me, or might interest me in the future. And if I'm online and bored, I just might surf some bookstores or publisher websites.

I'm not so picky in my buying, but I am in my reading. Sometimes a book just proves it's not worth the time, a pity but there's always other interesting stuff out there. So save your time, put it on the shelf and start to read something hopefully better. Oh, and try to read some reviews before you buy (note to self).

Today I posted a few book reviews on RubyLearning.org's book promo forums. I thought I'd share them on my blog as well. Also, I have finished reading my 'Start to Run' book. In the sense of sound mind, sound body there's a short review on that as well.

Don't forget to check out RubyLearning, you can learn Ruby for free! Oh, and yeah, you can now even win a copy of popular books :-)

As I'm writing this, the shipping of 'learn to program, 2nd edition' was announced in my mailbox. Yummie, new book!


Learning Ruby by Michael Fitzgerald, O'Reilly publishing.
This was my very first introduction in Ruby. After Having seen a friend build a Rails website in a few minutes I was impressed and wanted to know about Ruby.
The bookstore had two books on ruby, this one and the other being the massive pickaxe. I chose this book since I was not prepared to read such a huge book. I just wanted a brief into to see what it was all about.

Learning Ruby
The book starts with the basics and a quick tour of Ruby. After the first two chapters you start to have a rough idea about what Ruby is and what it's for. After the two introductory chapters, the usual language basics follow. Conditional loops, strings, math, arrays, hashes, working with files and classes are all dealt with. After that one chapter deals with various things such as processing XML, reflection, metaprogramming, RDoc and embedded ruby. The last chapter is a brief intro on Rails.

Conclusion
The title of the book was a poor choice. It should have been something like 'introducing ruby' for example. The best feature of this book was its shortness and simplicity, while still giving a good introduction to the world of Ruby. What I missed were some short introductions on things such as TDD, Merb, Sinatra, Shoes etc. After reading this book you won't have the feeling you have 'learned' Ruby. You have a good picture of what it is and what it can do. You know a bit of the syntax and how to use irb and check out documentation. You also know about a few extra things such as RDoc and Rails. The book is well written and I had no problems running the code for all except a Tk example. It's a nice book for the absolute beginners in programming, but I think there are better suited books for the absolute beginners out there. Instead, people who have a bit of experience in other programming languages, and just want to know what all the fuss is about will enjoy this book. This book is not for those that really want to learn about the language and it's inner workings and reasoning behind it.

Publisher's website.

Some alternate reviews (I agree with most of them).



Ruby Cookbook by Lucas Carlson & Leonard Richardson, O'Reilly publishing.

I bought this book on a shopping spree. Just needed a 3rd book to add to my shopping basket for a '3 = 2' promotion, it had good reviews so I bought it.

Ruby Cookbook
This book is not a straightforward learning book. It contains just a whole lot of 'recipes', small solutions for common problems. This book is not meant to be read in your bed from beginning to end. Rather it's something to grab on to when you want to do something but don't know how. Each chapter deals with a certain topic such as system administration, GUI's, multitasking, testing, webservices, Rake, databases, Internet services, Rails, metaprogramming and a whole lot of more basic language recipe's such as matching strings with regular expressions or comparing floating point numbers. It's a big fat book with nearly 900 pages.

Conclusion
Well, this is somewhat difficult as it's not a book to read from beginning to end. When I used the book, I have always found the solution for my problem in no time. It just covers a whole lot things. The recipes are short and clear and contain references for further information. It's a really good book and writing this review I am actually surprised I have used it so little times. Since it's such a big book, and not something to read in one piece, It's easy to put on your shelf, forget about it and use Google for help, like I did. The fact is however, that in all cases I thought about the book, it provided the answer I needed.

Given that, this book's pretty efficient. It saves a lot of time providing solutions and you don't even have to read the whole thing. Personally I think this book comes not to it's right on the bookshelf, but more as a desktop companion. Consider a digital version to keep around anr CRTL-F when in need.

Publisher's website

Some alternate reviews.



Practical Ruby Gems by David Berube, Apress publishing.

I stumbled on this book on an Internet auction site. Not having any clue about what rubygems were I thought the 10,- euro price would pay itself back. Read on to see my thoughts about the book...


Practical Ruby Gems
This book contains three parts:

Part 1 deals with what gems are, how to install them and do version control.
Part 2, the biggest part of the book, contains chapters that deal with different Gems. All of them contain a description and one or two practical examples on how to use the Gems to get something done. All code is explained after that. The book focuses mostly on Gems that can be used in a web development or sysadmin context.
Part 3 is about creating and distributing Gems yourself.

I think the book is a nice read for starters who finished reading their first Ruby book and now want to create something useful. But I think it can be informative for more expierenced Rubyists as well. It's pretty well written but I found that a few code listings contain flaws. This is mostly because the Gems used have been renamed, made obsolete by different gems or had other adjustments. So it's mostly due to the books age (April 2007) and some specifics of my operating system (Ubuntu). The publisher has not posted any errata and the downloadable code is flawed as well (at least on my system). This was a bit disappointing, but my opinion is that it's still a valuable book that will save you time in the long run. I bought the book second hand for 10 euro's so I'm pretty positive about purchasing it. But I think I would not spend the full price on the new book, but rather wait a possibly second edition or a good discount offer.

Publisher's website.

Some alternate
reviews (mind the dates).



Start to Run by Evy Gruyaert, Lannoo publishing.

I bought this book to serve as a companion for the fantastic 'start to run' podcast. My main reason was to have some more background info on the do's and dont's in running.

Start to Run
First things first, this book is only available in Dutch/Flemmish language as far as I'm aware of.
The book is about 158 pages and is built up around 4 different themes being: Running expierences, Running tips, stretch and yoga exercises and food tips and recipes. Four experts provided the content for these themes: an expierenced ports coach, a fysiotherapist with an expertise in revalidation, a chef and a runner.

Conclusion
I liked the book. I enjoyed the motivating writeups from evy. I think having the running schedules on print is pretty handy, so now I can easily lookup what my next running session will look like. The stretching exercises are very good. I don't think yoga can be learned from just a few pictures however, but I don't really care about yoga. If you do, check out wii sports or buy a dvd or go to a club or something. There are plenty of good tips for starters in this book, one thing I learned which is a recurring message is to take it easy. But I did not like the recipes. Though food is something really personal and you might like them. I expected some more practical meals for some reason. Many recipe's look a bit too complicated for somebody who just had an exercise. Also, many of the ingredients are not available in the average supermarket.

Overall I recommend the book if you just started to run. It might also be a good present.


Publisher's website.

Some alternate reviews

Sunday, May 17, 2009

On the verge of 4K

After a bit of extra rest to avoid injuries, I went on a run today. The schedule promised to be tough, with two 4 minute even one five minute session or continous running. I messed up my statistics after about 0.42K because I needed to break my run session to navigate around a few large pools of mud and rainwater. Because I did not want to cheat I wanted to rewind the training mp3 a bit. To my frustration, I broke my Nike+ training session instead.



So I started over, there was not much else to do and I could use a bit of extra warmup. The first part of the run was slow and hard and difficult. My body did not want, but the music kept me going. The strange thing is that the last, most long part was the least painfull. I did not feel my legs working against me anymore so I could run a bit faster. Here's the stats:



In principle I reached the 4k, but it feels a bit like a cheat. And besides, it's not 4k without breaks. But I'm making clear progress!

That huge dip is where I stood still to do some stretching as some muscles in the lower legs were feeling a bit cramped or acidic. I still find it a bit strange that there is no mention on stretching on the 'start to run' podcast. At least the 'start to run' book version covers stretching and I applied a few techniques, it helps a lot.

I'm enjoying Evy's book, and will probably finish it soon. But I'm not quite enjoying 'Practical Ruby Gems', though the idea behind it is good. It contains many examples that are flawed and result in not working programs. That's really something terrible that can destroy your motivation and quite often a reason to put the book back to the shelf to never touch it again. Maybe it's so flawed because it's a bit dated. I'm almost finished with it and hope my new book will arrive in my mailbox shortly!

Thursday, May 14, 2009

Dogwalkers...


Always occupying the runners' space with their hordes of beasts. Today they were in their numbers and their beasts were all over the place. You know them, I call them dogwalkers. People who walk their dogs, preferably unleashed, big and overactive. There's usually a few dogwalkers in the forest which is fine as long as they stay out of my way. But today I've ran into the king of the dogwalkers. As I was running I started noticing big drewling dogs poping up all over the place. I kept seeing more and more of these unleashed beasts pop-up and going a direction which was worringly same as mine. It was a while until I saw the smoking dogwalker who commanded the herd. Lucky for me I was just in my walking session, so the dogs were less interrested in active pursuit.
I had many short, one minute walking sessions mixed with 2 minute run sessions. It was a bit different, usually there is more recovery time. But I did not really need much of that and found the different schedule to allow me to speed a bit up.

Overall I'm quite happy with today's stats, 8th run, almost near 4K, the fastest pace and longest runs I made yet. My nike+ told me I've passed the first 15K! So I accepted the 25K challenge, I have no idea what that means but I guess it's nice to hear when I passed 25k.



Thanks for the comments on the photo in my previous post, I'll post some more soon!

Now, off to read a bit in my start to run book which has just landed in my mailbox :)

Monday, May 11, 2009

Growth patterns

Yesterday's visit to the 'keukenhof', the famous Dutch flower gardens, took it's toll on today's run. I've spent most of the day walking and taking pictures of beautiful flowers. It was a great way to practice on my photography and I managed to take a few nearly professional shots. Nature is amazing. Walking around in the keukenhof all day enhanced the pain in my knees and feet that I had since my last training. But it was time for lesson number 7. So I went for a run but it was a torture. The stats say it all:




But there is an upside, it was a bad day for me. So on a bad day I can even run 3K's, thats quite some growth since the running shop. Even though I love Evy's podcast, I do need some more info on this whole running thing. For example, how to avoid injuries. So I 'decided' to order some books. For me it allready is not much of a decision as it's more some obsessive-compulsive disorder. This time my book-shopping spree limited itself to one running book and one ruby book. Since Evy is cool I decided to just buy her 'start to run' book and in that way give her some of the kudo's she (and not the record companies) deserves.



My ruby book was 'learn to program 2nd edition'. I checked out the online version and understood all code examples directly. It seems I have progressed a bit in my ruby coding as well. Though this book is for the real beginners, there is always something new to learn from a good resource. I like the small size of the book and the quality of the pragmatic programmer series. They have a clear, direct and down-to-earth approach to explain stuff. So it seemed to be one of the good recourses, and the price of that book just made it easy to put in the basket!

Friday, May 8, 2009

A small world

Today I reached a landmark.

It had been raining quite hard for some time and there was many wind. So when it stopped raining I went out for a run in a fleece. While I was running the sun came back and it was getting pretty hot. Adding to the sweat, today's training consisted of one warmup session of 2 minutes and three 3 minute sessions.

Each time I run, I either go for a clockwise or counter clockwise run around the forest. When it gets boring I take some track into the woods and after that it becomes a random route.
Today however I decided to try and run around the forest completely. I knew when I was halfway when I saw a lighthouse, a landmark of a hotspot for tourists in the Netherlands. I reached Madurodam, which is like a small attraction featuring miniatures of the most famous buildings and places in my country.

This made me aware of how far I ran allready. It was also exactly at the backside of the park, meaning I was half way. The way back went more quickly because it consisted of longer running sessions.

So here are the stats, I have added a half kilometer. Next run will have at least one 4 and one 5 minute session so I think that the 4K will be conquered soon!

Tuesday, May 5, 2009

Chilly, chili, chill

Today's walk was hard. First of all, it was not the best weather. It was rather chilly, windy and started getting rainy as well. But I went anyway.
The weather seemed not to be that tough when I was running. Breathing was fine today, it seems I have built up a bit of fitness already. However, the run was the hardest one yet and I have doubts if it was wise to go on a run today.

Reason is my legs were just in pain and keeping me at a slow pace. I had felt it last few days. Knees and tendons and muscles in the ankle and shin region. My legs felt heavy, slow and tired. But I completed the exercise anyway, I took it slow though. Here are my stats for today's run:



While I have not spotted any signs of runner high I did have the non-stop munchies since my previouws run. Until yesterday actually.
My yesterday munchies drove me to the supermarket, but it was closed due to WWII rememberance. So I had to be creative with the food I had left. Some meat, vegetables and stuff in tin cans. I decided to make some Chili using:


- 2 spoons of olive oil
- 2 onions
- 3 toes of garlic
- 250 grams of low-fat minced meat
- a bit of salt
- a bit of black pepper
- some chili powder
- 1 can of tomatopaste
- 1 green pepper
- 1/2 gourgette
- 1/2 aubergine
- 1 can of kidney beans
- 1 can of peeled tomatoes
- quite some drops of tabasco

I added all these ingredients to the pan in the above order. Just chopped it all up and threw it in the pan, it barely fitted. So I had to leave out some mushrooms. The vegetables don't need to be cooked very long, but you can let it sit on a small fire a bit to blend the tastes. It turned out to be an absolute hunger killer, and it's got all a body needs if you combine it with a glass of milk.

So after my chilly run and my plate of chili it is time to chill out and do some reading in my Ruby Gems book!

Sunday, May 3, 2009

I'll get you next time gadget!

Having started with a slooow morning, it was time to get active and go out for a run. First I loaded a new podcast to my ipod and I checked the nike+ website again. And this time I could even register. All gadgets were a go and there was nothing to hold me back now! Though there was a lot of wind, I barely noticed when I got to the forest. I quickly loaded Evy's podcast and started out for a minute warm up run. After that a one minute walk followed by a two minute run. As I was just getting into the rhythm I noticed I did not start the podcast from the nike+ menu from the ipod.

Though a plus side of starting over was to have more Evy, I did not feel like breaking the pace. So no stats this time unfortunately.
I'll get you next time gadget!

Saturday, May 2, 2009

Productive Geekness

Having a few extra days off with absolutely nothing planned and nothing social on the agenda just begs for a time to nurture the inner geek. The amount of tech stuff I wanted to check up on or try has been piling up for the last weeks and I finally got some time for it.
Having nothing on the agenda whatsoever keeps the head clear and brings on a state of zen. There is no hurry and all the freedom to really dive into something and keep going at it until you understand or until something works.


I started off reading a few chapters from 'Practical Ruby Gems'. It's about Ruby Gems, a system for packaging and distributing ruby programs. It's much like the Advanced Package Manager on Debian and Ubuntu systems. It also lets you download and install Gems and has a handy versioning system that lets you install and use different versions. Some basic usage:

gem list shows all the Gems you have installed
gem list -r shows all the Gems from RubyForge, the internet Gem repository.
gem list -r foo shows Gems that have a name starting with foo
gem install Installs the Gem called 'bar'
gem uninstall Uninstalls the Gem called 'fubar'

Using a gem inside your Ruby code goes like this:

require 'rubygems'
require 'somegemname'

After that you can call the methods that the Gem provides just as if you had written the method in your own code already.

Being a total screencast fan these days, I watched a few screencasts on Ruby Gems as well. 'Under the hood, an intimate tour of some gems among gems' was the best.

Find some more info on the Ruby Gems website.


Yesterday I used the ActiveRecord Gem. ActiveRecord handles Database stuff for you in a way that's both easy and independent from what database management system you use. While I had some struggles with the code examples in the book (I really, really hate that), and some dependencies from mysql, I managed to get it working.

Usually, when you are confronted with some problem and figured it out after some time, you are confronted again by it a few months later. Usually I don't remember enough about it to solve the problem and must endure enhanced frustration 'why did I not write that down!'.



Since I was rather zen yesterday, I decided to implement a private wiki to document my stuff. The ammount of choice was overwhelming, I'll save you the whole story but in the end I wounded up with Instiki. A very simple Wiki, written in Ruby. It was running in a few seconds. I'm not completely happy with it though since it does not seem to support code markup.

Anyway, time for me to dive into something new!

Friday, May 1, 2009

Three K's for the Queen

I was supposed to go for my third run, but I had to pass up on that one due to the celebrations on the night before Queensday. Today was Queensday and usually there are celebrations everywhere with orange stuff and flags all over the place. However, this years' celebrations were put to an early grim end. I did not feel a wish to sponsor the media vultures and stay home and watch the horror repeat.


I still had a run to catch up on.

But before I would go on a run, I had to deal with the iTunes issue. As I still could not listen to my exercise mp3's while using the nike+. The app just won't let you play a podcast, only mp3 files tagged as music. After a lot of frustration with iTunes, wich magically decides all by itself if a given mp3 file is just a music track or a podcast, I managed to find a work-around.
The trick is to make a new 'smart playlist', and use a filter to add the podcast. This smart playlist can be synchronised to the iPod and played from within nike+.

So, I went to catch up on my date with Evy in the forest. The run went fine but I was still struggling a bit with my breath control. I tried to keep a consistent rhythm of deep slow breaths. But sometimes my running pace tricked my breathing rhythm to speed up. This is just something that needs my constant attention like so many things until it starts to become natural.

Anyway, when I was finished I was surprised to hear Lance Armstrong congratulate me on my results. Yeah, whatever dude.

Back home I reviewed my stats for the first time. In the process I managed to bork up the crappy registration process at the nike+ website. Apparently my birthday, which Nike thinks is important to review running statistics, is not existent. While fiddling with their interresting but amazingly stupid registration form, I entered a birtyear for 10 year olds. Nike thinks that persons younger than 13 should not review their running stats and therefore are not allowed to register.
That's no news really, we all know how Nike loves children... But they locked the datefield and I could not change it back. Further more, even if I deleted all data on my system relating to the Nike website, it still remembered my exact registration form. How? Well the nike+ has a unique track ID which is used by iTunes as an identifier when you access the nike+ website.
But wait, why do I need to register for a username and password if they allready use a unique ID to identify me? Well because they really, really want to identify me. As a person that is, not just as an anonymous runner who just wants to see his running stats. So what? Well just think about it, why would they want to know exactly who I am, where I live, what my age is etcetera?
Answer is simple, they are evil. They will use it for their own marketing pleasure or maybe even sell my personal data to the highest bidder.
Thanks for buying our product, now we´d like to abuse your identity! How´s that for customer bonding. No need to ask or even tell me about that before I buy the product. ´Just do it´ just got a new meaning.

Anyway, here are my first basic stats. I needed to take a screenshot of the overview as I cannot backup this data or access the more detailed info.