As per my previous year-in-reviews (2018, 2017, 2016, 2015, 2014), I always start with the little things, now properly sectioned by month, as the list grows longer:
January
- Upgraded from Pixel 1 to Pixel 3. Sold Pixel 1 at a later date. 📱
- I showed a sneak peak and launched first and last bus arrival times page for BusRouter SG. 🚌🚀
- Bought stickers from @mintlodica. 👾
- I showed another sneak peek of the rebuilt version of BusRouter SG Visualization mini-site. 🚌🚀
February
- Published ‘Building BusRouter SG’. 🚌📝
- Launched my BusRouter SG app on Google Play. 🚌🚀
- Started working at SWAT. 💼
- Received my Blank t-shirts from Cotton Bureau. 👕
- Created a lightweight version of Check Weather SG. 🌦🚀
March
- Gave a talk at Hack && Tell. 🗣
- I did gastroscopy and colonoscopy. 🏥
- Showed sneak peeks of my rebuilt ExploreTrees.SG. 👀🌳
- Acquired a temporary Singapore IC. 🇸🇬
- Bought AirPods with Wireless Charging Case, and discovered Mismatched AirPods. 💸
- Made a Variable Font experiment on CodePen.
April
- Acquired my Singapore passport. 🇸🇬
- I started tweeting my “Highlights of the week”, starting on 6 April 2019. ✨
- Transfered my .app domain to Porkbun. 🐷
- Registered for a free TPG mobile plan. 📲
- Got a Zipster card for public transport. 💳
- I went for a CT scan, and the results were gastritis and possibility of cystitis. 🏥
- Discovered that my BusRouter SG app is featured in a PDF file linked on a wedding site. 🌟🚌👰
- Dribbbled a JS Bacon. 🥓
- Dribbbled an unofficial rebound of the GopherCon SG mascot.
- Found someone copied my side project. 😅
- Received some GatsbyJS swag. 👕👾
- Received my citizenship letter. 🇸🇬
- Received my Kickstarter-backed Ample power bank.
- Received my Check Weather SG logo stickers from StickerMule. 👾
- I showed even more sneak peeks of my side project and finally released ExploreTrees.SG 2.0 to the public. 👀🌳🚀
May
- BusRouter SG got featured on Uber Visualization’s newsletter. 🌟🚌
- Acquired a surprised Pikachu sticker from @mushomushypeas. 😲👾
- ExploreTrees.SG got featured on Reddit /r/singapore. 🌟🌳🇸🇬
- Attended the Citizenship Ceremony, and finally acquired my non-temporary Singapore IC. 🇸🇬
- Updated my Repokèmon project with new data and logo. 🚀
- I had my first try of the Edge browser on Mac.
- Moved to a new electricity retailer, Ohm (Referral code:
OHMREF020CAB
). ⚡️ - I went to the last scheduled (monthly) appointment with my gastroenterologist. I got a few medication but don't need to schedule next one anymore. 🏥
- Applied for GitHub Sponsors. 🙏
- Initiated printing and received some fine JavaScript stickers from GoodieSwag. 👾
June
- I coded a coffee cup with Zdog, and it got featured in Dave DeSandro’s Twitter Moment and CodePen collection. Few days later, it got featured again on CodePen’s blog. ☕️🐶🌟
- I published ‘What I learned from printing custom swags’. 📝 Also eventually found out how much I spent on swags. 💸 And then it got featured on Developer Avocados 🥑 Weekly Issue 31. 🌟
- I realised that my bus visualization work got listed on deck.gl’s showcase page. 🌟
- I started using my (credit) card for taking public transport, as part of the SimplyGo initiative. 💳🚌🚆
- Hui Jing gave me a whole stack of stickers and a CSSconf.EU t-shirt. 🤩
- Attended JSConf.Asia for 3 days and managed to witness Shawn’s talk, Thai’s talk (for the 2nd time), and Laurie’s talk. Best of all, I finally met Cristian in real life (known since the MooTools days 😏). 🎟🐄
July
- I manage to scrape all bus arrival timings for 5,000+ bus stops in Singapore. 🚌
- Published ‘Next-level visualizations with ExploreTrees.SG’. 📝🌳🇸🇬
- Received the Pusheen/popeen stickers. 👾
- JinGen gave me a Chope card. 💳
- Donated to Parcel, and received a sticker! 💸
- Performed a few experiments on live bus locations. 🚌
August
- Co-organized Geek Brunch SG on 18 August. 💪 I showed off my first phone in Kai’s “interview”. 😎📱
- Took a small step venturing into custom-made amigurumi’s. 🧸
- Started using Notion (referral link) seriously and revealed my travel plan document to the public. 📑
- Migrated from
bash
tozsh
, in preparation for macOS Catalina upgrade, together with Hyper. 🐚 - I bragged about my water-repellent umbrella(s). ☔️
September
- Attended JSConf Korea. 🎟🇰🇷
- Received my Revolut card. 💳
- Compiled a list of tech and design related conferences in Asia. 🚀
- Received my TransferWise card. 💳
- Received my Kickstarter-backed Passport Go. 💸
- Started playing Mario Kart Tour. 🏎
- Thanks to Cloudflare, Check Weather SG becomes one of the first sites to support HTTP/3. ⚡️
October
- Upgraded to macOS Catalina. 🏔
- Attended Geekcamp Singapore. 🎟
- Got my hands on the new iPhone 11 Pro. Ultra Wide camera is my favourite feature. 📱📷
- Finally approved for GitHub Sponsors! Got my first sponsor(s) too! 💰
- Bought a bunch of NFC stickers and did some cool automations with the iOS Shortcuts app. 💸
- Bought AirPods Pro. Yeah, I know. 💸
November
- Bought Tile Stickers (4-pack). 💸
- Bought Nuud (deodorant), as recommended by Charis. 💸
- Attended JSConf Japan. 🎟
December
- Co-organized Super Silly Hackathon. 😎
- Bought the Molecule Cardholder from Pioneer. 💸
- Spotted a very familiar-looking map example. 👀🌟
- Got my hands on Asia's first numberless card, GrabPay Card. 💳
- Witnessed the ‘Ring of Fire’ annular solar eclipse. ☀️🌑
- Received my Kickstarter-backed VERYKAL umbrella. ☂️
📊 Statistically, I attended 4 conferences, gave 1 talk, co-organized 2 events, and re-launched 4 existing side projects. My work got featured 7 times. I was asked for directions (by others) 13 times this year. I tweeted 31 “Highlights of the week” since April.
On a slightly more personal side, I had 5 haircuts and 4 dental appointments.
7 Kopi.JS meetups were held. After running for 6 years, our 50th milestone was on 27 April 2019. ☺️
Fukuoka & Seoul
I was planning to attend JSConf Korea on September in Seoul for perhaps 3 to 4 days, but I find it too wasted to stay for such a short duration. I haven’t travelled out for more than a year, since June 2018, so I really need a longer vacation.
Seoul is a fine city, despite that it's not quite a solo-traveller friendly place in my opinion. I’m also not a K-pop or K-drama fan, so I don’t really get the hype. Besides, I realised that the weather is not going to be great around that time. The forecast showed that it’ll be hot and rainy, two of the most unfavourable conditions for travellers. 😅♨️🌧
At the same time, I also had plans to attend WebConf.Asia in Hong Kong and figured that I wouldn’t have enough annual leaves to visit Japan. Yeah, I really miss going to Japan ever since my last visit on July 2017, so it’s been 2 years.
So, I decided to take a detour. I’ve heard good things about Fukuoka, I’ve never been there, and it’s geographically the nearest city to South Korea.
Two days before my flight, there were reports of flood in the Fukuoka prefecture. 😅
On August 31, I departed from Singapore to Fukuoka Airport (FUK).
The airport is surprisingly very near the city centre. It took like roughly 22 minutes, including walking and waiting time. In fact, most of the time taken is during the shuttle bus ride between the International Terminal and the Domestic Terminal. It took up to 14 minutes just to switch between terminals 😅. I had to ride the shuttle because the Fukuokakuko subway station is at the Domestic Terminal.
Anyway, Fukuoka was… hot. 😰 No rain, no flood, fortunately. 😌
I finally got to try the Suica express transit mode with my iPhone, where the card is inside the Wallet app, and got super surprised that it works even when the iPhone is not awake!
I’ve also got to try Google Maps AR for walking directions, which seems to work… but I don’t quite feel right holding my phone around pointing at the streets and buildings. 😅
I stayed for 2 nights and manage to visit these places:
- Fukuoka Castle Ruins
- Ohori Park — didn’t explore the whole park because I sweated too much.
- Canal City Hakata
- Kushida Shrine
- Tenjin Central Park
- Fukuoka Tower
Coincidentally, I got a chance to attend an event called Fukuoka Freedom Night Market taking place at Seiryu Park on Fridays, Saturdays and Sundays.
On September 2, I flew to Gimpo International Airport Domestic Terminal with a stopover at the Gimhae International Airport Domestic Terminal in Busan. Yeap, instead of the mainstream Incheon Airport, this is a partial “international” flight from Fukuoka to Busan and domestic flight from Busan to Gimpo. In Busan, it’s just a 5-min walk (200m) between the international and domestic terminals.
I’ve been thinking of trying out this airport ever since my last visit to Seoul in 2018, because Gimpo Airport is actually nearer to the city centre than Incheon Airport.
The diagram above shows the distance between both airports and COEX, the location for JSConf Korea.
In 2018, it took almost one and a half hour to reach Myeong-dong Station from Incheon Airport. This time, it took 1 hour to reach Seolleung Station from Gimpo Airport. Despite being smaller than Incheon, Gimpo Airport is not bad at all. The immigration and customs procedures are also much faster. ⚡️
Unlike last time, I stayed in the Gangnam area at the southern side of Seoul instead. Closer to the conference location. 😎
I attended the conference on September 3, with my ex-colleague. Also met Hui Jing, Thomas, and flaki (István Szmozsánszky) there too!
This is my first time listening to Korean-language tech talks, where I could understand it by using the translator device that surprisingly works pretty darn well.
There was a lot of South Korean engineers (duh) and the talks were great. The sponsor booths were super amazing with lots of crazy swags! Everyone can scan the QR code, fill up a survey form and get free swags! Too bad some of the booths are Korean-only, else I could have gotten more bags of swags 😅 There were JavaScript bakery cookies, generative art displays, wet wipes, socks, phone cables, wireless chargers and… my stickers. 😏
Behold the swags: 🤩
The next few days, I did my own touristy stuff and visited:
- Samsung d'light — 3-floor electronics store showcasing Samsung products
- Lotte World Mall
- Seoul Sky
- Seokchon Lake
- Mangwon Market
- Figure Museum W
Note that the weather was kind of warm and sometimes it rains quite heavily, making it slightly difficult for me to go around places.
But at least I get to see two sheep, thanks to Thanks Nature Cafe. 🐑🐑
While resting in my hotel room, when there are occasional downpours due to a passing typhoon, I also found this pretty cool South Korean TV show that shows people trying to code in “Scratch”, which later I found out that it’s a site called PlayEntry (엔트리).
On September 6, I flew back to Fukuoka via Busan. Yeap, this is a double round-trip, SIN ⇄ FUK and FUK ⇄ PUS ⇄ GMP.
I stayed for 2 nights, visited the Fukuoka Asian Art Museum, eat ramen at Nagahama Number One, eat sushi at Uobei, and eat ramen again at Ramen Unari.
On September 8, I took the bus from Hakata Bus Terminal to the International Terminal, instead of the subway. It took 22 minutes, including waiting and walking time, so roughly the same duration when I first arrive in Fukuoka, taking the shuttle bus at the airport and then switch to the subway.
I flew back and arrived in Singapore 46 minutes earlier than scheduled. It feels like a very short trip even though it’s actually 9 days. Maybe next time I should revisit when the weather is nice and there’s no typhoon. 🤷♂️
My observation notes:
- Seoul
- Lotteria is like the KFC/McD of Seoul.
- Naver app tells you exactly which door (e.g.: 4-1) to stand at the train station so that you can find your path faster on the next station. Unfortunately the app always loose its state on iOS when closing and reopening it.
- Fire extinguishers are everywhere. Train stations have masks and stuff in case of fire or incidents.
- Fukuoka
- For public buses, the entrance is the middle (rear?) door instead of the front door. The front door is the exit instead. So, after entering, it’s better to move near the front door so that you can easily get out of the bus. 🤔
- Tap the card twice when boarding and alighting the public buses. If I’m not mistaken, tapping out is not needed in Tokyo. 🤔
The stats:
- 121 Swarm check-ins.
- 21 Instagram posts.
- 350 photos and 17 videos on Flickr.
Tokyo, Kyoto & Osaka
As I mentioned, I had plans to attend WebConf.Asia in Hong Kong. Due to unforeseen circumstances, it got postponed to next year 2020.
So… with immediate effect, I changed my plans and got myself a ticket to JSConf Japan! Okay, I stated that I missed Japan, went to Fukuoka, and then… going to Japan again(?) 😂
The conference is held at a pretty interesting location called 3331 Arts Chiyoda in Tokyo. Tokyo is a great city but I’ve been there for like 3 times, so it’s time for me to explore other cities in Japan. Fukuoka is now checked off my list, so where’s next? 😉
On November 29, I flew to Haneda Airport and checked in at a robots hotel, called Henn na Hotel. It’s pretty cool with the human robots in the lobby. They stare at people and talked, but I only need to interact with the two screens in fact; one for check-in, another for check-out. 😂
The weather was perfect. I wanted a cold weather so much because my previous travels have always been in the summer.
It's 5° Celcius. I was under-dressed 🥶. It’s fine. Sometimes it drops down to 4° Celcius but reported as 1° Celcius (RealFeel©) by AccuWeather.
Oh well, the conference starts at 12 noon so I had enough time to explore around in the morning.
I also took this chance to visit a very distinct landmark from 3-gatsu no Lion (March comes in like a lion), the Chuo Ohashi Bridge.
I attended JSConf JP for two days. There are 3 rooms and 2 of them looks like basketball courts. 🏀
Honestly speaking, the whole experience felt very comfortable this time, compared to all the previous conferences I attended. Maybe because I just hang out in the hallway track most of the time. 😝
I met the usual suspects; Hui Jing, Thomas, and flaki. Surprised to see Thai as well. Met up at izakaya restaurant with Guillermo Rauch, Naoyuki Kanezawa, Henry Zhu, Garland, Thomas and one guy who I can’t remember the name 🙏. Hanged out for lunch with flaki and Jennifer Wong. On the second day, for some reason, spent hours talking with Henry, Thai, Garland and Dominic Tarr. Left some of my stickers near the npm
stickers. Managed to see Sacha Greif, Jan Lehnardt, Yosuke Furukawa and Eiji Kitamura. Said ‘hi’ to Mariko Kosaka! After the conference, hanged out again with whole bunch of folks and spoke with Lena Morita and Maria Clara.
At the end of the day, I was totally spent. 😵
On the next day, I set out to take my first ever Shinkansen ride to Kyoto. Instead of the usual JR Pass, I use SmartEx to purchase tickets and could ride on Nozomi, the fastest train service running on the Tōkaidō/San'yō Shinkansen lines in Japan. It’s a 2 hour and 10 minute ride from Shinagawa Station to Kyoto Station.
It was raining. Couldn’t see Mount Fuji on the way. 😅
I reached Kyoto at around 4PM and the sun sets at around 4:45PM. By the time I checked in and got out, it’s already dark.
Okay, might as well get up there and take a photo. 📸
When the day comes, another photo:
As this is my first time in Kyoto, I switched on my 100% tourist mode and visited all these places:
- Sanjusangen-do
- Fushimi Inari Taisha
- Mt. Inari
- Ginkaku-ji Temple
- Philosopher's Path — it’s quite a walk.
- Eikando Zenrin-ji
- Nanzen-ji Temple
- Tenryu-ji Temple
- Arashiyama Bamboo Grove
- Arashiyama Park
- Togetsu-kyo Bridge
- Arashiyama Monkey Park Iwatayama
- Kinkaku-ji Temple
- Ryoan-ji
- Kyoto Botanical Garden
- Nishiki Market
Everything looks amazing.
It's autumn, so I saw a lot trees with gradients of green, yellow, orange and red. I saw ducks, monkeys, a cat, fishes, a wedding couple, a cute bunny bakery, white flowers, orange flowers, purple flowers, a few weird monsters (yokai), hedgehog pastries, and a very interesting river. I also tried tako tamago which contains an egg inside the octopus’ head. 🥚🐙
Some of my observation notes:
- Suica express transit mode works.
- Can’t help noticing this store called Malebranche, a confectionery shop.
- For public buses, the entrance is the middle (rear?) door. Only tap the card when exiting via the front door because it’s a fixed-fare ride. However, for (some?) JR buses, need to tap when boarding because it’s not based on fixed fares. There’s one time I forgot to tap when boarding, but everything’s fine after telling the driver where I departed from. 😅
- For the escalator etiquette, stand on the left side… but in areas further away from the city centre, the right side? 😅
- Wearing a surgical mask tends to be misleading (in Japan generally). Face ID agrees.
On December 6, I rode the Shinkansen again from Kyoto Station to Shin-Ōsaka Station. It took roughly 20 minutes.
It’s also my first time in Osaka! I saw Glico running man everywhere. There were huge crabs, ducks (again) and huge pufferfishes. I stayed for only 2 nights and manage to visit these places:
- Tsutenkaku
- Namba Walk
- Osaka Castle
- Sky Garden 300 on top of Harukas 300 — oh my god, the night view is awesome.
- Kuchu Teien Observatory on top of Umeda Sky Building — the escalators were very mesmerising.
- Hozenji Yokocho
Again, my observation notes:
- For escalator etiquette, stand on the right side.
- From my impressions, I would call Osaka the “city of lights”. Even Google Maps highlight this event called “Festival of the Lights” while I was there.
- For some reason, kept seeing a lot of karaoke’s and (old?) folks actually singing. 🎤
- I noticed there are lesser 7-elevens and more Lawson stores.
- There are three Ichiran stores, within short walking distance, in Dotonbori. I’m not sure if there are any differences, but it’s good to avoid the long queues in one of the stores sometimes. 😅
After almost a week of travelling, I got to say the biggest highlight for this whole trip is this super delicious bowl of ramen from Jinrui Mina Menrui (人類みな麺類).
I generally prefer noodles over other kinds of food. Naturally, ramen is one my favourites. I’ve tried a lot of ramen, basically ate it almost every single day whenever I travel to Japan. I personally have a delicate palate for stronger flavours. The first ever ramen that had a huge impact on me is the niboshi (dried sardines) ramen at Ramen Nagi in Tokyo (back in 2015).
At Jinrui Mina Menrui, this ramen called “Macro” is the second one to have a huge impact on me. I queued for almost 2 hours outside the restaurant. The queue mostly consists of locals.
Initially while queuing, I was afraid of two possible (bad) scenarios:
- The ramen might end up not great, as I set my expectations too high. Then it’ll be a huge waste of my time queueing for this.
- The ramen might end up nice just because I was too hungry. I started queuing at 12:30PM after getting off from Minamikata Station. Got in at 2:19PM. It was cold and windy outside. 🥶
Turns out, the moment I sip the soup, it blew my mind away 🤯. The noodles have a rough texture and different from other ramen noodles. The pork meat is soft and can be easily cut apart with just the chopsticks. 😋😋😋
This “macro” ramen is one of the three choices in the (English) menu (should be the same as the Japanese menu), customised with thin roast pork, boiled egg and no menma (bamboo shoots — I don’t like them). The egg is fine but I should have ordered thick roast pork instead because it’s so, so good. I usually don’t finish the whole bowl and drink all the soup, but this time, I emptied everything.
I seriously would visit Osaka again just for this. 😄😄😄
Alright, enough of my ramen review. 😆
On December 8, I took the train from Shin-Imamiya Station, got confused and ended up at Tennōji Station, then took a Limited Express Haruka, which I didn’t know that I have to pay more than just a Suica tap. Oh well, at least the train is filled with Hello Kitty. 😻
I reached at Kansai International Airport (KIX) pretty early, so I took this chance to explore around. I’m a huge fan of this airport ever since I was a kid watching a documentary called MegaStructures on National Geographic (first released in 2000).
I took the Sky Shuttle Bus to Sky View to get a full view of the airport and literally, the blue sky.
There’s a Sky Museum. And there was a Snow Park event. ⛄️
After this, I headed back to the airport terminal, ate sushi for lunch, had a massage, heard my name announced in the airport, almost missed the flight check-in time, and flew back to Singapore.
The stats:
- 147 Swarm check-ins.
- 60 Instagram posts.
- 1,645 photos and 44 videos on Flickr — record-breaking most number of photos I’ve taken in a while.
Looking back
2019 has been a pretty decent year for me.
In the first half, I focused on two things:
- Health. I went for gastroscopy, colonoscopy and a CT scan to check my stomach issues that started since April 2018. I’ve been recovering pretty well since then, after taking lots of medication and rest.
- Citizenship. I did all the back-and-forth with appointments and embassy stuff, which were pretty tedious, and finally renounced my Malaysian citizenship and become a Singapore citizen.
In the second half, I focused on my travels, especially after I got my new passport and my stomach feeling better. I got to say, I feel very satisfied with my travels this time, especially the second one, as I finally have the chance to wear my cold-weather attires 😂.
I didn’t really do much in 2019. It’s deliberate because it’s actually very, very difficult to do absolutely nothing. I even keep track of the weeks that I did not go to meetups and treat it as a form of achievement. I did not create any new side projects at all, but doing mostly maintenance work. I did not give much talks either, just once.
I went to the clinic once in January and stayed quite healthy throughout the whole year, in conjunction with my stomach issues. However, I do have occasional headaches and backaches, so I need to figure out how to reduce them. Thanks to my stomach issues, I’ve stopped drinking caffeinated or alcoholic drinks for more than a year.
There are times when I felt like I’m stuck. I joined a new company and I reminisced about my 10+ years of working in various startups. The term that I like to use is "déjà vu”, when parts of my life seems to keep repeating. Things that are happening feels like they happened before. Places that I visit feels I visited before. All the people I met feels like a mashup of all the people I’ve met before.
It feels surreal.
Sometimes I want to break out of the loop and think out of the box, but have never been in a position where I have the power to change things. Everything is always easier said than done. Even when I do something, no one’s looking or listening. Some people had it easy, some people just don’t.
I tell myself not to think too much, but I get frustrated when I don’t think about it. I want to change things but it’s going to require a lot of effort and support. In order to get support, I’ll need to establish a good rapport with people. I can do that of course, since I join a lot of social meetups and even organised a few of them. But it’s a never-ending process because there are always new people, new environments and new organisations. And when things are new, I have to start all over again, and again, and again.
Being popular doesn’t really help, because there will always be people who either don’t know or don’t have the capacity to care about things outside of their circle. There’s a limit to how many people one person can interact with, so it’s not expected for one person to know everyone.
Social media sort of helps to project oneself. However, it has become a huge advertising board. Everyone wants to grab attention, but doesn’t have the time to pay attention. Everyone loves to get 100 likes on their own posts, but only gives at most 5 likes to their followers/followings’ posts. Everyone is happy to get 10,000 followers but choose to follow only 10 or unfollow everyone to weed out all the noise. Everyone wants to be helped, but don’t bother to offer help. Wants to be noticed but don’t really notice everyone else. It’s all very one-sided and rather selfish.
It’s not a “give-and-take” world. It’s a cruel “take-only” world.
I used to follow 4000+ folks on Twitter. Now reduced to less than 600. I’ve muted/unfollowed/snoozed 160+ people on Facebook. Just like everyone else, I’m being selfish by reducing all the distractions.
However, I’m still the type who loves to give and help. It’s already proven in my actions, my projects, my writings, my social involvement and my work. Whether they are being noticed or not, that’s a different story.
In 2018, I told myself to take a step back and focus on regaining strength. In 2019, I manage to recover, tick off quite a few things on my to-do list, and slowly rethink about the steps I took. I still get tired from time to time, sometimes lost, and sometimes distracted by a lot of things.
Nevertheless, I’ll slowly figure this out at my own pace.
Onwards to 2020.