GopherConSG 2023 - A Retrospective

I had fun at GopherConSG! It’s my third time at GopherConSG and after a few years of absence (thanks to COVID-19), it was sure good to see some old familiar faces like Valentine, Sau Sheong, Dave and Bill. This blog post is a retrospective on my GopherConSG 2023 talk: Man Bites Dog. My GopherConSG talk was way too long. I had to trim down my talk from 1 hour 45 mins to 30 mins, and I feel like I missed a lot of the Go content. [Read More]


The English language needs a new modal verb denoting an epistemic modality - specifically one that expresses a modality of probability. I propose the word “ween” (/we꞉i꞉n/ way-in). The preterite form is “weend” (/we꞉i꞉nd/ way-ind), though I am uncertain as to when one would use the preterite form. As an example of expressing a modality of probability, here’s an example sentence: “Touching live wires ween kill you”, which means “There is a probability that you will be killed if you touch live wires”. [Read More]

Letter to the Editor

Dear Editor, I am grateful to have been asked to provide some reflection on the eve of the 15th anniversary since the last publication by this journal, of a report written entirely by human minds. As one grows older, one finds more things to reflect upon. Perhaps then we should reflect on the most incredible journey that humanity has taken so far. As I write this, the budding field of scientific hermeneutics is now at its most explosive growth stage yet. [Read More]

Quickly Annotate Your Machine Learning Dataset with One Weird Trick (It's Lisp)

TL;DR - I wrote annotation-mode, which is a emacs minor mode for annotating text documents for machine learning purposes. Recently at work I had to annotate some text documents for a piece of NLP work. The annotation involves marking regions of the text with a category, as well as a rectangle which represents the region. At first I thought to build a webapp to do the annotation. The webapp would load a text file would be drawn onto a canvas object. [Read More]

Random Thoughts on Empathy and Compassion, and Neural Pathways

Earlier in my afternoon nap, I think I made the most interesting connection. It may well be wrong - my explanation is certifiably sloppy and unrigorous. It definitely needs a lot of refinement. Yes, this will be very bullshitty if you know anything about neuroscience or psychology. It also relies on some very unproved hypotheses of how brains work. I am mainly putting this brain dump down for myself anyway. But if you are a pop-sci author who wants to run with it, feel free to do so. [Read More]

The BNF Dream

This post was originally a series of tweets I wrote on a dream I had last night. For posterity I’ll be re-describing the dream here. Words might be slightly different from the tweets given the lack of character restrictions. I had a dream last night. It was a weird dream. I dreamt that all human languages could be shrunk down into a CBNF (C is for Contextual, or Chewxy)*There aren't such things as CBNF. [Read More]

On The Basics of Modeling

I had a very interesting chat with a few data science students yesterday. Part of the chat involved the idea of statistical modeling. Throughout the chat, it occured to me that the students didn’t have a very good grasp of what modeling is. To their credit, they were proficient in the techniques of linear regression, and deep learning, but I got the sense that they were very much pushing buttons and watching things happen rather than understanding what they were actually doing. [Read More]

The SARS-CoV-2 Build Log

The SARS-CoV-2 Build Log
Happy New Year! 2020 was definitely a weird year. The majority of the year was dominated by news of the COVID-19 pandemic. There were mass lockdowns across different countries. International travel halted to a trickle. Jobs were lost. Lives were lost. I am very thankful to not have been impacted as much by the pandemic. I didn’t get the virus, nor did any of my close friends or family - we are all safe. [Read More]

Double Your Linear Search Speed with This One Weird Trick

Recently at work I optimized key-lookup for Ristretto, a caching library for Go, effectively doubling the lookup speed with one trick. This post walks you through what I did. The benchmarks and code can be found here. Overview Ristretto is a fast concurrent cache library in Go. In the upcoming version, the cache is B-tree based. In this, the keys and values are stored in one flat slice of []uint64. Call this node. [Read More]

Some Thoughts On Library Design

This post was [originally published in GopherAcademy]( for their Advent 2019 series. It's been republished here for posterity. As programmers we use libraries a lot. But library design is hard. In this article, I will walk through some considerations in designing a library. We will start by bifurcating the acts of programming. We start by casting the act of programming as conversations. Then we examine the main activities that constitute what people call “programming”. [Read More]