Long ride equipment

Reading Time: 2 minutes Comfortable or Fast? I’ve been riding long distance with the wrong bike for too long. My ride is a BMC Team Machine Ultegra Di2 with Dura Ace C24 wheels. It’s a race bike. It’s aggressive. You push the pedals and it wants one thing: going fast. The problem with a race bike is comfort. Full […]


Espoo 200KM Ride report

Reading Time: 2 minutes Temperature was cold. Very cold. We got snow for the first 80km. Then some clearer sky. Then rain for the last 50km Some lessons learnt: Mud guards are necessary. Nicer for other riders. But also prevents my back being full of mud. I was keeping some of my food (gels) in the back pocket of […]


Going cycling for a long ride

Reading Time: < 1 minute A while back I’ve shared my list for getting ready to cycle long-distance on the Facebook group called Solitary Cycling. The comments were a mixed bag. From people who enjoyed my list and thanked me, to people who had no idea what long-distance cycling meant and thought I should “just ride” and improvise if something […]


Training for Paris Brest Paris 2023

Reading Time: < 1 minute The first thing I’ve been doing for training is to tell everyone I know about my plan. I want to build a lot of peer pressure so I feel accountable. Given how crazy this project is, I am pretty sure nobody would be really sorry if I wouldn’t pull it off. But some people believe […]


Rynkeby, here I come

Reading Time: 4 minutes In August during a ride, my buddy Karl told me there is this bicycle team that orders a lot of bicycles, and joining them would be a guaranteed way to get a nice bike for cheap. I was not really excited because the team orders Bianchi bikes and they are not my favorites. Not sure […]

Customer engagement

How to get hired at

Reading Time: 7 minutes EDIT: I have been now working at for 5 years. Going from 40 employees to more than 400 today. My mission today is to scale the way we do customer support to the next 1000 employees. Our ways of hiring have changed a lot. The story below is not really a good reflection of […]

Video games and learning new words

Reading Time: < 1 minute

Just saw a great video from Pr. James Paul Gee from Arizona State University.

When learning new words we need to have an image, an action, something tangible to associate to that new word. If you have nothing but a synonym or a definition or even a translation, you don’t really grasp the meaning of that new word.

In order to understand this, go to a video game shop and buy a brand new video game. Go home and start reading the manual. See if it teaches you to play the game… You will most likely not understand anything this is about. It will like a sequence of unrelated words with no meaning whatsoever.

Then start playing the game for some time.

Take the manual again and start reading. You should be able to understand everything it says. That’s because you can now easily associate the words on the manual with the actions you’ve just been performing.

how to automatically blacklist unsubscribed emails on interspire email marketer

Reading Time: < 1 minute

Simply create a trigger which will insert unsubscribed users in the blacklist after every update on the subscriber table.

CREATE TRIGGER `banned_email` AFTER UPDATE ON `iem_list_subscribers` 
(emailaddress, list, bandate)
SELECT emailaddress, ‘g’, UNIX_TIMESTAMP( ) 
FROM iem_list_subscribers
WHERE unsubscribed != ‘0’;

How to make a script sleep for a random amount of seconds

Reading Time: < 1 minute

If you want to insert a sleep in a script for a random number of seconds, you can do the following:

        NUMBER=$[ ( $RANDOM % 60 )  + 1 ]
        sleep $NUMBER

Replace 60 with the interval chosen and you will get a random sleep between 1 and 60 seconds.

This can be useful if you are trying to fetch data from a server who’s monitoring the number of connections you are opening and tends to blacklist you if you do too much.

How to crash a linux server

Reading Time: < 1 minute


You need to execute this as root.

First enable SysRq feature in the kernel
echo “1” > /proc/sys/kernel/sysrq

Then crash the kernel (makes a kernel dump)
echo c > /proc/sysrq-trigger

Reboot with no conditions (no disk unmount, just like pressing reset button)
echo b > /proc/sysrq-trigger

Shutdown all the processes gracefully except init
echo e > /proc/sysrq-trigger

Kill all the process brutally except init
echo i > /proc/sysrq-trigger