Eastern Europe Trip 2015

Just got back from Eastern Europe. A well needed 2 weeks of break from the constant busy life of Seoul. I chose eastern europe because it was not as well-travelled as western europe and indeed quite underrated. There’s many very beautiful cities, many cities torn by previous warfare and a lot of history. In addition there’s lots of friendly people, MUCH cheaper than Western Europe (hot dog was only 50 cents in Prague), and much safer than you would think.

I chose the following places (alone): Prague, Czech Republic – Vienna, Austria – Budapest, Hungary – Split, Croatia – Mostar, Bosnia – Belgrade, Serbia – Istanbul, Turkey. 7 countries in 2 weeks. I had to take 6 flights, one train and 2 buses. Quite hectic and lots of walking. IT wasn’t as bad as I thought though. Most of my pictures were taken with a selfie stick and a gorilla tripod. And people there speak decent enough English to get by. Here’s some pictures:

Vienna, Austria
Vienna, Austria
Belgrade, Serbia
Belgrade, Serbia
Budapest, Hungary
Budapest, Hungary
Prague, Czech Rep
Prague, Czech Rep
Split, Croatia
Split, Croatia
Istanbul, Turkey
Istanbul, Turkey
Mostar, Bosnia
Mostar, Bosnia

If I had to rank my experience I would rank it:
1. Split, Croatia 스플리트 (weather, scenery, history, good food, everything u could want in a tourist destination)
2. Prague, Czech Rep 프라하 (a little bit over Budapest because it’s easier to walk, but great city)
3. Budapest, Hungary 부다페스트 (party capital of Central Europe I think. Good times are to be had)
4. Istanbul, Turkey 이스탄불 (a great city to live in, but overwhelming for a traveler. Other parts of Turkey may be better for tourists)
5. Belgrade, Serbia 벨그라드 (the most friendly place I’ve been in, but not as many sights to see as other places)
6. Mostar, Bosnia 모스타르 (one great landmark, and not much else)
7. Vienna, Austria 빈 (thoroughly disappointing, too modern and expensive)

I also wanted to travel to more places but didn’t have time. Other Eastern Europe places I had to cut out – Dubrovnik, Croatia – Krakow, Poland – St Petersburg, Russia – Riga, Latvia – Kiev, Ukraine – Sarajevo, Bosnia – Slovenia – Bratislava, Slovakia – Sofia, Bulgaria – Bucharest, Romania. Montenegro. Oh well, maybe next time.

Next places on my travel list:
1. Tokyo, Japan
2. Taipei, Taiwan
3. Shanghai, China (again)
4. Tunis, Tunisia
5. Baku, Azerbajian
6. Bangkok, Thailand
7. Singapore
8. Venice, Italy
9. St Petersburg, Russia
10. Alexandria, Egypt

And yeah… thats my Europe trip. Will compile a youtube vid of it shortly. As for other things well, back in Seoul means continue to try to meet people / do well at work / make a gf so the same old priorities.

General School/Work

BitTorrent and Korea

I have two major updates that happened to my life recently:

I changed companies
I’m currently working for BitTorrent Inc as a Front End Engineer. Yes, though my old company (Switchfly Inc) was a pretty good company to work for, I’ve decided to take up new opportunities… BitTorrent’s stack consists of Python, MongoDB, BackboneJS and NodeJS, which gives me enough of a change from Coldfusion, PrototypeJS, EmberJS, Freemarker and Java. Its a new experience, with a strong recognizable company who are headquartered in downtown SOMA, and I’ve been enjoying working there so far.

Edit: if you want to check out my submission for BitTorrent’s coding exercise, check out the TEDx Feedreader application I made using Backbone + Bootstrap, all done in 8 hours:

I went to Korea
I just came back from 2 weeks in Seoul, Korea and I loved it. As expected, I enjoyed every moment of that trip, and I still miss Korea already. There are several things I like about Korea more than USA such as:

1) Food/Drinks are amazing
Forget Korean food in USA. Korea has much better food than USA, much healthier with more organic ingredients, cheaper to buy, and tastes better. Forget Pizza Hut, Mr.Pizza is amazing. Forget Bulgogi and Bibimbap, Dalkgalbi (chicken ribs) and Jimm Dalk (steamed chicken) and Chi maek (fried chicken and beer) is much more amazing. Forget Soju and Korean Beer, try the many flavors of Makgeolli (rice wine), Paekseju (flavorful, weaker version of Soju), Cheongha (tastes like a mix of soju and sprite), Bokbunja (raspberry wine), and Maehwasu (plum wine). All amazing.

Oh and by the way, all the stores close later than in America, usually around 2am. The bars/clubs usually close around 6am, and some of the cafes and restaurants are 24/7 as well. Just amazing. Oh and did I mention? There’s no tip or taxes in Korea, and there’s a button you can use to call the waiter in restaurants. And fast food has delivery, like McDonalds and Burger King have guys on scooters that deliver burgers to you. Double amazing.

