Self Sustaining Loop

Self Sustaining Loop

Quan Nguyen  //  

May 22 / 2:48am

A year later and I'm still talking EasyJet

It's exactly a year since the day EasyJet cancelled our Madrid-Paris flight, which left us stranded in Madrid airport and struggled our way to Paris. After a year of contacting, appealing, writing letters, talking to EasyJet I finally had enough of it.

In February, they refunded the overcharge difference (because of their own mistake for canceling our later flights) 9 months late. That was the end of it, they refuse to refund our train fees from Madrid to Paris, which we have all the receipts to prove, citing "technical issue" which apparently releases them from any obligation to refund according to EU laws. They even refuse to refund the Madrid-Paris tickets, which never took place. 

I've seen many posts complaining the same thing on GetSatisfaction. Apparently EasyJet had lots of technical issues happening to lots of flights during the past year. What a business model! Take money from customers, have some technical issue, then throw slow and costly customer service at people. Let the boiling frog effect gradually wear them out. Did I mention it cost money to talk to them? I wonder why there isn't any big class action suit against them. If this happened in the U.S, they would have been out of business by now.

As much as I hate to let crooks like EasyJet get away with it. The only thing we can do to get our money back is to sue them. That is costly and time consuming to pursue as an individual. If everyone who was scammed by EasyJet get together we could do something about it. As of now, I have no desire or inclination to drag this case on, there's better things to do, like programming and strolling Paris at midnight.
May 9 / 8:56am

Hacking on a backpack

gistpoint is the product of several months of on and off work with varying degrees of productivity in various parts of the world as I quit my job and travel. The project travels with me from its conception in D.C to the busy streets of East Asia, to the beautiful natural wonders of South East Asia, the historic cobblestoned alleys of Rome and Venice, the fairy tale town of Eastern Europe, the charming Paris springtime, the noisy and active medina of Marrakech, the small quiet village on the Swiss' Alps.

I had the idea back in April 2010 but did not act on it until 6 months later. Even then, each coding session only produced several lines of code and was often interrupted by weeks sometimes months of inactivity due to my travelling. Serious coding only started in March 2011 when I had a long stay in Paris.

As always, I underestimated the complexities of the project and ended up with an unexpectedly huge code base. What initially incubated as a 140-character TL;DR app turn into something much different, and more satisfying so. It's written as a rails project with several custom made gems. First, I created the gistgen gem to verify and standardize URL input and seed description for root address pages. Then, the chomchom gem was created to pull page's html and extract the date, fulltext, and the most relevant passage from the article.

But the most difficult and important component was the scorer, which determines how relevant a summary is compared to the original fulltext. This includes several modules implementing the scoring algorithm and a proper grammar detector built on top of the C link-grammar library. At first, I used ffi to wrap the C library in a gem called grammar_police, but as I deployed the gem on heroku it failed and complained that heroku cannot open shared object (.so) files. So I switched to building a ruby extension gem called grammar_cop, which has the same functionality as grammar_police but deployable on heroku.

I actually ripped out huge chunks of code, especially in the frontend to make the app easier to understand. I will definitely reintroduce them later on as they fit nicely into the gistpoint's goal of 'alleviating the information overload problem'.

So please head over to gistpoint.com, install the bookmarklet, and let me know what you think.

 

Filed under  //  project  
Jun 30 / 8:25pm

How to make soccer suck a little less

England-just-got-trolled-2
Soccer is a fun sport to play, but as a spectator sport, it's painful to watch. Not because of the low scoring nature inherent to the game. I understand I cannot watch soccer with the same expectations as watching basketball. But what suck about soccer are the dives, the bad acting and time wasting, and guaranteed horrible decisions by the referees. These flaws continue to be accepted as part of the game for decades in the face of available technology to solve them, and the arguments against any changes are just plain illogical.

