See Post Categories

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...

Metal 3D Graphics Part 2: Animated Uniform Data with Synchronization

Recap In the previous post we setup the necessary basic code to render a multi-colored triangle using Metal. By doing so we learned about the fundamental concepts of the Metal API:

A MTLDevice represents the actual GPU. A MTLRenderPipelineDescriptor / MTLRenderPipelineState describes what the render pipeline consists of. In particular,...

Metal 3D Graphics Part 1: Basic Rendering

What is Metal, and why use it? Metal is a powerful new GPU programming API designed by Apple. Originally it was announced in 2014 for iOS and claimed significant performance benefits over OpenGL, the standard 3D graphics API, and since 2014 it has gained the ability for general purpose GPU...