On the Road of Recovery

Still struggling with muscle and tendons issues, I am now able to log some miles. Not too long or far. But better than nothing. I am still having Physical Therapy and now even using KT tape. I prefer not to detail for how much I spend on recovery tools, it could covert pay off the debt of several countries.

What was (and is still) the plan to go back to recovery? Well, pretty simple:

  1. Stop running at all. I replaced running with bicycle, elliptical and swimming. I maintain at least 1 to 2 hours of physical activity.
  2. When I was feeling I was doing too much damage, I switched to another activity. In the beginning, even standing was painful, so, it was a challenge to exercise without (too much) pain
  3. One week after the initial injury, I went to the doctor to get medical advice to see if anything was broken. I then attended PT. Of course, PT exercises do not account in the training time. Do your homework: workout + PT
  4. After a week of PT (and about 3 weeks to one month after the initial injury), I started running again. It feels good to be out but was horribly painful. At some point, you have to suck it up. And keep running: this is what is going to happen on long races.

If there is a single rule that can summarize this plan, it would be: stay smartly outside of your comfort zone.



Of course, over the last weeks, I have read a lot of bullshit interesting articles about injury and recovery. Two great articles are definitively worth reading: The Remodel Project and the Economics of Injury Recovery.

So, definitively not healed. But on the road to get ready for the coming challenges.

First meeting of the year: Forget the PR 25K and Hyner 50K.

Ready or not, I will be there.

On the Road of Recovery

Entering the star system

Last week, I was featured on The Run Commuter website. I got my own article, which is definitively a true honor. I feel that I now belong to the club of the runners that got this exposure. It is also really funny because I just got injured one week before it was published.


And this week, the pacer page on the Pittsburgh marathon was just published. And of course, my ugly face is on it. Yay.



It seems that all of that is finally getting real and I will have to run a half marathon in 1:45 in May while entertaining people around me. I tried to avoid everything running related since several weeks, including contact with the running community but it might be time to treat the several muscles injuries, tendinitis and remain of fractures that keep me away from running since several weeks now. Between a coming trip to Japan, another in France and a last one in Italy, I should find some time to train.

Entering the star system

BeagleBoard Black (BBB) and GPIO

When you buy a Beagleboard Black (a.k.a. BBB), it comes with a pre-installed version of debian with more or less everything you need to get started. I purchased the board for another purpose and develop seL4 components on top of it. But before starting to develop on seL4, it is useful to know exactly how the board works: once you know how the board works, you can start to write your code and know for sure that the bug comes from your code.

In this article, I will explain quickly how to set up a simple circuit to test the GPIO of the beaglebone.

Mapping between pin numbers and GPIO ID from bone 101

Setting up the circuit

To test the circuit, you need only a breadboard, a resistance and a LED. Simple.

Connect the PIN 14 (which is mapped to GPIO id 50, see table) from bank P9 (green cable on the picture) on the breadboard. Connect it to a resistance and a LED. The other pin of the LED is then connected to the ground (last PIN of P9).

Wiring scheme of the example


Controlling the GPIO in Linux

In Linux, the GPIO can be controlled using the SysFS abstraction layer. You can access it through /sys/class/gpio. I am using the pre-installed debian software on the board.

To control a particular pin, you must export it. You do it by writing the value of the pin you want to export into /sys/class/gpio/export. Then, a new directory is /sys/class/gpio/gpio<PIN-NUMBER> is created with many different files to control the pin (direction, value, etc.).

In our example, the pin 14 from the bank P9 correspond to GPIO 50. You can see the corresponding mapping between the pin and GPIO number in the beaglebone 101 document.

So, let’s start by exporting this pin:

echo 50 > /sys/class/gpio/export

Then, a new directory /sys/class/gpio/gpio50 is created.

Let’s set its direction to out

echo out > /sys/class/gpio/gpio50/direction

And let’s set its value to 1

echo 1 > /sys/class/gpio/gpio50/value


And finally, if you want to make the LED blinks every second, you can use this command:

while [ 1 ]; do echo 1 > /sys/class/gpio/gpio50/value ; sleep 1 ; echo 0 > /sys/class/gpio/gpio50/value ; sleep 1 ; done




BeagleBoard Black (BBB) and GPIO

Shame on you WS100

Western States 100 added a new rule in order that deny race entry to any athlete who has been caught using performance-enhancing drugs from competing in Western States.

What a shame.

Armstrong did not even mention he wanted to run this race. He runs every now and then (his strava profile is very active) and recently won a trail race. But he did not sign up for the race.

The organizers reacted over a non-existing threat. Just by fear. Or just to make noise.

But why banning him? This sport is all about community, not about rejection. We are a welcoming community. How many of us struggled with life, suffered from various addictions and find salvation through ultra running? How many stories of people stopping drinking, doing drugs or losing weight that stopped when they start running? Armstrong wants to join us? He is more than welcome. There is no reason to reject him.

There are many solutions to offer a fair treatment if he is running: enable drug testing during the race (for every runner – let’s be serious: some elites are using performance enhancing drugs, why not testing them?) or just let him to race without receiving an award/money. But there is no reason to reject somebody without trying to work things out. And by taking such a decision, the race organizers might have show that our sport is slowly evolving … probably not for the best.

Shame on you WS100

Work & Injury

This week, a new blog post about my ongoing work on software security has been published on the SEI blog. This work is being very exciting and I am currently working on other publication. During the next week, I will also work on a code generator that will transform an architecture model into C code executed on top of seL4, the only formally verified kernel that has been used for the HACMS program from DARPA. This will facilitates the design, implementation and verification of secure systems.

Screenshot 2016-02-04 at 11.11.07 PM

On a running side, running is becoming so painful that I no longer enjoy it. Every step is painful. A pause is necessary after every mile.

I need a new strategy to recover, avoid any permanent damage and maintain my fitness level. But running is no longer an option.

More on that soon.

Work & Injury