Journal #332

A massive pang of disgruntlement and dissatisfaction struck. The world looked like it was all dark and hopeless. You didn’t know what else you could do. You wanted to give up. You wanted to shred every single piece of work you have ever done because you thought, ‘what’s the point?’

In this world, full of writers of both non-fiction and fiction, what makes you any better than those people? Nothing.

In this world, full of programmers, what makes you any better than those people? Nothing.

So you feel like you have nothing to contribute. Whatever you have done and will do, others have done it before. They came, they did, and now they are gone. Have you heard of them? No. Not all of them anyway.

You consistently put your work out but the quality isn’t consistent. You got your bad days. You got your good day. And you got your neither here or there days. You know that it’s fine. Nobody, ever, put out their best work consistently everyday. You have reconciled with that fact.

But have you?

Because the moment you go and look at the stats, the metric that determines whether anyone consumes your content, you realized that no matter what you have done, those numbers never quite go anywhere.

The question is, why do you still care? It has always been all about what you have done better than previous. Yet those numbers still gets you down.

It’s really simple. You are still stuck in that mindset of treating it as a scorecard. You are still comparing yourself against the world. A persistent low score means you failed.

But have you?

No, you haven’t.

This is what you need to do.

  1. Consistently build up your skills to write better so that you can squash that thing call insecurity.
  2. Find a better platform. A more minimalistic platform where there are no numbers so that you can focus only on the one thing that matters: Your writing.
  3. Re-audit your surroundings. Your friends, your parents, your surroundings. Are they helping or holding you back. Cut or remove the bad ones or reduce your time spent. Find new ones.
  4. Re-evaluate if the way you publicize your works are getting you anywhere. If the publicizing platforms aren’t channeling more readers your way, cut them. It’s superfluous and a waste of your time.
  5. Put in a system. It has to be a system that you can consistently follow to consistently write more and improve your overall health. Poor health means you can’t do anything good.
  6. Go out. See the world and step out of your comfort zone every now and then.
  7. Finally, decide on what is success. What is your definition of success when it comes to writing?

All the above applies to your programming. After all, it’s a form of writing.


Journal #311

Today was a decent day. I felt slightly happy because it’s Friday. And I do feel pretty lazy and unproductive.

Oh, I also came down with cold/flu-like symptoms and spent the whole morning until lunch sneezing away.

I did mention I don’t feel inspired to work on anything yesterday. But that doesn’t mean I didn’t do any work. Doing even something small is better than nothing.

My definition of small for today was building a high definition prototype of a search result page. At first, I thought the Telerik library used for the project had some kind of built in image gallery. After some searching, there was none.

Then I stumbled upon the RadTilesList user control provided by the library. I thought with some basic hacking and tweaking the codes, I can use it to present search result like an image gallery. But since it was the first time I’m using this particular control, I had to spend some time studying on how to use the control.

The whole high definition prototype took me two hours to cobble together. The end result looked pretty good. Of course, there aren’t any major business logic or codes that will handle events or load data. Instead, I let it relied on hardcoded data so that I can show my colleagues if the overall look and feel is acceptable.

I did show my colleagues and team lead after lunch the prototype. They gave me some feedback like how to present the data and how big the individual component should be.

They also mentioned how ugly some parts were. Haha. Surprisingly, I’m totally fine with that comment. Looks like I have somehow learn to let go of some stuff… or maybe I am disengaged from my work. Can’t tell which.

So, with the feedbacks, I put in the placeholders for the data, tweaked the grid used to hold the components and tweaked the size of each tile.

By around 3pm, I was done working. I just lost the desire to work and want to do something else.

I spent the remaining time playing some games on my phone, chatted with my colleague and helped her out with the part she’s working on, especially the RESTful API, SQL query using Linq, and chomping down on the bunch of fruits (a slice of watermelon, honey melon, and a bunch of kiwis) I bought.

I also bought a 250ml bottle of Soy to drink. The combination of fruits and soy turned out to be the right call. I didn’t feel that hungry until like 7pm.

