Fitbit -> Garmin

Ever since joining the Fitbit camp many years ago, I have stuck with Fitbit year over year cycling through various fitness bands. As I started getting into a more serious running routine, the limitations of the Fitbit began to show.

Firstly, the physical size of the Fitbit restricted how much information could be displayed. I could either leave the screen on heartrate, or distance clocked, or time elapsed, but not all at once. It might be possible to squeeze these datapoints onto the same screen, however this option was not available directly from Fitbit and I can imagine the text would be illegible on the small display of the Fitbit.

The battery capacity of the Fitbit was not fantastic, even after turning off GPS, lowering the display brightness and setting the screen to turn off quickly. Always on display was disabled and lifting the wrist to light up the display was also disabled. When the device was fresh out of the box, these settings was sufficient for the battery to last an entire week, however over time the battery started draining more and more. About a year ago, the Fitbit decided to give up and lasted only a few hours on a full charge. Suspecting that the device was damaged, I tried various troubleshooting steps before contacting Fitbit Support who then replaced the device for me after multiple days of back and forth chats. That was the end of it, or so I thought. Fast forward to 2026, the exact same battery issue happened again, which makes this the second Fitbit to suffer this battery problem in under a year each. 

Looking for a replacement device in 2026 is rather tricky. Google decided to focus more on their smartwatches and has not released any new fitness trackers over the last 2 years (Fitbit Air just got announced not too long ago). The Google Pixel watches do look amazing, however as a sports watch they would not be the ideal candidate. Garmin is the next obvious choice, however their hardware has stagnated over the past few years and the latest tech is locked behind the higher tier models. The heartrate and sports tracking features of Garmin would certainly be levels above Fitbit, however for sleep tracking Garmin would lag behind.

Within the Garmin lineup, there are various models with similar hardware/features with the only differentiating factor being how recent they were released and the price point with which they are selling at. Since my primary goal of getting a tracker/watch is for tracking my runs, the obvious choice would be a forerunner model. That leaves me with the choice of Forerunner 70/165/170/265. The forerunner 165 would be the oldest model and therefore the cheapest, with the 70/170 being the newest and 265 being the higher tier model. Since all the models essentially have the very same heartrate tracker, performance wise there wouldn’t be too much difference which narrowed down the focus to either 70/165/170. Honestly I don’t see much incentives to get the latest models, so the decision fell on the forerunner 165 which at this point is two years old and probably not going to receive any new features/updates. 

Continue reading “Fitbit -> Garmin”

Running Journal

A few months ago, I was introduced to Zone 2 training by a colleague as a way to improve my cardio levels. For the past decade or so, I have solely been doing fast and short runs of up to 5km and intermediate runs of up to 10km, all of which were at heartrates of over 180bpm. Intrigued by this concept of running slower, I started to dig into the world of Zone 2 training and came to the realisation that I have simply been running wrongly pretty much my entire life. 

Determining Zone 2 HR

Eager to enter the world of Zone 2 runs, I first calculated my Zone 2 heartrate using the simplest method of 60-70% of (220 – Age) which translated to around 130-135bpm. Sounds alright, until I had my first run and found the pace to be unbearably slow and weird. Researching further into the heartrate zones, I came across the Karvonen method and the MAF formula which seems more realistic compared to the traditional method which just uses a blanket formula for everyone based on age alone.

To make things simpler, I adopted the MAF formula while keeping Karvonen in mind as that would give me some range to push my heartrate higher when required. The pace was still slow after allowing my heartrate to rise higher, but slowly over time I found that my pace is improving while keeping within the same heartrate range. The improvements were minor and inconsistent, which may then be explained by environmental factors such as temperature or humidity or simply how well hydrated I was. 

Intervals

When you start to dive into new interest topics, the algos pick it up real quick and start to recommend related topics to you. Enter intervals training, where you sprint for a distance and then slow down to rest for a short period before repeating again. Using AI as my running coach, I followed a training plan “tailored for me” based on the data I have been feeding to it and a weekly intervals session was recommended. I started off with 400m sprints and 200m walks which felt kind of easy so the next step up was 800m sprints and 400m walks. This was manageble for the first few sets however the 400m walk was not sufficient to bring down my heartrate in time before the next set, so the subsequent sets suffered and often gave me stitches. Nontheless, my AI coach advised me to push ahead, raising the stakes to 1000m sprints. This is simply disastrous advise as 1000m was simply too much and I could barely make it past 5 sets before having to cut the training.

