Saturday, December 23, 2017

8/24


While watching Kobe jerseys retirement, the feelings are rushing through, insuppressible. To the point that I have to sit down quietly and write them all down here. I had watched him for my entire younger years. His retirement, his absence on the court, is a reminder to me that I am no longer that angsty teenager. And that just evokes so much emotions.

I once wrote about the Kobe and MJ comparison and I said that once Kobe announced his retirement, part of me would die. Part of me did die during his last game against the Jazz if you want to know the truth. When "Mamba out!", I stood up by instinct, and saluted him, as one of the all time greats, a remarkable human, a hero.

His absence on the court is felt. One year plus after his retirement, I am still not adapted to the fact that he is no longer a NBA player. Everyday I open up the NBA highlight reel, I still expect to see Kobe on the top 10 plays of the day. His distinct movement through the court, his skill set, and his iconic jump shot. I miss them all, a lot.

He is the embodiment of hard work to me. Just like his jersey numbers, he always take a step further than everyone, instead of working 24/7, he works 24/8. Talent means very little. Only perseverance matters. Everyone can be the GOAT if you work hard enough, want hard enough. Mamba spirit will forever stay with me as part of my inner power. With mamba spirit, I am no longer afraid of hardship. With mamba spirit, every hardship is an opportunity.
























Monday, September 18, 2017

Ctrl + Z incident


It was a typical afternoon. I was on the verge of completing my backlog, just needed a few more compilation checks before pushing my work up to the server and ready to be merged into the main branch. But just before the final check, the server hung. Then one of my colleagues came to me. "What the heck you did?! Kill some of your processes now, the server hangs because of you!" he said. Only then I realized all the processes I thought I'd killed were not killed but suspended instead. I "ctrl+z" instead of "ctrl+c" them, accidentally blocked all the resources on the servers, causing an embarrassing mistake.

My AZERTY keyboard
That was a few months ago. I have to admit that at that time, I had not used bash on daily basis for quite awhile, some shortcut keys were needed to be refreshed. I kinda forgot about the "ctrl+c". To kill a process, I only remembered the finger motion : ring finger on the ctrl key and index finger on one of the keys at the bottom row of the keyboard. That "ctrl+z" mistake, it was really my fault. But it was so embarrassing and like any human would, I want to blame other things and deny it entirely. Rather than admit the mistake, I blame it on the keyboard's layout. After years in France, I was so used to AZERTY keyboard. Only if it was an AZERTY keyboard, I would not have made that mistake because the 'z' key would have been on the top row instead of the bottom row as the 'c' key. The finger motion of "ctrl+z" would have been drastically different than "ctrl+c".

This could be a good idea for an episode of What The Fuck France because AZERTY layout is a very French thing. In a world where English is dominating so as the QWERTY layout, AZERTY still persists just like the French culture. Although QWERTY is very well documented, normally credited to Christopher Latham Sholes, the exact origin of AZERTY is obscure. Delphine Gardey even did an in-depth investigation on the history of keyboard layout in France but the origin of AZERTY remains unknown.

The thing about AZERTY is it doesn't even make sense. It doesn't make typing in French any easier and there exists a considerable number of French who express their distaste for it. French could have used a QWERTY layout with extra accent keys like the Swiss francophones and the Quebecois do. The only reason of its existence is the power of habit. But who the hell came up with this idea first. With my understanding of the French, I come up with a theory and it is simple: because the French doesn't like the English. There is no lacking of history and articles to prove that English and French are rivalries since like ever. So when QWERTY keyboard came into the typewriter market in France, I would imagine a bunch of trolls slightly modified the QWERTY into AZERTY and claimed it was French made and therefore it was better. Then the general public of France just assumed it was true because it sounded true and used it ever since. In conclusion, AZERTY is different for the sake of being different.

When I was first introduced to AZERTY, it was a pain in the ass since I was from an anglophone country. But after years of AZERTY, I am back and I have to re-adapt to QWERTY again. Nowadays, I still need some thought process whenever I need an 'A', or a 'M', or a full stop. One thing I have to acknowledge is that typing number is certainly a bliss when switching back to QWERTY because the extra "shift" key is not needed. 


























Friday, September 1, 2017

A Misunderstood Malaysia National Dish - Chicken Chop