Once the clock struck 6pm, I pretty much scurried out of office and made my way home. After I got home, I spent the evening showering, having dinner, and watching the last episode of Altered Carbon on Netflix.

There is a new movie call The Ritual and looks interesting. Maybe I will watch it later tonight.

And yes, I know I promised I will prepare an iPhone X review some journal back. I will get that done and published before the end of the week.

Tomorrow, I will have to do spring cleaning. Chinese New Year is around the corner and there aren’t any more days left for me to do that. And I have not gotten any new clothes.

If you are wondering, Chinese traditionally will buy new clothes for the lunar new year as part of the saying, “get rid of the old, welcome the new”. The minimalist in me now is wondering what should I do…

Journal #310

The cold I had yesterday didn’t really go away this morning. So after breakfast, I had to self-medicate. That medicine kicked just when I left house for work. It made me pretty drowsy and slow my reaction time down. I got pretty clumsy in a way when I walk. But I made it to the train station safely. Ha.

I went to work and ordered a grande-size Dark Mocha along with a Panwich with chicken ham and cheese from Starbucks. Those two combined sure could last me until 12pm and I wasn’t even hungry when I went for lunch with my colleagues.

Work was uninspiring. I no longer feel excited by the project and I don’t feel that excited by anything I have implemented so far.

In the morning, we had a quick sync up on what’s our progress with the team lead. I also saw that I still got a whole bunch of JIRA tasks I need to clear yet I don’t feel like working on them.

At around 3pm or so, I got so tired that I just feel like lying down and sleep. But since it’s not conducive to sleep there, I fight off that urge and use my phone instead. Social media prove helpful.

Later in the afternoon, like around 4pm, I went and guide my colleague on how to work with the server-side code. According to her, she has never touched backend stuff including entity frameworks since 7 years ago. By about 5 pm, she confident enough and ready to continue from there.

I spent the next hour or so discussing with my other colleague about how to implement asynchronous processing for one of the use case. After much discussion, we went from a highly complex solution to something really simple. It turns out we don’t need to do something that complex like task scheduling or management. All that is needed is the use of a thread pool or a timer, a few conditional statements and a few loops with database backing. We could achieve asynchronous processing without blocking user interaction.

That felt kind of good.

So, earlier I was saying that I felt uninspired at work and only want to do the bare minimum. Well, there is only one person to look at when it comes to such situation. That person is me. I will have to re-evaluate what I’m looking for again and what I should be doing next.

So let me break it down…

First, I need the money to pay off the credit card bill I incurred buying the iPhone X.

Second, I need the money to go for further studies. It could be anything. Short courses. Online courses. Anything that expand my knowledge further.

Third, I need to take a quick break and focus on my hobbies to counteract that feeling I’m having now.

Fourth, I need the money to build my freedom fund.

Let me start with money…

Therefore, for as long as I do my job not to shabbily, and don’t break any rules, I should be fine. I will just look forward to my paycheck every month. Check.

Have a break…

Well, I decided to go for a long weekend break during the Chinese New Year period. I applied for a day of paid leave the following Monday, which is the 19th. I will use that day to actually take a good break and focus on other stuff.

I will probably go on another break in March and then on a three-day or two-day course in April. I am thinking of User Experience Design or Creative Writing.


Journal #249 – Work was both good and bad, learnt something new

When I went office this morning, I was feeling tired and irritable. That’s even after I started coffee and waited for the caffeine to kick in. So that was definitely not caffeine-deprivation.

So I went through my morning feeling pretty angsty and went about doing my task. I did try my best to control my emotions from going out of control.

In hindsight, I suspect it was actually depression masquerading as irritation as described in this article.

At around lunch time, I decided to go for lunch at Ichiban Sushi for some sashimi. After lunch, I continue about converting the existing implementations to use the new web service and fixing any regressions. However, the server backend keep dying caused by overused threads in the application pool, so it wasn’t really productive.

