Blog
Writing about what I think, learned, and experienced. These are the dots yet to be connected.
Categories
Data & Algorithms (34)
Design (14)
Engineering (33)
Events (11)
Life & Reflection (58)
Recommender Systems (20)
Society & Business (50)
Series I have written
Altruistic Byte: Real-World Insights for Tech-Driven Change (5)
How to Talk About AI (7)
Becoming a Canadian (14)
Productizing Data with People (12)
Building Recommender Systems in Julia (6)
Digital Malawi: Developing Hope in the Information Age (12)
Ethical Product Developer (18)
-
March 1, 2026
-
Who is Digitally Prepared?
-
February 1, 2026
-
The AI Divide
-
January 1, 2026
-
Why Offline Learning Still Matters in 2026
-
December 5, 2025
-
Missing Link to Bridge the Digital Divide
-
November 7, 2025
-
"We," Not "I"
-
June 24, 2024
-
The End of the Beginning—What I Talk About When I Talk About Malawi
-
May 27, 2024
-
Materializing Digital Transformation
-
April 30, 2024
-
I'm Not "China"—Connecting HERE and THERE in Systems
-
March 22, 2024
-
Language: Behind the Power Dynamics in Information Society
-
February 26, 2024
-
One of the Poorest Life Is Not *That* Bad
-
January 31, 2024
-
Relativize Malawi, and Rethink Their Contexts
-
December 25, 2023
-
My 2023 Annual Review: Between Individual and Systems
-
November 30, 2023
-
Is Computer Education Always Good?
-
October 30, 2023
-
Starting with Humanity—Growth and Technology Otherwise Hurt You
-
September 29, 2023
-
Dilemma over "Best Practice": How We Could Develop Data Protection Practices in Malawi
-
September 8, 2023
-
Definition, Role, and Current Status of Digital Literacy in Malawi #LiteracyDay
-
August 23, 2023
-
Starting Field Study on How Information Flows in Malawi
-
June 20, 2023
-
Runner's Search for Identity
-
May 21, 2023
-
Information Sustainability, Mindful Consumption, and Healthy Engineering
-
April 25, 2023
-
When We Lose Autonomy—Whose Life Are You Living?
-
April 7, 2023
-
Three Perspectives on Large Language Models and Their Emerging Applications
-
March 30, 2023
-
How Information Flows: From Field Studies to Risk Mitigation
-
February 21, 2023
-
The Complexity of Simplicity: Tacos, Sushi, and ChatGPT
-
December 18, 2022
-
My 2022 Annual Review: Towards the Deepness
-
December 8, 2022
-
Mentoring on @ADPList. Here's What I Think. #ADPListWrapped
-
December 4, 2022
-
Data Are Created, Collected, and Processed by People
-
November 27, 2022
-
Fluid People and Blended Society: How Systems Model "Dividuals"
-
November 19, 2022
-
The Locality of Information and Technology
-
November 11, 2022
-
Google Cloud Dataflow and Its Positive Impact on Developer Productivity
-
November 3, 2022
-
Connecting the Dots in Complexity
-
October 27, 2022
-
Updating My View of Nuclear Power
-
October 20, 2022
-
Why We "Productize"
-
October 14, 2022
-
Ethics in Recommendation Pipeline—A First Look at RecSys 2022 Papers
-
October 5, 2022
-
My First Month as Self-Employed
-
September 29, 2022
-
Reviewing Things I Do Not Know About the Indian Act #NDTR
-
September 22, 2022
-
Why Your Job Title Matters (Cont.)─Technology for the People
-
September 14, 2022
-
Seeing Past and Present in Coursera "Machine Learning on Google Cloud" Specialization
-
September 9, 2022
-
How I Define "Artificial Intelligence"
-
September 2, 2022
-
Paddling in the Life, and Currently I'm a Freelance Software Developer
-
August 12, 2022
-
Dilemma of Creative Selection
-
August 6, 2022
-
Recommendation.jl Came Back to #JuliaCon 2022
-
June 11, 2022
-
Indigenous Canada: Storytelling, Community, and Sustainability
-
June 5, 2022
-
Becoming Permanent Resident of Canada
-
June 4, 2022
-
My First Post-Pandemic International Trip
-
May 23, 2022
-
Rethinking Why, When, and How I Learn
-
May 15, 2022
-
Am I Zombie? Autonomy vs. Recommendations on the Internet
-
May 7, 2022
-
What I Like About Microsoft Recommenders Repository
-
May 5, 2022
-
Starting with Empathy to #GetReal, Beat Loneliness, and Be Ethical. #MentalHealthWeek
-
May 1, 2022
-
Learning Canada's History
-
April 21, 2022
-
"Why Do We Build This?" Humane Technologist's View of Bad Product/Project
-
April 9, 2022
-
Loneliness Is Worse Than Smoking, Alcoholic, Obesity
-
April 3, 2022
-
Cross Validation for Recommender Systems in Julia
-
March 28, 2022
-
3 Pillars of Ethics' Scope: Society, Personal Relationship, and Individual
-
March 20, 2022
-
It "Was" Ethical: Key Takeaways from UMich's Data Science Ethics Course
-
March 13, 2022
-
Security, Privacy, and Ethics in the Web 3.0 Era
-
March 6, 2022
-
Serendipity: It's Relevant AND Unexpected
-
February 27, 2022
-
Recommender Diversity is NOT Inversion of Similarity
-
February 20, 2022
-
Validate, Validate, and Validate Data. But, in terms of what?
-
February 13, 2022
-
"Out of Scope"
-
February 4, 2022
-
"Definition of Done"
-
January 30, 2022
-
Data Ethics with Lineage
-
January 23, 2022
-
The Producer-Consumer Gap
-
January 16, 2022
-
"Diversity" Means More Than What We Typically Think
-
January 8, 2022
-
Recommendation.jl v0.4.0: Working with Missing Values, Data Typing, and Factorization Machines
-
January 1, 2022
-
Ethical Product Developer
-
December 26, 2021
-
My 2021 Annual Review: A Year of Divergence (And Slowly Started Converging)
-
December 11, 2021
-
Quality Habit-Formation: It's Like Casting a Vote on My Desired Identity
-
November 24, 2021
-
How Can Recommender Systems Contribute to Mitigate Echo Chambers and Filter Bubbles?
-
November 12, 2021
-
What Container and JIT Mean for Today's Supply Chain Disruption
-
November 6, 2021
-
I Tried Audio Journaling for 30 Days
-
October 30, 2021
-
Cross-Framework Dependency Injection with spring-guice
-
October 16, 2021
-
My 30-Day Food Tracking Challenge from Sustainable Diet Perspective
-
October 5, 2021
-
User-Centricity Matters: My Reading List from RecSys 2021
-
September 24, 2021
-
Understanding Big Tech's Sustainable Commitment with Word Cloud
-
September 18, 2021
-
Sustainable Capitalism: The Importance of Long-Term Thinking and Adaptivity
-
September 6, 2021
-
Voting for 2021 #BCAleTrail Best Brewery Experience Award
-
September 4, 2021
-
Save HTML <svg> as an Image
-
August 28, 2021
-
Next "Dot" in Journey: Curiosity-Driven Job Change in Canada (Aug 2021)
-
August 7, 2021
-
Why Your Job Title Matters
-
July 15, 2021
-
Reviewing Ethical Challenges in Recommender Systems
-
June 5, 2021
-
Understanding Array Bisection Algorithm
-
May 26, 2021
-
Hi Product Managers, Are You Creating Products That *You* Love?
-
May 21, 2021
-
Unusual Drinking & Eating Habits: Non-Alcohol, Decaf, Flexitarian
-
May 14, 2021
-
A Journey of Sustainable Development #SDGMOOC
-
May 7, 2021
-
Actionable Insights from Supply Chain Analytics
-
April 30, 2021
-
Environmental Problems Through the Lens of Business
-
April 25, 2021
-
My First Impression After Reading Bill Gates's "How to Avoid a Climate Disaster"
-
April 19, 2021
-
Learning Cryptocurrency with Code
-
April 11, 2021
-
What Blockchain Brings to Real-World Applications
-
April 4, 2021
-
The Essence of Supply Chain Management
-
March 21, 2021
-
Moving to Canada: Adding Randomness to My Life
-
March 13, 2021
-
How Much CO2 Emissions Have Your Flights Made?
-
March 6, 2021
-
Moving Julia Project from Travis CI to GitHub Actions #JuliaLang
-
February 3, 2021
-
Practicing D3 Interactive Data Visualization with Fitbit Activity/Sleep Log
-
January 23, 2021
-
Datavis 2020: A Free Online Course About D3.js & React
-
November 28, 2020
-
Are You Still Writing a Resume in Word/LaTeX?
-
August 29, 2020
-
What I Think About When I Talk About ML Product
-
August 16, 2020
-
Language as a Design Tool
-
May 31, 2020
-
Don't "Guess" How People in Other Roles Work
-
May 26, 2020
-
Completed Functional Programming in Scala Specialization on Coursera, Finally
-
May 1, 2020
-
Issue-Driven Makes You Professional
-
April 18, 2020
-
How I'm Working From Home
-
April 11, 2020
-
What Makes a Good Dashboard: The Rise of Augmented Analytics
-
April 4, 2020
-
Life with (Partially) Broken iPhone
-
March 29, 2020
-
The Hardest Part of 2020's Strategic Ideation
-
February 7, 2020
-
Why a Data Science Engineer Becomes a Product Manager
-
January 26, 2020
-
Design Thinking = Capturing the World Like a Designer
-
January 20, 2020
-
The Rise of Customer-Centric Retailing @ NRF Retail's Big Show #NRF2020
-
January 5, 2020
-
How to Produce Ideas
-
November 17, 2019
-
What I've Seen at IoT Solutions World Congress 2019
-
November 10, 2019
-
Rethinking the Role of Data Leaders @ Data Leaders Summit Europe 2019
-
October 26, 2019
-
ApacheCon 2019 North America #ACNA19 & Europe #ACEU19
-
September 8, 2019
-
I Stopped Drinking Alone for 4 Months
-
August 31, 2019
-
Hello Netrify for Hosting a Static Site
-
July 26, 2019
-
Lightning Talk about Recommender Systems in Julia at #JuliaCon 2019
-
July 13, 2019
-
User Modeling, Adaptation, Personalization for Marketing #UMAP2019
-
April 7, 2019
-
TokuDB in MariaDB (on Ubuntu)
-
March 31, 2019
-
Publishing My Master's Thesis with Documenter.jl
-
March 24, 2019
-
Apache Hivemall in PySpark
-
January 14, 2019
-
Feeding User-Item Interactions to Python-Based Streaming Recommendation Engine via Faust
-
November 22, 2018
-
Attending MLconf SF 2018 #mlconf18
-
November 2, 2018
-
Sending Sensor Data from Mbed Simulator to Treasure Data
-
October 26, 2018
-
Apache Hivemall at #ODSCEurope, #RecSys2018, and #MbedConnect
-
November 11, 2017
-
Understanding Research Trends in Recommender Systems from Word Cloud
-
June 26, 2017
-
Deploying Static Site to GitHub Pages via Travis CI
-
May 28, 2017
-
Hugo meets kramdown + KaTeX #gohugo
-
April 30, 2017
-
Moving to GitHub Pages
-
April 16, 2017
-
Comparison of Running Time of Cached/Uncached Spark RDD
-
February 25, 2017
-
Parallel Programming vs. Concurrent Programming
-
January 21, 2017
-
FluRS: A Python Library for Online Item Recommendation
-
January 14, 2017
-
Recommendation.jl: Building Recommender Systems in Julia
-
January 7, 2017
-
My New Year's Resolution 2017: Write an Article Every Week
-
October 19, 2015
-
Migrate to Hugo from Jekyll: Another Solution for the MathJax+Markdown Issue
-
October 13, 2015
-
PyCon JP 2015 #pyconjp
-
October 4, 2015
-
Japan PHP Conference 2015 #phpcon2015
-
October 3, 2015
-
Machine Learning Summer School 2015 Kyoto #MLSSKYOTO
-
April 21, 2015
-
How to Derive the Normal Equation
-
November 9, 2014
-
Hello English Entries