Seattle to Portland double century bike ride: my experience from training to the big day

The Seattle to Portland bike ride is a ~320 km bike ride that people do in either one or two days. The annual event attracts almost 10000 people every year. As a novice in cycling, I thought that this would be a great way to get involved in actual cycling events, and so I signed up, not knowing if I could even complete it, but at least it would give me a strong incentive to train. This post is about my experience in preparing for the ride and doing the actual ride itself in a single day.

STP 2017

In the summer of 2017, two friends and I rode STP over the course of two days (this was my first cycling event ever). At the time, I didn’t really know how to train other than just riding a lot of miles and I never really gave any conscious thought to hydration or nutrition. I clocked in about 1500 km over 70 hours of training from March till July (which was totally below what the official training plan).

On the event day, I ate whatever there was at the rest stops and drank the electrolyte drinks. I also ate this supplement called SportLegs that people were giving out. They supposedly improve muscle performance (however, sports dietitian thinks they’re more placebo than anything). I didn’t know anything at the time, and I just ate them anyway.

We were worried that our legs would be too sore to continue on the second day, but on the morning of the second day, we didn’t feel fresh, but nonetheless we made it through both days (with both legs still working!) and we were super happy with ourselves for having accomplished this. We joked that maybe it was the SportLegs (to this day we still don’t know). As we crossed the finish line, I said to my friends, “OK so we’re going to do STP in one day next year right?”. They thought I was joking, but I wasn’t.

The problems begin

The next event that summer was Obliteride 2017, a century ride to raise awareness and fundraise to fight cancer. I figured that since I had done STP, I’d be able to do this ride no problem. This is where problems for me started.

Around the 50 km mark, I started cramping up a little bit, and I still had 110 km to go. I started drinking much much more of the electrolyte drinks and eating, but the cramping just got worse and worse. It’s not that I didn’t have the strength – but each stroke I took, I felt the cramps. But the cramps weren’t SO bad that I couldn’t continue – I just had a terrible finish.

I went to see a physiotherapist to see what was happening, and she took a look, and she could only identify a slight pelvic rotation (my hips were leaning to one side of the bike), but she didn’t think that was the root cause. She couldn’t see anything wrong with the bike fit either, but thought it could have been a lack of training since Obliteride was much hillier than STP. I did the exercises she asked me to do and that was about it. I had also signed up for the Whistler GranFondo and Chilly Hilly as well, but I couldn’t even finish either of them. At one point, my entire right leg locked up on me and I couldn’t bend it for a couple of minutes. I began to worry if I could even continue cycling anymore.

Tackling the problem

I was so fed up with this problem, that I scheduled appointments with different doctors in sports medicine to get their advice. They all suspected that it was a nutrition problem and referred me to a sports dietitian. At my first appointment with the dietitian, she asked me about my lifestyle, how much I ate, exercised, etc. and immediately said, “you’re not eating enough for the exercise you’re doing” (I estimated that I was eating about 2200 calories/day). She wrote out on the whiteboard a high level guideline as to how I should eat.

I saw her for about a month and a half and after following her advice, my problems were solved! In a way, I got the OK from the nutritionist to eat as much as I want, even massive amounts of sodium and sugar, provided that I keep up my level of exercise. Knowing that eating more was the fix, I had no problem with that.

She also got me to measure my sweat rate, so I’d know how much water to replenish during big rides.

Training for STP 2018