My colleagues did later find out what was causing the IIS threads to be overused and stuck, preventing the server from responding to further requests. It was due to a problem with the way Linq was used to query the database. We didn’t know about deferred and eager execution, at least in the context of database and entity framework. Eager execution only happens under certain scenarios like when you execute “.ToList()”. While deferred execution seems to be the default operation.

So that is one new thing that I learn about at work today.

The second new thing that I learn about was how SoapUI behave when attempting to download WSDL files that has its XMLNS defined and the system running SoapUI do not have any access to the internet. It turns out SoapUI will throw UnknownHostException. One possible solution was to download the WSDl file.


Journal #233 – November is coming to an end

In a few days time, November will be over and we will be looking at December. Damn. That’s fast. It also means that I’m approaching three months anniversary at my new workplace.

I don’t know whether to feel excited or sad.

But what I do know is that those three months, I did learn some new stuff like a new programming language and software stack, working in a bigger team (compared to what I had in the past), and maybe I found my pacing. But I don’t know how long can that pacing go. My only concern now is becoming too comfortable.

Come to think about it, it may be a good thing. I decided that this job is my last software development related job. So that means there is really no need for me to push excessively hard until I neglect the things that I really want to do.

Continuing on the topic of work, I suppose I felt like I did good today.


I spent less than an hour implementing a series of minor enhancements that will improve the user’s search experience. I also went about fixing some bugs found during yesterday’s deployment.

Towards the end of the day, I actually went about changing the alert boxes and confirmation dialogs from the default Windows API version to the ones provided by the custom UI framework, Telerik UI, that we are using.

I went and show my team leader the alert box and he liked it. He also suggested something which I have already considered and that was implementing the alert boxes and dialogs as a form of utility so that everyone can use it.

So I did that and changed the implementation in various sections of the application. Other than that, I also went about using the #region and #endregion to format my codes for ease of reading and maintenance. Without those markings, I couldn’t find the codes that I want to change without relying extensively on the Find function.

With the codes changes, I checked them into the company’s Team Foundation Server, packed up and leave the office.

So far so good I think.

Now let me talk about something else. Since it is Black Friday weekend here and soon for people living on the other side of the planet, I suppose what I want to talk about is relevant. It got to do with minimalism.

Singapore doesn’t celebrate Thanksgiving but Black Friday is a thing here. I see the banners and posters everywhere. It has become a day where companies and businesses are trying to encourage people to buy stuff by putting almost everything on sales. Whether they need those stuff or not, I don’t know. For me, it doesn’t do anything. I don’t give a shit about things being on sales or discounts.

Don’t recall ever have. I think my friends can attest to that.

Oh, Please don’t interpret as I don’t buy stuff. I do consume stuff. I’m someone who loves buying gadgets and electronics but it’s that I have never found myself particularly drawn to Black Friday or Great Singapore Sales or any major days that encourage people to buy more stuff. With me being a minimalist now, it’s even more clear cut. I am now very intentional about the gadgets and electronics I buy. That means, it must at least be several times more energy efficient, several more times more powerful, support all my use cases (current and future), convenient to use, and of the highest quality.

So for me, I don’t do heavily discounted items either because they are several years old or no one wants them anymore.

But I also know that such discounts is important. It affects other people’s ability to get an item that they want or need. Not everybody is that well-off or is earning more than they need. For that, I am very grateful I have a decent job which made me much better off financially. I’m also grateful for the fact I was given that opportunity to even have a decent job with a decent education.

One last thing, I think I may have gotten tinnitus caused by a sneeze that I had yesterday. I keep hearing a whining sound in my right ear. If it doesn’t go away by tomorrow, I will see the doctor. I just hope I didn’t destroy my right middle ear.


Journal #219 – Feeling better today

I tried to sleep earlier last night and I woke up feeling slightly better. I went to work following my usual routine and I made a choice to get a venti-sized Americano.

