<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.5">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2024-09-29T14:39:20+07:00</updated><id>/feed.xml</id><title type="html">Nathan Do</title><subtitle>...</subtitle><entry xml:lang="en"><title type="html">Mobility = Life</title><link href="/2024/07/28/Mobility.html" rel="alternate" type="text/html" title="Mobility = Life" /><published>2024-07-28T00:00:00+07:00</published><updated>2024-07-28T00:00:00+07:00</updated><id>/2024/07/28/Mobility</id><content type="html" xml:base="/2024/07/28/Mobility.html">&lt;h3 id=&quot;immobility--death&quot;&gt;Immobility = Death&lt;/h3&gt;
&lt;p&gt;A few months after my knee surgery, I took a short vacation to the beach. However, when I looked at the photos from that trip, I felt disappointed with how I looked. &lt;br /&gt;
That was the turning point when I realized it was time to make a change and fully commit to a healthier lifestyle.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2024Jul/turning-point.webp&quot; style=&quot;width: 560px&quot; class=&quot;img-auto shadow-light&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In my journey to improve health post-surgery, I’ve started to follow more youtube channels on health.&lt;br /&gt;
There are these that I’ve learnt a lot from:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Habit building - Health improvement through Neuroscience: &lt;a href=&quot;https://www.youtube.com/@hubermanlab&quot;&gt;Huberman Lab&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Diet awareness - Intermittent fasting: &lt;a href=&quot;https://www.youtube.com/@Drberg&quot;&gt;Dr. Eric Berg DC&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/@Healthyimmunedoc&quot;&gt;Healthy Immune Doc&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Self-improvement in general: &lt;a href=&quot;https://www.youtube.com/@TheDiaryOfACEO&quot;&gt;The Diary of a CEO&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Intermittent fasting proved to be somewhat effective, but it wasn’t quite right for me. I found there’s a trade-off between muscle loss and weight loss, and the timing often disrupted my work rhythm.&lt;/p&gt;

&lt;h3 id=&quot;mobility--life&quot;&gt;Mobility = Life&lt;/h3&gt;
&lt;p&gt;In that period trying to get into better shape, I’ve found this mind-blowing clip about Mobility from Dr. Vonda Wright:&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/d9MfNOgDbkc?si=QIZs2kuIAXVQAMbF&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;There is this picture showing thigh muscle of 3 people:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;40-year-old triathlete&lt;/li&gt;
  &lt;li&gt;74-year-old sedentary man&lt;/li&gt;
  &lt;li&gt;70-year-old triathlete&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: center&quot;&gt;&lt;img src=&quot;/images/2024Jul/thigh-muscle.png&quot; style=&quot;width: 560px&quot; class=&quot;shadow-light&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And from this we can clearly see the 70-year-old triathlete has almost perfect muscle while that of the 74-year-old sedentary man is almost unrecognizable.&lt;br /&gt;
My profound realization is that losing muscle and mobility isn’t an inevitable part of aging. By staying active, eating healthily, and lifting weights, you can not only maintain but even reverse the effects of aging.&lt;/p&gt;

&lt;p&gt;This insight became my driving force, keeping me committed to the gym and running&lt;/p&gt;</content><author><name></name></author><category term="life" /><category term="health" /><summary type="html">Immobility = Death A few months after my knee surgery, I took a short vacation to the beach. However, when I looked at the photos from that trip, I felt disappointed with how I looked. That was the turning point when I realized it was time to make a change and fully commit to a healthier lifestyle.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2024Jul/mobility.webp" /></entry><entry xml:lang="en"><title type="html">Stay healthy</title><link href="/2024/05/25/Stay-healthy.html" rel="alternate" type="text/html" title="Stay healthy" /><published>2024-05-25T00:00:00+07:00</published><updated>2024-05-25T00:00:00+07:00</updated><id>/2024/05/25/Stay-healthy</id><content type="html" xml:base="/2024/05/25/Stay-healthy.html">&lt;p&gt;This is a continuation from previous post: &lt;a href=&quot;/2024/05/19/Start-with-health.html&quot;&gt;Start with health&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;my-procrastination&quot;&gt;My procrastination&lt;/h3&gt;
&lt;p&gt;Throughout most of my youth, and well into my mid-20s, I struggled with procrastination. Nearly every morning of my school years, my mom’s loudest yell was my alarm clock.&lt;/p&gt;

&lt;p&gt;I was the student who never arrived on time, even with a school just a 10-minute walk away. During my university years, I often found myself cramming the night before exams, yet somehow managing to pull through.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2024Jun/procras.jpg&quot; class=&quot;img-auto shadow-light&quot; style=&quot;width: 500px&quot; /&gt;&lt;/p&gt;

&lt;p&gt;For me, adhering to a strict schedule or a good habit has always felt impossible… That is until the accident.&lt;/p&gt;

&lt;h3 id=&quot;the-inspiration&quot;&gt;The inspiration&lt;/h3&gt;
&lt;p&gt;About 4-5 months after my knee surgery, I came across someone famously known as “the ice guy.”&lt;/p&gt;

&lt;p&gt;One night, driven by growing curiosity, I ended up watching over 100 of his videos. 
I watched them in the dark and without sound because my child was already asleep.&lt;/p&gt;

&lt;p&gt;Each video showcased a 1-minute cold plunge accompanied by an inspirational quote that he personally articulated.&lt;/p&gt;

&lt;p&gt;What surprised me the most was his video from the fourth day. In it, he appeared utterly miserable, swearing and doubting himself profoundly. Yet, he persevered.&lt;/p&gt;

