Various ramblings about software developement and related topics.
Async/await syntax is one of the most eagerly anticipated features coming to Rust. Already available in the nightly channel, this post contains my notes on how to get started with this new feature, and how to use it alongside the current Futures based ecosystem.
Recently I had another shot at using Futures and Tokio again in Rust. One of the main challenges I faced was how to work with things that implemented the AsyncRead and AsyncWrite traits. So, here are some ways to 'upgrade' them into Futures, Sinks and Streams to gain access to the various combinators provided by them.
An introduction to feed-forward neural networks with learning via back propagation.
A guide covering some of the more awesome/useful/interesting looking Haskell language extensions that I've come across so far, with plenty of examples.
Some notes I developed on the continuation monad in Haskell as a result of exploring how they work and how to use them, complete with plenty of examples along the way.
Parsec makes parsing text very easy in Haskell. I write this as much for myself as for anyone else to have a tutorial and reference which starts from the ground up and works through how each function can be used with examples all the way.
Having used Angular pretty heavily for over a year at work and more recently ReactJS from Facebook in rebuilding my website, I thought I'd share my views on how they compare.
As someone who just got lenses after several days of trying to find out about them, I thought I'd reflect on this new understanding by showing you what a lens really is, starting from scratch.
Welcome to the third incarnation of my website, this time built to be simple, slick, and to the point.
Two utilities I built for a pre-Angular (or Ember) website, which help with routing URL requests to function calls, and storing/monitoring state in a tree structure.
In this post I briefly describe my C++ implementation of the lesser known Sequitur compression algorithm, and provide some usage examples. The source code is available to use however you wish.
Utilising memory pools can be one of the most significant optimisations you can make to a C++ program. Here, I walk through building and using one from the ground up.
An introduction to the Sequitur compression algorithm with an updated algorithm describing how it works, along with the common pitfalls in implementing it.
A pretty comprehensive introduction to a large proportion of the new features of C++11. This is to help refresh my mind as much as any, but it's a good place to start, and full of examples.
A pretty in depth introduction to Lambda Calculus, the precursor to modern functional programming as well as some crazy esoteric programming languages like Iota and Jot.
A look at a simple form of compression known as Huffman Coding that is frequently combined with other techniques, and easy to implement. I walk through an example and provide a full description of how it all works.
An introductory post to celebrate the launch of my new website.