Daily Log #11

I went with ordering green tea instead of coffee from Starbucks today and it turned out to be a better option. My stomach stop being an asshole and I didn’t really feel any major rumbling until it was lunch.

For lunch, the intern and I actually planned to eat at Seasonal Salad Bar but when we got there, the shop was closed. It felt kind of disappointing because I wanted to eat the main course. So end up we went with eating at Ichiban Sushi but it was a bad call. The service is so slow that we only got our first order of salmon sashimi 10 minutes later. My own meal came more than thirty minutes later. By then, the intern was almost done with his meal.

After that, we actually went to get some fruits but everyday it’s like we are gambling. The reason being the fruits we got everyday have inconsistent quality. On some days, the fruits taste sweet while on some other days, all the fruits we got didn’t have any noticeable taste. Sometimes, it’s a mixture. For me, I got a slice of watermelon and pear. Both of them turned out to taste like they haven’t ripe fully and not sweet at all.

For work itself, software testing continued as usual today. It is during this testing that we found more bugs and issues to fix. I took a systemic approach to fixing the bugs, starting with the easiest to do to the hardest.

However, Visual Studio 2017 was being nasty to me today. I had to restart the development machine once to even get things churning along but barely. During debugging, it was so slow that stepping through each line of code took five seconds. It even crashed once. Even the application itself also wasn’t responsive to some of my interaction because of the high cpu usage by the development studio.

The other thing I came across was the limitation of using base64 representation of image files. My colleague and I went with converting images to base64 strings because it was the easiest way instead of working with multi-part content. What we needed was speed in development so that we can reach this testing stage early. Today we got to see the sheer size of the base64 content when working with image files bigger than 2MB and IIS was spewing out 404 errors while the client application was trying to send the data over. Thus we had to make a last minute decision of restricting the maximum size of an image to 1.5MB. Of course, we will need to look at this deeper and then come with a better solution. For now, we will leave it at that because the testing has to go on.

During that testing, I found myself feeling kind of frustrated and I couldn’t really narrow down the reasons why. It could be because I’m bored with my work, wanted to do something else instead of testing, or it could be because of my ongoing unhappiness with the whole thing. That feeling did go away as it got closer to the end of workday.

Once home, I spent most of the night watching Dragons: Race to the Edge season 2.

I’m having trouble to get my gears moving again to finish that novelette I started last month. It’s already a full month since I last wrote anything. I should just stop looking for excuses and just get on with it, forcing myself to write it to conclusion.


Daily Log #9

I got myself a Latte with three shots of expresso from Starbucks just so I can survive through the morning. After drinking a few sips of that latte, I waited until the caffeine kicks in. Once that happen, the headache went away and I was able to focus.

I spent my morning trying to figure out how to get the scrollbar for the tabs to appear using the Telerik library. I felt like I was an untrained monkey pounding away at the keyboard, having no idea what I was doing.

Then my team lead called for a meeting with the subcontractor, which was a company from China. While in the meeting, my team lead led the conversation sharing about the issues discovered during the testing of the application in the customer’s environment. XX was the second most involved in the meeting because she’s working on the server side of things which directly interface with the module that the subcontractor is responsible for. Another colleague and I were just sitting there listening. I also took the chance to record a voice memo on my phone so that I could review it later if I need to.

I went back pounding away at the keyboard after the meeting to try again until it was almost lunch. It’s just disappointing that I didn’t get anywhere.

After my lunch, I went to get some fruits for myself and actually asked if my team lead wants fruits too. Yet the best part is I forgot about it when I was at the store ordering my share of the fruits. My lack of sleep is really ruining my memory. Haha.

By late afternoon, I figured out what was happening with the codes and managed to solve the issue. It was caused by the incorrect serialization and deserialization of the application layout. There were missing XML attributes that control the tabs’ scroll viewer component. After I put in some codes to ensure the custom attributes is included in the serialization/deserialization process, the scrollbar for the tabs worked as intended even after the application quits and is relaunched. Yay me. At the same time, I also went about testing out the image upload and feature extraction functionality. It was working half the time and is pending the subcontractor to fix the problems found.