I used to be a passionate soccer fan. My first soccer experience was the Netherlands vs. USSR game in the 1988 European final, in which our family divided into 2 camps, the capitalists vs. the communists. At the age of 5, I innocently sided with my capitalist uncles who fought on the South Vietnamese side during the war. I'm glad I did because the communist got to buy us ice-cream. This is how I knew Gullit and van Basten.

My first World Cup was USA 94, I memorized all the teams, their flags, and their best strikers and even their jersey numbers. Names such as Romario, Bebeto, Hagi, Balakov, Klinsmann, Batistuta, and even Colombian defender Escobar and the US goalie Meola forever stuck in my head. I knew by heart the score of every game, my brother and I made a notebook recording everything about the World Cup from the first 2 which Uruguay won. We ate a ton of cheese to complete the set of 16 collection cards showcasing key players from selected teams. My most memorable game was Romania against Sweden, my 2 most favorite teams of WC94, in which they tied 1-1 in regular time, then Romania scored the first goal in extra time, and the Swedes equalized and went on to win in penalty shootout.

But after a few years watching basketball and American football, soccer just feels like it's still stuck in the 19th century. They say soccer is a beautiful game, but I don't see any beauty in tolerating phantom dives and bad referee's calls. It's not the final game yet, and there are already plenty of bad calls: England's equalized goal against Germany, 2 disallowed U.S goals, Argentina's offside goal against Mexico, Klose and Kaka's red cards, etc. I'm just recalling from the top of my head here. Why not use technology to automatically detect if the ball crosses the line? Why not review questionable calls?

As an example of how insane the people in charge of soccer are, let's hear from FIFA president Sepp Blatter, "no matter which technology is applied, at the end of the day a decision will have to be taken by a human being. This being the case, why remove the responsibility from the referee to give it to someone else?" This is like saying why use DNA forensics when at the end of the day the judge and jury will still have to make a decision.

Here's the deal, let's not review and suspend diving players after the game, that will just eliminate the entire Italian team :P. The real solution is to review a questionable call immediately after its happening. You can't change the past, so do it while you can. There're 2 ways to do it:

1) Each team has 1 challenge per half, they will have to use it wisely.
2) All ref can carry handheld devices that allow them to instantly view the replay from any angles. Only one of them need to review at any moment to come to the right decision. Either that or have an extra ref not on the field handling all the reviews and communicating with all refs on the field via headsets, something you're already using.

I heard all the arguments against, and here's my response to each:

1. Authority argument
This basically argues that by implementing all these fancy 1970s technology the referees will lose their authority. So???

Fine, I'll elaborate. I don't see much authority when players can deceive and manipulate the referees. Authority means nothing if the person in charge keeps screwing things up. Why insist on having imperfect, potentially biased human beings as dictators on the field? Why not use these available tools that will help the ref perform their job better? Basketball and American football have been doing reviews for decades and I don't see them undermining referees' ability to officiate.

2. Tradition argument
This argument is related to the first one, except that it has no real substance. Basically whoever supports this argument thinks soccer is already so beautiful with its long tradition of bad calls fucking up the outcomes, and that by introducing new changes these fans somehow won't be able to enjoy the game anymore. This line of "reasoning" pisses me off because tradition is nothing but some random action that's repeated for a long time. Every tradition has its first time, why not try a tradition of not sucking for once. You know, foot-binding used to be a tradition too, but I don't see FIFA arguing for foot-binding.

While we're talking about tradition, let's discuss about the other major sporting event going on at the same time right now, the Wimbledon. The Wimbledon is the most prestigious tennis championship that has been running since 1877. Tennis has been using tools to measure ball speed and detect if the serve is illegal, and these gadgets don't seem to diminish the tradition of the sport? How about implementing goal-line technology for a start.

3. Scalability argument
This is an argument that I just heard of during this World Cup, and it's also the most comical. In the words of FIFA president, "the game must be played in the same way no matter where you are in the world". This means that the resistance against any use of technology is because they don't want to have any differences whether soccer is played at the high school level or at the World Cup. According to this other dude, "there’s something satisfying about playing the same game that the pros play."

