Articles

Building a (Mini) 3D Flutter Game Engine - Part 1

2024-05-03

If you want to see more progress on 3D ...

Static Blog Generator with Dart & Jaspr

2024-05-02

I was happy to recently discover the jaspr project, a Dart framework for generating dynamic and static HTML/JS pages with a pseudo-Flutter syntax. It's a fa...

3D PBR with Flutter - Talk at Singapore Flutter Meetup

2024-02-20

Here are the slides...

Dialog validation with F# code quotations and computation expressions

2019-09-24

In my last post, I wrote about using FParsec to build a user input validator with parser combinators. For par...

Building a dialog system with F# parser combinators

2019-09-19

For most of us, when it comes to manipulating or interpreting some chunk of plain text, our first instinct will be to reach for regular expressions. That's understandable - regular expressio...

Backpropagation with asymmetric weights

2019-09-15

A number of recent papers have explored learning in deep neural networks without backpropagation, oft...

Calling F#/.NET code from Flutter with Mono

2019-09-02

I'm obliged to issue a severe warning to anyone who found their way here. DO NOT DO anything I explain below. Seriously. I'd sooner recommend juggling a pair of flamin...

Nelder Mead Optimization with F# + Fable

2019-07-02

Gradient descent is a spectacularly effective optimization technique, but it's not the only method for optimizing non-convex functions. There are a number of alternative numerical methods that can ...

WPF ItemsSource not updating when items added to ObservableCollection?

2018-09-01

Let's say our WPF application has an ItemsControl whose ItemsSource is bound to an ObservableCollection. {{&lt; highlight python &gt;}} <UserControl x:Class="Lexico.View.UserControl1" xmlns="http:/...

Conditional Random Fields for Company Names

2018-05-10

Let's assume we have a sequence of words, and we want to predict, as accurately as possible, whether each word is a name, verb, or some other part of speech. This is equivalent to predicting...