2) Technology is widely adopted there
Wifi is ultra super fast in Korea. You can use Wifi in the Subway, even in the mountains, pretty much everywhere, as long as you have a Wifi card. EVERYONE in the subway is on their phone, and when you can watch TV on your phone and use super fast Wifi, why not. There’s Google Maps touch screens in the subway. Everything has a dispenser or a machine for convenience. Even the toilets have controls on them. Alot of the designs in Korea are just amazing. Its hard to believe the smartphone only came in 2009 in Korea, yet now everyone from schoolgirls to old men use them there.

3) Transportation is amazing
The transportation system is probably the best I’ve experienced, ahead of NYC and Shanghai. The Seoul subway takes you all around Seoul and the Metro area, and is cheap on top of that. There’s apps to calculate the exact time it takes from one station to another, since trains are always on time. In addition, the places where you can’t go using subway, you can take buses or taxi, both of them much cheaper than in America.

4) Clothes are better
Korean clothes are a much better fit for me, being more suited to Asian bodies. People there are skinnier in general, and I’m skinny so it really fits me. In addition, they have much better styles than boring American clothing and are cheaper as well, as long as you haggle. Ironically, Koreans mostly buy foreign brands, not knowing that foreign brands (which are made in Southeast Asia) are actually lower quality than their own Korean brands (which are made in Korea). Shopping Malls as high as skyscrapers and numerous cosmetics stores are everywhere in Korea.

5) Everyone dresses up and looks good
Ever wonder why Koreans get so much plastic surgery?? Because its societal pressure!! Korean girls feel pressured to get plastic surgery because everyone competes to get a job, and since you have to submit a photo with your resume, the prettier girl gets the better job!! In addition, everyone dresses up everyday, regardless of situation. Korean girls wear makeup, contacts, high heels, nail polish, dresses/skirts/short shorts whereever they go, and Korean men often wear blazers, khakis, tight jeans, nice fitted shirts too. Its the society norm. Clubbing clothes in America are everyday outfits in Korea. As a result, a large majority of the girls there can be considered very beautiful by any standard. Trust me, its so weird to see model-looking women eating at McDonalds, or reading books at the public library wearing stilletos, but its normal.

6) Everything is clean and organized
Everything is clean and organized in Korea. This isn’t China with smoggy skies or littered streets. All the streets are clean, all the clothes people wear are immaculate, and even the bathrooms will be as clean as you can find them. There is even a machine in the public library to sanitize books. Everyone gets an apron when they eat barbecue. Towels to wash your hands are offered at different places. There are rarely any homeless people, and buskers only play in one place: Hongdae. Next time I will carry a pocket stain remover wherever I go.

7) Korea has a strong sense of community
I learned that Koreans have a sense of 정/jeong, which is this unique korean sense of feeling kindred with others. As a result most Koreans are very polite and nice to others when they have a chance. Normally Koreans are very different than Americans in that they are mostly quiet, reserved people who go about their days almost too predictably. Koreans have a very rigid mindset, and are almost robotic in the way they conform to society. This means you are probably very safe in Korea, as no one has the cultural mindset to steal, mug, rob, rape, loot, plunder, kill, or anything like that. You can leave your phone on the table and be safe about it. Girls can walk home alone at night without worry.

8) Korea loves couples
On the other hand, Koreans really love couple culture. Americans often have to think about where to go when they date, most likely a restaurant or a theater. But in Korea, alot of places are meant for dating. You have many options to go when you are with your significant other. Seoul Tower is a popular spot, as is Cheonggyecheon (river flowing downtown), or Lotte World, or a Korean village, or a beach, or a theater with a love seat, or an arcade, or a shooting range, or a sticker/photo booth, or one of the many bangs (rooms) set up in Korea, like Noraebang (karaoke), DVD-bang (DVD-room), Jjimchilbang (spa/sauna for couples), Soju-bang, PS/PC-bang (for gaming). There are even shops that sell couple accessories like matching bracelets, t-shirts, charms, everything. Korea is a great place for couples, and can be lonely if you go by yourself.

All in all, I had an amazing time in Korea, especially visiting my friends and experiencing the unique culture… and I really think that out of all the places I’ve been to, I belong the most there. My quiet, unassuming, conformist personality fits right in. So I got a little sad when I realized I’ll never get to experience those memories; I never had a gf when I was in high school or college, never had those kinds of couple culture going on, and of course never experienced a long term relationship with a Korean girl. (FYI I have good reasons for the lack of relationships; I grew up in a small white town with no asians, and was busy with CS in university, a major with very few women). This worries me, as I don’t like long distance relationships, yet I feel Korean culture fits me best. Unfortunately, Korean work culture is very competitive; they have to work long hours, for little pay, and little time for recreation. I would live in Korea, if not for the work aspect. Working at BitTorrent is miles ahead of anything a Korean company could offer me, but maybe someday I’ll have a chance to experience a good work culture, and live in Korea as well. I just hope I can do that while I’m still young.

At a peaceful Korean village
At a peaceful Korean village
At the top of Bukhan Mountain
At the top of Bukhan Mountain
Me and my friend at Gyeongbuk Palace
Me and my friend at Gyeongbuk Palace
Lotte World
Lotte World
CheonggyeCheon in Gwanghwamun
CheonggyeCheon in Gwanghwamun
Lovers Locks at Seoul Tower
Lovers Locks at Seoul Tower