So your argument is you're having fun playing the same game the pros are playing, totally happy knowing plain bad decisions are guaranteed to exist but you would be sad if pro games' decisions are dramatically improved while nothing change in your game? What a bunch of bullcrap, moving on...

Actually, hold on, there's more to say here. Do the lower level games have 3-4 referees per game? And are they equipped with the same quality training and integrity as those in the World Cup? Do they have headset for communication among themselves? So the game isn't the same everywhere, it's already not scalable, amateur matches are more badly officiated than pro matches. But why the obsession with scalability? Why trade accuracy for scalability? The stake is so high, to think that a bunch of people prepare their entire life only to be screwed by an incompetent ref is kind of not very fairplay, is it? What will happen if the World Cup is equipped with goal-line technology and amateur matches don't? Please, please tell me the real reason instead of this downward scalability crap.

4. The flow argument
Believe it or not, but this is their strongest argument. I'm not kidding but apparently it's very important to keep the flow of the game (like other sports don't need it), even more important than preserving the right outcomes. In a low scoring game like soccer, you'd think a goal is so crucial, and yet they're willing to sacrifice it for something called "the flow".

Seriously, I do get it, I often talk about my productive flow in programming, so I understand you have to keep the game moving smoothly. But it's not like soccer isn't already being interrupted by long substitution, players diving and laying on the field, or naked fans stomping the field. Why can't you make the same exception for reviewing a gooooooool, something that alters the entire game.

Take England's equalized goal against Germany for instance. If that goal were counted, there's no doubt the whole dynamics of the game would change dramatically. England would play better defense, we would have a closer and more interesting game, and probably even a different outcome.

As a commentator puts it, "within seconds, via a replay, hundreds of millions of people knew England had scored a legitimate goal. Four people didn't, and those are the men in the middle. These guys needs help. That was a terrible error of judgement."

Yes, seconds, only a few seconds is all it took to make the right decision. It's not even the time Ghana used for shaking hands during their substitution. And if you worry about time so much, may I suggest this revolutionary solution:compensating another minute on top of the flexible extra time you already add to every game. It's not like you guys have an accurate timer anyways.

So, what do you say FIFA? Is it time to at least progress to the 20th century?

Filed under  //  sucker  
Jun 21 / 4:40pm

Tourists and Travelers

June 15th - Day 35th (late posting as usual)

Destination: Home
 
Sitting on board the transatlantic flight from London to D.C, the reverse flight a month ago seems like a distant past. To say the trip is a satisfying one is an understatement. We were fortunate enough to be able to cover so many destinations, taste so many different types of cuisines, and see so many new things. We walked many miles, took all kinds of transportation from metro to train, plane to ferry, bike, atv, and even donkeys. There were a few hiccups here and there, but they're all parts of what made this trip a memorable experience.
 
I'm glad we did it now, I can't imagine what it would be like to do the same thing when we no longer have the vitality and freedom of our youth. We average about 4 to 5 hours of sleep per night, probably less as there were more sleepless nights than we can remember. Towards the end, we could barely walk the steps of the Acropolis.
 
And yet after 13 cities, 3000 photos, and countless museums later something still doesn't seem right. Most cities feel overrated, palaces filled with artworks by Renaissance masters quickly lose their novelty after the first few, and taking pictures becomes more of an obligation for the sake of preserving current memory for future enjoyment rather than enjoyment of the moment itself.
 
To be precise, I was tired of being the typical tourist for a little too long. I felt like there were chores to be done in each city. When in Paris, you have to stand beneath the Eiffel Tower and visit the Louvre. In Italy, you'd better have a picture with the leaning tower in Pisa or go to St. Peter square and the Colosseum. There wasn't enough time to be spontaneous. Besides, the majority of places are hyped beyond reasonable expectation that will ruin your experience. Happiness is all about expectation, the higher the expectation the more disappointment and hence unhappiness. Have no expectation and discover the hidden gems on your own.
 
Of course, we discover a few hidden gems. Well, they're not really hidden, just that we didn't think too much about them beforehand. Berlin with its low profile appearance yet pertaining an air of a transforming metropolitan took us off-guarded. Biking on the long tranquil road of Versailles Garden mysteriously left me in a mixed state of anxiety. The less crowded Fira sunset of Santorini out-shined the more crowded Oia's. Bernini's Apollo and Daphne sculpture of Galleria Borghese had me standing in awe. And I doubt there're better ways than doing this breadth first search. You have to touch many stones in order to stumble upon the rare gems.
 
There were also the odd stories to tell. In Florence, we randomly gave an extra Uffizi ticket to a nice couple after unsuccessfully selling them. The ticket was for my friend in Paris who couldn't make it to Italy (b/c of another incident riding bikes with us in Paris), and usually people without pre-booked tickets have to wait 3-4 hours to get in. Exactly a week later, we randomly decided to drive to Super Paradise beach in Mykonos, Greece and met them again. Let's hope we'll meet them (Isabella and Miguel) again in their home country Brazil.
 
As for my plan of completing the lyrics project in Europe, it's all derailed after the Madrid incident (hopefully I'll be able to finish it before my trip to Asia). After the EvilJet's disaster, I stopped programming altogether. The mental cost of getting in and out of the programming problem exceeds the possible result accomplished during each short coding session. It takes lots of time to pick up from where I left off and by the time I'm back in the productive flow, time's up. On top of that, we had things like tracking flight, train schedule and finding hotel, restaurants, and places to go that made it impossible to maintain the intricate details of the problem in my head. The thought of compromising the pure fun of the trip for a little not-so-productive coding doesn't seem worth it.
 