I rode sporatically in the winter (I should have followed Rule #5 of the Velominati) and didn’t really start training seriously until June. From January to May, I clocked in only 848 km over 38 hours, which was only a bit less than year before at the same time, but I had started earlier in the year this time.

I made a plan for myself where I would do intervals twice a week with a big ride on the weekend (in June alone I clocked in 577 km over 25 hours). Two of the big training rides I had were century rides, where I got to work out the specifics in my nutrition and hydration plan. In total, I rode about 1600 km over 73 hours, not counting the intervals.

Three weeks before the event date, I started sleeping earlier and earlier (by about 15-30 minutes each day) to get myself used to waking up early since I would have to be on the road by 5:30am on event day.

Two days before the ride, I started carb loading (as per instructions from the dietitian).

My emotional state

I didn’t like the fact that training took so much time out of my week. I was already spending 10+ hours on the saddle, and I was beginning to feel mentally tired from all willpower required. The intervals drained me mentally even more because of the mental focus I needed to force myself to spin as hard as I could. It’s so easy to just stop when things get tough, and interval training was more mentally draining than any training ride I did.

As the event date drew closer, thoughts of my possible failure creeped into my mind, getting stronger day by day. I couldn’t think of anything else. I thought back to the wise words of Sun Tzu:

If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle.

知彼知己,百戰不殆;不知彼而知己,一勝一負;不知彼,不知己,每戰必殆。

I even started meditating to calm my mind. My coworkers could tell that I was more distracted than usual and provided me with good encouragement.

Race day

My friend and I started the ride around 5:30 am, and because there were so many cyclists on the road, drafting propelled us quickly and we made it to the halfway point around 2:30 pm. I still felt pretty fresh at that time which was good.

I knew that most riders do the ride in 2 days, so I expected not to be able to draft behind other riders. By about 200 km, I started feeling tired, but I knew I had to keep going. There was still 120 km to go.

I wasn’t having fun anymore. At this point, it was just a grueling grind to the finish, where the finish line was hours away. I wanted the day to be over. and thought to myself, “this too shall pass”. Looking at my bike computer frequently to see how far we’ve gone made it worse – slowly watching the distance ticking upward while thinking “when will this end?”

The temperature that day went up to a max of around 38 degrees Celsius. We rode in the burning heat, slowly becoming more and more dehydrated. I wanted the sun to set faster, so that it’d be cooler.

Judging by the dozens of people we saw at rest areas, we figured our pace was pretty good. But as we went further along, there were less and less people at the rest stops. Either they bailed, or they were much faster than us.

The finish line would close at 9 pm, and there was no way I’d get to the finish line in time. I wish I had trained harder.

For most of the last third, we rode mainly on our own, occasionally seeing another rider, whom we’d ride behind just to get an extra bit of a boost.

At the last rest area, there was almost nobody, maybe like a dozen people at most, but we were only some 25 km away. We could do this.

My friend and I would swap taking the lead every five minutes so that we could balance out the wind load between the two of us. The fact that the two of us rode together allowed us to talk to each other and help lift each other up. I think that helped a greal deal mentally and emotionally.

At dusk, we finally entered Portland. We were now just 30 minutes away from the finish line. We joined a group of other riders and rode together till the end.

I called out to the other riders with encouraging words like, “yeah! We’re almost there wooo”, but looking back I think I sounded too happy (despite my true feelings of misery) and the people around me probably thought I was a jerk for being so happy while they felt miserable.

Finally we reached the finish line at 10:30 pm. People were still there and cheering us on as we arrived. I almost shed a tear. I was overjoyed having finally achieving this goal.

Other friends who drove to Portland met us at the finish line and could see our happiness despite how filthy we were. We weren’t even hungry nor thirsty. We were in no mood to do anything. We just wanted to sleep. My friend was told that he sounded brain dead because he replied with one word answers and lacked the concentrated gaze that he normally had, whereas I was still considered having a sound mind.

The next morning, I woke up with quite the hangover even though I drank no alcohol. I was just REALLY REALLY dehydrated from the bike ride in the blazing heat.

After this entire ordeal, I told myself, “I’m not going to do this again next year”. I didn’t get back on the bike until late August – I think STP scarred me a little bit. I definitely don’t regret having done this at all, and I’m still very proud of what I did.

Setting up your own Counter-Strike 1.6 dedicated server via Docker

Once upon a time, you had to run the HLDSUpdateTool, and then SteamCMD. But now, awesome people on the internet have created Docker images for setting up a Counter-Strike 1.6 dedicated server. Now, all you have to do is:

  1. Install Docker on your machine
  2. Get a Docker image for a CS 1.6 server (I created this one, which is based off of an existing one. Mine has:
    • A lot of maps
    • Metamod
    • AMXModX (with high ping kicker, podbot control menu, round money, rock the vote, and admin all in one)
    • Podbot
  3. Customise the server (e.g. editing the server.cfg, amxx.cfg, and other config files, etc.)
  4. Start it up! (the README.md in the above linked Git repos has more info on this)

As far as ports go, I only needed to forward 27015 on my machine, but your mileage may vary. Others have reported that some more ports must also be forwarded on some machines.

Then optionally, if you’re running Ubuntu and you want this server to start up like a service via systemd, you’ll need this:

  1. An executable script with path /usr/local/bin/hlds with contents (make sure the DIR variable matches your installation directory):
    #!/bin/sh
    
    # Do not change this path
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
    
    # The path to the game you want to host. example = /home/newuser/dod
    DIR=/opt/cs-16-server/bin
    DAEMON=./server
    
    start()
    {
        echo  -n "Starting HLDS"
        if [ -e $DIR ]; then
            cd $DIR
            $DAEMON start
        else
            echo "No such directory: $DIR!"
        fi
    }
    
    stop()
    {
        echo -n "Stopping HLDS"
        if [ -e $DIR ]; then
            cd $DIR
            $DAEMON stop
        else
            echo "No such directory: $DIR!"
        fi
    }
    
    reload()
    {
        echo -n "Restarting HLDS"
        stop
        sleep 1
        start
    }
    
    case "$1" in
        start|stop|reload)
            "$1"
            ;;
        *)
            echo  "Usage: $ 0 {start | stop | reload | status}"
            exit  1
            ;;
    esac
    
    exit  0
    
  2. A script with path /etc/systemd/system/hlds.service with contents:
    [Unit]
    Description=HLDS
    
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/hlds start
    ExecStop=/usr/local/bin/hlds stop
    ExecReload=/usr/local/bin/hlds reload
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
  3. Then execute:
    systemctl daemon-reload
    systemctl enable hlds
    service hlds start
    