In hindsight, that coffee definitely helped to make me feel better. I suppose it was because of my body’s dependency on it and I was suffering somehow from insufficient amounts. I’m just not sure if that’s a good thing at all.

With me feeling better, I was able to be slightly more productive. So with that, I focus on testing some of the important stuff like NTLM/Kerberos authentication again for computers not joined to the domain. Managed to confirm that NTLM authentication works. Well you see, yesterday we had an issue where our application couldn’t be logged on from a computer not joined to the domain.

I also went about fixing some bugs that I found. And I also encountered an issue where the application couldn’t be started after being compiled. Turns out there was an issue with the asynchronous operations. Certain data were not loaded from the server.

My colleague and I had a discussion about that because some of the asynchronous operation was done by her. We went back and forth until we found a decent solution.

Then our conversation somehow became about multi-tasking. I simply told her that I’m not someone who does multi-tasking anymore because it prevents me from delivering quality work. It also overwhelms me rather easily and I hated that feeling. In a way, it also cause me to suffer from insomnia. I know I could train myself to handle it better but at the end of it, it is still a trade off. Since I value quality more than productivity, I rather be hyper-focus in what I was doing instead of switching context. It’s up to my colleagues to be understanding about that and let me do my work while they do theirs.

Later in the afternoon, my colleagues and I went and discuss about the testing process and the internal testing document that we will use. Our manager actually did called up our team leader and talk about the importance of the testing and the document to prove that we did test. We spent some time to prepare the document template and when it is ready, we packed up and went home.

Well, it’s Friday. No need to stay any longer than we have to. My colleagues’ priorities are their family. Mine is my mental health and my writing.

For me, once I reached home I went for a shower and got down to watch some tv shows like Supernatural, Seal Team and Arrow. Now that I’m done with all the shows for tonight, I suppose I shall do something else.

That’s all for now.


Journal #198 – Oh yeah, task Done

Today is a good day.

I was able to fulfill my goal of finishing the user interface of authentication and authorization module. Now users will be able to manage identities, roles, access to external systems, and what activities they can perform.

I enjoy building authentication and authorization modules. Partially, it’s because it’s related to my core value of security and stability. Authentication and authorization module represents that value since it determines what users can use in a system or how they can access it.

Other than that, I didn’t do much at work.

On the personal front, I decided to go partially vegan when it comes to food today. It’s part of my intention to align my short-term action with my values of being ecologically friendly.

For breakfast, I ate mostly oats, bread, and egg. And yes, I still eat eggs.

My lunch is also vegan, where I had brown rice, stir-fried French beans, Taiwanese fried beancurd, and sweet-sauced Soya nuggets. I also ordered a green tea with chia seed for my drink.

Knowing that I will get hungry after lunch, I ordered a strawberry kiwi salad from the place where I had my lunch.

It looked colorful and tasted pretty good. But I wasn’t ready to enjoy the salad with vinaigrette sauce or the raisins that were there. But I finished it either way.

At home, well, I end up eating salmon fish (yes, I take fish), with stir-fried mixed vegetables.

And I’m feeling hungry now. I shall go look for some fruity snacks to eat.

That’s all for today.


Journal #197 – Irritable Morning But Productive Day

I woke up actually feeling fine and went to work feeling fine. However, after I sat down at my desk and wanted to start working on my task for the day, I began to feel irritated for no reason.

It got progressively worse.

Best part is that I didn’t really know why but I could venture a guess. I was and still am working on a part of the Authentication and Authorization module that require me to figure out how render the tree view with the right kind of information and how to pass click events around. I guess my irritation was caused by a combination of anxiety and the general feeling of impediment.

And why I feel those feelings?

Well, it’s because I had a hard time understanding what’s going wrong with the existing code written by my colleagues to render the tree view. I had copied and paste the code over and modified it to suit my needs. When I code, I like it to be smooth sailing. With a so-called deadline that I promise to fulfill reaching soon, my anxiety kind of kick in.