But as I've said before, Europe is an experiment and calibration is needed for my Asia trip. First, I will strive to be a traveler instead of a tourist. A traveler lives like the locals in foreign land while a tourist is ripped off by the locals in foreign land. Getting ripped off is not necessarily about money, it could be about getting robbed of the authentic experience the locals enjoy as opposed to wasting little precious short time at crowded touristy spots in grief.
 
So I will try to explore each location deeper at a slower pace. I may take short trips to a few touristy places, just to widen my horizon. But they will be short and far in between. In those cases, I will enjoy the short vacation as a dull tourist rather than expecting to produce any meaningful work while on the run.
Jun 11 / 3:27am

EasyJet, not so easy

May 25, 2010

Right now sitting on a train to Versailles with 4 more weeks of promising Europe traveling to come, it’s easy to dismiss what happened in Madrid as an exception to EasyJet customer service. After all we should hope for the best in our next 4 flights with them. However, as unpleasant an experience as it was for us, I can’t imagine how bad it must be for people who don’t speak Spanish or English. And waiting 3 to 4 days is an eternity for those who planned their Europe trips for just a week or two.

Obviously, this is the risk you take when flying with a cheap airline. I’m not blaming EasyJet if the problem is caused by non-controllable event such as volcanic activity or abrupt pilot strike. However, if that were the case we would’ve observed the same problem with other airlines. We could and many did fly with other airlines the next day. Moreover, EasyJet never officially discloses the reason for canceling the flight, and the information distribution afterwards is horrible. They should have been more transparent, quicker, and on top of giving us information on possible alternative options.

Instead, they kept us waiting at the gate for 4 hours and then another 2 hours at the customer service kiosk. In the latter case, they could’ve let us know our 2 options, either wait for a rescheduled flight or take 250 euros. That could have saved so much needed time and alleviated some anxiety.

Luckily, we made it, and running between Parisan museums and monuments tend to make your mind move on really quickly. We barely have time to catch our breath and think of what coming up next. However, as we shall discover 4 weeks from now that Madrid was only a beginning, that we shall despise EasyJet so much that it will even inspire me to register for eviljet.net, which will be dedicated to showcasing the other side of EasyJet. We will learn that EasyJet can be economical if everything goes smoothly. Otherwise, if you encounter problems, even if it's entirely EasyJet's own problem, it will be very costly.