Feel free to check out my server that’s running right now with the same Docker image! Here’s the command to connect via the console.

connect henrypoon.com:27015

Minneapolis

A few weeks ago I was sent here for work, and then stayed the weekend so I got the chance to travel around the city a bit. My manager had told me about the “Grand Rounds”, a long bike route around the whole city. Sounded like a great way to explore so I rented a bike and off I went.

First stop: the dam just off of the Stone Arch Bridge.

When I rented a bike, I expected a city cruiser, not a full carbon fiber road bike with Ultegra Di2 and electronic shifting! Not sure what year the bike was, but a new one would probably cost around $5000 USD.

I headed south, past the University of Minneapolis and eventually to Minnehaha Falls. A couple had brought a Lego Thor and Loki for some photos and I managed to snap a picture of it too. Perfect timing for Avengers Infinity War opening weekend I guess.

I really lucked out on the weather because there had been a giant snow storm a week or two before. It wasn’t too warm nor too cold either. Hot enough for sunburns though.

Eventually I made my way to Fort Snelling.

Then I headed west to bike past some lakes. Even though the weather was just a bit colder than T-shirt weather, there was still ice on the lakes slowly melting.

I had read online that Minneapolis has places that serve camel meat, so I ventured to the Midtown Global Market to find it. To be honest the meat didn’t look that appetizing and it tasted just like regular lean meat with nothing distinct about it.

Next I made my way to the sculpture park, where the famous cherry on a spoon sculpture is.

Nearby, was the Basilica of Saint Mary. And I thought cool looking churches was a European thing!!

In total, I biked around 70km on a really fancy bike and toured a lot of stuff in the city. Before flying out the next day, I spent some time at the Mall of America. Most awesome Lego store is right here.

The centre of the mall is an indoor amusement park!!

Unluckily for me, I somehow got sick the day after the bike ride, so I was quite impatient to go home that day. It’s no fun getting on a plane while sick… Once I got home, I didn’t even unpack and went straight to bed.

Link to photos: here

Denver

I didn’t really have a good reason to visit Denver until 2 of my friends decided to move there for work. Flights to Denver from Seattle are pretty cheap so why not?

This was the weather on the night I got there… Very pleasant…

The next morning we went on a nice scenic drive through the mountains to chill at the sulphur hot springs.

We spent a good couple hours just sitting in the outdoor hot springs. The water temperature was like hot tub temperature while it was lightly snowing outside.

We stayed overnight in a nearby town.

The next day we ate at a very hilariously named restaurant…

Went on a scenic drive and a light hike around some frozen lakes.

Then at night, because I like South Park so much, we went to Casa Bonita. South Park’s depiction of Casa Bonita was quite accurate.

The cliff divers are real!!

We even ate at the so-called “South Park table”, the same table that Cartman eats at when he is dreaming about going to Casa Bonita.

Classic American breakfast. 16 oz Steak and eggs.

Our last day in Denver is when we actually spent time IN Denver. Strolling down 16th street mall.