So my conclusion is despite my lack of sleep, I still manage to get some stuff done. I’m just so happy.

Today I also came to a conclusion that my parents are quite toxic when it comes to behaviors and what they say to us. It is not an easy conclusion to come to but once you have been exposed to sufficient “self-help” materials you start to see the patterns. There is three common things that I noticed from my family: threats, complains, and playing the victim card.

I’m also guilty of such behaviors as I am not perfect. I grew up in such a environment that it also affect how I treat the world. So what I can do is to be conscious of my emotions and actions so that I can arrest any attempts to engage in such things. I for one wants to live a better life and be better than who I was before. Threatening other people psychologically, complaining, and playing the victim card doesn’t get you anywhere. What one could be doing is to identify the problem and find a solution as I described in my article.

But of course in an asian family context, the young ones don’t really get to tell your elders stuff. It’s disrespectful and can create huge amount of tension at home which is something I want to avoid at all cost. Less stress equals better life. So instead the best one could do to maintain a certain harmony at home is to ignore those toxic behaviors and focus on surrounding yourself with the right people outside of home. If necessary minimize the interactions you have. Another thing that one could attempt is to inject the importance of taking actions for your own life and stop complaining whenever you are conversing with your parents. Well, that’s what I am trying to do anyway.

One last thing.

My client contacted me about another bug found in the application. I went about fixing it yesterday at night at home. Not ideal but since my client won’t be doing any deployment after March, it’s best to release any fix now. It turns out it was something that I accidentally introduced when I was refactoring and cleaning up the codes. The “else” portion of the code was missing which prevented certain actions from being taken in certain scenarios. But because I couldn’t remember what I removed, I had to go back to the older version of the code and study that.

Journal #328

The key highlight of my morning was me smacking my Apple Watch against the bottom side of the table when I was lifting my arm up.

The Ion-X glass proved to be useless against that kind of impact. When I looked at the watch, I saw a tiny nick at the top. But it didn’t really matter anymore because the watch itself has already been taking quite a fair bit of abuse. The anodized aluminum body of the watch has tiny holes, white stripes all over, and a dent near the screen because I dropped it on the floor previously.

The funny thing is I like the watch better now because it has shown its age. The wear and tear is unique and it’s due to my clumsiness. So I guess you can see it as me personalizing the device.

But I have also decided that I will get the ceramic version of the Apple Watch next. I went to read up on the ceramic used by Apple and it turns out it’s one of the tougher ones around. That means it could go on longer without scratches and dents though people mentioned if you drop it on a hard enough surface it will shatter. And yes, the ceramic version of Apple Watch cost as much as an iPhone X. To me, I don’t just need a smart watch. I need one that is durable and can withstand abuses. Ceramic Apple Watch is the best smart watch there is.

The other highlight was I messaged a friend on Facebook to catch up. We conversed for nearly 3 hours on life and work. Personally, I thought it was a good chat.

After lunch, I actually went and talk to the intern. During that talk, there was this agreement where after spending eight and a half hour at work, it’s just quite darn difficult to go back home and do other stuff. Most of the time, it’s all about chilling and spending time to watch tv shows or movies. Then I also mentioned that I hadn’t been reading fiction books. Turns out both of us could seriously just read a book and do nothing else. The intern told me he once read a book until 6am in the morning. With those kind of dedication, it’s very easy for either one of us to finish a 1,000 page book in two days.

I seriously miss those kind of days. And this is why I’m forcing myself to stay on at my current job to collect the money. Build a big enough freedom fund and then I can start doing the things I truly love.

After that talk, I went ahead to start working on implementing the retrieval and display of search results. For this, I had to work with both the backend and frontend codes. For a start I focus on the frontend code. Previously I did lay some foundational codes as part of the prototyping process. So what I did this time was to extend those codes. After that I went to work on the backend, creating a bunch of classes for the purpose of serialization and deserialization.