&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-permalink=&quot;https://www.instagram.com/reel/CmMZ-iMvej_/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; data-instgrm-version=&quot;14&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:16px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/reel/CmMZ-iMvej_/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;&quot; target=&quot;_blank&quot;&gt; &lt;div style=&quot; display: flex; flex-direction: row; align-items: center;&quot;&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 19% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display:block; height:50px; margin:0 auto 12px; width:50px;&quot;&gt;&lt;svg width=&quot;50px&quot; height=&quot;50px&quot; viewBox=&quot;0 0 60 60&quot; version=&quot;1.1&quot; xmlns=&quot;https://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;https://www.w3.org/1999/xlink&quot;&gt;&lt;g stroke=&quot;none&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot; fill-rule=&quot;evenodd&quot;&gt;&lt;g transform=&quot;translate(-511.000000, -20.000000)&quot; fill=&quot;#000000&quot;&gt;&lt;g&gt;&lt;path d=&quot;M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div style=&quot;padding-top: 8px;&quot;&gt; &lt;div style=&quot; color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;&quot;&gt;View this post on Instagram&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 12.5% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;&quot;&gt;&lt;div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 8px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: auto;&quot;&gt; &lt;div style=&quot; width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;&lt;a href=&quot;https://www.instagram.com/reel/CmMZ-iMvej_/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;&quot; target=&quot;_blank&quot;&gt;A post shared by Jordan Ferrone (@jordan.ferrone)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; src=&quot;//www.instagram.com/embed.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;So as I am lying there, feeling depressed, I thought to myself: I have to make this happen.&lt;/p&gt;

&lt;h3 id=&quot;reasonable-and-sustainable--extremes&quot;&gt;Reasonable and sustainable &amp;gt; Extremes&lt;/h3&gt;
&lt;p&gt;Long ago, I’ve read a book “Mini habits”. The science behind habit revealed in the book is quite profound.
But I got nowhere with the action back then.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2024Jun/minihabit.webp&quot; class=&quot;img-auto shadow-light&quot; style=&quot;width: 150px&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Now after more than half a year of practice, here are the few keys to build a healthy habit:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Start small, one good habit at a time.&lt;/strong&gt; &lt;br /&gt;
One mistake I’ve used to make is just try to add too many habits at the same time.&lt;br /&gt;
This is put immense pressure on your body and mental strength, which easily causes break-downs.&lt;br /&gt;
Remember the most important thing is to have consistency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Focus on day-to-day targets.&lt;/strong&gt;&lt;br /&gt;
Do NOT even think about 30 days or 2 months target.&lt;br /&gt;
With the way our brain works, expecting the end at 30 days or 2 months will just make the time feel longer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Be reasonable and flexible.&lt;/strong&gt;&lt;br /&gt;
Don’t push yourself to breakdown because an injury will interrupt your habit forming process&lt;br /&gt;
If your schedule is tight, you won’t be able to commit too much time, try to make it compact and still powerful&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Tap on existing good habits.&lt;/strong&gt; &lt;br /&gt;
Once the first habit set for a month or so, start trying to add more habits gradually by attaching it to the existing ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example for mine:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Cold shower in the morning (first good habit)&lt;/li&gt;
  &lt;li&gt;Push up set before cold shower (the hook)&lt;/li&gt;
  &lt;li&gt;Weekly running 2km x 2 times after cold shower (the hook)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/images/2024Jun/healthy habit.webp&quot; style=&quot;width: 500px&quot; class=&quot;img-auto shadow-light&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;health-observation&quot;&gt;Health observation&lt;/h3&gt;
&lt;p&gt;Health is something we never know it’s there until we lose it.&lt;/p&gt;

&lt;p&gt;I would never have imagined being able to jump or run normally could mean so much to me as it has always been a given.&lt;/p&gt;

&lt;p&gt;But I think it’s a blessing in disguise.&lt;br /&gt;
Now, whenever I lack motivation to keep running I can tell myself: “Being able to run is already a reward”&lt;/p&gt;

&lt;h4 id=&quot;stay-healthy-my-friends&quot;&gt;Stay healthy, my friends!&lt;/h4&gt;</content><author><name></name></author><category term="life" /><category term="health" /><summary type="html">This is a continuation from previous post: Start with health</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2024Jun/healthy%20habit.webp" /></entry><entry xml:lang="en"><title type="html">Start with Health</title><link href="/2024/05/19/Start-with-health.html" rel="alternate" type="text/html" title="Start with Health" /><published>2024-05-19T00:00:00+07:00</published><updated>2024-05-19T00:00:00+07:00</updated><id>/2024/05/19/Start-with-health</id><content type="html" xml:base="/2024/05/19/Start-with-health.html">&lt;h3 id=&quot;the-glorified-hustle&quot;&gt;The glorified hustle&lt;/h3&gt;
&lt;p&gt;It has been almost a decade since I’ve started working as a Healthcare IT.&lt;/p&gt;

&lt;p&gt;We have always dreamt of a shared platform that will make all health care problems simpler to solve. 
It should be a &lt;strong&gt;common place to educate, connect and rolling out solutions&lt;/strong&gt; that are cheap, secure and scalable.&lt;/p&gt;

&lt;p&gt;And as the first employee, my biggest commitment was to make that platform alive and growing.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2024May/hustle.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;p&gt;That is what’s starting-up about, isn’t it ?&lt;br /&gt;
Working hard on your ideas, grinding, crunching and everything ?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Except it isn’t! Especially when you are working on Healthcare.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is an irony I’ve found in this industry: &lt;strong&gt;It is those who are trained to take care of others’ health often have to neglect that of their own.&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;the-wake-up-call&quot;&gt;The wake up call&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The year is 2023&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We have been so hopeful when it kicked off, as COVID had been finally over.&lt;br /&gt;
I wouldn’t have even remotely suspected &lt;strong&gt;how calamitous the year could possibly become.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After years of work swallowing personal and family time, my lifestyle’s gone pretty much sedentary and my body went out of shape. 
To be honest, I have been noticing and trying to resume frequent badminton sessions by then.&lt;/p&gt;