Yes, I have been trying to ignore deadlines, focus myself on the tasks, and take things slowly. My approach to work is now like that. It’s intentional because I am now asking the question, “why rush?” It’s not a life or death situation. No one is going to die if I fail to meet the deadline. It is also part of my desire to live an un-busy life. However, it takes lots of practice to make it a habit. By default, my mind loves to panic when it senses an external threat to its general well-being.

My irritability finally toned down a lot by around 11am. I had actually forced myself to listen to two buddhist mantras on a loop, simply stop doing any work, force myself to breathe, and blank out my mind.

For lunch, I actually decided to go out for a vegetarian meal and not join my colleagues. These past few weeks, admittedly I actually started to feel home-sick despite living in my own home country. At work, I’m surrounded by mainland Chinese, whom I felt still hadn’t properly integrated with Singapore culture. I felt like an alien in my own home country. So having lunch by myself actually help me feel better.

After that, I went back office feeling better and was able to get something working. I also figured out some stuff about the tree view. By late afternoon, I was already writing my own version of the view models, creating my own version of the post-processing codes to convert raw data into the new view models. I think I can finish it by tomorrow if all go smoothly.

I went home slightly after 6pm, after backing up the whole project into the shared drive. Once home, I focused on watching shows and having dinner.

One last thing. I actually decided to make some changes to my diet. I decided to transit into partial veganism by reducing the amount of red meat I eat. I will still eat eggs, and fish but will definitely cut down on red meat. It turns out that my mood is also highly affected by what I eat. Eating excessive red meat or processed meat tend to make me feel especially nasty and irritable one or two days later.

Transiting into partial veganism is also related to me being a minimalist and have a core value of ecologically friendly. I just find that if I don’t even take any action, it felt hypocritical.

Well, that’s all for my day.


Journal #196 – Chilling on Diwali with some work and movie

Today is Diwali, is a festival celebrated by Hindus, Skikhs, Jains and Newar Buddhists, and also a public holiday in Singapore.

I woke up quite early today, specifically set my alarm clock to go off at 7.30 am, because I was meeting my friend at Jurong Point for a movie called Chasing the Dragon, starring Andy Lau and Donnie Yen. I reached the mall at around 9.35am to have my breakfast of Subway there and then proceed to buy the tickets for the 10.45am show at around 10.10am.

Then I just waited for my friend to arrive. We waited for the next half an hour before entering the theater hall. Once in there, we spent the next 2 hours in it.

After that, we went to the Legendary Hong Kong restaurant in the mall to have our lunch.

My friend ordered the egg tarts and custard buns. He ate all the buns and two of the egg tarts while I took the last piece.

I also ordered the steamed shrimp dumplings. Today’s dumplings were poorly prepared as the skin of the dumpling was like sticking to the surfaces.

For my main meal, I ordered egg fried rice with diced luncheon meat. For those unfamiliar, it’s also known as Spam meat.

After that, I paid for the meal first before my friend paid me his share of the meal and for the movie. Then we went our separate way.

I chose to walk home from the mall, and enjoy the blazing afternoon sun. I deliberately chose to walk slowly home, listening to Doom (2016) soundtrack by Mick Gordon on Spotify.

On the way home, I stopped by Watsons near my apartment block, and bought some toiletries and fish oil supplements. While I was in the store, the salesperson/cashier kept asking me to sign up for their membership, buy some of the items on sales, etc. I rolled my eyes in my mind and kept saying, “No thank you.”

Come on, I’m a minimalist, I only buy what I need to buy and that’s it.

After that, I went home, settled down, switched on my MacBook, rented Transformers: The Last Knight on iTunes and spent the next two hours plus watching it.

I won’t say the movie is that particularly good or bad. It’s just a movie that I don’t think spending $10 to watch it in the cinemas is a good option. I rented the movie for half the price at $5.

After that, I did some light programming work for my client, fixing several, really tiny bugs. Sent an email to my client to clarify some stuff and that was it.