Edit: Something ironic and sad that I’ve noticed…
If Americans had to be obsessed with Korean the way Koreans are obsessed with English, this would happen:

Everyone is required to learn Korean in primary school.
Everyone has to go to private academies after school to learn additional Korean.
Everyone has to know Korean and pass a Korean test to get a job.
You will see Korean words mixed in with English wherever you go.
You will see Korean movies with English subtitles, Korean actors, Korean singers, and they will be popular amongst your friends.
All English songs will contain some Korean in it.
Your companies try to copy Korean brands and Korean technology.
Korean clothing is more popular than American clothing.
A lot of your advertisements contain Korean models.
Parents will make their kids have tongue surgery to speak Korean better.
You will have a lot of makeup and plastic surgery to make yourself look more Korean.
You have Korean armies on your land.
Many American girls will fall in love with Korean guys.
Many Americans want to marry Koreans so they can live in Korea.
There is a special district for Koreans that many Americans go to mingle with them.
A Korean education means a lot more than an American education.
Many Americans want to be Korean teachers and make a lot of money.
You often go to eat Korean fast food or drink Korean coffee.
Speaking Korean makes you look more cool and helps you advance in life.
You rely on Korea to protect you from Canada.

…sad but this is all true, but reversed for Korea.

Programming School/Work

Switchfly Fedex Day Projects: Facebook integration, Passbook Integration

My company, Switchfly have events called FedEx days, which basically means we set aside 24 hours for employees to work on whatever project they wanted given that it provides some business value to our application.

Fedex Day 1:
So, I joined with a few other engineers and business people to create Facebook sharing and liking for hotels and itineraries.
So, after 24 hours of toiling, we had a few mockups to present.

Facebook Like for Hotels
Facebook’s Like feature relies heavily on the Graph API, and the most difficult part of implementing this is due to FB having to have a public, static, unique URL for every page that you want to link Like with. Since our hotels are generated with a random key, this proved quite difficult, and in addition, FB like requires heavy use of metadata tags, which have to be inserted into the body. The problem is that the info required for the metadata, such as the Hotel name, Hotel description, is available only after the page renders, and inserting meta tags dynamically into the head of the page breaks the Like feature. So, using PHP or Coldfusion, the page has to grab info from the shared database at page render time, so that the meta data exist in the source, and publicly pingable by FB. So our mockup looks like this:

Liking hotels using FB API
Liking hotels using FB API

Meta data on the page looks like this:

This will share this hotel or send your friends a message telling them what hotel you are looking at.

Facebook Share your Trip
So, we also have FB sharing your trip after you make a booking. This is done via simple facebook API functions, and currently sends a link on FB that leads to the same hotel/flight search that you did, but if we were to expand it, it could look something like this:

Facebook Trip Sharing
Facebook Trip Sharing

Basically, we want to be able to make custom objects and custom actions using Graph API to post information about your itinerary to your friends. You can see what friends are on your flight, and change your flight plan, book a hotel, change a reservation, or rent a car using the post. Anyways, for 24 hours, building these two proof of concepts have been pretty fun, and I someday hope to implement these features in full.

Fedex Day 2:
For Fedex day 2, we decided to make Passbook integration for our itineraries. I was the only engineer on this project this time around (and again toiled for 24 hours).

Passbook Generation
So, Passbook is an Apple application, and in order to integrate with Passbook, you need to be an Apple dev with provisioning to generate a Passbook id for integration. This part was kind of confusing because of the way how certificates and certificate requests were set up. But after looking at the Passbook documentation, I managed to generate some sample passes for our app.

Amex Switchfly Air Passbook
Amex Switchfly Air Passbook
Amex Switchfly Hotel Passbook
Amex Switchfly Hotel Passbook

Integrating with the application

Passbook and SMS Integration
Passbook and SMS Integration

Integration with the application was more difficult. Firstly, the SMS service I wrote (to send users links to their booking confirmation) integrated well with Twilio, and that API was fairly straightforward to set up (Kudos to Twilio), the limiting factor I found being the 160 char limit on SMS texts and the trial account. Secondly, the passbook service was more difficult. Basically, I had to capture the information on the page into json, and ajax it over to our coldfusion/sitebricks endpoint so that we can make use of it. Unfortunately the signing of the pass required a cryptographic algorithm which Apple doesn’t help you with. I had to use Jpasskit, a third party library to help me with that. Even then, the main issues I ran into were:

1) Passbook only contains limited space on the front. Doesn’t even have enough room to put a roundtrip flight, let alone flight + hotel.
2) Each passbook needs to be signed by a certificate which has a keystore and a password from somewhere on the server.
3) Our context and encoding filters prevent .pkpass from being distributed.
4) Even if it was working, only Mac OS and iOS users would be able to make use of it (via email or Safari).
5) Not sure how I could get the SSL Handshake with Apple’s restrictions working.

So because of these issues, not sure if this will make it to prod, but it was a good learning experience nonetheless.