Then we wandered into the state capitol. One of the hallways had photos of every president of the United States. All but one. Since each portrait is funded by donation, it might be a while before the current asshat president will get his picture put up.

Managed to get a peek at an actual discussion between politicians. I saw a guy defending a climate bill while nobody listened. And then I wondered if that’s what it was like at the federal level too…

In the afternoon, we rented a GTR and zoomed around the mountains. My friend and I took turns driving this supercar.

I had trouble keeping the camera still in the turn. At one point, the car readout showed that we were pulling 0.5G’s of acceleration!

The rental company has a guy that drives a lead car while guests renting different super cars follow them on their route. Their route was quite well planned and took us on a nice windy mountain road that led up to a lake. Along with us for the ride was a Lamborghini.

The rental company’s garage has even more amazing cars.

Denver was quite a relaxing trip, which is quite different from my usual trips where I’m walking for the entire day. In a blink of an eye I was back on the plane headed back home.

Link to photos: here

Singapore

I try to always go somewhere new, and this trip to Hong Kong presented an opportunity to visit Singapore. I heard many people rave about it, and had to go there for myself. After a mishap where the airline assigned the same seat to different people, my mom and I each got 3 seats at the back of the plane to ourselves and for the first time, I got to lie down horizontally with my legs stretched out to sleep!

This is probably the most iconic area in Singapore – Marina Bay. Starting with the Merlion, we toured around the bay. I didn’t actually understand what a Merlion was until I saw the actual statue.

The placement of all the buildings and the water was so perfect for photos!! This area is a must-go.

There’s even a spot for an outdoor band to play.

And an outdoor street food market.

I ate my very first stingray. Another one off the list.

Another must-go destination in Singapore – The Supertrees! There is a whole grove of them and they constantly change colours. They’re powered by solar energy and capture rainwater for reuse.

In Chinatown, there is a famous Michelin 1-star place located in Chinatown called Hong Kong Soya Sauce Chicken Rice & Noodle. The lineup almost went out the door and it was next to impossible to find a seat.

The chicken was not dry at all, but rather juicy with all the flavours of the soy sauce, and every bite was tender.

The chili crab is also worth trying if you’re willing to splurge.

In Maxwell Centre, Tian Tian is the best place to go for Hainanese Chicken Rice. If this place existed where I live, I’d go there all the time.

There’s also Song Fa Bak Kut Teh. They serve a ribs cooked in a flavoured soup. The ribs are super tender and fall easily off the bone, and the soup is a complex soup with lots of strong spices (kind of savoury and peppery). The shop even sells their own flavouring powder so people can make the soup at home!

Chinatown is pretty much a place where tourists go and most of the street vendors are catering purely to tourists. But the food here, on the other hand, is terrific.

The Buddhist temple there looks incredible. Unlike the temples in Hong Kong, photography is allowed and look way cooler.

Next destination was Little India. It was amazing at how all of a sudden, the streets were no longer filled with Chinese Singaporeans, but rather Indian Singaporeans. Many shops sold fabric for saris, and jewelry.

This was my first time visiting a Hindu temple.

There’s also an Arab Quarter. It’s incredible how in one city there are so many visible ethnicities.

Sentosa is another great place to visit. It’s the home of many resorts, Universal Studios Singapore, and the aquarium. It’s also the most southern point of continental Asia! I always thought the Vancouver aquarium was pretty amazing, but the one in Singapore is SO much better.

This was the most impressive aquarium display I had ever seen. The picture doesn’t capture how absolutely massive this room was. The window itself has a thickness of 70cm!!

Singapore also has a world class zoo – except this one is open at night, just to show off nocturnal animals.

Gordon Ramsay recommends 328 Katong, for Singapore’s famous Laksa. The soup is slightly spicy and contains chili, coconut milk, and evaporated milk. THe fillings contain noodles, shrimp and mushrooms among other things. The other two dishes are Nasi Lemak, which is a rice dish with dried anchovies and a spicy sauce, while the other is Otah, which is a fish cake with spices inside (these two items were probably the only dishes I didn’t like).

Pretty much all the restaurants and places I went came from recommendations from friends who either grew up in Singapore or lived there. Thanks to them, I got a bit of a local’s perspective on the most awesome places to go!

Photo album: here

© 2018 Henry Poon's Blog

Theme by Anders NorénUp ↑