But seriously, I don’t enjoy myself when I’m writing codes. Not anymore. I find it to be a chore, almost on the verge of it being torture. I just gonna power it through…


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 #308

I have made some small changes to my life as of late. I also have an achievement at work that I’m pretty happy about.

Of course, there will be some unhappy stuff but hey, that’s life.

And it’s gonna be a long post, I guess.

Lifestyle Changes

For a start, I have been doing weight training. I have not done that since 2015 because I got lazy. I also increased my pushup reps. As of now, I have accumulate 55 pushups in a day. My goal is to hit 100 per day. I also just started doing planks for up to 40 seconds.

All that exercise was in part to stave the weight gains that I have as a result of spending too much time sitting down at work and even at home. Muscles for a start consume more calories at rest.

Although I do climb the stairs up to my office on the fourth floor when I go to work and come back from lunch, it isn’t enough as I’ve noticed my waist, butt and thighs getting bigger from fats. I could no longer fit properly into my pants and shirts that I recently bought.

I also acknowledge that despite my desire to be slim like an ectomorph it just won’t happen. My genes just won’t allow it. Instead I have a mesomorph-endomorphic body. So in that case, why should I continue to aim for something impossible and instead focus my energy on toning my body, taking advantage of what I got?

The other change that I made was I started wearing my Apple Watch even at home. I only put it on charge when I go for a shower or sleep.

Previously, I took it off once I came back from work because it just didn’t make sense to be wearing a watch at home. I got clocks around the house. Lately, I just find that it’s a waste to have it just sitting on its charger. The activity rings aren’t closing too. After all, I do move around quite a fair bit at home.

With that, I have increased my move calories settings from 400 to 450. As of now, I have already moved 520 calories. So far so good.

I wrote and published an article here and here about what happened when I did abruptly stop caffeine intake. Yet there is no denying the fact coffee is actually a healthy beverage but only so when consumed in moderation. So I introduced coffee back into my life but in small amounts as part of other beverage. E.g. mocha

Now mocha isn’t healthy because of its high fat and sugar content. But the funny thing is I stop feeling hungry that easily. Previously, I always ordered 3 shots, sometimes 4 shots, Americano from Starbucks just before I go to work. But drinking that put too much caffeine into my body that caused my gut to process food too fast (quite literally dumping) and not absorbing nutrients. It was making me eat more. That was also the reason for my weight gain.

By switching my drinks to Mocha or even Dark Mocha (simply more chocolate), I put less caffeine in my body and the fat and sugar I’m taking is actually making me go longer before I need to eat again. And I do love chocolate and milk anyway. So it’s a win for me.

That’s all for my life changes.

Work achievements and changes

Today I managed to implement several HTTP utilities to help with making RESTful calls, serializing and deserializing data. Alongside that, I also implemented one of the use case and added logic to handle half of another use case, if that makes any sense.

Right now, my work requires me to detect user mouse events on the thick client and do image processing given those events. I was able to implement some basic programmatically generated lines and boxes given some data using Windows GDI. I’m pretty happy with the progress I’ve made despite it being trivial in grand scheme of things.

Working with computer graphics also brought back some nostalgia from my school days when I was studying computer graphics as part of game development course. To have to deal with pixels, vectors, bounding boxes, and trigonometry is fun although admittedly I’m very weak at maths. In my previous jobs at other companies, I don’t get a chance to do any of that because it’s just not part of their business.

I have also pulled myself away from software and code design. I simply put codes anywhere I see fit. It’s now back to basics, back to the times when I write codes that simply works. I focus now only on the output. There’s no more pattern to why I put my codes.

I also let my colleague write whole backend and I don’t even go there now. The code style, packaging style, naming and whatnots are now all hers and I no longer have any input because I don’t feel like there is a point.