Malaysia just celebrated its 60th birthday yesterday. 60 might not be significant to many but it is to Chinese. By tradition, Chinese only celebrates birthday from 60 years old onwards. 60 is an important point in life because if you live until 60, you have lived through a full cycle of Chinese calendar. Through these 60 years, I thought : what connects Malaysians better than anything else? Food. Therefore in honour of our 60th Hari Merdeka (Independence Day), I would like to inaugurate one very-well known dish but we often don't relate it to Malaysia, as part of the diverse Malaysian cuisine -- chicken chop.

We Malaysians disagree on many things but when it comes to food, nobody argues. We love our food, we are proud of our food. When asked what a Malaysian misses the most about Malaysia while traveling abroad, food is almost always the answer. Talking about Malaysian food, nasi lemak, roti canai, bak kut teh, laksa, rojak, etc. are the typical examples that pops up in people's mind. But who would have thought that chicken chop is actually Malaysian.

The obvious reason why we never think of chicken chop as Malaysian is because it is labeled as Western food. This labeling is so deeply rooted that here in Malaysia, chicken chop is the synonym of Western food. Together with fish and chips and burgers, they became the representation of the entire Western cuisine. During my years in France, my grandma always worried about what I ate. She always asked me if I ate chicken chop and burgers everyday with a look of concern. This just shows that chicken chop has became a stereotype of ang mo. 
"I grew up automatically linking Western cuisine with chicken chop, then fish and chips, then steak, then lamb, then pasta. It wasn't till I was much older when I realized that hey, no one outside of Malaysia or Singapore knows what the heck a chicken chop is! It is not even to be found on Wikipedia!!!"   -- suanie --
Chicken chop has its root from Hainanese immigrants and our British colonial past. Under British ruling, Hainanese owned many kopitiams and British preferred meat and potatoes, so there born chicken chop served in kopitiams. That is why I always correct people when they call chicken chop as Western food. It should have been classified as Malaysian Hainanese food.
"Despite the British inspiration, it's difficult to track down the chicken chop in Western countries - or indeed in China. ... It was purely created to cater to the target audience, in this case, the Mat Sallehs."   -- Poskod --
To me, one prominent feature of chicken chop that separates itself from other chicken steak from the West is the sauce, or should I say over-abundance of sauce. The stress is on the over-abundance and not the sauce because the authentic chicken chop, the real deal, is flooded with some kind of sauce, whether it is mushroom sauce, onion gravy, or black pepper sauce.

I notice this important feature of chicken chop through my dad. I introduced to him many European dishes while we were traveling in Europe a few years back. One complain about the food kept coming back : the dishes were too dry. Not until I find out what so special about the local chicken chop do I understand the complain. Like my grandma, my dad's mental image of Western food is still stuck at chicken chop. So he instinctively assumes every Western dish should be the same, drenched with sauce.

Don't call chicken chop as Western food anymore. Its root is here, here in Malaysia. It represents our British colonial past, an evolving artifact of our history. It should be mentioned together with nasi lemak and peers as Malaysian cuisine.






















Sunday, June 25, 2017

I have made fire!


I always want to involve in the fire making in every BBQ party, even though I know for sure I will sweat like a pig through the process of it. I am not sure why people say it is an essential skill of every manly man but I want to build fire because I am having fun out of it.

I learnt fire making during my time as a Pertahanan Awam cadet, a government body similar as 911 service in the US or 112 in Europe. During that time, my friends and I used to frequently compete with each other, to see who could build a fire the fastest, with only 3 matches, a knife and wood supply. Ahh... good old times! I don't remember when I made my first fire. But since then for every fire I build, I always have the same feeling swelling inside me, the same feeling when you had created something great, when you are empowered. In control. Since we were young, adults always told us that fire was dangerous. Yes it is. But when once you'd learnt how to make fire and control it, you will feel your existence as real as never before.

I have made fire!
This feeling is never exhibited more perfectly on the big screen than the movie Cast Away. I always laugh during the scene in which Tom Hanks' character struggles so much but persists, and successfully make a fire in the end. I laugh because it is so true. Ever since, I quote his line every time I make a fire : Yeah! Look what I have created! I have made fire! I ... have made fire!