Because just tomorrow we will find out that they will mistakenly cancel our flights to Berlin and Venice when we called to request the refund to the canceled Madrid flight. It will take several anxious hours of late night scrambling to sort through the mess. When it's all said and done, EasyJet will rebook our tickets at the expensive rate as if we just buy the tickets a day before the travel date. They will also charge us 100.03 euros for the privilege of spending a couple of hours talking to their customer service. Then they will promise they'll refund the differences after the trip although I'm sure it will depend a lot on our will to hold them to their promise.

4 days from now, we will be held by an EasyJet personel for having a bag 2 cm longer than the EasyJet container. If we tilt the bag diagonally and push it down, it will fit perfectly inside the required container. They will accuse us of "cheating", that we have to slide the bag vertically although that requirement is nowhere to be found. It will take several nice German travelers to argue along with us to force them to let us go through.

12 days from now, we will be held at Rome Fuimicino airport for the same bag even after we painstakingly cut a portion of the bag's leg to reduce its length. This time, it will be easier to slide the bag in, but again they will require us to push the bag in vertically, and again it will be impossible to find such requirement in writing anywhere. It will be very clear that EasyJet is profiling Asians because they'll let a bunch of people who carry larger bags and 2-pieces in, then they will force several other Asian tourists in front of us to fit their bags in the container and pay to check them in. May be they have great success ripping off the many Japanese and Chinese tourists, may be we're Asians are notorious for bringing large bags. Either way, this time, we will not be able to let go free.

We will have to pay 22 euros for the one bag that won't fit according to the rule they'll make up on the spot. Then they will realize there won't be time to check the bag in. So they will let us carry the same bag on the plane and put it on the overhead bin just like everybody else. And just like the other 3 times we flew with them, the bag will stay safely there for the duration of the flight.

Jun 10 / 3:57am

Bonjour Paris

May 23

Part 1: EasyJet almost ruined my Europe trip. May be it will.
Part 2: The train to nowhere
Part 4: EasyJet, not so easy

12:37
I have 3 hours of sleep and plenty of time to ponder our next move. There’s nothing to see in this part of Spain-France border. I’m planning out all orders of actions from finding the ticket office first to searching for a hotel in Bordeaux and flight straight to Berlin in the event there’s no available seat to Paris.

13:45
We arrive at Bordeaux’s Helade station 10 minutes early. The station isn’t as crowded as I expected. As we walk from the platform to the exit, I notice there’re 2 trains to Paris, one at 14:01 and the other at 17:25. I chuckle for briefly thinking about the 14:01 train, with our luck there’s no way my wishful thinking come true. Hopefully, there’re 3 seats for the 17:25 train.

13:50
We’re in the line at the ticket office. There’re 2 staffs, let’s hope they speak English.

13:55
We’re talking to one of the ticket officers, he speaks a little English. I ask for the earliest available train to Paris. He responds “right now, but you have to be quick.” We all say “yes”, then I told my brother and his girlfriend to run to the platform with the luggage first while the computer is processing the credit card payment.

14:00
I run quickly to Platform 1 without even looking at the total on the receipt, EasyJet will have to pay for this anyways. We hop on the first coach and the train instantly leaves the station. I ask several people to confirm we’re on the right train. I can’t believe we’re going to Paris. Our coach is the very last one, that means we have to walk all 10 coaches to the opposite end.

We chat and joke as if there were never a problem. After a couple of hours of on and off sleep and being tired of seeing sheep on French countryside, I call my cousin in Switzerland and friend in Paris to let them know we’re on our way.

19:45
We’re in Paris Montparnasse station. In all, we lost exactly 1 day in Paris. Not bad since we still have 2 full days here. Looking back, it's a lot of lucks involved to make it here this early. We could never plan it this perfectly in advance.