Dropping back down to 400m sets, I repeated the intervals training for a while before concluding that there was not much improvements and back to the drawing board with my AI coach we go. 

Serious Zone 2 Training

One of the key principles of Zone 2 training, or any kind of training, is to commit to it instead of jumping around various training strategies. I agree with the saying that Zone 2 may not be the best training method but it would be a good way to massively increase my mileage without sacrificing my recovery time. The only downside is that I spend way more time running than if I focused on intervals or just doing fast runs. 

Around March of this year, I decided to try raising my weekly mileage by incorporating long distance Zone 2 runs of around 15km and above. If I could sustain this over a month and see improvements, this would prove that the method works for me. Fast forward a month, not only did this produce improvements to my pace, it also did not require long recovery periods which I needed after my all out sprints. For reference, take a look at the chart below of all my runs YTD. 

Continue reading “Running Journal”

Excel Dynamic Arrays

Over the course of a nearly 10 year long investing journey, I have racked up a rather messy and complicated Excel workbook tracking the trades and performance of the portfolio. Yes the fault is entirely mine, without a structured approach to workbook planning this was bound to happen.

Bad Excel Habits

My investing preference has always been dividend focused, seeking out undervalued or stable dividend payers listed on SGX. This meant that each time there was a corporate action, be it a dividend payout or rights issue, I had to manually track that in the workbook. This is not really a major problem, just a few minutes of work every month or so at the beginning. The story changes as the portfolio scales up, instead of 1-2 companies in the portfolio, this slowly grew to double digits. Making things worse was that a majority of S-REITs have a quarterly payout, but on the bright side I get a tidy bit of cashflow every 3 months. 

In order to track the dividend payouts, I had a simple table which listed the XD date, the stock name, DPS and payout amount. Each stock would have its own little table tracking the cumulative dividends paid to date, to help with graphing the ROI trend. A macro manages this aspect. Next, there is a separate table which records the “Hall of Fame”, top dividend payers per corporate action. This was calculated using a LARGE formula to automatically sort out the dividend value by descending order, another column then runs a INDEX-MATCH to locate the stock which paid that amount along with the XD date. The major flaw with this approach is that if we have 2 stocks paying the same amount down to the cent, this solution would incorrectly double count one of the company and ignore the other. I had this concern when designing the table, but went ahead with it thinking what are the chances that we have 2 companies payout the exact same amount? 

How wrong could I be? I ended up with 2 separate occurrences of duplicates, but this was temporarily solved by replacing the duplicated formula with a XLOOKUP which sorts in an inverse order to pick up the lagger. One minor drawback is that this inconsistent formula will have to be manually adjusted each time I have a new joiner to the “Hall of Fame” which re-orders the ranking.  

Continue reading “Excel Dynamic Arrays”

March Site Migration

Long has it been that I wanted to migrate this site to a clean new slate. Response time was slow as a crawl and often the SSL certificate provided by the webhost broke down, presenting visitors with the dreaded warning page to turn back. What finally counted as the final straw was the increasingly frequent server downtime sending all traffic to the webhost’s own landing page.

So started the plan for a site migration. What will be some decent webhosts? Any of them offer cPanel? Shall I also get a domain name instead of using the subdomain provided by the webhost? It is not a fun job to migrate from one webhost to another, should there be a hiccup I might lose all the content/backups. Therefore the solution has to be resilient and also reduce the need for further migrations in the future.

Gears kicked to the next phase as I received an unexpected text from an old friend with a webhost recommendation. Upon checking out the site, I was stoked. The search is now over, I have a new home for my site. If you’re reading this, thank you for introducing 2 of the best webhosts I have used in the entire history of this blog. My other choices of webhosts were terrible in comparison and borderline nightmarish. I also made the decision to order a domain and here we are, live on the internet as of 6 March 2022.

Noticeable improvements over the previous webhost

  • Better responsiveness/lower latency
  • SSL that actually works
  • Minimal server downtime
  • More generous disk quota/host resources (migrated some resources from external third party hosts to the webhost)
  • Other quirky conflicts (non critical) no longer a concern
