Types and Tailcalls
September 17th, 2023

Trying too hard

Being ambitious beyond my capability has made me quit things prematurely.
September 10th, 2023

Notes on DeepLearning.ai Specialization - Structuring Machine Learning Projects

Some Notes on the third course of the DeepLearning.ai Specialization
September 3rd, 2023

Notes on DeepLearning.ai Specialization - Improving Deep Neural Nets

Some Notes on the second course of the DeepLearning.ai Specialization
January 13th, 2020

You Could Have Invented Backprop

An exploration of how the backpropagation algorithm works
December 30th, 2019

Ultralearning Data Science - Week 10

Report from the tenth week of the "ultralearning" data science project
December 23rd, 2019

Ultralearning Data Science - Week 9

Report from the ninth week of the "ultralearning" data science project
December 16th, 2019

Ultralearning Data Science - Week 8

Report from the eighth week of the "ultralearning" data science project
December 9th, 2019

Ultralearning Data Science - Week 7

Report from the seventh week of the "ultralearning" data science project
December 1st, 2019

Ultralearning Data Science - Week 6

Report from the sixth week of the "ultralearning" data science project
November 27th, 2019

I Want a Better Note-Taking System

The notetaking app of my dreams
November 24th, 2019

Ultralearning Data Science - Week 5

Report from the fifth week of the "ultralearning" data science project
November 17th, 2019

Ultralearning Data Science - Week 4

Report from the fourth week of the "ultralearning" data science project
November 10th, 2019

Ultralearning Data Science - Week 3

Report from the third week of the "ultralearning" data science project
November 3rd, 2019

Ultralearning Data Science - Week 2

Report from the second week of the "ultralearning" data science project
October 27th, 2019

Ultralearning Data Science - Week 1

Report from the first week of "ultralearning" data science
October 20th, 2019

Ultralearning Data Science

How I want to learn data science in my first ultralearning project
October 14th, 2019

Ultralearning

My book summary of "Ultralearning"
August 25th, 2019

Don't Beat Yourself Up

I used to beat myself up a lot. I don't do it anymore and my life is better.
January 27th, 2019

A first look at WebAssembly

Taking a look at WebAssembly and writing a first function
June 24th, 2018

Notes on Fast.ai's first lecture

Some notes on the first fast ai lecture
May 21st, 2018

Unit testing TypeScript types with dtslint

A short introduction on how to unit test TypeScript type operators with dtslint
March 29th, 2018

Announcing tslint-auto-disable

A small tool to make adopting TSLint and stricter rules easier
March 18th, 2018

Inferring Types in Conditional Types

Exploring TypeScript's new infer keyword which allows pattern matching on types
March 11th, 2018

A Look at TypeScript's Conditional Types

A first look at TypeScript 2.8's conditional types and what you can do with them
March 4th, 2018

typeful-redux - A look under the covers

A look at the type-level proramming tricks used in typeful-redux
February 26th, 2018

Announcing typeful-redux

A type-safe, low boilerplate redux wrapper for TypeScript
October 28th, 2017

Connect (type) safely

With TypeScript 2.6's new strictFunctionTypes option the type definition of the redux connect function are actually type safe
January 5th, 2017

The Two Levels of Energy Equilibrium

On the two levels of energy equilibrium I have noticed in many life areas
December 1st, 2016

Understanding the react-redux connection function

Getting a detailed understanding of the react-redux connect function
November 16th, 2016

Trying and failing to make a type safe react-redux connect wrapper

It's challenging to make a type safe react-redux connect function. I thought I had found a way, but was wrong...
November 7th, 2016

Some Personal Rules for Effective and Efficient Meetings

Personal propositions for having more effective meetings
July 19th, 2016

A Look at the Idris Internals, Part IV - From TT Onward

A brief overview how TT is processed to later stage intermediate languages.
March 15th, 2016

A Look at the Idris Internals, Part III - From Parsing to Elaboration

Looking at how Idris is desugared and elaborated to TT
January 17th, 2016

A Look at the Idris Internals, Part II - Taking the Parser for a Spin

Trying out the Idris Parser on the GHCi REPL
January 10th, 2016

A Look at the Idris Internals, Part I - Overview and Parsing

A short overview of the Idris compilation process, parsing and the high-level AST
January 13th, 2015

Release It - Summary and Review

A fairly long summary and short review of Michael Nygard's book Release It
June 14th, 2014

Solving the Expression Problem in Haskell and Java

A second look at the expression problem discussed in the previous post and ways of solving it in Haskell and Java
January 10th, 2014

Sum Types, Visitors, and the Expression Problem

Visitors are a complicated OO way of getting the advantages of sum types
December 21st, 2013

Understanding Pointers, Ownership, and Lifetimes in Rust

A summary of ownership related topics in Rust
October 24th, 2013

Certified Red-Black Trees in Coq -- Part 0

I try my hand at proving the soundness of insert on Red-Black trees in Coq
September 9th, 2013

Efficient Quicksort in Haskell

An in-place quicksort implementation in Haskell
August 20th, 2013

Let Your Prompt Tell You When To Pull

Modify your zsh prompt so that it tells you when your remote branch has new commits
August 7th, 2013

Stripping out the Business Logic

An exploration of the central aspects of business programming with the objective to abstract them and focus programming around them.
July 31st, 2013

Getting Started With Dependent Types

Dependent types are all the rage but getting started can be a bit intimidating. This post summarizes some resources to get started with dependent types and my plan on how to learn them.
July 19th, 2013

Why I love Haskell

My summary of what I love about Haskell and why I think it is a language worth learning and using. Argumentative ammunition for discussions.
January 13th, 2012

Sun / Oracle Grid Engine - Exclusive Host Access

How to get each job to have exclusive access to a host in Oracle Grid Engine
December 16th, 2011

List tricks in Python

Rocking lists in Python as if it was a functional language
October 21st, 2011

A Clojure Macro to Generate Functions

Programmatically generating functions in Clojure
October 12th, 2011

Why Lisp? A Clojure Newbie Perspective

Lisp is powerful because its a programmable programming language
August 22nd, 2011

Please rate your programming skill from 1 to 10

A totally pointless scale of programming skill