Arriving at Gare du Nord, we check in our hotel and grab a quick dinner. After getting used to the price in Spain, Parisan restaurants don’t seem that expensive. We order three 3-course menu meals with mussels, steak, and grilled chicken. They weren't at all impressive, but that wouldn't ruin our survival celebration.

1:32 Monday May 24th
The hotel wifi isn’t working, but right now after 2 long days of running and worrying there’s only one thing left to do: sleep. The mattress never feels so soft.

Jun 5 / 11:59pm

The train to nowhere

Our saga against EvilJet continues

Part 1: EasyJet almost ruined my trip, may be it will
Part 3: Bonjour Paris
Part 4: EasyJet, not so easy

5:30am, May 23
We’re getting ready to go back to the Metro station. Others had left for Terminal 4 to catch their new flight or to get food. Only us three and our wifi hacker snoring away in his bright orange sleeping bag in this corner. Our place is right next to a broken vending machine, every 15 minutes or so a person would come by, put in some coins, make their selection, then realize it doesn’t work, and bang on it violently to ask for their coins back.

There’s a guy who looks exactly like Faraday from Lost with a big ziplock bag walking around and banging on vending machines and pay phones for left over coins. His proficiency indicates this must be his job, yet I doubt he has a license for it.

MAD airport is flooded with Inter Milan and Bayern Munich fans sleeping disorderly everywhere. There’s a couple of drunk Bayern Munich guys harassing a larger group of Inter Milan fans. The drunk guy was singing and surrendering his red and white scarf, looks like Inter Milan won.

It’s tough weaving our way through the airport, we bump into a few people and manage to wake a bunch of others up with the cart noise. Walking pass the EasyJet kiosk, we see another crowd just like us 8 hours ago. It’s a sign of confirmation that flying out of Madrid today is next to impossible.

6:04am
We anxiously board the very first Metro toward Atocha Renfe, Madrid main train station. It takes us about 40 minutes to get to Atocha Renfe. We immediately go to the International Ticket Office and ask for the earliest way to Paris. Of course the only direct train to Paris is full, and of course all the ones connect to Barcelona are also gone. The next available is on Tuesday. All hope’s suddenly gone, my mind drifts toward the only option left which is the night bus. Right now, being lost in Paris and getting yelled at by a Frenchman for asking direction seems like a luxury.

The ticket officer was very patient and helpful, he probably senses our desperation. He’s checking other possible routes, there’s one going to Bordeaux at 8:00am. We have a good 45 minutes to take the local train to get to that station. It gets to Bordeaux at 1:55pm, and we can take the next train to Paris at 7pm. However, he cannot book the Paris train from here, and he warns we may have to wait longer.

We decide to go for it. Actually, I’m more interested in having a proper place to sleep and a way out of Madrid. There’s nothing we can do in Madrid, and we’re not in the mood to explore the city any further. So we settle on Bordeaux, at least it’s closer to Paris.

7:45am
We find ourselves sitting on the train to Bordeaux. The guy sitting next to me, who I later found out is a Romanian journalist attending the championship game, says it's also very crowded in Bordeaux, he was from there and is certain that we'll have to wait for another train later than 7pm. It's too late and pointless to think of another plan. As soon as the train starts moving, my eyes shut.

May 29 / 11:01pm

EasyJet almost ruined my Europe trip. May be it will

4:38am, May 23, 2010
Madrid International Airpor

Img_1680

We should have been sleeping in our Paris hotel at this time. Instead, we’d been struggling with (against?) EasyJet customer service reps and scrambling for alternative options out of Madrid. I haven’t had any sleep and right now sitting in this corner staring at the empty airport brings both excitement and nervousness.

 