Jellyfish?

Photo Dump

Jan 2021

Updates
– Fixed URL link in top menu “Home”
– Forced SSL and https redirect for all pages
– Fixed buggy lightbox implementation

Bugs
– latency has increased dramatically, could be linked to either the webhost or one of the plugin updates
Update (14/2/2021):
Identified embedded Youtube videos as the cause of the increased latency. The videos from Youtube was loading additional JS files which dramatically increased loading times before the page elements became visible. A page break has been introduced before the videos to fix this issue.

Gallery

Album below is restricted to 16 photos to avoid clutter. Click on the “View More” button to load the remaining photos

Now Reading

Started on The Phoenix Project and completed 25% so far. At this rate, it’ll take another 3 days to finish this novel, though I doubt I will have the time to read once the weekends are over. Borrowed this book through overdrive and the book was sent directly to my Kindle. A relatively simple and efficient process(although the kindle sync took some time to download the book), let’s see if the book is automatically removed once the due date reaches.

Continue reading “Jan 2021”

July 2020 : Quarterly Summary

What a year. It has been 3 months since the last public post, much has occurred in this duration. 


Graduating into a recession

Pre-Covid19, it was almost certain that the world economy would lose steam in 2020. We were nearing the the end of the long term debt cycle, it was merely a question of when the recession will strike. Is it possible to avoid a recession entirely? Theoretically it is possible, although like all cycles, a recession merely corrects the faults that have build up in this period and remove the ineffective firms so the healthy ones can progress on. To avoid a recession would be kicking the can down the road, protecting firms which no longer contribute to the economy except to leech off resources.

The Final Semester

What I had not expect, was the emergence of a worldwide pandemic to accelerate the situation and send the world into a shutdown. My final semester in “school” would thus be mostly spent in the comfort of my own room. Not that I had to spend much time in campus anyways. By aggressively pilling on modules early on in Year 1 and 2, I was left with only 3 modules in the final semester.

The plan was to allocate the final semester solely to completing my Final Year Project, instead of sharing precious time with other core modules. This gamble did not produce the results I had expected, as the first few years of modules cramming resulted in lower than expected grades and the final semesters becoming too “free”. Final exams were mostly cancelled, with one modules being graded solely based on the results on a single test. A test which I scored 90% on. The A+ grade was all but certain for this module.

Job Hunting

The Aviation industry had a rather gloomy outlook early on when the pandemic struck. With countries on lockdown and fears of importing the virus forcing air travel to a minimum, there was no doubt the industry would not fare well in the coming months and years. This meant there wouldn’t be much job opportunities in the MRO or manufacturing sectors, if any at all. Job cuts seemed very probable as well.

To counter this, I had to focus my attention away from the industry, into companies and career paths which was outside my area of expertise and plans. The entirely job hunting period was stressful and bumpy, but thankfully short and fruitful.

The Telelens

Ever since I took my first moon shots a couple of years back, I knew I wanted to try again sometimes in the future with better equipment. A better camera and a better lens. What defines a better camera and a better lens? A camera with more megapixels for cropping and wider dynamic range definitely helps, as my initial setup only managed to hit an equivalent of 300mm, producing a photo with the moon taking up a small white speck on the frame. It was torturous to even get the focus right at that size. Next would be a lens which had a longer telephoto focal length with image quality sufficient to capture the fine details of the moon craters instead of capturing a photo which can pass off one taken with tiktok face smoothing filters.

The ideal telephoto lens would be a decent 70-200 f2.8, but it’s expensive and not entirely suitable for moon shots or wildlife photography. A 100-400mm lens fits the role better but suffers from poor low light performance and less attractive bokeh. At half the cost of a used 70-200 the price-performance value the 100-400 presents in unbeatable, though if money is not a consideration getting both would be the solution.

The photos above are taken with the Sigma 100-400 lens in good lighting conditions. Focusing seems to be limited by my camera, although with only one body I am unable to confirm the suspicion. The lens performs decently well although it seems to have a tendency to lose focus and get stuck on the far end without being able to refocus back to the subject automatically. The focus ring is also stiff and a little grindy when turned, almost as if sand got into the focus ring.

moon
Continue reading “July 2020 : Quarterly Summary”