All posts
Wed Sep 10 2025- Can NFTs be used to fund art? Wed Sep 10 2025
- Braindump on language learning Wed Sep 10 2025
- songs I like Wed Sep 10 2025
- Deutsch Lernen Wed Sep 10 2025
- improving the site (2025) Sun Jul 06 2025
- two types of ideas Sat Jun 21 2025
- On growth Sat Jun 14 2025
- Advice for finalists Fri Jun 13 2025
- on education Sat Jul 15 2023
- How to increase brain plasticity for language learning Tue Jun 27 2023
- Joy Mon May 15 2023
- On Tiktok and Instagram Reels Sun May 14 2023
- Using technology to aid language learning Sun Apr 23 2023
- Improving the site (2023) Sat Apr 08 2023
- How to draw isometric cubes with Javascript and HTML canvas Wed Mar 15 2023
- Protocols for optimal health Sun Jan 01 2023
- Optimising my onebag Thu Dec 01 2022
- My "indefinite" onebag setup Thu Dec 01 2022
- Der Schatz von Hiddensee Sat Oct 01 2022
- Farming snails in Singapore Mon Aug 01 2022
- Alternative agriculture Mon Aug 01 2022
- Should we bring back the triclinium? Sun May 01 2022
- Ants Sat Apr 23 2022
- Recontextualising my site (2022) Thu Feb 03 2022
- Can you gain muscle doing only isometric exercises? Wed Feb 02 2022
- Is nonsurgical penile enhancement possible? Tue Jan 25 2022
- Is sauna good for you? Sun Jan 23 2022
- How to import and display Markdown files in React Wed Sep 01 2021
- How to implement role-based access control for AWS (Cognito, DynamoDB) Tue Jun 22 2021
- Solving two brainteasers 舅母 gave me Sun May 09 2021
- tl;dr of my Politics undergraduate thesis Sat May 01 2021
- MMODiscord: Run your own virtual world on any Discord server Wed Apr 07 2021
- Notes on AWS's serverless framework Wed Mar 24 2021
- Notes on Dynamo (2007) Sat Mar 20 2021
- MIT's 6.824 Distributed Systems, Lab 2: Raft Tue Mar 16 2021
- Memcached at Facebook (2013) Mon Mar 15 2021
- Notes on Amazon Aurora (2017, 2018) Sun Mar 07 2021
- FLP Impossibility Theorem Mon Mar 01 2021
- Notes on technical mentorship Sun Feb 21 2021
- Saltzer and Kaashoek (2009). Principles of Computer System Design: An Introduction Mon Feb 15 2021
- Notes on CRDTs Mon Feb 15 2021
- What is a Golang interface? Thu Feb 11 2021
- What is the CAP theorem really about? Thu Feb 11 2021
- Rao, Shekita and Tata (2011). Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore [Spinnaker] Mon Feb 08 2021
- Ongaro and Ousterhout (2014). In Search of an Understandable Consensus Algorithm [Raft] Fri Feb 05 2021
- MIT's 6.824 Distributed Systems, Lab 1: MapReduce Fri Feb 05 2021
- Dean and Ghemawat (2004). MapReduce: Simplified Data Processing on Large Clusters Fri Feb 05 2021
- Self-studying MIT's 6.824 Distributed Systems Mon Feb 01 2021
- DIY-ing a Stanford CS degree in one year Sat Jan 30 2021
- Making your habits zero-friction is a massive productivity hack Thu Jan 28 2021
- Group testing to save the world Sun Jan 24 2021
- From Third World to Utopia: Singapore could end poverty for our children forever, today Mon Jan 18 2021
- Radically new ways of living and working are for the first time available (again) to us Sun Jan 10 2021
- Planning to build a Discord spatial layer Wed Jan 06 2021
- Worlds for hyperlocal communities Wed Jan 06 2021
- Teleoperation: enabling remote work for nonremote workers Mon Jan 04 2021
- The cheater's chessboard Sun Jan 03 2021
- Debugging my thesis Fri Dec 25 2020
- Report on CS107E Lab and Assignment 3 Mon Dec 21 2020
- Report on CS107E Lab and Assignment 2 Sun Dec 20 2020
- Report on CS107E Assignment 1 Sat Dec 19 2020
- Geolibertarianism with Harberger Taxes Sun Dec 06 2020
- Three levels of competency Mon Nov 30 2020
- A new method of training: can resting for hours between exercises maximise your gains? Mon Nov 30 2020
- Convergence is (finally) coming Mon Nov 30 2020
- How to set up bidirectional communication between a Docker container and its host machine using TCP sockets Sun Nov 15 2020
- How to install librealsense and pyrealsense2 on the Jetson NX Wed Nov 04 2020
- Pair work: the One Weird Trick to finally ship your side projects Thu Oct 08 2020
- Home gym ideas Sun Sep 27 2020
- Virtual workspaces --- working in a Minecraft office? Sat Sep 26 2020
- Clustering GPS trip data Fri Sep 11 2020
- Building a Python parallel processing pipeline package (R-3PO) Sat Aug 29 2020
- GSoC 2020: implementing real-time metrics for MGGG's Districtr app Fri Aug 28 2020
- A market-based mechanism to preserve Indonesia's forests Wed Aug 19 2020
- Rebuilding this website Mon Aug 03 2020
- Building a code sharing MVP with React and the WebSockets API Sun Aug 02 2020
- Singapore's GRC system likely advantages the PAP: a game-theoretic analysis Tue Jul 07 2020
- My 2020 fitness routine Wed Jul 01 2020
- How many solar panels would be needed to 100% solar-power Singapore? Tue Jun 02 2020
- Politics Thesis Thu Apr 23 2020
- Building a deep learning pipeline + model with Keras and PlaidML Tue Sep 17 2019
- Building an Bayesian SMS sender Mon Sep 16 2019
- Doing distributed data analysis on a Raspberry Pi cluster Thu Sep 12 2019
- The beta-Bernoulli bandit, Thompson sampling, and Bayesian inference Fri Jul 12 2019
- Explaining Acemoglu's model of directed technical change: a primer Sat Apr 20 2019
- Building an automated, blockchain-connected model train diorama Thu Jan 31 2019
- Building a Raspberry Pi console Tue May 30 2017
- Building my first Telegram bot Tue Sep 20 2016
Private posts
- What is the blockchain good for? Wed Sep 10 2025
- Classics study guide Wed Sep 10 2025
- 2025-09-10 daily note Wed Sep 10 2025
- 2025-09-09 daily note Tue Sep 09 2025
- 2025-09-08 daily note Mon Sep 08 2025
- 2025-09-01 daily note Mon Sep 01 2025
- 2025-08-30 daily note Sat Aug 30 2025
- 2025-08-28 daily note Thu Aug 28 2025
- 2025-08-26 daily note Tue Aug 26 2025
- 2025-08-22 daily note Fri Aug 22 2025
- 2025-08-21 daily note Thu Aug 21 2025
- 2025-08-20 daily note Wed Aug 20 2025
- 2025-08-19 daily note Tue Aug 19 2025
- 2025-08-18 daily note Mon Aug 18 2025
- 2025-08-16 daily note Sat Aug 16 2025
- 2025-08-15 daily note Fri Aug 15 2025
- 2025-08-14 daily note Thu Aug 14 2025
- 2025-08-13 daily note Wed Aug 13 2025
- 2025-08-12 daily note Tue Aug 12 2025
- 2025-08-11 daily note Mon Aug 11 2025
- 2025-08-06 daily note Wed Aug 06 2025
- 2025-08-05 daily note Tue Aug 05 2025
- 2025-08-03 daily note Sun Aug 03 2025
- 2025-08-01 daily note Fri Aug 01 2025
- 2025-07-29 daily note Tue Jul 29 2025
- 2025-07-26 daily note Sat Jul 26 2025
- 2025-07-25 daily note Fri Jul 25 2025
- 2025-07-24 daily note Thu Jul 24 2025
- 2025-07-23 daily note Wed Jul 23 2025
- 2025-07-22 daily note Tue Jul 22 2025
- 2025-07-21 daily note Mon Jul 21 2025
- 2025-07-20 daily note Sun Jul 20 2025
- 2025-07-19 daily note Sat Jul 19 2025
- 2025-07-18 daily note Fri Jul 18 2025
- 2025-07-17 daily note Thu Jul 17 2025
- 2025-07-16 daily note Wed Jul 16 2025
- 2025-07-15 daily note Tue Jul 15 2025
- 2025-07-14 daily note Mon Jul 14 2025
- 2025-07-13 daily note Sun Jul 13 2025
- 2025-07-12 daily note Sat Jul 12 2025
- 2025-07-11 daily note Fri Jul 11 2025
- 2025-07-10 daily note Thu Jul 10 2025
- 2025-07-09 daily note Wed Jul 09 2025
- 2025-07-08 daily note Tue Jul 08 2025
- 2025-07-07 daily note Mon Jul 07 2025
- 2025-07-01 daily note Tue Jul 01 2025
- 2025-06-30 daily note Mon Jun 30 2025
- 2025-06-29 daily note Sun Jun 29 2025
- 2025-06-28 daily note Sat Jun 28 2025
- 2025-06-27 daily note Fri Jun 27 2025
- 2025-06-26 daily note Thu Jun 26 2025
- 2025-06-25 daily note Wed Jun 25 2025
- 2025-06-24 daily note Tue Jun 24 2025
- 2025-06-23 daily note Mon Jun 23 2025
- 2025-06-22 daily note Sun Jun 22 2025
- 2025-06-18 daily note Wed Jun 18 2025
- 2025-06-16 daily note Mon Jun 16 2025
- 2025-06-15 daily note Sun Jun 15 2025
- 2025-06-14 daily note Sat Jun 14 2025
- 2025-06-13 daily note Fri Jun 13 2025
- 2025-06-12 daily note Thu Jun 12 2025
- 2025-06-11 daily note Wed Jun 11 2025
- 2025-06-10 daily note Tue Jun 10 2025
- 2025-06-09 daily note Mon Jun 09 2025
- 2025-06-08 daily note Sun Jun 08 2025
- 2023 in review Tue Dec 26 2023
- 2023-12-26 daily note Tue Dec 26 2023
- 2023-11-16 daily note Thu Nov 16 2023
- 2023-11-04 daily note Sat Nov 04 2023
- 2023-09-25 daily note Mon Sep 25 2023
- 2023-09-18 daily note Mon Sep 18 2023
- 2023-09-16 daily note Sat Sep 16 2023
- 2023-09-10 daily note Sun Sep 10 2023
- 2023-09-09 daily note Sat Sep 09 2023
- A primer on oil swaps Tue Sep 05 2023
- 2023-09-05 daily note Tue Sep 05 2023
- 2023-08-29 daily note Tue Aug 29 2023
- 2023-08-25 daily note Fri Aug 25 2023
- 2023-08-24 daily note Thu Aug 24 2023
- On Bologna Wed Aug 23 2023
- 2023-08-20 daily note Sun Aug 20 2023
- 2023-08-19 daily note Sat Aug 19 2023
- 2023-08-18 daily note Fri Aug 18 2023
- 2023-08-17 daily note Thu Aug 17 2023
- 2023-08-16 daily note Wed Aug 16 2023
- 2023-08-15 daily note Tue Aug 15 2023
- 2023-08-13 daily note Sun Aug 13 2023
- 2023-08-12 daily note Sat Aug 12 2023
- 2023-08-09 daily note Wed Aug 09 2023
- 2023-08-07 daily note Mon Aug 07 2023
- 2023-08-06 daily note Sun Aug 06 2023
- 2023-08-05 daily note Sat Aug 05 2023
- 2023-08-04 daily note Fri Aug 04 2023
- 2023-08-03 daily note Thu Aug 03 2023
- Letter to my sister Wed Aug 02 2023
- 2023-08-01 daily note Tue Aug 01 2023
- 2023-07-31 daily note Mon Jul 31 2023
- 2023-07-30 daily note Sun Jul 30 2023
- 2023-07-29 daily note Sat Jul 29 2023
- 2023-07-28 daily note Fri Jul 28 2023
- 2023-07-25 daily note Tue Jul 25 2023
- 2023-07-24 daily note Mon Jul 24 2023
- one month in berlin Sun Jul 23 2023
- 2023-07-23 daily note Sun Jul 23 2023
- 2023-07-22 daily note Sat Jul 22 2023
- 2023-07-21 daily note Fri Jul 21 2023
- 2023-07-20 daily note Thu Jul 20 2023
- 2023-07-19 daily note Wed Jul 19 2023
- 2023-07-15 daily note Sat Jul 15 2023
- 2023-07-14 daily note Fri Jul 14 2023
- 2023-07-13 daily note Thu Jul 13 2023
- 2023-07-12 daily note Wed Jul 12 2023
- 2023-07-11 daily note Tue Jul 11 2023
- 2023-07-10 daily note Mon Jul 10 2023
- 2023-07-09 daily note Sun Jul 09 2023
- On being a better friend (or, the Autist's Guide to the Galaxy) Sat Jul 08 2023
- 2023-07-07 daily note Fri Jul 07 2023
- 2023-07-06 daily note Thu Jul 06 2023
- 2023-07-05 daily note Wed Jul 05 2023
- 2023-07-04 daily note Tue Jul 04 2023
- 2023-07-03 daily note Mon Jul 03 2023
- 2023-06-30 daily note Fri Jun 30 2023
- 2023-06-29 daily note Thu Jun 29 2023
- 2023-06-28 daily note Wed Jun 28 2023
- 2023-06-27 daily note Tue Jun 27 2023
- 2023-06-26 daily note Mon Jun 26 2023
- 2023-06-25 daily note Sun Jun 25 2023
- 2023-06-24 daily note Sat Jun 24 2023
- 2023-06-23 daily note Fri Jun 23 2023
- 2023-06-22 daily note Thu Jun 22 2023
- 2023-06-21 daily note Wed Jun 21 2023
- 2023-06-20 daily note Tue Jun 20 2023
- 2023-06-19 daily note Mon Jun 19 2023
- Sun Jun 18 2023 00:00:00 GMT+0000 (Coordinated Universal Time) Sun Jun 18 2023
- Thoughts May 2023 Sun May 07 2023
- A super private post! Sat Apr 08 2023
- 2022 in review Sun Dec 18 2022
- six months on the road Fri Jul 01 2022
- Figuring out how I feel about relationships Tue Feb 01 2022
- 2021 in review Fri Dec 31 2021
- Behavioural questions for Anima Tue Aug 10 2021
- Quarter-life review Mon Aug 02 2021
- How do Fleet Adapters work? Thu Apr 08 2021
- Thoughts on the VAMA2 demo we gave, and what our next steps should be Mon Apr 05 2021
- Notes on my first meeting with Cedric Sat Mar 06 2021
- Technical documentation for the Scene Understanding Module in IMDA's VAMA2 autonomous robotics project Fri Mar 05 2021
- A letter to my past self Sun Jan 24 2021
- 2021 Week 3 Review Sun Jan 17 2021
- 2020 in review Sun Dec 27 2020
- What I've been doing since I last applied to Harvard Tue Dec 15 2020
- Taking stock of all my projects Tue Dec 15 2020
- 2020 Week 49 review (29 Nov-5 Dec) Sun Dec 06 2020
- Projects to-do list Tue Dec 01 2020
- 2020 Week 48 review (21-28 Nov) Sun Nov 29 2020
- 2020 Week 46 review (09-15 Nov) Sun Nov 15 2020
- 2020 Week 45 review (01-08 Nov) Sun Nov 08 2020
- 2020 Week 44 review (25-30 Oct) Sat Oct 31 2020
- 2020 Week 43 review (18-24 Oct) Sun Oct 25 2020
- 2020 Week 42 review (11-17 Oct) Sun Oct 18 2020
- Letter to Bassel in August 2020, after my Finals results Sat Aug 01 2020
- 2020 Semiannual Review Fri Jul 31 2020
- Thoughts on a trip to Kuhlenbronn Wed Jul 29 2020
- 2019 Annual Review Wed Jan 01 2020
- Email to Bassel telling him about my internship and thesis during July 2019 Sun Jul 28 2019
- 2019 Semiannual Review Fri Jul 19 2019
- Breaking up Sun Jun 23 2019
- HT 2019 report and plans for the summer Sun Jun 23 2019
- MT 2018 report and plans for 2019 Tue Jan 01 2019
- 2018 Semiannual Review Sun Jul 01 2018
- Michaelmas 2017 report Tue Dec 05 2017
- Sep 2017 report Sun Sep 24 2017
- Aug 2017 report Tue Aug 22 2017
- May 2017 report Mon May 29 2017
- 2017 Quarterly Report I Fri Mar 31 2017
- 2016 Annual Review Tue Dec 27 2016
- 2015 Annual Review Mon Dec 26 2016
- ORD lo Tue Dec 06 2016
- October in review; plans for November Fri Oct 28 2016
- An eventful Saturday Sat Oct 08 2016
- September 2016 report Mon Sep 05 2016
- Long-overdue update Thu Aug 11 2016
- On Brexit, and the unreasonable effectiveness of demagoguery Fri Jun 24 2016
- An update on my life so far Thu May 26 2016
- Meeting with iDA staff (Oscar, Kiranjit and Eric) Wed May 11 2016
- Meeting with Mrs Hauw, swimming with Xiao Hui and future plans Tue May 10 2016
- daily report: I talk about what I've done for the past two weeks Thu May 05 2016
- daily report Sun Apr 24 2016
- daily report: my first post Sat Apr 23 2016