Throughout the night, I just went about doing minor stuff. I went to collect my washed clothes and put them in my wardrobe, prepared my science news round up, browse the web, updated my iPad Pro to iOS 11.0.3, had dinner, and writing this journal.

I also had to deal with the ding made by my neighbor kids downstairs with all the popping stuff. Well, they are Hindu and today is Diwali. All expected but doesn’t mean I like the noise.

I think I probably will just spend the rest of the day consuming more content because today it’s simply a lazy day.

And I’m content.


Journal #189 – Rush To Meet Deadline, Violating Core Values in Process

I’m pretty sure everyone in their professional life has been called upon or required to rush, grind, and push oneself to meet deadlines set by either the customer, client or even internal management team. Personally, I’m just not sure if it is even necessary. What I do know is it leads one to suffer from health problems when done wrongly. I have always done it wrongly and never once have I done it correctly. I will explain more later.

So what’s the end result when I rush? I neglect the balance that my body and mind need everyday. I had to pump my body full of caffeine just so that I can power it through.

That’s what I did today. I took four shots of expressos in the form of Americano. Then followed by two bags of Earl Grey Tea soaked in 400ml of hot water, refilled twice. My body actually felt so jittery after that, and everything looks suddenly so bright.

This is what I call violation of my health value just so that I can meet the unreasonable deadline set by my management. Hmmm… in hindsight, the deadline was actually set by the client. But the management team decided to make the call of waiting for me to join the company a month after I served my notice instead of getting someone else earlier, thereby reducing the amount of time I have to develop.

Now, before you ask why I did what I did, I will tell you. I actually took into account my mental energy levels (which is quite low even after all these years of working) before pumping myself so full of caffeine. It is in part because of my extreme unwillingness to give someone something that I don’t feel satisfied with.

With that much caffeine, now I don’t even know if I can sleep tonight. I suspect I will suffer from a massive sleep debt again. Right now, I do have a headache. My short term action definitely don’t align with my values.

So I’m not happy.

Other than the bad, what else? Well, nothing that is truly meaningful or valuable to me, except maybe a simple thanks. Maybe after this whole ordeal, I can look back and see some upside but definitely not at this moment. What I do know is that the company will get better standing with the customer. My manager gets a fatter bonus. My bosses will be happy.

There is one other thing.

There was an internal demo which included a quick meeting. It turns out we don’t have two more weeks of buffer anymore. We are expected to deliver a fully functioning application with bells and whistles by October 19, latest October 25. That is including the documents for the QA and testers. From where I’m standing, I see that our application is only 70% done. I estimate the authorization and authentication module definitely is only 45% done. Looks like I only have 4 days to finish it all and proceed to do internal integration testing.

I know most people will just say focus on delivering the core requirements… but I can’t. I am not satisfy just delivering the core because it violate my other core value of quality (more like perfection from my view).


I guess I’m gonna make a choice, deciding which violation of my core values that I’m willing to live with. And I think it’s a simple choice. I will ignore quality and focus on my health. Health is something that I cannot rebuild back. Most people have this thinking that you could nourish your health back but they fail to take into account you age with each passing day. Your body’s repair mechanism ages too. You can never get back your original health or vitality.

One last thing.

I’m gonna try and wind down my caffeine intake starting tomorrow so that I can sleep better at night. Not gonna sacrifice my own health so much just to deliver something for someone who don’t have the power or ability to repair my damaged body. Only I can by making the right choices.

I know some professionals may not agree or may find that I’m irresponsible by not focusing on quality. My response would be, you do you, I do me. If you have the drive, health is not one of your core value, and likes your standing amongst your colleagues or friends to be high up on the pedestal, go ahead and do what you want to achieve. For me, all I know is that I will be irresponsible to myself and my family if my physical and mental health takes such a massive toll and require my family to take care of me. If you have read through my journals, you would have known that I went through a period of depression, went on a career break, and re-evaluated what I want in life.

I have definitely slipped in terms of the alignment of my actions, goals, and values.