Notice I use feel and not think. I’m a feeler, not a truly rational person, and I’m not ashamed. That’s me being fully self-aware.

And why do I feel there is no point?

First, management don’t care if it’s well designed or not if the core functionality is not out. Design takes time and money. That’s something they don’t have. At least that’s the sentiments I’m getting.

Two, it’s a brand new project and there are no business analysts to tell us what the customer want or need. The requirements will keep changing. It just doesn’t make sense to waste time on beautifying the codes.

Three, the deadline is super tight. There’s no time to waste on it.

Four, my colleagues don’t see any difference between my style of coding and theirs. They focus on the short-term end results, which are functionality and finishing their tasks. Me? I care about long-term more. And that means maintainability, meaning, and readability of the code. But majority wins.

Last but not least, and I will sound very selfish and short-sighted, my contract is only for two years and I don’t feel vested in the company.

Most people look for jobs to pay the bills. As long as the job pay high, they do the job. As for me, I do care about the money and the money is decent. But I am also looking for an overarching meaning in the work I do, or at least be inspired to do more.

However, I see a company full of zombies who are pretty much dead on the inside. The feel of the company is also “meh”. I don’t feel inspired at all. In fact, I’m drained the moment I stepped into office. I’m a feeler and if my energy is already all drained the moment I stepped in, how do you expect me to feel vested?

Ok, that’s all for today. Until my next journal entry….I’m feeling hungry now…


Journal #300

It’s important to keep things fresh or at least try something new so you don’t get too comfortable. At journal 300, that’s what I will try to do by weaving quotes I found online into the personal story I want to tell. I don’t know how well it will turn out but I suppose we will find out.

Right now, I’m feeling pretty disenchanted because my idealistic psyche is being punch left, right, center and back. It’s been ongoing for the last few days and I haven’t gotten around to do much introspection and grow from there.

At the same time, the following quote speaks to me so much:

“To all the other dreamers out there, don’t ever stop or let the world’s negativity disenchant you or your spirit. If you surround yourself with love and the right people, anything is possible.” — Adam Green

It takes a lot of effort just to be yourself, and the journey is even more arduous for someone like me who is so sensitive and tend to stay up in the clouds, seeing the world through rose-tinted glasses.

I suppose part of maturation is about mastering the art of balancing between idealism and realism.

Last week, I came up with a set of database table names for the upcoming module. Today, one of my colleague told me that she has done up the database tables in the development environment and asked me to take a look. I took a look and didn’t quite like what I saw. So I presented the table names to my colleagues via email.

At 10 am, there was a meeting to discuss further on design of the new module. It was during that meeting where I saw the design I had being torn apart because it wasn’t simple enough. There were only two tables that remained unscathed and the overall design end up looking exactly like what my colleague had done.

In this case, this following quote speaks for the situation:

“The fewer moving parts, the better.” “Exactly. No truer words were ever spoken in the context of engineering.” — Christian Cantrell

I really need to keep this in mind. I always have this tendency to overcomplicate things because I try to balance meaning of the overall design and structure, current, and future use cases. Expressions and meanings are important to me. My colleagues on the other hand wanted to reduce the number of database joins needed so that they can focus on ease of development and performance. Nothing wrong with that because the dataset could potentially get very big.

But it doesn’t make one feel any better since you are watching your work dismantled and the meaning you want to express removed. Still, it is important to let the feeling go because it’s a done deal. The majority won and you couldn’t justify anymore even though in your gut you know something will go wrong somewhere.

We continued to discuss further on the API document. Problems were identified and noted. At around 12.30pm, we went for lunch. By now, I’m already starving. On the way out of my company, I suggested to eat at JEM’s food court because the weather was pretty hot.

After lunch, we went to get some fruits and went back to office.

Once I was done with the fruits, I went over to my colleague’s desk to discuss further on the database table. It wasn’t so much about trying to convince her of whatever design or approach but rather to finalize the details. I have since given up trying to convince anyone. It is nobody’s fault but my own because I couldn’t articulate properly. With the details trashed out, I went ahead to add in one more table.