Of course in Tom Hanks' position, a survival life-and-death situation, fire is really important for obvious reasons : warmth, lighting, protection against wild animals, to cook food, etc.. One more but mostly neglected reason is morale boosting, as showcased in Cast Away. I first heard of it in Bear Grylls' TV show, Man VS Wild. Sit in front of a bond fire and gaze at the flame is capable to help one through the most dire situation as I have experienced it multiple times during my ultrarunning adventures. After spending hours and hours at night through kilometers of trail in the cold windy mountains, tired, down. But after a few minutes of therapy by the bond fire at pit stop, I was always able to keep going again.

From the classical elements of the Ancient Greece to the Chinese Wu Xing, there is no coincidence that people in the past assume fire is one of the basic elements forming the world around us, although we now know that fire is not element at all but a chemical process. Nevertheless, there is just something about fire, something pure and captivating. Aang in The Last Airbender, pretty much sums up what fire is about and I quote : 
All this time, I thought firebending was destruction. ... But now I know what it really is. It's energy and life. 
That is why there used to be people worshiping fire. That is why eternal flames are still used to commemorate of historic events. Fire is awesome. Making fire is awesome. Undoubtedly dangerous but awesome because it's energy and life. 

Or may be deep down I am a pyromaniac.




















Sunday, June 18, 2017

Raja Uda Tom Yum Mee Trend


If you ask me recommend what to eat in Raja Uda, I would probably say tom yum mee. There are a few things in abundance in Raja Uda. One is Chinese temple, from the oldest Leng Eng Seah Temple, the famous Tow Boo Kong, to the under-construction, more grandiose, new Simpah Kuan Im Teng Temple. Many more smaller lesser known temples are spread out the whole stretch of Raja Uda.

The second thing in abundance must be tom yum mee stall. It wasn't the case a decade ago though. I think there used to be only the Ju Heng Tom Yum, and then the Kwong Hwa Tom Yum. Rumour says the owner of Kwong Hwa Tom Yum used to work together with Ju Heng. For reason unknown (I think most probably because of profit splitting problem), the partnership was broken. Nowadays, we can call it a rivalry between them. Customers are divided into two camps, arguing which tastes the best. 

Trend is a funny thing. It comes out of nowhere and then takes the world around you by storm. Like fidget spinner, it is impossible to pin point the time or the event that triggered the craze. All I notice is started a few years ago, more and more tom yum mee stalls popping out around Raja Uda, to the point of having its own franchise (Liang Khee Tomyum). Even though each stall has its own taste, they all in fact are just ever slightly different from each other. Most importantly they are not even authentic. However inauthentic doesn't mean bad taste or whatever. I always consider myself to be not choosy on the food I eat, so they all taste good to me. It's just that I always wonder why it is a trend. Having a bowl of tom yum mee as supper has become a "à la mode" thing to do now. Food blogs write about it, young people and outstation hipsters come here to have a taste of it and hastag it for bragging rights.

Only one reason I can muster to explain the popularity of tom yum mee is the offer of choice and customization. These tom yum mee stalls are often buffet-styled, which means you pick your favorites from an array of ingredients, pick your noodle type or porridge if you fancy, then they cook all of them in the tom yum soup base for you. In a time when we all desire to put our initials on everything we own and has everything customized to our taste, this style of tom yum mee stall offer just that : customization. You can have your special bowl of tom yum mee with exactly 3 fish nuggets, 3 fish balls, maggi noodles, and an egg, and claim it as the best combination ever. It is not objectively the best but the best because it is your choice. If you are newbie in this extravaganza, then you have the chance to slowly fine tune your combination to craft your personal taste, because order a simple regular bowl of noodle soup is just the "lame" thing to do.

Whenever I tell people I live in Raja Uda, they always ask me if I know about them or which one I prefer : Ju Heng or  Kwong Hwa. The thing is I live in Raja Uda for more than a decade now but I had never tried either before. So every time I was asked the same question, the reaction I got was : are you serious?! Just recently I finally succumbed to the peer pressure and tried both tom yum mee. Finally, I can call myself a true "Raja Uda Lang" (people of Raja Uda).





















Sunday, May 28, 2017

Envious of Ueli Steck


