Sunday, July 05, 2015

Another Tern Frame Failure (Shearing into half)

Andrew from London shared with me an accident that happened to him in June 2015.

The bicycle involved was a Tern Verge S11i which was not part of the recall. It just sheared into half while he was approaching a traffic light. Luckily he was slowing down and that section of road was not too busy, or he would suffer more serious injuries.

Here are a few of my thoughts:
  • Most of the incidents failed at the front weld of the folding joint
  • Tern Verge bikes are sold as high-end bikes, this type of catastrophic failure is shocking. It can easily get people severely injured or even killed
Here are some of the pictures Andrew sent me. The complete set of pictures is available here.

 Here is the email sent by Andrew:

Hi Cuppa,

Thanks for the reply, sorry it's taken so long to get back to you. 

I do want people to know about this problem. Had I known before purchase I wouldn't have bought one, especially as frames are failing outside of the recalled batches. 


My Tern Verge S11i failed while approaching a red light in central London at around 8:30am on a Thursday morning. Luck would have it that I was already slowing for the lights and was in a gap between traffic. 500m later and I would have been passing Kings Cross and the situation would have been significantly more dangerous.

As with previous recalls, the failure happened to the front weld of the OCL hinge joint, snapping the frame in two. I hit the ground and was knocked unconscious for half a minute until I was assisted by passers by and helped out of the road. 

Images in my frame and fortunately light injuries, along with Tern's website reporting that my frame was not one affected by the recall can be found on my Flickr album below.  

I want to get the message out, because I don't want anyone else to be put at risk. I am a cyclist, work for a cycle clothing company and everyone has the right to know that the gear they are riding is fit for purpose. 

Tern have yet to approve any of my posts on their forum about this failure. I understand but don't condone their desire to keep these failures under wraps. This has to stop.

Friday, June 19, 2015

[Archive] Tern Verge X20 Frame Failure (Shearing into Two)

The goal of this is to archive this incident as reported by Peter Thomas in the Tern forum. It seems Tern has silently deleted this post. Thumbs down to it.

Original link location:

Cached location:

Captured screen of the description by Peter

The pictures as posted by Peter (from Google cache)

Picture showing Tern Verge X20 with failed frame

Picture of Peter after medical atttention

Sunday, May 24, 2015

On C Programming: Some Pitfalls

I have programmed in C for almost 20 years, and over the years, I have my fair share of lessons learned. Here are some of the pitfalls that are very common. Learn these and you don't have to spend hours or even days to debug

  • = and == confusions
 The '=' operator is for assignment, while '==' is for comparison. Mix these up and you will have a major headache as the variable has been changed (or not)
  •  The 'if' block
Consider the following, assume x, y, and z are defined somewhere else:
if (x == 3)
  y = 43;
  z = 0;

{do something more}

Guess what? if x is equal to 3, only the statement 'y = 43;' will be executed, while 'z = 0' will be executed no matter what, which isn't the initial intention.

There are a list of programming pitfalls here

Studying Notes on Elixir

Elixir is a Erlang VM (BEAM) based language ( This post serves as a note and thoughts while exploring this language.

On Installation

  1. It is much easier to install Erlang and Elixir via Homebrew, if you are using Mac, you definitely should consider this route
brew install elixir
brew install erlang

On Syntax

  1. true and :true are the same, same goes to false and :false. These have data type of booleans
  2. Constants, or symbols are called atoms. For example :hello is an atom.
  3.  The atom version of booleans (i.e. :true and :false) are special cases, and will be treated as booleans.  As can be shown below by the interactive output of Elixir. Note :hello is an atom, but not a boolean
  4. iex(7)> is_boolean :true
    iex(8)> is_boolean :false
    iex(9)> is_atom :true
    iex(10)> is_atom :false

    iex(11)> is_boolean :hello
    iex(12)> is_atom :hello 

Saturday, May 23, 2015

Some Beers That Consistently Make Me Feel Bad The Next Day

I did this through trial-and-error over the years, so far there are certain brands of beer that consistently cause me to feel bad/weak/shitty the next day, while some don't.

Here are the lists

Beers that cause me to feel sick (in no particular order)
  • Tiger beer
  • Carlsberg
  • Heineken

Beers that are OK after drinking (in no particular order)
  • Guinness Stout (foreign export and draft)
  • Bavaria

Disclaimer: This comes from my own personal experience, and I really don't know why these three international brands will have such effect on me.

Thursday, September 25, 2014

Self-Centered LinkedIn Invitation

I got an email from LinkedIn. It is an invitation to participate in a research study.

Opening with a smile, I read it. But I was disappointed after reading the mail. It was so badly written you would not believe it was from coming a world-known company like LinkedIn. Instead, it read like a high school student asking for help.

In a nutshell, this email was asking the recipient to participate in a survey and LinkedIn would compile the data for sale, advertisement, internal use, etc.

So what is wrong? Here are a few to start with:
  • No credit given: you are just treated as a white mouse. Sure, privacy concerns, but you could ask me if I want to be anonymous, no?
  • Condescending question: "We have a few qualifying questions to confirm your eligibility", well, if you doubt my qualifications, why sent me the invitation in the first place?
  • No rewards, No Sharing: The very least LinkedIn should do is to share the result of this survey with the participant for the time spent after the result is out. But this is never mentioned.
  • Short time notice: Invitation expires in two days. Are you kidding me? Definitely it is doable, but if it targets the group of middle level executives, one week is the minimum because most of us will have some spare time over the weekend.
 Essentially, this email fails to convince the reader why we should complete the survey. This survey is void of any motivation for reader to participate.

 In fact, this piece of email does a disservice to LinkedIn and also to the companies that pay it for research. In my view the person responsible should be fired due to utter incompetency. 

Thursday, July 24, 2014