&lt;p&gt;And standing out of all the bad lucks of 2023, my knee ruptured after an accident on badminton court. &lt;br /&gt;
So my first ever surgery had to be done.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2024May/wakeup-lego.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The early part of the recovery process has surely given me some bitterness I’ve never felt my entire life:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The loss of freedom.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;No freedom to move around&lt;/li&gt;
  &lt;li&gt;No freedom to do basic personal hygiene like bathing or going to the loo.&lt;/li&gt;
  &lt;li&gt;Lack of mobility also surrounds me with depressive thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Only then have I realised that I would NOT even trade my mobility for creating the next unicorn.&lt;br /&gt;
&lt;strong&gt;Nah, not going to happen. Not in my lifetime&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;start-with-health&quot;&gt;Start with Health&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/images/2024May/health-freedom-male.jpg&quot; class=&quot;img-auto shadow-light&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So the first priceless lesson learnt: nothing is as precious as your health. &lt;br /&gt;
But more often than not, nobody notices that until it starts fading away.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Without health, money or success is meaningless as you would suffer most of the time instead of enjoying them.&lt;/li&gt;
  &lt;li&gt;Without health, quality of time is depreciating too as you would spend much of time fixing your health.&lt;/li&gt;
  &lt;li&gt;Without health, there is simply NO happiness&lt;br /&gt;
A normal healthy body is essential for a fulfilling life.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Another lesson learnt: boundaries are important.&lt;br /&gt;
The earlier you learn to set it the better.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My recovery process has been slow but steady since that wake-up call. And in the attempt to put health on top priority, these are what I’ve done (but more details on that for another post):&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Increase the amount of weekly exercises (2-3 x Swimming, 2 x Walking)&lt;/li&gt;
  &lt;li&gt;Daily cold exposure to boost dopahmine and immune system&lt;/li&gt;
  &lt;li&gt;Adjust my diet and lose weight (- ~4kg)&lt;/li&gt;
  &lt;li&gt;Try out intermittent fasting. It works somewhat but with some side effects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Our company’s motto right now changes: &lt;a href=&quot;https://healthworld.vn/&quot;&gt;Healthy first, World second.&lt;/a&gt;&lt;/p&gt;</content><author><name></name></author><category term="life" /><category term="health" /><summary type="html">The glorified hustle It has been almost a decade since I’ve started working as a Healthcare IT.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2024May/health-freedom-male.jpg" /></entry><entry xml:lang="vn"><title type="html">Bà về với Phật</title><link href="/2023/05/21/Ba-ve-voi-Phat.html" rel="alternate" type="text/html" title="Bà về với Phật" /><published>2023-05-21T00:00:00+07:00</published><updated>2023-05-21T00:00:00+07:00</updated><id>/2023/05/21/Ba-ve-voi-Phat</id><content type="html" xml:base="/2023/05/21/Ba-ve-voi-Phat.html">&lt;p&gt;&lt;img src=&quot;/images/2023May/lotus.jpg&quot; style=&quot;width: 300px&quot; class=&quot;border-round img-auto shadow-light&quot; /&gt;&lt;/p&gt;

&lt;h3 style=&quot;text-align:center&quot;&gt;Bà về với Phật&lt;/h3&gt;
&lt;p style=&quot;text-align:center&quot;&gt;  
Nửa đêm choàng tỉnh nghe tin dữ  &lt;br /&gt;
Bà đã đi rồi, gấp quá chăng?!  &lt;br /&gt;
&lt;br /&gt;
Suốt đời lam lũ chăm con trẻ  &lt;br /&gt;
Một tay bà gánh cả cửa nhà  &lt;br /&gt;
Cả đời dù thông minh, sắc sảo  &lt;br /&gt;
Tránh sao khỏi nghiệp, khỏi hờn oan &lt;br /&gt;
&lt;br /&gt;
Đến khi già bệnh, nằm một chỗ  &lt;br /&gt;
Trăm ngàn khổ ải, vạn lần cay  &lt;br /&gt;
Bà về phương ấy, toan rũ bỏ  &lt;br /&gt;
Yêu thương hờn giận ở chốn này  &lt;br /&gt;
&lt;br /&gt;
Bà đi nhẹ nhàng, lòng thanh thản  &lt;br /&gt;
Chúng con tiễn bà, cản lệ tuôn  &lt;br /&gt;
Chỉ trì niệm Phật mang thanh tịnh  &lt;br /&gt;
Mong được soi sáng lối vĩnh hằng  &lt;br /&gt;
&lt;br /&gt;
Bà về với Phật, về an nghỉ!  &lt;br /&gt;
Gần trăm năm chẵn, kiếp hư không. &lt;br /&gt; 
&lt;br /&gt;
&lt;b&gt;21 May 2023&lt;/b&gt;
&lt;/p&gt;</content><author><name></name></author><category term="life" /><summary type="html"></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2023May/lotus.jpg" /></entry><entry xml:lang="en"><title type="html">Back to Singapore after 2 years</title><link href="/2022/03/29/Back-to-Singapore.html" rel="alternate" type="text/html" title="Back to Singapore after 2 years" /><published>2022-03-29T00:00:00+07:00</published><updated>2022-03-29T00:00:00+07:00</updated><id>/2022/03/29/Back-to-Singapore</id><content type="html" xml:base="/2022/03/29/Back-to-Singapore.html">&lt;p&gt;I hadn’t paid enough attention to realise that &lt;strong&gt;I missed Singapore&lt;/strong&gt; until landed that afternoon in Changi.&lt;/p&gt;