Our flight from Madrid to Paris was supposed to board at 17:05. We waited in the line until 17:30, and they told us it was going to be another 30 minutes. At 18:00 they told us to line up again. At 18:30, nothing happened, we were told to wait until further notice. At 19:00, we lined up again. At 19:30, they said the plane would be ready at 20:05. 20:30 passed, and we were still standing in front of the gate. During this whole time, all the announcements were made in Spanish first and broken English later, so we had to find out from the locals. At 21:45, they made a long announcement, and suddenly everybody growled and started running away from the gate. I didn’t know what the announcer said but I ran after them, unbeknownst that the flight was canceled and there were limited seats in the next flight to Paris at 1am.

 

We chased after the Spaniards in MAD airport and finally arrived at the EasyJet kiosk. There were 30 or more people in the line in front of us already. Apparently, the next Paris flight was on Monday, May 24. We already booked the hotel for 4 nights; that leaves us with only 2 nights in Paris. I called my friend in Paris to let her know that we won't be there tonight. Then, after 10 minutes the EasyJet people standing outside the kiosk told us the earliest flight to Paris was on Tuesday. We started freaking out, we're to fly early on Wednesday to Berlin. Paris was now an uncertain connection.

 

I told my brother to run around looking for wifi so that we can search for alternative transportation such as other airlines, train, bus, or car rental. His girlfriend went around getting information from different people in different accents. There was a French lady filming the whole thing including her conversation with the EasyJet reps. There was an American girl crying. A Japanese couple speaking almost no English looked at their rescheduled flight, then bowed and begged them to make it earlier. I took out my camera and snapped a few photos of the crowd.

 

After we were in the line for a good 30 minutes, they started handing out English instruction. We had 2 options, either wait for the reroute or get a refund of 250 euros. If we go with the first choice they will pay for food and hotel until the next flight. We went with the second choice, which doesn't include food and hotel stay because we want to see Paris, plus we didn’t want to be at the mercy of EasyJet. I'm not sure if the refund is supposed to be in cash or EasyJet credit. The language is vague enough for desperate people to wish for anything

 

When it was our turn to speak to the rep, the earliest Paris flight was now Wednesday. At this point, my brother had resourcefully found a wifi spot and information for a flight at 8:00am with another airline, the cost was 300 euros each – 50 euros short of what EasyJet will reimburse us. We figured it's worth it. Since we're going to spend the night at the airport while paying for an empty room in Paris, what's an extra 50 euros.

We asked for procedure to get our refund. They told us to go online, and when we went online, we learned that you have to call a number which charges 10p per minute. It will also take up to 7 days to get our money back. No point focusing on this right now, we needed to find a way out. The Inter Milan vs. Bayern Munich championship game was just over, the later we wait the less likely we’d get out, let alone finding transportation to Paris.

The three of us gathered upstairs at the wifi hotspot along with a few other Americans and the Boncans, a very friendly Filipino family. Mr. Boncan’s been doing a lot of business in Saigon, which is where I was born and raised and will be in the next 4-5 months, so we exchanged contact information. Apparently my brother bought the wifi access from a guy whose fate was in worse shape than us. This guy’s money was all stolen while traveling on an island. He then sold his watch to take the train back to Madrid and been stucked at the airport waiting for money from his sister since last week. So he’s been hacking the airport wifi password and selling it for food. He’s a very nice guy. He offered power plugin for our laptop and his laptop to people who didn’t have one. He even canceled his torrent downloads to boost our connection ;-)

By the time we accessed the Vueling airline website, their 8am flight was gone, so was the 2pm. I also learned that it’s not possible to pick up a rental car in Madrid and drop it off in Paris. There was an overnight bus, which started on Sunday10pm to Monday morning. I was also chatting with my cousin in Switzerland at this time, she suggested checking out the trains. It was 1:00am, the train office is closed until 6:30am and so did their online schedule for some bizarre reason.

After trying some other airlines, we finally settled on the trains. My cousin confirmed that there were a few routes going from Madrid to Paris, through Barcelona and Montpellier. We will take the earliest metro to Atocha Renfe to catch the earliest available train to Paris. Others have also overcome the initial shock and are finalizing their plan B. We took pictures and facebooked one another. Mrs. Boncan pulled out a bottle of wine and suggested we have a party in this corner. For a brief moment I kind of enjoy this unexpected experience and believe we will get out of Madrid and make it to Paris.


