Code Refactor Tips

 |  7 minute read

Just like food and beverages or the any other things which have an expiry date, code also expires and rottens as features keep stacking onto the existing project, which results in a large amount of redundant, ad-hoc, buggy work in the workspace and eventually increases the cost of maintenance for both new feature development and bug fixes.

Read more...

CS5346 Report - Singapore Property Market Analysis

 |  10 minute read

Singapore’s housing market remains a healthy and steady growth in the past years. Even though the struggling economy caused by the COVID-19 pandemic, there is still a 2.2% of residential property index rose. With limited land supply in a small island country, it is believed the price will continiously prop up in future. This project aims to bring some insights for the property buyers or potential property buyers by providing an overview of important characteristics of properties across different districts in form of geo map and a few further analysis like project development trends, distrcts transactions heatmap, and etc.

In this project, multiple public service APIs and data sources have been utilized and used to form the visualisation data. Tableau is used as the tool to provide various forms of visualisation for different analytical queries.

Macbook

Read more...

Learning D3.js

 |  7 minute read

D3.js is a popular and powerful data visualisation js framework which helps developers and business stakeholders to visualise and demonstrate ideas via representing big chuncks of data. Compare to other tools, it provides the following advantages:

  1. popular and well-known: it contains lots of resources and tutorials make the learning process relatively easy.

  2. flexibility: the framework itself comes with greate flexibility from low level components like shapes, scales, animations to high-level from gadgets.

  3. renowned for animation and interaction, animations can be a powerful device for storytelling.

Example of embededd D3.js cells

Read more...

iOS testflight release via fastlane automation

 |  1 minute read

A summary for testflight release process via fastlane, for a project which enabled bitcode, the DSYM file needs to be generated via applestore, hence there will be a asynchronous timing interval in between the uploading the archive to apple store and sync the dsym file from apple store and the crash monitoring service.

Read more...

Installing WSL

 |  2 minute read

Recently I built up a new personal PC via scratch, since the primary operation system has been chosen to be windows since the PC needs to be used by all family members. I have tried to install and configured the WSL(windows subsystem for linux) to make it friendly to me so I can still use those tools and commandline scripts in my linux environment. Here are some tips and tricks I learned in order to make it work properly.

Macbook

Read more...

RxSwift Study Notes

 |  2 minute read

Due to two of my recent projects heavily used RxSwift framework and the popularity of the framework in the community, I decided to spend my spare time in the weekend to have a thorough study on the project itself. As the name implies, the RxSwift framework is the swift implementation of the famous ReactiveX API standard. It is purely event driven and follows functional programming paradigm, serving as an excellent glue layer in common architectural design patterns like MVVM.

This article is the summary of core data structures of RxSwift and how the core models work together in an event subscription chain.

Read more...