&lt;p&gt;It’s February 2022 and both Vietnam and Singapore’s borders are still both relatively close, due to COVID.&lt;br /&gt;
&lt;strong&gt;Tan Son Nhat&lt;/strong&gt; looks like a &lt;strong&gt;ghost airport&lt;/strong&gt;. On that Scoot flight, there were probably less than 20 passengers&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2022Feb/scoot.jpeg&quot; class=&quot;img-auto&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;/images/2022Feb/ghost-airport.JPG&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s a weird feeling when &lt;strong&gt;passing throughcustom took literally 15 mins&lt;/strong&gt;. &lt;br /&gt;
And even weirder was sitting on a plane that empty.&lt;/p&gt;

&lt;p&gt;There I was, traveling alone, leaving my family behind for a call of duty.&lt;br /&gt;
Part of me feels happy when able to travel after 2-3 years of lock-downs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The trip was made by last-minute arrangements&lt;/strong&gt;: SHN (7 day Stay Home notice) hotel booked, a short term accommodation secured and office is always ready.&lt;br /&gt;
Though 7-day being locked in a 10m2 hotel definitely got the better of me, in the end, it’s still about seeing my beloved second home again. 
Home is where your heart belongs. And here I have my own family and friends that I have longed to meet.&lt;/p&gt;

&lt;center&gt;
&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-permalink=&quot;https://www.instagram.com/p/CaU9DWRJNn3/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; data-instgrm-version=&quot;14&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:16px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/CaU9DWRJNn3/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;&quot; target=&quot;_blank&quot;&gt; &lt;div style=&quot; display: flex; flex-direction: row; align-items: center;&quot;&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 19% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display:block; height:50px; margin:0 auto 12px; width:50px;&quot;&gt;&lt;svg width=&quot;50px&quot; height=&quot;50px&quot; viewBox=&quot;0 0 60 60&quot; version=&quot;1.1&quot; xmlns=&quot;https://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;https://www.w3.org/1999/xlink&quot;&gt;&lt;g stroke=&quot;none&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot; fill-rule=&quot;evenodd&quot;&gt;&lt;g transform=&quot;translate(-511.000000, -20.000000)&quot; fill=&quot;#000000&quot;&gt;&lt;g&gt;&lt;path d=&quot;M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div style=&quot;padding-top: 8px;&quot;&gt; &lt;div style=&quot; color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;&quot;&gt;View this post on Instagram&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 12.5% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;&quot;&gt;&lt;div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 8px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: auto;&quot;&gt; &lt;div style=&quot; width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;&lt;a href=&quot;https://www.instagram.com/p/CaU9DWRJNn3/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;&quot; target=&quot;_blank&quot;&gt;A post shared by Nathan Do (@nathan_dole)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;//www.instagram.com/embed.js&quot;&gt;&lt;/script&gt;
&lt;/center&gt;

&lt;p&gt;&lt;strong&gt;Orchard was pretty much alive then&lt;/strong&gt;. It seems that not much has been changed as I strolled through not-that-crowded places along the road.  &lt;br /&gt;
Singapore appeared great and neat as always. My driver from the airport told me it’s bad but it’s manageable and has been recovering well.&lt;/p&gt;
&lt;center&gt;
&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-permalink=&quot;https://www.instagram.com/p/Ca43QfVJ08x/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; data-instgrm-version=&quot;14&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:16px;&quot;&gt; &lt;a href=&quot;https://www.instagram.com/p/Ca43QfVJ08x/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;&quot; target=&quot;_blank&quot;&gt; &lt;div style=&quot; display: flex; flex-direction: row; align-items: center;&quot;&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 19% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display:block; height:50px; margin:0 auto 12px; width:50px;&quot;&gt;&lt;svg width=&quot;50px&quot; height=&quot;50px&quot; viewBox=&quot;0 0 60 60&quot; version=&quot;1.1&quot; xmlns=&quot;https://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;https://www.w3.org/1999/xlink&quot;&gt;&lt;g stroke=&quot;none&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot; fill-rule=&quot;evenodd&quot;&gt;&lt;g transform=&quot;translate(-511.000000, -20.000000)&quot; fill=&quot;#000000&quot;&gt;&lt;g&gt;&lt;path d=&quot;M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/div&gt;&lt;div style=&quot;padding-top: 8px;&quot;&gt; &lt;div style=&quot; color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;&quot;&gt;View this post on Instagram&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;padding: 12.5% 0;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;&quot;&gt;&lt;div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot;background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 8px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: auto;&quot;&gt; &lt;div style=&quot; width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);&quot;&gt;&lt;/div&gt; &lt;div style=&quot; width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=&quot;display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;&quot;&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;&quot;&gt;&lt;/div&gt; &lt;div style=&quot; background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;p style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;&quot;&gt;&lt;a href=&quot;https://www.instagram.com/p/Ca43QfVJ08x/?utm_source=ig_embed&amp;amp;utm_campaign=loading&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;&quot; target=&quot;_blank&quot;&gt;A post shared by Nathan Do (@nathan_dole)&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt; &lt;script async=&quot;&quot; src=&quot;//www.instagram.com/embed.js&quot;&gt;&lt;/script&gt;
&lt;/center&gt;
&lt;p&gt;That was the anxious and slightly exciting start of the next 2.5 months of grinding works and homesickness.
But that was for another post!&lt;/p&gt;</content><author><name></name></author><category term="life" /><summary type="html">I hadn’t paid enough attention to realise that I missed Singapore until landed that afternoon in Changi.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2022Feb/singapore.jpg" /></entry><entry xml:lang="en"><title type="html">Upgrade ERPNext from v5 to v13</title><link href="/2021/08/24/ERPNext-Upgrade-from-5-to-13.html" rel="alternate" type="text/html" title="Upgrade ERPNext from v5 to v13" /><published>2021-08-24T00:00:00+07:00</published><updated>2021-08-24T00:00:00+07:00</updated><id>/2021/08/24/ERPNext-Upgrade-from-5-to-13</id><content type="html" xml:base="/2021/08/24/ERPNext-Upgrade-from-5-to-13.html">&lt;h2 id=&quot;why-&quot;&gt;Why ?&lt;/h2&gt;
&lt;p&gt;My ERPNext venture has been halted for a long while. However, we do have an existing customer to support.&lt;br /&gt;
They have been using the system for a long while without any issue. 
However, no upgrade means no new features and this time they are really in need of that&lt;/p&gt;

