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

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