Tinkerer, Explorer
Tools that run my digital life
List of tools that significantly helped make my digital life better. ...
Dev Environment Setup
Setting up the tools for your development are just plainly tedious. The problem is aggravated because nobody ever remembers how they do it before. So, in my second time setting up my personal dev environment, I decided to take note of each steps that I take, just in case I need it in the future. ...
CockroachDB
CockroachDB is a distributed SQL database that provides transactions and guarantees no stale reads and strong consistency model.
GDB Notes
A list of GNU Debugger commands
Python setup in server
Problem: I have server access but I don’t have root privileges. Pyenv # Install pyenv $ curl https://pyenv.run | bash # Follow the instruction to modify ~/.bashrc # Install the latest Python from source code $ pyenv install 3.9.7 # Check installed Python versions $ pyenv versions # Switch Python version $ pyenv global 3.9.7 # Check where Python is actually installed $ pyenv prefix /home/admin/.pyenv/versions/3.9.7 Install pip Download pip from an online repository and add the path to your bashrc....
Cassandra
Apache Cassandra is a distributed, wide-column store, NoSQL database. Here are some notes on it.
Peeking PayNow
PayNow QR is a unified payment across 9 banks in Singapore. It is interesting to peek at what is actually behind the QR code that power our daily payments
Kafka Basics
Kafka is a distributed append-only log that has become a de-facto standard for real-time event streaming. Motivation: As software moves from processing static snapshots of state to continuous stream of events, we need a single platform to store and stream events. Usecases: real-time fraud detection, automotive sensors, IoT, microservices etc. Concepts topic-partition-segment relationship in Kafka Topics are a stream of “related” messages / events in Kafka. We can create an unlimited amount of topics....
Kelly's Criterion
Kelly’s Criterion Assumption: You know the probability of success $p$. For an investment decision where the probability of success is $p$ If you succeed, the value of your investment increases from 1 to $1 + b$ If you fail (with probability $q = 1-p$), the value of your investment decreases from 1 to $1 - a$ Then the asymptotically optimal fraction of the current bankroll to wager is defined as $$f^* = \frac{p}{a} - \frac{1 - p}{b}$$...
Active Learning
Active Learning Active, because it is able to query instances based on past queries/response Overview Problem: Have access to lots of data, but infeasible to annotate everything. Key Assumption: if the algorithm were allowed to choose the data it wants to learn from, it could attain a higher level of accuracy while using a smaller number of training labels. Solution: The algorithm interactively pose queries (choose an instance of unlabelled data) for human to label....