Earlier during the meeting, we also discussed about needing to query for user data while performing other updates or certain operation.

The conclusion was that my colleagues continue to hate the fact that I separated the identity access module from the core into its own database context. And the solution was to publish a copy of user data to a duplicated table in the core database context whenever there is a change or a new user created.

That solution was the best amongst the other choices until we can devote the time to merge everything back into the same database context. That means I probably will need to create some kind of auto-mapper to map between domain model and database model or I will strip out the domain logic into their respective service class, creating anemic models.

Personally, I fell in love with domain model and domain-driven design because it’s expressive in the most intuitive way. At least that’s how I see it. I have no other justification. Martin Fowler does a way better job articulating why anemic domain model is bad in some situation.

Going back to publishing a copy of user data, previously I have already created a basic publisher-subscriber set of classes. So I went ahead to expand on it to support publishing of user changes in the form of domain events. I was done with the bulk of codes in mere minutes.

The next quote is so suitable:

“… with proper design, the features come cheaply. This approach is arduous, but continues to succeed.” — Dennis Ritchie

I have already designed my codes to support publishing of event with subscribers to do what is necessary that whatever I do next is cheap. I don’t need too spend too much time figuring out what to do next.

After I was done with my part of the code, I went onto job street and search for jobs because I was still feeling disenchanted. Thus far, I have always focus on looking for writing jobs but hadn’t found one that I will be interested in or willing to try.

Then the next part of my day, well, in hindsight, I was being stupid and wasting time. I kept complaining about the use of database-first approach. I really need to let it go and stop caring. It’s a done deal.

With that, I actually went about crafting out the new APIs for the next module in accordance to what my colleague wrote in the API document. I couldn’t be bother anymore to tweak the thing any more because it doesn’t achieve anything.

At around 6pm, I decided to call it a day and went home. By now, I was already starving. I made my way to Starbucks and claim a free drink that I got from filling up a survey. I got myself a tall-sized Java chip drink. At least with its milk and sugar content, it helped to stave off the hunger until about 8.30pm.

During the time between me reaching home, had a shower and having dinner, I watched Star Trek Discovery.

With that, I will end today with the following quote:

“If you don’t think your anxiety, depression, sadness and stress impact your physical health, think again. All of these emotions trigger chemical reactions in your body, which can lead to inflammation and a weakened immune system. Learn how to cope, sweet friend. There will always be dark days.” — Kris Carr


Journal #294

Life is all about choices and achieving balance. However, balance if done incorrectly leads to mediocrity. To output disproportionate value, you need first imbalance and then balance once you raise your standards.

What happened

First quarter of my work day saw me going for a long and boring briefing on enterprise risk management.

After that, at around 11am, I went back to my desk and ate the sandwich I got earlier. By then, I was already starving and my stomach was growling. Then my team lead called me over to do a status update. We closed several of the issues and created a new one for one of the task. Then, we also reviewed what to do next.

It was lunch time and I joined up with my colleagues for that. We ate at a nearby coffee shop. That meal turned out to be a disgusting one again. I always hated coffee shops because of poor hygiene. I found human hair in the rice. Then fallen leaves end up on the food because of the wind. One of those leaves also end up in my drinks. Finally, I got some kind of bug landing on the plate. Regardless, I still finish the food and hoping that I don’t get sick from all those stuff.

After lunch, I went to get some fruits for my colleagues and me. I got myself a slice of watermelon, pineapple, and papaya. Best part about eating those fruits is that it didn’t last me until dinner time. My stomach was already growling at around 4.30pm. Luckily, I had a snack bar in my bag and consumed that, hoping it will last me until I get home. Turned out, I went to order an ice-blended Adzuki red bean with soy drink.

No wonder I’m growing fatter.

