See Post Categories

An Interactive Introduction to Dependent Types with Idris

What are Dependent Types? Type theory and programming languages research in recent decades has produced this incredibly interesting extension to ordinary types in programming languages called dependent types. Roughly speaking, dependent types let you mathematically prove complex properties about your code, and on top of that the computer will check...

Top questions and thoughts from WWDC 2019

Today was the big day of WWDC 2019, and after the excitement of waiting for the keynote, here are my immediate thoughts and reactions to the announcements:

Declarative UI in Swift seems like a massive step forward for iOS development. I first started iOS development back in iOS 5 at...

Topological Data Analysis and Persistent Homology

The overall goal of Topological Data Analysis (TDA) is to be able to analyze topological features of data sets, often through computations of topological properties such as homology or via visualization. Here I will focus on the former technique, known as persistent homology, but I will briefly touch on the...

Coding Serverless Functions in Idris

Brief Intro to Serverless Computing Serverless computing platforms such as AWS Lambda and Google Cloud Functions have recently become a hot trend for writing backend code. With serverless computing we don't need to setup, configure and maintain servers ourselves as it is handled automatically by the platform. Likewise, the platform...

Feature Scaling

Feature Scaling In chapters 2.1, 2.2, 2.3 we used the gradient descent algorithm (or variants of) to minimize a loss function, and thus achieve a line of best fit. However, it turns out that the optimization in chapter 2.3 was much, much slower than it needed to be. While this...