Honestly I had never heard of him before his death news. I knew about his death through many who are following his footsteps, among others, Kilian Jornet, François d'Haene and Anna Frosty. We all always automatically associate death with sadness as if it is supposed to. Even though I didn't know anything about him, I did as many people did, I was sad when I saw the news. However, after I looked through what he did, what he had achieved, and died during he was doing what he crazed for, I don't think we should be sad for him at all. By watching this short clip of his record breaking attempt at summiting Eiger, I think everyone would agree with me. 
My dear,  
Find what you love and let it kill you.
Let it drain you of your all.
Let it cling onto your back and weigh you down into eventual nothingness.
Let it kill you and let it devour your remains.
For all things will kill you, both slowly and fastly, but it's much better to be killed by a lover. 
 
Falsely yours,
Charles Bukowski
Not many people have such a passion and the dedication to go with it. I am envious of his life. It is a good life because it has a good ending. 
















Saturday, April 15, 2017

The impossible to read - Tung Shing


I love not only reading but also collecting books. Some books in my collection are for me easy to digest, such as Atlas Shrugged, Das Kapital, A Brief History of Time, and To Kill a Mockingbird. While some are impossible to read pass the first 10 pages, such as Ulysses, Al-Quran, The Golden Notebook, and The Iliad. For these books, I always think that I am not able to read it not because my level of understanding is not good enough. Instead it is because it is not the right time for me yet. Take as example my favorite book of all time : The Catcher in the Rye. I would not say it is for everybody. Without a certain life experience, The Catcher just won't have the same impact. Without, the story would just appear to be bland and Holden would seem to be mildly annoying at best. 

Tung Shing (通勝) used to be on the "impossible to digest" side of the spectrum. But after my grandpa's death a few years ago, it appeared to be the right time to pick up Tung Shing again and dig in. May be it was because his death forced me to face my own mortality, may be it made me realize that what it wanted to say in this book was important to pass down to generations to come. My grandpa was always the only person in my family to read and understand it. By curiosity, I once or twice consulted my grandpa on some parts of the book but never really went in depth. But since his death, I became the only one in the family who has Classical Chinese ( 文言文) background thus the capability to tackle Tung Shing. I feel I have the responsibility to study and pass down the knowledge. Now I must carry the torch.

First of all, a crash course on Tung Shing. Tung Shing is a Chinese almanac and divination guide according to Wikipedia. But it is more than just that as explained in this website which I quote :
"The first few pages, consisting of the year zodiac ... "Spring Ox Diagram" (春牛圖), "Annual Stars Directions" (神煞), and "Heavenly God Bestowing Luck" (天官賜福) ... are unique to each year while the last 20% of the Almanac, which consists of the calendar section, is also different for each year. The 80% portion, which is repeated every year, contains topics ranging from face reading (面相), bazi (八字), Dong Gong date selection (董公擇日), talismans, various fortune telling systems, year charts, etc."
It is a common practice to buy a copy of the lastest Tung Shing before the Chinese New Year and store it in home altar when it is not used. According to my grandpa, one can also hang Tung Shing at the door for protection against the evil spirits as it contains talismans of Zhang Tian Shi (張天師). For the same reason, my grandpa said to me once not to simply discard Tung Shing from previous years. Instead just leave them in the cabinet of our home altar.

As one can see from above, the contents of the 80% invariant portion of Tung Shing is very diverse. So much so that on some topics, I still don't have any idea what they serve. The following is the list of topics that I understand or at least understand the concept, in order of appearance in the copy I own :

- conversion table between Chinese Zodiac hours and international 24-hour system
- conversion table between Chinese and Gregorian calendars
- traditional customs
- Zhang Tian Shi's (張天師) talismans and their uses
- Zhou Gong's dream dictionary / 周公解夢
- divination based on your birthday date in Chinese calendar
- miscellaneous words of wisdom from Confucius
- list of formats for formal letters, wedding invitations, birthday invitations
- The Twenty-four Filial Exemplers / 二十四孝
- the complete matrix of titles for family members
- conversion table between 24 solar terms and Gregorian calendar (24 solar terms just been listed as one of the UNESCO intangible cultural heritage in December last year)
- ZhuGe Liang's divination / 諸葛神數
- Three Character Classic / 三字經
- Thousand Character Classic / 千字文
- Hundred Family Surname / 百家姓
- Zeng Guang Xian Wen / 增廣賢文
- Zhu Zi Zhi Jia Ge Yan / 朱子治家格言
- Chinese medicinal herbal recipes for a list of common maladies
- face reading
- moleosophy (mole divination)
- palm reading

