Blog
-
The C4 Model for Visualising Software Architecture
-
Mastering Digital Leadership - Lessons on Lean Innovation and Continuous Learning from NUS-ISS
-
Automating DNS Management in Kubernetes with ExternalDNS
-
Overcoming Fear - My Journey Through Storytelling and Building Confidence
-
A Guide to Mindful Acceptance
-
How to Deal with Free Riders in Team Projects - A Guide to Managing Teamwork Challenges
-
Ethical Considerations in Implementing AI Solutions in Your Business
-
Balancing Cybersecurity and User Experience - A Practical Guide for Businesses
-
The Role of Cybersecurity in Digital Transformation - Building, Buying, and Balancing Value vs. Cost
-
Embracing Failure - The Pathway to Success
-
Understanding Logging in Kubernetes - From Containers to Nodes
-
Mastering Long-Term Thinking - How to Build a Resilient and Innovative Organization
-
Understanding Kubernetes Autoscaling - Speed and Traffic Capacity
-
Engage in Energizing Activities - The Power of Exercise
-
Embrace Career Growth - Exploring Possibilities, Navigating Change, and Building a Meaningful Future
-
The Pitfalls of Philosopher King - Why Morality Alone Isn’t Enough for Effective Leadership
-
Understanding Data Governance in the Digital Age
-
Identifying the Risks Organizations Face - Key Considerations for Risk Governance
-
Continuous Improvement - A System for Innovation and Progress
-
The Entrepreneurial Spirit - A Journey of Innovation, Mission, and Leadership
-
Leadership in the Balance - Navigating Execution and Innovation
-
The Triple Bottom Line - A Blueprint for Sustainable Business Success
-
Crafting a Balanced Governance Strategy for a Growing Fintech Startup
-
Insights into China's Digital Transformation and Innovation
-
Reflection on Study Trip to Hangzhou
-
The Power of Storytelling in Digital Business Case Development
-
Navigating the Future of Business in the Digital Age
-
Maximizing Efficiency and Collaboration with Gig Workers
-
Harnessing AI Tools in Software Engineering
-
Fostering a Culture of Continuous Learning
-
Transforming the Solution Architect Role for 2030
-
Navigating Uncertainty in Digital Transformation
-
The Soft Skills to Drive Change
-
Migrating from AWS RDS to Aurora
-
The Age of AI - Insights on the Future of Artificial Intelligence
-
Enhancing Team Learning with AI-Powered Customer Insights
-
A Leader’s Blueprint for Renewing Motivation and Driving Innovation
-
KEDA - Kubernetes Event-driven Autoscaling
-
Enforcing Kubernetes Policies with Gatekeeper
-
Migrating my blog from Gatsby to Astro
-
An Overview of Reinforcement Learning
-
Reflection on Leadership Tension - The Expert vs. The Learner
-
A Guide to Kubernetes Backup and Disaster Recovery
-
The Fundamentals of Support Vector Machines
-
LlamaIndex Framework - Context-Augmented LLM Applications
-
LangChain - A Framework for LLM-Powered Applications
-
Building an RNN with LSTM for Stock Prediction
-
The Importance of Data Privacy
-
Optimizing Kubernetes Cluster Management with Intelligent Auto-Scaling
-
AWS Secrets Manager and CSI Drivers - Enhancing Kubernetes Security and Management
-
Exploring Generative Adversarial Networks (GANs) - The Power of Unsupervised Deep Learning
-
The Augmented Dickey—Fuller (ADF) Test for Stationarity
-
Running npm install on a Server with 1GB Memory using Swap
-
Understanding My Top 5 CliftonStrengths
-
Understanding ArchiMate Motivation Diagram
-
Embracing Digital Twins Technology - Key Considerations, Challenges, and Critical Enablers
-
Minimizing GPU RAM and Scaling Model Training Horizontally with Quantization and Distributed Training
-
Types of Transformer-Based Foundation Models
-
Singapore Airlines' Digital Transformation Story
-
First Principle Thinking - A Path to Innovative Problem-Solving
-
The Digital Transformation Success Story of The New York Times
-
The Power of Personas and How Might We Questions in User-Centric Design
-
Why Operational Plans Fail - The Perils of Groupthink and Assumption
-
Understanding LoRA - Low-Rank Adaptation for Efficient Machine Learning
-
Cluster Linking in Confluent Platform
-
Beyond Technical Expertise
-
Key Principles to Lead in the Digital Age
-
Memory Management and Concurrency in Go
-
How to Sell Software Products
-
Benefits of ELK Stack - Elasticsearch, Kibana, Beats & Logstash
-
Chinchilla Scaling Laws - Optimizing Model and Dataset Size for Efficient Machine Learning
-
Understanding Transformer Architecture in Large Language Models
-
Navigating Challenges and Cultivating a Culture of Innovation
-
The Future of Personal Tech
-
Navigating Networking - Overcoming Barriers and Maximizing Potential in the Tech Industry
-
Weekend Escapes from Singapore - Discover the Charm of Macau
-
Harnessing the Power of Hypothesis-Driven Problem-Solving in Business
-
Unlocking the Full Potential of a Cross-Functional Team
-
My Journey in Digital Transformation Consulting for the Banking Industry
-
My Personal Brand in Software Architecture and Consultancy - Embracing Perfection and Continuous Improvement
-
Understanding the DISC Personality Test - My Conscientiousness and the Perfectionist Pattern
-
Building Docker Images for a Python Flask Server - A Step-by-Step Guide
-
Embracing Challenges and Transforming My Career Path
-
The Essential Approach to Master Enterprise Architecture
-
Lessons Learned from a Decade of Startup Architecture and Organizational Design
-
Transforming the Singapore Cruise Centre with Digital Architecture
-
Understanding MutatingWebhook in Kubernetes - Enhancing Resource Management
-
AWS CloudFormation - Automating Cloud Infrastructure
-
A Four-Step Framework for Structured Problem Solving
-
AWS Private CA - Simplifying Certificate Management
-
TOGAF ADM - A Guide to Architectural Design Mastery
-
Exploring Retrieval-Augmented Generation (RAG)
-
Challenges and Opportunities in Airline Cabin Interior Design
-
Unlocking the Power of GIN Indexes in PostgreSQL
-
Understanding AWS Aurora Replica vs Cloning
-
Guide to AWS Database Migration Service (DMS)
-
How I Study and Prepare for AWS Certification Exams
-
Pros and Cons of Event-Driven Architecture
-
Asynchronous Communication with Apache Kafka
-
Our Future is AI - Choosing the Companion You Want to Live With
-
Embracing the Axioms of Digital Architecture for Transformation
-
ISO 20022 - the Global Standard for Financial Messaging
-
Microsoft Fabric - Revolutionizing Data Analytics in the AI Era
-
A Pragmatic Approach Towards CDK for Terraform
-
Centralized TLS Certificate Management with HashiCorp Vault PKI and Cert Manager
-
Securing Your Applications Anywhere with F5 and Hashicorp Vault
-
Observability in GraphQL - Navigating the Complexities of Modern APIs
-
Neo4j and the Power of Graph Databases in Data Science
-
Business Capabilities - The Building Blocks of Business Architecture
-
Deploying a Python Web Server to Production with Kubernetes
-
Managing Digitalization Complexity in Scaling for Complex Products
-
Enhancing Negotiation and Presentation Skills for Enterprise Architects
-
Enhancing Digital Security with Certification Pinning
-
Embracing Data to Drive Success - A Comprehensive Guide for Data-Driven Organizations
-
Navigating the Complexity of Data Architecture
-
Istio Gateway and Virtual Service - Simplifying Service Mesh Routing
-
Integrating Hybrid Networks with AWS Route 53, Transit Gateway, and Direct Connect
-
Bidirectional Forwarding Detection (BFD) in Network Environments
-
An Introduction to Border Gateway Protocol (BGP)
-
Understanding Generic Routing Encapsulation (GRE)
-
Understanding IPsec and MACsec - Securing Network Communication
-
Understanding Equal-cost Multi-path Routing (ECMP)
-
Understanding the Cynefin Framework - Navigating Complexity in Decision-Making
-
Understanding System Archetypes in Complex Situations
-
Understanding AWS Security Hub - Your Centralized Cloud Security Posture Management Solution
-
Navigating the New Landscape of PCI DSS Version 4.0
-
My journey to discover the Youtube algorithm
-
How to Make the Most of Your Time for Personal and Professional Development
-
Developing a Career Path in Architecture - Navigating the Complexities and Embracing Continuous Learning
-
The Art of Negotiation and Leadership in Software Architecture
-
Mastering Cloud-Native Applications - A Comprehensive Guide to the 12 Factor App Manifesto
-
Nudges - A Gentle Push Towards Better Choices
-
Unraveling the Mind - A Deep Dive into Cognitive Biases and How They Shape Our Decisions
-
Understanding the Kepner-Tregoe Technique - A Guide to Enhanced Problem-Solving and Decision-Making
-
How to Lead a Team
-
Enterprise Service Bus (ESB) vs. API Gateway in Modern IT Architecture
-
How to Work Well on Teams
-
Understanding AdaBoost and Gradient Boosting Machine
-
Understanding Bootstrap Aggregation and Random Forest
-
Understanding Inertia and Silhouette Coefficient - Key Metrics in Clustering Analysis
-
Understanding Regularization - Lasso, Ridge, and Elastic Net Regression
-
Go To Market (GTM) Strategy
-
Traveling to Auckland
-
Infrastructure as Code - HashiCorp Terraform
-
Unlocking the Productivity Equation - A Holistic Approach to Getting More Done
-
Discovering the Dynamic Cityscape of Kuala Lumpur
-
The Consideration Guide of Buy vs Build Software
-
Taking Control of Your Life - Boundaries, Saying Yes, and the Art of Saying No
-
A Guide in Developing and Improving Essential Skills
-
Argo CD - Declarative GitOps CD for Kubernetes
-
Develop Essential Skills for the Future of Work
-
A comparison of CI/CD tools - Jenkins vs AWS CodePipeline
-
A Comparison of AWS Cognito vs. AWS IAM Identity Center
-
AWS Control Tower - A Secure and Governed Multi-Account Environment
-
A Comparative Overview of Imperative vs. Declarative API
-
A Traveler's Guide to London
-
Ionic Framework - An Open-Source SDK for Hybrid Mobile App Development
-
Mastering the Go-To-Market Strategy
-
ChromeOS Flex for PC - A Second Life for Your Old Hardware
-
Understanding the Benefits Dependency Network - A Key Tool for Project Management
-
Navigating Organization Restructure - The Imperative Role of Good Communication
-
A Step-by-Step Guide - How to Connect to PostgreSQL using DBeaver
-
Exploring the Heart of Bangkok - A Nighttime Adventure in Thonburi and Rattanakosin
-
Exploring the Majesty of Bangkok - A Temple-Focused Itinerary
-
Networking Subnets and Calculating Number of IP Addresses
-
Labeling Kubernetes Resource with Bash Script
-
Designing Effective Application Architecture for Ethereum
-
Zero Knowledge Proofs (zk-SNARKs) - Unveiling the Math Behind DeFi
-
Exploring Jaeger - Unveiling the Power of Open-Source End-to-End Distributed Tracing
-
How We Learn? Unveiling Paths for Personal and Organizational Growth
-
Unveiling Value Creation in Consumption - Rethinking Disruption in Traditional Sectors
-
Shifting from Goods-Dominant to Service-Dominant Perspective
-
The Dynamics of Value Creation and Co-Creation in the Digital Age
-
Best Practices for Optimal Results in Software Performance Testing
-
PostgreSQL vs. Oracle Database - Why Open Source Prevails
-
Lessons Learned from Disaster Recovery on the Cloud - Embracing Resilience
-
Demystifying OpenID Connect (OIDC) - The Key to Secure and Seamless Authentication
-
Explaining JSON Web Tokens (JWT) - A Secure and Versatile Authentication Mechanism
-
Demystifying Apache Kafka
-
Kubernetes Operator - Simplify, Automate, and Enhance Your Deployments
-
Demystifying SSL Certificates - Understanding .pem, .crt, .p12, and .key Files
-
Enhancing Security with Mutual Transport Layer Security (mTLS)
-
Authentication with HashiCorp Vault Kubernetes Auth Method
-
Fostering a Culture of Ownership and Collaboration - Empowering Teams to Find Solutions
-
Unleashing Productivity with Vim - A Powerful Text Editor for All
-
Striking a Balance -The Pitfalls of Excessive Security in Software Development
-
Maximizing Efficiency and Performance with Database Pooling
-
Exploring Melbourne - A Vibrant Journey Through Australia's Cultural Capital
-
Role-Based Access Control (RBAC) in Kubernetes
-
Content Delivery Networks (CDN) - Accelerating Web Performance
-
Preparing for System Design Interview
-
Understanding Observability in Software Distributed Systems
-
Understanding the CAP Theorem - The Balancing Act of Distributed Systems
-
Monitoring Systems and Services with Prometheus
-
Demystifying Innovation - Unveiling the True Drivers of Progress
-
Unlocking Scalability and Agility with Event-Driven Architecture
-
Conquering the Fear of Public Speaking - Unleash Your Inner Orator
-
Exploring the Vibrant Heart of Indonesia - Jakarta
-
Introduction of Grafana Dashboard
-
Learn the Art of Effective Communication - Talking to Your Boss without Being a Problem
-
The Marshmallow Challenge - Unveiling Lessons in Teamwork, Creativity, and Innovation
-
Create An Innovation Strategy with Design Thinking
-
Application Of Innovation Approach with Design Thinking
-
Understanding ERC20 Tokens - the Backbone of Fungible Tokens on Ethereum
-
Enhancing Software Security with DevSecOps
-
Exploring Assisted Intelligence for Operations (AIOps)
-
Introduction to Amazon DocumentDB
-
Gatsby Frontend - Blending Performance, Efficiency, and User Experience
-
CQRS Pattern in Microservices Architecture
-
Next.js - The React Framework for Building Modern Web Applications
-
How to Transform Your Idea into an Investment by Crafting an Irresistible Pitch
-
Career Conversations - Discovering Strengths and Values
-
Saga Pattern in Microservices Architecture
-
Challenges of MBA Programs
-
Checklist for Software Upgrades in Production Environments
-
Digital Transformation
-
Setting Up Python with Pyenv
-
Singapore Startup Ecosystem
-
Start With Why - Book Review
-
Taking Career Guidance to the Next Level
-
Reflection on Scenarios & Strategic Foresight
-
DBS Case Study
-
Healthcare in the Future - A Glimpse into the Year 2060
-
Thinking About the Future with ChatGPT
-
The Ongoing Revolution in Technology and Its Impact on Work
-
Personal Action Plan
-
Reflecting on Influence and Power
-
My Personal Theory of Success
-
Reflecting on My Family
-
My Productivity Plan
-
Give and Take - Book Review
-
Brand Strategy Recommendations
-
Setting Up Ubuntu Desktop on AWS Workspace
-
Setting up a Three-Tier Architecture on AWS
-
Stories of my career
-
Introducing Amazon Web Services (AWS)
-
Understanding Kubernetes
-
Understanding Service Mesh and Istio
-
My Career Story
-
On Digital Transformation
-
Think and Grow Rich - Book Review
-
Vietnamese Street Food
-
Product Strategy Recommendations
-
MongoDB Kafka Connector
-
FinTech Security and Regulation Suggestions
-
FinTech Security and Regulation
-
My Operating Manual as a Manager
-
Azure EventHub, Logic Apps, and DataVerse
-
Journal of Self-Growth
-
FinTech - Digital Banking Overview and Market Research
-
My Hand Writes My Heart
-
Positioning for Technology Consultancy
-
Connecting Apache Kafka to Azure Event Hubs
-
Product Engagement Strategy
-
Finding a Fulfilling Job
-
Business Strategy Recommendations
-
Making API call from Google Sheet
-
The Process of Self-Publishing a Book
-
The Lost Message
-
Fortune
-
Jobs to Be Done
-
Working with Localization on Websites and Mobile Apps in APAC
-
On Imperfection
-
Continuous Improvement
-
Don't Be Afraid, My Mentor Is Here
-
My Imposter Syndrome, Insecurity, and Depression
-
My Career Transition to Software Engineer
-
My Memories in Brisbane
-
My Time as an Undergraduate Student
-
My Love of Chinese Philosophy in High School
-
My memory of the time in secondary school
-
Reasons to Write My Self-Help Blog
-
A Brief History of My Childhood
-
The Importance of Public Speaking
-
How to Tell Your Colleague About a Body Odor Issue
-
Be Skeptical
-
Strive for Efficiency and Economy
-
Working Effectively with Others in Teams
-
The Tried-and-True Way is the Right Way
-
Leadership Styles
-
Take Charge and Lead
-
On Sympathizing with Others' Feelings
-
Live in the Moment
-
Think Before I Act
-
Always Learning New Things
-
On Self-Actualization
-
On Building and Contributing to the Community
-
On Positive Mindset
-
What Money Cannot Buy
-
Stay Curious
-
Becoming a Better Leader
-
My Goal to Be Healthier
-
Healthy Body, Healthy Mind
-
A Future to Avoid
-
The Ideal Future
-
Swipe Left or Swipe Right? A Journey Through Dating and Maturity
-
The Qualities I Admire in Leadership - Steve Jobs and Lee Kuan Yew
-
My Vision for Future Family Life
-
On My Future Career in Management
-
On My Leisure Activities in the Future
-
On My Social Life in the Future
-
On Improving Our Habits
-
A Love Not Meant for Me
-
A Story of an Important Moment in My Life
-
On Having Too Little to Say
-
On Feeling Uncomfortable Around Others
-
Leading the Way
-
On Having a Social Circle That Is Too Small
-
On Being More Socially Skilled
-
On Feeling Drained by Social Interactions
-
On Finding It Difficult to Approach Others
-
Overcoming Silence -How to Engage with Strangers Effectively
-
On Missing Opportunities Due to Isolation
-
How to Download a View-Only Shared Google Drive Video
-
Effective Leadership in a Technical Role
-
The Importance of Communication as a Software Developer
-
Setting Up Auto-Formatting for Python in Visual Studio Code
-
How to Install Ubuntu Desktop on an AWS Instance Using Chrome Remote Desktop
-
How to Install Ubuntu on an External Drive Using macOS
-
How to Fix the "Access Denied" Error in an AWS Amplify Angular App
-
Writing Your Android App to Run in Background Mode as a Service
-
Caveats with Android In-App Browsers
-
Explaining the Angular Error: 'Expression Changed After It Has Been Checked'
-
Writing Unit Test Cases with Karma for Angular Components
-
Set Up a Django Server with Apache Virtual Host and Python Virtual Environment
-
Stop Downloading Apps for Everything
-
Install Ubuntu 20.04 LTS on MacBook Pro 14,1
-
Handling Browser Close Events with JavaScript
-
Import npm Modules into AWS Lambda Function
-
Fix WordPress Plugin Installation Permission Issue
-
Fix WordPress with All Pages Returning 404 Not Found
-
Fixing Endless Redirection with HTTPS Settings in WordPress When Using AWS Load Balancer
-
Installing PHP 7.2 Instead of PHP 5.4 on Amazon Linux 2
-
Reading Large Files Using Node.js
-
Migrating WordPress MySQL Database to AWS RDS
-
Removing .DS_Store Files from Git Repositories
-
Ignoring Already Modified Files in Git
-
Find and Kill Processes Locking Specific Ports on a Mac
-
How to Work with a Product Manager as a Software Engineer
-
Registering Sling Servlets in Adobe Experience Manager
-
Installing Nextcloud on AWS EC2 with S3 Storage
-
Debugging PHP Code in the Browser
-
Installing Ubuntu 19.10 on a MacBook Pro 13,1
-
Setting Up MongoDB with Koa.js
-
Migrating Your Blog from Medium to Ghost 3.0
-
Setting Up npm Proxy in a Corporate Network
-
My MBA Study Trip to Germany
-
Case Study: Li & Fung Family Business
-
MiFID II — What Is the Impact and What Opportunities Exist for Investors?
-
Retrieving Real-Time Data from the Web to Excel
-
Enabling HTTPS on an AWS EC2 Instance with Node.js and Nginx on an Ubuntu Server
-
Replace Text in XML Files with PowerShell
-
Replace Text in a File Using a Batch Script
-
A Look into Chile’s Startup Ecosystem
-
Upgrade AppMon from Version 6.5 to 7.1
-
AWS Cognito User Pools with Mobile SDK for iOS Using Custom Challenge
-
Managing Your Boss
-
Leadership That Gets Results
-
How to Debug iOS Traffic on an iPhone Device
-
Dealing with Problem People - How to Motivate Your Team Effectively
-
Transform Yourself into the Leader Others Want to Follow - Learning Charisma
-
Evidence-Based Management
-
The Challenge of a Scaled Scrum Team
-
Internet Border Gateway Protocol (BGP)
-
Pseudo-Scrum - A Hybrid of Waterfall and Agile
-
Deploying a Koa.js Application to an AWS EC2 Ubuntu Instance
-
Lessons Learned from an IoT Project
-
How to Fix iOS 10 Permission Crash Errors
-
The Future of FinTech in Hong Kong
-
What is Blockchain and How is It Used?
-
Installing Jupyter Notebook on macOS
-
Launching RancherOS on AWS EC2
-
Deploying a Java Spring Server with a Docker Container
-
Apple Push Notification with Java Spring Framework
-
Submitting a Unity 3D Game to the Mac App Store
-
Resolving Merge Conflicts for the Unity Game Engine
-
Trivial Facts About JavaScript Date
-
It's Not a Tech Problem, Stupid
-
What I Learned from Building Large-Scale Applications for Overseas Clients
-
How to Use Webpack with React and Bootstrap
-
How to Be a Good Consultant?
-
Understanding Optionals and Exclamation Marks in Swift
-
Connection between .h and .m files in Objective-C
-
Install Hadoop on AWS Ubuntu Instance
-
Install MongoDB on Mac OS X
-
Enable Automatic Login for OS X El Capitan
-
Ember Inject Controller
-
Fun Things to Do in Hanoi, Vietnam
-
Batch Crop Images using ImageMagick
-
Switching from Sublime Text to Atom
-
How to Upgrade Your Ghost Blog via Command Line
-
SSH: How to Fix the 'Unprotected Private Key' Error
-
How to Fix Ruby Gems Permission Error on Mac OS X Yosemite
-
Survival Tips for Non-Korean Speakers in Busan and Vicinity
-
Java: Variables are Always Passed by Copy
-
3 Reasons to Love React
-
Common npm Permission Issues
-
Sublime Text 3: Using the OS X Command Line
-
12 Things You Need To Know About ECMAScript 6
-
My Review of Hack Reactor Remote Beta
-
Beer Recommendation Engine Using PredictionIO
-
AngularUI: Handling Mouseover Events for Google Maps Markers
-
Hacking New Year's Resolutions for 2015
-
Angular.js Factory: Handling $http Asynchronously
-
Setting Up a Proxy Server with Express
-
Angular UI Bootstrap: Opening the First Accordion with ng-repeat
-
Note on Ionic Framework: Android Platform in OS X
-
Configure CircleCI with Karma Test
-
How to Upload Files with Meteor.js?
-
Q&A with General Assembly Hong Kong
-
Does Hack Reactor Make You Smarter?
-
Testing with Mocha: Array Comparison
-
How to Customize Sublime Text's Default Auto-Complete
-
Build an Awesome Chat App in 5 Minutes with Meteor
-
Fun Facts I Discovered in Melbourne
-
Things I Love and Hate About Hong Kong
-
How to Visit Sydney in 3 Days When You're Short on Time
-
Reasons Why You Should Travel to Brisbane