&lt;h2 id=&quot;first-attempt---total-failure-&quot;&gt;First attempt - total failure …&lt;/h2&gt;
&lt;p&gt;So the first thing I’ve tried was just going head on with upgrading (on a brand new clone of the server, of course).&lt;br /&gt;
And it turned out … terribly. How’s so ?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;If there are custom change on your erpnext repository, you have to reset it to master branch first&lt;/li&gt;
  &lt;li&gt;If you have custom modules, of course, disable them first&lt;/li&gt;
  &lt;li&gt;Script to upgrade then run based on your current database and the amount of changes are crazy&lt;/li&gt;
  &lt;li&gt;v5 was using python2 and v13 is using python3 (of course)&lt;/li&gt;
  &lt;li&gt;There is no minimal success baseline for you to build upon. Everything just failed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In fact, after spending a few days on this, I was about to give up all together…&lt;/p&gt;

&lt;h2 id=&quot;second-attempt---finally-see-some-lights&quot;&gt;Second attempt - finally see some lights&lt;/h2&gt;
&lt;p&gt;Now, breathe and take a step back. This is not the only (real) way.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Back up the data (the database and the media files)&lt;/li&gt;
  &lt;li&gt;Back up the changes you have customised on&lt;/li&gt;
  &lt;li&gt;Install the completely new version&lt;/li&gt;
  &lt;li&gt;Restore the database on this new instance&lt;/li&gt;
  &lt;li&gt;Run migrations (–skip-failure)&lt;/li&gt;
  &lt;li&gt;Try to fix migration issues one by one&lt;/li&gt;
  &lt;li&gt;Manually migrate certain data that has been changed&lt;/li&gt;
  &lt;li&gt;Reapply changes from modules and customizations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;steps-that-i-have-taken&quot;&gt;Steps that I have taken&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Back up old Instance &lt;code&gt;bench backup —with-files&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Install new install v13 vanila&lt;/li&gt;
  &lt;li&gt;Download all files to new instance and make sure have enough space.
So that when you restore it doesn’t fail because not enough space.&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;bench mariadb&lt;/code&gt; and &lt;a href=&quot;https://dev.mysql.com/doc/refman/8.0/en/repair-table.html&quot;&gt;Repair table&lt;/a&gt; in mariadb&lt;/li&gt;
  &lt;li&gt;Then restore the database and files with
    &lt;pre&gt;&lt;code class=&quot;language-shell&quot;&gt;bench restore path/to/sql --with-public-files path/to/public_files.gz --with-private-files path/to/private_files.gz
&lt;/code&gt;&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;Migrate but skipp all failed migrations: &lt;code&gt;bench migrate —skip-failing&lt;/code&gt;
From here on it depend on what errors will you encounter.&lt;/li&gt;
  &lt;li&gt;Set Email Account uidnext = 0&lt;/li&gt;
&lt;/ol&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sql_safe_updates&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;update&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabEmail Account`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;uidnext&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;0&apos;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;where&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;trim&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;coalesce&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;uidnext&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sql_safe_updates&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ol&gt;
  &lt;li&gt;Delete Custom Field sales_uom -&amp;gt; might want to copy data&lt;/li&gt;
&lt;/ol&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;select&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabCustom Field`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;where&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;like&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;%sales_uom%&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;delete&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabCustom Field`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;where&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;Item-sales_uom&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;delete&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabCustom Field`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;where&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;Item-purchase_uom&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ol&gt;
  &lt;li&gt;Quotation Item: Copy Stock UOM to UOM for existing items&lt;/li&gt;
&lt;/ol&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sql_safe_updates&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;update&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabQuotation Item`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;uom&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stock_uom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sql_safe_updates&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ol&gt;
  &lt;li&gt;Solve patch issue
&lt;strong&gt;Patch: erpnext.patches.v11_0.create_salary_structure_assignments&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;n&quot;&gt;pymysql&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;err&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;OperationalError&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1054&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;Unknown column &apos;sse.from_date&apos; in &apos;field list&apos;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Fix:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;alter&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;table&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabSalary Structure Employee`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;add&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;column&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;from_date&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;DATETIME&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;current_timestamp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to_date&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;DATETIME&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;current_timestamp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;());&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sql_safe_updates&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;update&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabSalary Structure Employee`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;from_date&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;2021-01-01 00:00:00&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;update&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabSalary Structure Employee`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;to_date&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;2021-12-31 00:00:00&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sql_safe_updates&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ol&gt;
  &lt;li&gt;Solve patch issue:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Patch: erpnext.patches.v12_0.move_item_tax_to_item_tax_template&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fix:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;insert&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;into&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabSingles`&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doctype&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;field&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;values&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;Accounts Settings&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;allow_stale&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;insert&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;into&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabSingles`&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;doctype&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;field&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;values&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;Accounts Settings&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;stale_days&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ol&gt;
  &lt;li&gt;Solve patch issue 