Going back to the situation at work, practicality and tight timeline also ensured that the ideal approach to developing the next module cannot be done. We don’t have any business analyst to help us extract the use cases from the customer and the project is new with no prior user.

So microservice architecture is given up in favor of a monolithic structure because it will allow us to iterate faster. I gave up on the code structuring and packing style I so preferred because it has a higher impedance. It’s more suitable if the developers are also business analysts and know how to break their codes accordingly or at least according to domain driven design. The domain is something we don’t have nor do we have domain expert. Therefore, I suggested we reuse the same code structure and packaging style from what was done previously by my colleague for the core module of the application.

The rest of the day saw me focusing on implementing a really tiny feature. When I started, I knew it in my gut that it will take me the rest of the day. So it did. Because of the way the code was written, it took me a while to switch my thinking back to the “anemic model with a heavy reliance on services/managers” way of doing things.

Personally, I hate this latter approach when developing applications to the very core of my being. It’s not expressive and counter-intuitive. But then again, it’s not up to me to decide. Never did. And if given a chance, I also don’t want to make that kind of decision anymore because the people I worked with don’t want to change due to inconvenience. In their minds, switching to a rich domain model has a high-impedance given our project’s impossible timeline and amount of tasks. I will just go with whatever they find is the best for them to do their work the fastest.

On the other hand, my employment with this company is on a contractual basis. I have no desire whatsoever to renew on contract completion and if given a chance. So other than doing things for myself and fulfilling my own desire for quality, at least for the part I’m responsible for, everything else I don’t care.

It took some discussion and work I managed to implement the quickest and most simple solution. Can it cover every possible scenarios? No. What I implemented can only cover the core scenario. As my colleague put it, “don’t care about those other scenarios because they are not supposed to happen.” So I will leave it at that.

At the end of the work day, my team lead told me that he won’t be in office tomorrow and asked me to setup the computer for the intern so that he can access the domain and the source codes. He wanted the intern to study the current client codebase.

With that, I left for home with my colleague.

How I feel

I’m someone who’s pretty idealistic and at the same time neurotic.

When my idealism shines through, I think it can get pretty inspiring. At least that’s what I like to think. But based on how I write my journal today, it’s pretty obvious that I have grown pretty apathetic towards work.

I mean I care so much about wanting to do things right and ideally because I am so aware of the potential pains that we will experience later. I’m always thinking of the long term effect. But realities of my work and life in general is making me miserable.

Of course, there are solutions. One is that I change myself to be more emotionally resilient by seeing and understanding situations. Two is to move away to something more inline with what I’m looking for and that is my desire to craft experiences for users of whatever I am building.

The following what I will end my blog with:

I don’t care and never care for career status or high wealth. Everything I do is driven by my core values, what I want the world to become, my legacy, my desire for expressing my own individuality, and high mobility.

I also don’t care much for deadlines. So when something is done, it’s done. When something is not done, it’s not done. Simple as that.


Journal #290

Third week of the 2018 is almost gone. It’s also the end of my first workweek for the year.

What happened

I spent half of my day at work talking out my feelings with one of my colleague. It definitely helped to reduce or minimize the turmoil I was feeling.

I also spent sometime working on implementing some of the backend functions to support two use cases.

After I was done with that, I turned my attention to testing some other functions my colleague worked on because it involved the identity access module. When I did that, I found multiple potential bugs with the domain. So I went ahead and added checks and some logic to ensure correctness of code.

Later in the day, my colleague and I further discussed on how to improve a piece of function that could have future performance issue. So we decided to go with the use of batching insertion and update.

I left the office with my colleague to further trash out our understanding of some of the access control. It turned out that my colleague have not been clear about the actual use cases.

Once home, I went about catching up on some television shows.

How I feel

I felt pretty upset and irritated in the morning, left over from yesterday. Slowly, as the day went by and talking things out, I felt better.

Now I’m pretty much better to normal.

How to grow

Throughout the day, it became clear that I have to find a middle ground when dealing with people who are more practical and people, who are like me, more about achieving ideal solutions and implementations.


