We are no strangers to disappointments, let alone being quite vocal about communicating that very same feeling to others. But do you know what burden does it carry?

Although I have always had a personal beef with the “I’m so disappointed in you” statement, it was a recent episode in my life that egged me on to consolidate — and eventually, jot down— my thoughts.

To be used after, not before, perspective taking

I figured that I detested the use of the word “disappointment” because it often implies an unjustified imposition of one’s belief, understanding, and perspective onto another person. We make the mistake of assuming that the…


Congratulations, you are moving to Aarhus… without having actually a place to call home, yet. Aarhus is an amazing city—it has earned the liking of writers from New York Times, Forbes, Lonely Planet, Telegraph, Conde Nast Traveler and many other publications; surrounded by gently rolling hills and sitting by the sea of Kattegat; enointed as one of the two cultural capital of Europe for 2017; and hailed as the exporter of the Danish concept of hygge.

Sunrise from Guldsmedgade, from a penthouse apartment unit that very luckily got into my hands by dumb luck.

Despite being rated one of the happinest city in Europe, finding housing in Aarhus can be frustratingly difficult.

Being a predominantly student town, Aarhus…


Biologists are often challenged with this question when working with proteins:

Now… what does your protein do?

View of protein 4QCI generated using Speck.

Domain prediction—best friend or worst nightmare?

People want to know everything about your-favourite-protein-1 (YFP1). How does it look like? What are the predicted domains? Do these domains have any functions and processes associated with them? Are they located in specific parts of the cell?

A very simplified pipeline would be as follow:

  1. Check the amino acid sequence of YFP1 against various domain prediction programs
  2. Obtain domain and/or structural predictions of YFP1
  3. Infer biological function, molecular processes, and/or cellular components associated from said domain predictions

However, there are so many…


The boy and I at an Airbnb listing in the heart of Toulouse, France.

Sharing economy is the democratization of access to, and utilisation of, pre-existing excess capacity.

These words, haven’t we all hear them before? From the Uber car that you shoved your friend—who just had one too many mojitos—in, to the Wikipedia pages your college lecturers threatened you not to use for your essay’s citations, they are part of the sharing economy. In some cases, monetary transactions are involved between the consumer and the provider: like you linking your credit card to your Uber account, where fares are automatically deducted after a ride. …


,We are always reaching for new heights—but sometimes that means stopping down and crawling through a thicket-filled valley before getting there.

…by hurting someone else.

I did something really silly. In hindsight, silly would not be my choice of word. A moment of clear, unbridled stupidity would be it.

The boy and I were lying in bed, cuddling. The topic shifted to a game that kids play—maybe those at his workplace, or maybe as a young kid in the old days, or maybe as himself (who I can rightfully describe as having a seven year-old stuck in an adult body). Then I said something incredibly, absolutely, horrifying stupid.

So stupid that I could see the mic drop before it left my…


A heavily modified SequenceServer that is running from the Lotus japonicus genomics and proteomics resource website, manuscript in preparation (Mun et al., 2015)

I was recently tasked with setting up SequenceServer on a work server in a production environment—the legacy NCBI wwwblast is extremely dated, and highly non-customizable. Deep integration with the API we have developed for a Lotus japonicus genomic and proteomic resource is not possible.

I have encountered several issues with setting up SequenceServer, but have managed to resolve all of them. I am therefore penning this guide for future users who might be interested in installing SequenceServer, but are at a loss of where to start, and what to do when they run into issues.

It is of course not…


A guide towards migrating away from mysql_ functions to PDO

· · ·

I have decided to pen this guide after encountering a multitude of questions concerning migration away from mysql_ functions on StackOverflow, as well as my personal experience from updating the codebase of dated PHP files in my line of work.

This guide is written under the preface that you have some basic understanding of PHP and object-oriented programming (OOP), but believe me, when I started writing PDO I have no idea how OOP worked. It’s never a bad place or time to start now.


On the 23rd of March of 2015, Singapore lost not only a man, but a leader. A fierce, unforgiving politician who brought the small little island of Singapore to prominence, wealth and prowess, Lee Kuan Yew transformed Singapore from a British colonial port into the economic powerhouse it is today.

It pains me to write this article, because the death of Lee deeply polarised my circle of friends, and worse — it’s not along the line that separates friends and acquaintances. But I feel like I owe people an explanation of why I feel like I have to speak up.


A review of a 365-day journey

It’s the time of the year again. Facebook users were presented with an option to review their year — I chose to do otherwise. There is definitely more I can do than merely plastering a bunch of photos into a collage, when the time of the year offers the opportunity to reflect with greater depth.

I am no life coach, nor a meditating monk in recluse. But that does not mean I would allow myself to kick back on my comfortable chair, giggle through the deluge of new year resolutions on every single social…


A guide towards writing better AJAX calls in jQuery

Illustration: Terry Mun

For awhile, the standard way of making an AJAX call using jQuery is rather simple — by using the $.ajax() function:

Looks easy peasy, but there are several drawbacks to this method:

  1. Excessive nesting. Functions and events dependent on the returned AJAX data has to be wrapped in the success handler, because AJAX is by nature, asynchronous. Along the same line, this reduces the readability of your code.
  2. Difficulty in chaining and compounding. It is difficult and overwhelmingly complex to evaluate outcomes of multiple AJAX requests — we are unable…

Terry Mun

Amateur photographer, enthusiastic web developer, whimsical writer, recreational cyclist, and PhD student in molecular biology. Sometimes clumsy. Aarhus, DK.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store