Holding Tung Shing like a
bamboo book.
Even after I list down those I understand, there is still about 50% of the book that I don't understand. However the thing about Tung Shing that drives me crazy isn't the diversity of the topics but the lack of a table of contents, which makes the quick search impossible unless you know the book like the back of your hand. On the ergonomic side, the character size is sometimes too small and inconsistent, making the reading experience quite challenging. One good design worth mentioning is the odd dimension of the book. Its width to height ratio is really small, which means it is way higher than average books with around the same width. Probably this is designed as such to accustom the vertical writing and to be hold in one hand and read like an ancient bamboo book.

As anyone with a scientific background, I have to admit that there might be many topics and skills such as talismans, divination, face reading, and etc. that no longer apply in our modern world. The way I see it, there are still reasons to learn them. First they are fun. I totally get the fact that fortune telling is so much fun and I am glad I know a few techniques. But never ever believe in it. Secondly, even though it doesn't make sense in modern day, it is still interesting to see the way they work, and the way people think in the past. Who knows the combination of different perspectives can somehow amount to breakthrough to leap humanity forward. The fact is, reading Al-Quran doesn't mean I am a Muslim ; reading Mein Kampf doesn't mean I am pro neo-Nazism ; reading Lolita doesn't mean I am a pedophile ; and reading Tung Shing doesn't mean I am superstitious. It is all about gaining empathy and perspective, to gain a better understanding of things existed before us and things still exist around us. I hope by this blog entry, I can spark the interest of some of the readers on Tung Shing.























Saturday, March 4, 2017

A Zero Congestion Penang


I have been trying to assemble and arrange material on this topic for months. The only thing I felt lacking on this topic was my personal experience. So I figured I would wait for a few months first, accumulating my driving miles in Penang before I made my definitive statement. Well yesterday was the tipping point. Yesterday I felt like I had already experienced the worst traffic jam it could ever be in Penang and it was the perfect time to finish up this article.

I live in Butterworth and work in Bayan Lepas. During any normal Friday rush hour, the traffic would be horrible enough. But yesterday evening, the perfect storm happened. Multiple cars broken down and accidents along the highway from from my workplace all the way to Perai. From my office, I could see the jam started to form at around 17h. Waiting in office, in hope of sitting out the jam. I ate some, chit chatted with colleagues who were also waiting for the jam to clear up, and then I went to office gym. When I left the office at 21h, I thought it would be over. But guess what, it was still jammed! I finally reached home at 22h45, frustrated and exhausted.  

I had not been in Malaysia for long period of time during the last few years. The first thing I needed to do after coming back to Malaysia was practicing driving. Although I got my driving license a few years ago, I rarely drive until now. I don't drive in France simply because there is no need to. Public transport and bicycle can get me almost everywhere I want to go.

In Malaysia, that's a different story. You are getting nowhere without a car. Public transport is just not well developed as demonstrated by Andrew Han in his video. He also pointed out that sometimes even the public transport is good, the city itself is not walkable. The walk to a bus stop is often enough highly dangerous, required some physical fitness, and adventurous but not in a good way. What I found out in KL is the same, people take the LRT, Monorail, etc.., but usually it ends with a car ride from the LRT station back to home, rather than walking. Walkability is a major problem. Bicycle is not an option either because : first, there is no extensive bicycle lane coverage; second, the mindset of the road users is still not ready to accept cyclists; and finally, even there are proper bicycle lanes, it concerns me that they would be misused by motorbikers.

A developed country is not a place where the poor have cars; it's where the rich use public transportation.
-- Gustavo Petro --

In Oscar Boyson's very well-made video essay "The Future of Cities", one particular statement strikes me as a hard truth. He says : "When walking, cycling, and public transportation are the fastest ways to move, nobody feels like a second class citizen for not owning a car." Guess who are cycling to work every morning - foreign low cost workers in factories, who are considered as second class citizens in Malaysia. In fact in Malaysia, although nobody admits it publicly, the car you own represents your social status. Malaysians' craze about car brands like Mercedes Benz and BMW seems to be ridiculous to foreigners. I got a German friend. He had stayed in Malaysia for few months and he finds this craze about car brands from his own country rather amusing.