Journal #289

It is impossible to change the people or culture around you. The only thing you can do is to change yourself or remove yourself from the situation.

What happened

I went to work as usual today and spent most of my time discussing with my colleagues on the approach to build the next module.

After much discussion, it turns out that module’s main purpose is to be a gateway, serving as a middleman between the client application and a backend engine that will be provided by our sub-contractor.

So with that, I felt that there is really no point in doing micro-services or trying to structure the codes according to the definition of bounded-context.

Later in the day, my colleague and I had a discussion about the current application. We realized that there were a series of mis-implementation with some of the functions. There are also some use-case implementation difficulty, which stemmed from the use of micro-service architecture.

So we discussed further on solutions and implemented those solutions.

After that, I actually commented this is the end result of us doing coding first without discussing and identifying the use cases, alternative flows and potential issues.

Code first instead of design-first always lead to quality issue. 
Because seriously, unless I’m completely wrong, majority of people 
don’t have the discipline.

This is something that I'm acutely aware of. In part, I want quality output. Thus, I have this strong desire that we should all follow 
with discipline in the application of some kind of proven 
methodologies or processes, be it waterfall or agile or whatever. 
Those methodologies or processes are there because people have 
already experienced issues and came up with those as solutions.

Then in the name of rushing deliverables and keeping everything 
within budget, we take shortcuts. After that, we didn't even bother 
to go back and try to fix the issues. The company is also 
contradicting themselves because the it put us through a series of 
courses, preaching the importance of process. Yet the people don't 
bother to enforce or practice. Well, they practice it only when it 
affects their audit scorecard or bottomline. 

That alone is actually very disgusting. Personally.

At the same time, I kind of decided that maybe micro-service is completely wrong in this project. My colleagues did protest against the use of micro-service because it split things up unnecessary and introduced unneeded complexity. I guess they are right.

So with that, I suggested that tomorrow I will talk to the team leader to merge everything back into a monolithic application. That way, everyone can just rely on tighter database integration to achieve whatever function they want. I mean that’s what my colleagues want also because it’s the fastest for them.

In part, I'm very tempted by my feelings that maybe don't even bother with structuring the codes for the new module we will need to work 
on next anymore.


Personally, I strongly believe in either doing it right or don't do 
it at all. And in order to do it right, you need to experiment the 
crap out of something and that need time and resource. Something that companies don't have abundant of.

The management and the customer don't give a ratass about how ugly 
the codebase is because it doesn't pay the bills. They only care 
about the delivery of functions on time because that is the only 
metric that matter. 

So I'm asking myself why even put myself in this painful position of fighting against the status quo of how things are done there, which 
is just throw in whatever works and ship.

Halfway through my work day, at around 3pm, the sole of one of my Nike AirMax decided to separate from the shoe’s body.

So I tried to look for some kind of superglue but nobody have it. I decided to use a stapler to staple the sole against the body to hold it for a while.

After work, I went to the Nike Factory Store near my workplace and spent quite a while looking for a pair of shoes that I like. I finally found one, asked one of the staff to get a size UK 9. Tried that and felt it was a little too tight. So I got UK 9.5 instead.

After getting my shoes, I went home, dispose of my current one and shoved the new shoes into the shoes cabinet. Had a shower and dinner.

How I feel

There’s just so much turmoil going on within me that I am having trouble focusing and making decisions, even those based on feelings.

For example, all of my purchase decisions are based on how I feel about a certain product. Today, that decision pathway is so badly blocked that I have a hard time processing. Thus, I spent longer than usual buying a pair of shoes. Making the situation worse is decision making based on rationality isn’t my strength. Therefore, now I am not even sure if I made any right decision. So… I don’t even know if I got the right pair of shoes.

How I can grow

I will need to develop my rational decision making process to be stronger and not rely on my feelings so much. Because, today is a great example of what happens when the feeling-decision making process is in trouble. I can barely get anything done.