GEEK.SG
VeilOS - Preview of Privacy Preserving Application Engine
09 March 2021
Following the discussion on how Zero-knowledge Proof (ZKP) can be used in the field of civic technologies (CivicTech) and specifically how it can be used by different NGOs to coordinate food distribution to the food insecured, I’ve embarked on creating a demo application to showcase how it can be done as part of my fellowship with RadicalXChange Foundation.
How to build a program that cannot do the wrong thing (illustrated with Typescript)
09 February 2021
With any task, how to make things work concerned me the most. Learning to do test driven development (TDD) comes a long way to help me make sure the code works as I intended - for both positive and negative examples. However, as I come across the "Representable/Valid Principle" introduced in James Koppel's Advanced Software Design Web Course, I found out that I can write code that that not just does the right thing but also can't do the wrong thing.
Comparing different ways to signal intent from multiple participants on the blockchain
03 February 2021
Multisig wallets presents a way for different participants to issue a transaction on the blockchain but is that the only way? In this article I explore various options to represent the signalling of the intent for a transaction that requires more than one participant to agree on.
Decentralized Food Distribution Organisation
05 December 2020
This post is a thought experiment of how we might design a scalable food distribution program that encourages philanthropy, protects the identity of the vulnerable and be resistant to fraud.
Running a Peer Promotion Nomination
03 December 2020
The last thing the leaders want is to promote someone in the team who does not have the desired behavior or values of the team or organisation. How do you do that in a team of over 100 people?
Electronic Transferable Record on Blockchain
01 December 2020
In this paper I outline how we can built an application leveraging on consensus mechanisms of blockchain to fulfill MLETR requirements.