The Intuition behind Convolutional Neural Networks

Before convolutional neural networks became popular, neural networks would often struggle with 2D data like image classification and image segmentation. In this article, we’ll dive into a bit of history to uncover the motivation behind convolutional neural networks, then understand the idea behind how and why they work.

Mar 28, 2024

How to Hypnotise Yourself

Ever been curious about hypnosis? In this blog, we explore one of the simplest catalysts for hypnosis: selective attention, and briefly talk about the science behind it.

Oct 5, 2023

Histogram Equalisation for Colour Images

Histogram equalisation is a staple technique to increase image contrast in greyscale images. In this article, we take a look into how it can be adapted to be applied to colour images.

Jun 6, 2023

Support Vector Machines

A support vector machine is a powerful and simple machine learning architecture that used to be state-of-the-art in image classification. In this article, we delve into the intricacies of support vector machines and its applications in linear, non-linear, binary and multi-class classification.

Mar 1, 2023

Voronoi Diagrams

Voronoi diagrams are essential in the world of technology. Its applications cover computer graphics, medical diagnosis, network analysis and fluid dynamics. In this article, we introduce the fundamentals of Voronoi diagrams and analyse one application in graphics: texturing and animating water.

Nov 15, 2022

Benchmarking Loops in JavaScript

Back-end JavaScript and Node.js has been on the rise in recent years, so code performance analysis is necessary. This article presents a look into the performance of different ways to loop through an array in JavaScript.

Aug 19, 2022

Freeing Up Disk Space on Mac (DIY)

Running out of disk space? Storage on Mac OS X gets used up quickly and mysteriously. This article is a comprehensive guide to freeing up disk space without tools like CleanMyMac. In the process of doing so, we’ll also discover exactly where all our big folders are. This article is written with respect to Mac OS X Catalina, but is perfectly applicable to other Mac operating systems.

May 28, 2022

Bezier Curves

If you’ve ever worked with vector art, you’ve almost certainly come across Bezier curves. But what exactly are they? This article explains how to construct a Bezier curve, discusses where they are used, and describes underlying mathematics.

May 8, 2022

The UCI Protocol for Chess Engines

Let’s dive into the world of chess engines and how they communicate with sites like Lichess and Chess.com. We’ll take an existing engine and implement a handler for a popular protocol called UCI. Finally, we’ll briefly look at how to connect it to Lichess.

Jan 15, 2024

Setting Up Unrestricted ChatGPT Locally on Mac

ChatGPT and other AI language models have taken the world by storm thanks to their revolutionary capabilities. However, these online models are becoming more and more restrictive. Their responses are now flooded with disclaimers and warnings, and they also flat out refuse to answer some prompts. This situation will likely become worse with the impending AI laws. This article guides you to set up and run ChatGPT on your local computer that responds to any prompt. It is tailored towards Mac users (UNIX systems).

Jun 26, 2023

Enhancing Greyscale Image Contrast through Histogram Equalisation

Image processing is an integral subfield of computer vision, a field which has been on the rise as part of AI. In this article, we take a look at histogram equalisation: an important tool to increase image contrast. We focus exclusively on greyscale images.

May 22, 2023

On the Philosophy and Design Choices of this Site

Why does this site look the way it looks? In this article, I explain my choices and my vision, as well as a look into the web frameworks and tools used.

Jan 26, 2023

Monte Carlo Tree Search

Monte Carlo tree search is a staple algorithm in the field of machine learning. It is employed by some of the leading AI in strategy games like chess and Go. It is also a relatively easy algorithm to implement. This article describes the methodology of the Monte Carlo tree search.

Sep 16, 2022

Looping Through a List in JavaScript

This short article aims to explore and compare the different ways of looping through a list in JavaScript: for, forEach and for of.

Jul 16, 2022

Programming Bezier Curves

In a previous post, we explore concepts of Bezier curves. In this article, we will write a program in JavaScript that draws Bezier curves. As a disclaimer, we will not be covering everything (e.g. using the JavaScript canvas), only the fundamentals. Nonetheless, the source code is provided.

May 8, 2022