Blog
Articles and essays on software engineering, mathematics, investing, and life. New posts are published here first.
- 2026
I Vibe-Coded an Extension That Auto-Generates a Table of Contents for Any Web Page
Why I built dtoc, an open-source, privacy-first browser extension that adds a floating table of contents to Confluence, Medium, Dev.to, and other long pages.
javascript · browser-extension · open-source
2 minDEV - 2024
How to Achieve Target Allocation Ratio (TAR) in Your Investment Portfolio
Deriving an equation that splits a new investment across holdings to get as close as possible to target allocation ratios, by minimising mean squared error.
investing · mathematics · python
4 minHackerNoon - 2023
10 Things You Didn't Know You Could Do in Python3
Lesser-known Python features that quietly make production code cleaner.
python
4 minMedium · DEV - 2023
You Could Be Wrong About Probability
The classical, frequentist, and Bayesian frameworks can give different answers to the same probability question. Here is why.
probability · statistics · mathematics
4 minHackerNoon · DEV - 2023
How to Write Impeccably Clean Code That Will Save Your Sanity
The discipline and habits behind code that stays readable across teams and time.
python · clean-code · best-practices
7 minMedium · DEV - 2023
Streamline Your TODOs with TODO Notifier for Python Projects
TODO Notifier collects the TODOs across a Python codebase, summarises them by module, flags expired ones, and emails the report.
python · open-source · developer-tools
8 minMedium · DEV - 2022
How to Develop a Wox Plugin Using Python
Building an offline English dictionary plugin for the Wox launcher in Python, and the plugin structure Wox expects.
python · wox · open-source
5 minMedium · DEV - 2020
Depression: How It Starts, How to Get Out, and How Not to Fall Back
How unpleasant states like depression and anxiety begin, how to climb out of them, and how to avoid falling back, drawn from personal experience.
Essaymental-health · self-improvement
15 minMedium - 2019
How to Start with Competitive Coding from Zero
A structured on-ramp for engineers picking up algorithmic problem-solving.
competitive-programming · algorithms · career
18 minMedium · DEV