Part 2: The train to nowhere
Part 3: Bonjour Paris
Part 4: EasyJet, not so easy

May 29 / 12:37am

Venetian Introspection

7:52am, May 29, 2010
Guidecca, Venice

It has been a hectic week, we had no free time in our itinerary since free times became sleep times, and sleep times became sleepless nights at airports. I’m mildly disappointed that I didn’t get to do any programming as promised. But in return, I got lots of fun and drama out of this Europe trip.

We were very fortunate to have our cousin in Switzerland planning our Switzerland stay and Spain trip, so I was able to squeeze in 1 to 2 hours of quality programming everyday during the first week in Europe. As soon as my cousin left, things started going downhill. We were plagued with a long chain of unfortunate events that only now can I sit down and retell what happened. The following are taken from my notes written while the events are unfolded. They completely reflect my sentiment about our uncertain future at the time.

Now, this is the story all about how my life got flipped, turned upside down, and I'd like to take a minute just sit right there I'll tell you...

May 12 / 8:22am

The battery drained, I quit

I had a pack of 6 double As batteries that I used for the wireless optical mouse at work, each battery would take 3-5 months to completely drain. I'm not quite sure when it begun but somehow I made a pact to myself that when the last of these batteries drain out it will be my last day at work. So I was disappointed when the last one drained a year ago, and I did not have any definite plan to move on. From then on, I made it a pain to only bring a new one in when an old one dies out. I wanted to be conscious about my goal on every mouse click that slowly but surely leads to another dead battery, thus inching my way towards a decision or face yet another broken promise.
 
3 batteries later and today I'm able to make good of my broken promise. I put in my notice, and contrary to my expectation there wasn't any fanfare victorious moment, though I felt liberating and confident that it was one of the wisest decision I've ever made.

So why am I quitting? First, let's be clear that this is only the work of a few rebellious neurons. In an alternative universe, I would've been satisfied with the nice job, decent pay, and relatively challenging work. I get along with all my coworkers and develop close friendships with many of them.

1. However, I realize that a) you cannot achieve happy ends through unhappy means and b) if you don't know what happiness is, how can you be sure what you're chasing will bring you happiness? So I got out of the rat race and observe from the sideline.

2. My job can be challenging, but only for about 1 month every year on average. During such time, I found myself coding continuously for 8-9 hours straight. I was both exhausted and exhilarated. The rest of the time, I found myself doing menial testing and corporate processes. For the most part I feel under-utilized and under-challenged. I resorted to learning RoR and working on side projects after work to feed my creative monster.
 
3. Hardware is hard. It's a lot harder for an individual to start a hardware startup than a software one. The parts and tools cost a lot, even the software tools are expensive, and open source alternatives are almost non-existent. Conversely in software, I can use rails, passenger, git, etc., all open source and free. Heroku even host my apps for free.
 
4. I won't regret it. When I look back at my childhood, the things that stand out are the mischievous and unconventional. So while it's risky to put your career on hold for a year, I know 10-20 years from now I will appreciate what I'm about to do now.
 
5. Startup is always my passion. Ever since I was 14 I knew I have to have my own company. I didn't know the term entrepreneur then, I didn't even know about engineering nor the web. I was just full of these crazy sci-fi ideas. I kept waking up at night to jot down ideas on my bedside notebook. I'm glad the fire hasn't gone out, although now I don't have to get up and turn on the light to find a pen and the notebook, now I can just type into my iPhone.
 
So for the next 6 months, I will take the roads most traveled (in Europe and Asia) and try to work on some ideas while on the go. I've been consistently working 3-4 hours after work every day for the past 8 months, so hopefully I can squeeze in some hours in between running around museums. It will be an interesting experiment and definitely requires some adjusting.
 
So today, the battery is drained, and I'm fully charged to take on this exciting journey.