I deeply believe that the key to develop a better city is public transportation and walkability. After I first saw Jeff Speck's talk on TED, I am convinced by what so called "induced demand". Basically, it states that building more wider highways isn't going to relieve the traffic jam; on the contrary, it will worsen it. I used to live in a city where I can walk from one end to another without the concern of getting hit by a car. So I can immediately feel the difference when I am in KL. From a LRT station, I once tried to walk back to my uncle's house and I had to run across a highway because there was no other options. Highways are becoming the scars of KL and we are building more of them. In my opinion, the landscape of KL is beyond saving. The hope to convert KL a fully walkable city is very slim.

However Penang still has hope as it is not scarred by the web of highways yet. Looking at the Penang Transport Master Plan (PTMP), with a lot of public transportation proposals, a walkable Penang seems very promising. But a plan is just a plan. The execution is what that matters. I see PTMP as two parts : one is the development of public transportation ; and another is the development of roadways. From here we can foresee a risk. The order of execution of these two parts is really important. If PTMP starts with the development of roadways, then it will fall into the blackhole of induced demand. Yes, the congestion will be relieved but only for a while. More roadways are built, the less walkable the city becomes, everybody then feels the need the use more cars. So more cars will inflow and quickly fill up the capacity of the new roadways. Then the congestion problem is back again! It is just a vicious cycle of frustration. So the development of public transportation should be the priority.

Everybody has dreams. I have many too. One of them is a zero congestion Penang. A zero congestion Penang needs to be walkable and for that, not only policy makers have to make wise decision, people of Penang have to change their mindset too. Public transport is not for second class citizens. Instead it is meant for everyone, the public. This is not a part of the PTMP. But I have a dream, a dream that one day I can cycle across Penang bridge to work.























Sunday, February 19, 2017

TDD and Agile - A Retrospect of the Thales Project


After almost a month of sitting idly, finally I was assigned to a project. I started by writing some unit tests on the legacy code using CppUTest framework. The learning curve is hard. In fact, there are many things to learn such as mocks and stubs which I am having difficulty writing. But when I finally got my unit tests merged into the main codebase, that feeling was very satisfying. Furthermore, lcov is used to track the test coverage. Writing test cases and seeing the progression of the test coverage is almost like unlocking levels in video games, oddly addictive. 

Although I can say I know programming, this is the first time I get to work on a large codebase. With a large codebase, the importance of a software development process becomes clearer to me than ever before. In one particular school project, my teacher kept emphasizing on thinking about the test cases the code needed to fulfill before actually writing any code. During that time, I didn't know it was called Test Driven Development (TDD). Actually, I didn't even know there was a thing called software development process.

Before getting into Motorola, I knew almost nothing about TDD. The same goes for Agile. I first heard of Agile when working on the project under Thales during the summer of 2015. That time my friends and I were sort of left into the wild. It was my friend Louis who found out what was Agile. We tried to implement the process into our code development. But since it was just small project involving a small number of people, we dropped the idea and went on the coding blindly. In spontaneous and surprising ways when I come to think about it, we unconsciously implemented a few techniques from Agile. We were able to divide the code into parts. Each of us were responsible to manage different parts and at the same time, each of us knew the code thoroughly. We did stand up meeting every morning before working to make known the progress made and progress to make to each other. In fact, we were kinda in constant meeting and discussion since we were just four in our small office. This kinda rendered the stand up meeting in the morning to just a formality. Also by chance, we also performed quite often pair programming, which was also one of the techniques in Agile.

One major problem we faced during the Thales project was version control. Each time we made some code change, we needed to painstakingly integrate it into the principal code, which meant comparing side by side the code with all the changes and the principal code, copied and pasted the changes, recompiled, and prayed for the best. 90% of the time, there will be some errors. The worst case scenario, the bugs burst out like you just accidentally opened the Pandora's box. Near the end of the project, one of us, Cyprien, was needed to do this one and only task - version control and code integration. If only we used some sort of version control system like Git or Redmine, we could have freed Cyprien from that painful task of manual version control and put that extra hand into better use. Lucky for us, our team and our code size was relatively small, so manual version control was still manageable. With a large codebase and hundreds of people working on it like in Motorola, it becomes almost impossible.

I was never taught about unit test, software development process, and version control in school. After being a Motorolan and exposed to these new knowledge, I realized how bad the final product of the Thales project was - no singular coding style, no elaborate test cases, not well structured in general, and not easily maintainable in long term. I already imagine the person who continue to work on our code will hate us for life.