&lt;strong&gt;Patch: erpnext.patches.v13_0.rename_issue_doctype_fields&lt;/strong&gt;
Fix:&lt;/li&gt;
&lt;/ol&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-sql&quot; data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;k&quot;&gt;update&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabIssue`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;resolution_by_variance&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;update&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`tabIssue`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response_by_variance&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ol&gt;
  &lt;li&gt;After fixing all patch issues, run &lt;code&gt;bench migrate&lt;/code&gt; again without &lt;code&gt;--skip-failing&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Install vuejs &lt;code&gt;npm install vue (first time)&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Run bench update &lt;code&gt;bench update —reset&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Remember to enable scheduler &lt;code&gt;bench --site all enable-scheduler&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;At this point, hopefully you would also have a working version of new ERPNext v13 already. To be honest, that was a lot of hours (even days) of mine. And I hope someone else can find that useful.
&lt;img src=&quot;https://user-images.githubusercontent.com/13928957/106147523-f69a5000-619d-11eb-8034-e46c0493605f.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Of course, the biggest lesson would be update earlier when the work is not too intimidating…&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;br /&gt;
Nathan&lt;/p&gt;</content><author><name></name></author><category term="tech" /><summary type="html">Why ? My ERPNext venture has been halted for a long while. However, we do have an existing customer to support. They have been using the system for a long while without any issue. However, no upgrade means no new features and this time they are really in need of that</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/erpnext-logo-copy.png" /></entry><entry xml:lang="vn"><title type="html">2020 - Thời gian là tương đối - 2021 Sài Gòn bị thương</title><link href="/2021/07/03/Thoi-gian-tuong-doi.html" rel="alternate" type="text/html" title="2020 - Thời gian là tương đối - 2021 Sài Gòn bị thương" /><published>2021-07-03T00:00:00+07:00</published><updated>2021-07-03T00:00:00+07:00</updated><id>/2021/07/03/Thoi-gian-tuong-doi</id><content type="html" xml:base="/2021/07/03/Thoi-gian-tuong-doi.html">&lt;h1 id=&quot;năm-2020&quot;&gt;Năm 2020&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Tháng 2 năm 2020&lt;/strong&gt; đánh dấu ngày An ra đời giữa lúc đại dịch bắt đầu bùng phát.&lt;br /&gt;
Năm 2020 trôi qua vừa nhanh vừa chậm, theo một cách khó diễn tả.&lt;/p&gt;

&lt;p&gt;Như thể có một ai bấm &lt;strong&gt;&lt;em&gt;Pause&lt;/em&gt;&lt;/strong&gt; ở trước đại dịch và tua thật nhanh qua phần còn lại của 2020.&lt;br /&gt;
Cụm từ &lt;strong&gt;BC (Before Coronavirus)&lt;/strong&gt; ban đầu mình nói đùa với bạn bè hoá ra thành trend thật.&lt;/p&gt;

&lt;p&gt;Và nó cũng có nghĩa là đây sẽ là một cuộc chiến dài hơi.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2021Jul/virus.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;năm-2021&quot;&gt;Năm 2021&lt;/h1&gt;
&lt;p&gt;Rồi năm 2021 đến và 4 tháng đầu trôi qua nhanh chóng với mọi việc phát triển bình thường. 
Cả công ty lên văn phòng và hầu như không còn ảnh hưởng của đại dịch… Cho đến khi …&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Biến chủng Ấn Độ&lt;/strong&gt; xuất hiện ở Việt Nam cùng lúc với &lt;strong&gt;kỳ nghỉ lễ lớn 30/4 - 1/5&lt;/strong&gt;. Đây là giây phút bất cẩn gây ra làn sóng thứ 2&lt;/p&gt;

&lt;p&gt;Giờ thì mình nghĩ là với vắc xin thì sớm muộn Corona cũng chỉ trở thành 1 loại cúm mùa tiếp theo.&lt;br /&gt;
Điểm khó khăn là vượt được qua giai đoạn này. Sài Gòn hiện này mỗi ngày đều trên 200 ca, một số ngày 400+ ca.&lt;/p&gt;

&lt;p&gt;Singapore đang làm cực tốt đối phó với chủng mới. Và họ dựa vào vắc xin.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2021Jul/vaccine.jpg&quot; class=&quot;img-auto&quot; style=&quot;max-width:400px&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Dù sao hiện giờ mình đang rất may mắn khi công việc tiến triển bình thường online trong khi người lao động đang khó khăn kinh khủng.
Chắc chắn sẽ tìm một quỹ nào đó để quyên góp cho thành phố trong vài ngày tới&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sài Gòn cố lên, chúng ta sẽ bật mạnh hơn gấp nhiều lần sau dịch !!!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2021Jul/saigon.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content><author><name></name></author><category term="life" /><summary type="html">Năm 2020 Tháng 2 năm 2020 đánh dấu ngày An ra đời giữa lúc đại dịch bắt đầu bùng phát. Năm 2020 trôi qua vừa nhanh vừa chậm, theo một cách khó diễn tả.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2021Jul/time.jpg" /></entry><entry xml:lang="en"><title type="html">Death and FOMO</title><link href="/2021/05/08/Death-and-FOMO.html" rel="alternate" type="text/html" title="Death and FOMO" /><published>2021-05-08T00:00:00+07:00</published><updated>2021-05-08T00:00:00+07:00</updated><id>/2021/05/08/Death-and-FOMO</id><content type="html" xml:base="/2021/05/08/Death-and-FOMO.html">&lt;h4 id=&quot;the-shock&quot;&gt;The Shock&lt;/h4&gt;

&lt;p&gt;A friend of mine since secondary school has passed away last week. We have been sitting together on the same table (only the 2 of us) for a whole year. So much laughter and so many class rules broken. After high school, however, we have sort of gone down different paths but in my mind, he was still always very close. Always smiling and talk a lot. That’s him.&lt;/p&gt;

&lt;p&gt;Pains in my heart thinking he is still too young, in his early thirty’s, just like me. Why? When? How? Just happened that I had disabled my Facebook newsfeed months ago. The news, hence, has broken down to me really late. Tearing up slightly when joining his funeral. I don’t feel having enough time to comprehend how it was happening. I remembered coming home that day slight feverish. That whole night passed, blurry.&lt;/p&gt;

&lt;p&gt;He’s left, but his smiles stayed for all of us. The life and the impact he has was tremendous. &lt;br /&gt;
I hope he have found peace prior to passing because of the wonderful life he has.&lt;/p&gt;
&lt;div class=&quot;video-container&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/V1v5mAOgTJg&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h4 id=&quot;fomo&quot;&gt;FOMO&lt;/h4&gt;
&lt;p&gt;Today, a few days later, still being stuck at the comprehension of his passing, I just somehow remembered a movie that haunted me most of my childhood. It’s about the afterlife.&lt;/p&gt;

&lt;p&gt;In that movie, I remember vividly an image of a guy holding an umbrella jumping from place to place from cliffs to caves. Mind you, it was all dark. He met a lot of people just like him holding an umbrella, jumping around. And the generic rule of this world is if you are lighter (the more goods you do the lighter you are) then you fly to the higher level where it is more lively and if you are heavier, it’s the reverse. That seems to be the whole movie. This guy, however, keep falling no matter how hard he tried. He can jump together with several people, and they are all going up, just him going down. Finally, he is just all alone with an umbrella.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2021May/guy-umbrella.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Simple and non-sense movie ? Since the day I’ve watched it, that still remains my biggest fear, being that guy after dying. What if, eventually, there would be no one left ? In my funeral and way after that ? I was super annoyed when I knew we would all be dead one day. But it was still nothing comparing to that loneliness. My fear of death doubled ever since.&lt;/p&gt;

&lt;p&gt;Growing up, I gradually learned to control that fear, that fear of being left behind, that fear of having no one around. But deep down it is still there. And it’s just in our nature, I guess, which is why there is a term for it FOMO (Fear Of Missing Out). Watching others moving forward while own self stuck at no where is not an easy feeling.&lt;/p&gt;

&lt;p&gt;His so-sudden passing made me realize that there might be no time left tomorrow for FOMOs on minor stuffs. Think about it, truth is most of the FOMOs we have today can suddenly become incredibly petty when facing Death. Essentially, to me FOMO is the same as the f&lt;em&gt;ck we’ve given in life (refer to The Art of not giving a F&lt;/em&gt;ck).&lt;/p&gt;

&lt;p&gt;It feels like someone just hit me in the face with a brick to remind that I really have to prioritize and focus. Time is precious and limited, spent it wisely with the people and to the works that are most meaningful to me. Let us end this with a quote from Steve Jobs regarding the same topic:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When I was 17, I read a quote that went something like: ‘If you live each day as if it was your last, someday you’ll most certainly be right.’ 
It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: “If today were the last day of my life, would I want to do what I am about to do today?” 
And whenever the answer has been “No” for too many days in a row, I know I need to change something.&lt;/p&gt;

  &lt;p&gt;Remembering that I’ll be dead soon is the most important tool I’ve ever encountered to help me make the big choices in life. 
Because almost everything — all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important. 
Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. 
You are already naked. There is no reason not to follow your heart.&lt;/p&gt;
  &lt;p class=&quot;author&quot;&gt;Steve Jobs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;video-container&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/xoUfvIb-9U4&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;</content><author><name></name></author><category term="life" /><summary type="html">The Shock</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2021May/guy-umbrella.jpg" /></entry><entry xml:lang="vn"><title type="html">Viet An 2020</title><link href="/2020/03/29/Viet-An.html" rel="alternate" type="text/html" title="Viet An 2020" /><published>2020-03-29T00:00:00+07:00</published><updated>2020-03-29T00:00:00+07:00</updated><id>/2020/03/29/Viet-An</id><content type="html" xml:base="/2020/03/29/Viet-An.html">&lt;h1 id=&quot;việt-an-19feb2020&quot;&gt;Việt An 19/Feb/2020&lt;/h1&gt;
&lt;p&gt;Ngày 19 tháng 2, từ nay trở thành một ngày hết sức đặc biệt. Ngày con gái chào đời. Blog đầu tiên bằng tiếng Việt của mình đánh dấu một hành trình mới.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An&lt;/strong&gt; sinh ra giữa lúc đại dịch đang làm xáo trộn tất cả mọi thứ. Chính phủ phải phong toả thành phố, mọi người phải giữ khoảng cách với nhau đề phòng dịch bệnh. Hàng quán phải theo lệnh đóng cửa. Điểm tích cực duy nhất là mức độ ô nhiễm của Sài Gòn giảm đáng kể, phố xá vắng lặng. Điều mà nhiều thập kỷ qua không hề thấy được. Học sinh có kỳ nghỉ Tết dài nhất trong nhiều chục năm, có lẽ là trong cả đời đi học.&lt;/p&gt;

&lt;p&gt;Lúc đang viết thì thế giới đã có hơn 600K người nhiễm bệnh, hơn 30K người đã tử vong. Từ đây đến cuối năm, khả năng cao là sẽ có suy thoái kinh tế. Hệ luỵ của việc này chắc hẳn cũng to lớn không kém thiệt hại nhân mạng. Tình trạng thất nghiệp sẽ gia tăng và đi cùng nó là tỉ lệ tội phạm.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2020Mar/corona-29Mar.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Trong cái sự hỗn loạn đó, 1 tháng vừa qua có vẻ như là 1 tháng dài nhất mình đã trải qua. Nó là 1 khoảng thời gian hết sức kỳ lạ với tất cả mọi người. Ngoài việc sức lây lan và huỷ diệt khủng khiếp, COVID-19 dường như đã ép thành công gần 70-80% dân số toàn cầu sống chậm lại. Ngay cả mẹ mình, 1 giáo viên văn cấp 3, người mà mình cho là &lt;code&gt;workaholic&lt;/code&gt; nhất thế giới, vì COVID-19, mà đã bắt đầu phát triển sở thích riêng, ngồi học vẽ bút chì. Còn vợ chồng mình thì tự nhiên cả 2 được ở nhà chăm An.&lt;/p&gt;

&lt;p&gt;Đối với nhiều gia đình, đây là thời gian gần như duy nhất cả nhà được cùng quây quần bên nhau. Làm việc ở nhà (Work from home) trở thành cụm từ &lt;code&gt;hot&lt;/code&gt;, hashtag &lt;code&gt;#stayhome&lt;/code&gt; hay &lt;code&gt;social distancing&lt;/code&gt; toàn trên top trending. Trong cái hỗn loạn đó, lại có đôi phần bình an.&lt;/p&gt;

&lt;p&gt;Hầu như đối với mọi thảm hoạ, những người lao động phổ thông, thu nhập thấp đều là những người ảnh hưởng đầu tiên. Hy vọng niềm tin và lòng nhân ái sẽ là ngọn đuốc soi đường sau thời kỳ đen tối này của dịch. Và hy vọng năm &lt;strong&gt;An&lt;/strong&gt; ra đời sẽ được nhớ đến bởi sự nỗ lực của con người chống chọi với dịch hoạ thay vì những bóng đen của khủng hoảng. Và cũng như tên con, mình mong nước Việt được bình an qua khỏi sóng gió.&lt;/p&gt;

&lt;p&gt;Để bớt chán …&lt;/p&gt;
&lt;div style=&quot;text-align:center&quot;&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/5ATqv5Kpfyc&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;29 Mar 2020&lt;/p&gt;</content><author><name></name></author><category term="life" /><summary type="html">Việt An 19/Feb/2020 Ngày 19 tháng 2, từ nay trở thành một ngày hết sức đặc biệt. Ngày con gái chào đời. Blog đầu tiên bằng tiếng Việt của mình đánh dấu một hành trình mới.</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2020Mar/baby.jpg" /></entry><entry xml:lang="en"><title type="html">A new decade</title><link href="/2020/01/01/A-new-decade.html" rel="alternate" type="text/html" title="A new decade" /><published>2020-01-01T00:00:00+07:00</published><updated>2020-01-01T00:00:00+07:00</updated><id>/2020/01/01/A-new-decade</id><content type="html" xml:base="/2020/01/01/A-new-decade.html">&lt;blockquote&gt;
  &lt;p&gt;Life was not designed to give us what we want but life was designed to give us what we deserved&lt;/p&gt;
  &lt;p class=&quot;author&quot;&gt;Jim Rohn&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, 01-Jan-2020, marks a new decade. 
In 2010, I was just graduated for 1 year and still working in the University as a Research Officer.&lt;/p&gt;

&lt;p&gt;The last decade has been great to me:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Celebrate the decade long of love with wifey soon and will welcome our first kid next year&lt;/li&gt;
  &lt;li&gt;Been to 7 different countries, experienced a few of different cultures. Learnt Mandarin though not fluent still.&lt;/li&gt;
  &lt;li&gt;Jumping through a few jobs ranging from Academic Research to Game development, experience totally different working environments (both good and bad).&lt;/li&gt;
  &lt;li&gt;Joining a startup and following through for the last 5 years have taught me various skill sets from development to managing people.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;/images/2020Jan/startup.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The transition from 20s to 30s, however, is rough. And it feels like a mid-life crisis is hanging there somewhere waiting for me.&lt;/p&gt;

&lt;p&gt;But at the same time, coming back to Vietnam last year has made my mind clearer.&lt;br /&gt;
During the decade-long staying in Singapore, my mission and vision of the future got pretty blurry.&lt;/p&gt;

&lt;p&gt;Granted that Singapore was clean, safe, and more advanced in almost all aspects but I really don’t know what I have been doing there.
In Vietnam, I can tell surely that I will try my best contribute for a &lt;strong&gt;better environment and education&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2020Jan/environment_edu.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Another thing only recently I have realised is the &lt;strong&gt;science of how we can grow better&lt;/strong&gt;.
Since young, I have been pretty confident about my own intellectual capacity.
And for that reason, most of the exams in my life, I usually only spent the short period right before them to study and still passed.
That was bad, in the sense that it has given me a totally wrong idea of how to master a skill or a subject.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1% daily does beat 10% for 1 month by a far distance&lt;/strong&gt; (if anyone counting then it is 1.01^30=34.7% vs 10%).
It applies to not only money but also our growth. A bit everyday is the best way to grow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Habit is king, not perfection (so don’t waste time trying to make it perfect)&lt;/strong&gt;. It determines our behaviors, our characteristics. And therefore, our future, our successes.
Habits make us that magnet which can attract success, habits make us what we become, therefore, what we deserved.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2020Jan/thesun.jpg&quot; class=&quot;img-auto&quot; /&gt;&lt;/p&gt;</content><author><name></name></author><category term="life" /><summary type="html">Life was not designed to give us what we want but life was designed to give us what we deserved Jim Rohn</summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/images/2020Jan/2020.jpg" /></entry></feed>