Apr 28
Imagination over prediction: precision/recall
If 2% of things “succeed” in a field, imagination matters at least as much as prediction. What do I mean by this? The key is to understand accuracy, precision and recall - concepts from machine learning / statistics / whatever you wanna call it. I never remember the formulae so here’s how I understand them.
If something happens 2% of the time, such as startup …
more
Mar 7
Linear Autoencoders and the Identity
This post assumes familiarity with linear algebra at the level of my post on low rank matrices.
Introduction I recently read a wonderful paper by Netflix on linear autoencoders (LAEs), and how to avoid them overfitting towards the identity1. The paper also discusses how LAEs perform low rank approximation of a matrix, and relate to previous matrix factorisation (MF) techniques.
Here’s …
more
Feb 28
Low Rank Matrices, an Introduction
Introduction I thought it would be fun to go over some matrix basics since they’re used everywhere. In particular, embeddings in machine learning are just lists of numbers. I’ve been investigating those of late, and it’s useful to be fluent with matrices when playing around with them.
I’ll start with very simple questions then move on to some slightly more advanced …
more
2023
Dec 27
Disinformation
In an age of disinformation and deepfakes, how will we know the authenticity of things we see on the web? Disinformation is a key civilisational risk that could threaten stability, peace, and democracy amongst other things.
The problem I see something on the web, and I want to know whether certain parties I trust attest to its authenticity. This could be the party that originated the information, …
more
Aug 23
On AI and Economic Organisation
If AI and robots can produce lots of goods and services at low cost, it’ll be like the deflationary wave of globalisation. In a world of abundance, things are cheap. Or in other words, there’s lots of purchasing power to go around. How we distribute that purchasing power is another question. But there should be a lot more to distribute.
Some argue that despite automation there will still be lots …
more
Aug 14
On Mathematics
When I was in university I strolled into a maths class on topology. It was extremely abstract, with definition after definition, and theorem after theorem presented without motivation.
Sometimes in maths one doesn’t need a motivation; one is just playing around. And that’s wonderful. And some folks seem totally fine doing that without talking about it. But I personally prefer being clear about …
more
2022
Oct 10
On the Inevitability of Genetic Engineering
Our understanding of Darwinian evolution is that the environment favours certain individuals of a species each generation. These individuals end up passing on their genes more than others. If two individuals have offspring together, there is random crossover between their DNA as it’s passed on. Furthermore, some random mutations are introduced which could lead to a change in fitness with respect …
more
2020
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Mar 7
Linear Autoencoders and the Identity
This post assumes familiarity with linear algebra at the level of my post on low rank matrices.
Introduction I recently read a wonderful paper by Netflix on linear autoencoders (LAEs), and how to avoid them overfitting towards the identity1. The paper also discusses how LAEs perform low rank approximation of a matrix, and relate to previous matrix factorisation (MF) techniques.
Here’s …
more
Feb 28
Low Rank Matrices, an Introduction
Introduction I thought it would be fun to go over some matrix basics since they’re used everywhere. In particular, embeddings in machine learning are just lists of numbers. I’ve been investigating those of late, and it’s useful to be fluent with matrices when playing around with them.
I’ll start with very simple questions then move on to some slightly more advanced …
more
2023
Dec 27
Disinformation
In an age of disinformation and deepfakes, how will we know the authenticity of things we see on the web? Disinformation is a key civilisational risk that could threaten stability, peace, and democracy amongst other things.
The problem I see something on the web, and I want to know whether certain parties I trust attest to its authenticity. This could be the party that originated the information, …
more
Aug 23
On AI and Economic Organisation
If AI and robots can produce lots of goods and services at low cost, it’ll be like the deflationary wave of globalisation. In a world of abundance, things are cheap. Or in other words, there’s lots of purchasing power to go around. How we distribute that purchasing power is another question. But there should be a lot more to distribute.
Some argue that despite automation there will still be lots …
more
Aug 14
On Mathematics
When I was in university I strolled into a maths class on topology. It was extremely abstract, with definition after definition, and theorem after theorem presented without motivation.
Sometimes in maths one doesn’t need a motivation; one is just playing around. And that’s wonderful. And some folks seem totally fine doing that without talking about it. But I personally prefer being clear about …
more
2022
Oct 10
On the Inevitability of Genetic Engineering
Our understanding of Darwinian evolution is that the environment favours certain individuals of a species each generation. These individuals end up passing on their genes more than others. If two individuals have offspring together, there is random crossover between their DNA as it’s passed on. Furthermore, some random mutations are introduced which could lead to a change in fitness with respect …
more
2020
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Feb 28
Low Rank Matrices, an Introduction
Introduction I thought it would be fun to go over some matrix basics since they’re used everywhere. In particular, embeddings in machine learning are just lists of numbers. I’ve been investigating those of late, and it’s useful to be fluent with matrices when playing around with them.
I’ll start with very simple questions then move on to some slightly more advanced …
more
2023
Dec 27
Disinformation
In an age of disinformation and deepfakes, how will we know the authenticity of things we see on the web? Disinformation is a key civilisational risk that could threaten stability, peace, and democracy amongst other things.
The problem I see something on the web, and I want to know whether certain parties I trust attest to its authenticity. This could be the party that originated the information, …
more
Aug 23
On AI and Economic Organisation
If AI and robots can produce lots of goods and services at low cost, it’ll be like the deflationary wave of globalisation. In a world of abundance, things are cheap. Or in other words, there’s lots of purchasing power to go around. How we distribute that purchasing power is another question. But there should be a lot more to distribute.
Some argue that despite automation there will still be lots …
more
Aug 14
On Mathematics
When I was in university I strolled into a maths class on topology. It was extremely abstract, with definition after definition, and theorem after theorem presented without motivation.
Sometimes in maths one doesn’t need a motivation; one is just playing around. And that’s wonderful. And some folks seem totally fine doing that without talking about it. But I personally prefer being clear about …
more
2022
Oct 10
On the Inevitability of Genetic Engineering
Our understanding of Darwinian evolution is that the environment favours certain individuals of a species each generation. These individuals end up passing on their genes more than others. If two individuals have offspring together, there is random crossover between their DNA as it’s passed on. Furthermore, some random mutations are introduced which could lead to a change in fitness with respect …
more
2020
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Dec 27
Disinformation
In an age of disinformation and deepfakes, how will we know the authenticity of things we see on the web? Disinformation is a key civilisational risk that could threaten stability, peace, and democracy amongst other things.
The problem I see something on the web, and I want to know whether certain parties I trust attest to its authenticity. This could be the party that originated the information, …
more
Aug 23
On AI and Economic Organisation
If AI and robots can produce lots of goods and services at low cost, it’ll be like the deflationary wave of globalisation. In a world of abundance, things are cheap. Or in other words, there’s lots of purchasing power to go around. How we distribute that purchasing power is another question. But there should be a lot more to distribute.
Some argue that despite automation there will still be lots …
more
Aug 14
On Mathematics
When I was in university I strolled into a maths class on topology. It was extremely abstract, with definition after definition, and theorem after theorem presented without motivation.
Sometimes in maths one doesn’t need a motivation; one is just playing around. And that’s wonderful. And some folks seem totally fine doing that without talking about it. But I personally prefer being clear about …
more
2022
Oct 10
On the Inevitability of Genetic Engineering
Our understanding of Darwinian evolution is that the environment favours certain individuals of a species each generation. These individuals end up passing on their genes more than others. If two individuals have offspring together, there is random crossover between their DNA as it’s passed on. Furthermore, some random mutations are introduced which could lead to a change in fitness with respect …
more
2020
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Aug 23
On AI and Economic Organisation
If AI and robots can produce lots of goods and services at low cost, it’ll be like the deflationary wave of globalisation. In a world of abundance, things are cheap. Or in other words, there’s lots of purchasing power to go around. How we distribute that purchasing power is another question. But there should be a lot more to distribute.
Some argue that despite automation there will still be lots …
more
Aug 14
On Mathematics
When I was in university I strolled into a maths class on topology. It was extremely abstract, with definition after definition, and theorem after theorem presented without motivation.
Sometimes in maths one doesn’t need a motivation; one is just playing around. And that’s wonderful. And some folks seem totally fine doing that without talking about it. But I personally prefer being clear about …
more
2022
Oct 10
On the Inevitability of Genetic Engineering
Our understanding of Darwinian evolution is that the environment favours certain individuals of a species each generation. These individuals end up passing on their genes more than others. If two individuals have offspring together, there is random crossover between their DNA as it’s passed on. Furthermore, some random mutations are introduced which could lead to a change in fitness with respect …
more
2020
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Aug 14
On Mathematics
When I was in university I strolled into a maths class on topology. It was extremely abstract, with definition after definition, and theorem after theorem presented without motivation.
Sometimes in maths one doesn’t need a motivation; one is just playing around. And that’s wonderful. And some folks seem totally fine doing that without talking about it. But I personally prefer being clear about …
more
2022
Oct 10
On the Inevitability of Genetic Engineering
Our understanding of Darwinian evolution is that the environment favours certain individuals of a species each generation. These individuals end up passing on their genes more than others. If two individuals have offspring together, there is random crossover between their DNA as it’s passed on. Furthermore, some random mutations are introduced which could lead to a change in fitness with respect …
more
2020
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Oct 10
On the Inevitability of Genetic Engineering
Our understanding of Darwinian evolution is that the environment favours certain individuals of a species each generation. These individuals end up passing on their genes more than others. If two individuals have offspring together, there is random crossover between their DNA as it’s passed on. Furthermore, some random mutations are introduced which could lead to a change in fitness with respect …
more
2020
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
May 2
Decentralised Interfaces
Ironically, I think one of the biggest successes of decentralised technologies like Ethereum and IPFS will be to centralise API design across organisations.
Currently, when an organisation wants to expose its services as an API, it decides on a medium. Often, this is HTTP. If we’re lucky, an SDK in different programming languages is provided; if not, those need to be written, and maintained. …
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Mar 21
Multiculturalism
Increasingly, it seems as though the idea of multiculturalism is losing its place as the dominant paradigm of the world, even in the West. Putin claims liberalism has “become obsolete”1, while Merkel has said that multiculturalism has “utterly failed”2.
For brevity, we can take multiculturalism and liberalism to mean relatively open borders and immigration policies, on a …
more
2019
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Oct 13
Deploying Centralised
I decided to deploy my blog using google cloud storage instead of github pages. I suppose I couldn’t be bothered naming the github repo something other than [username].github.io, nor figuring out how to bypass this.
Since running hugo (the library) outputs a static site into the /public folder, I figured just using a storage provider would work. It would also allow me to use cloudflare, …
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Sep 29
New personal website format
My previous website was built using raw HTML, CSS and JS. I did this to avoid the complexity of a static site generator, like Jekyll, not least because I’m not a fan of Ruby!
That said, I recently stumbled upon Hugo, which seems pretty neat, and is written in Golang. Although it’s been interesting using Hugo so far, there’s certainly been a learning curve. But it should prove …
more
2018
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Apr 18
The Dynamics of Scaling an Organisation
This is a repost of my Medium article, please see here.
2016
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
Jun 3
On Ephemerality & Knowledge
They say “the moment” is all one ever has. This got me thinking about the repercussions on how to spend one’s time, at least when it comes to being “productive”, however one defines that. In particular, how much should time be spent on pure learning versus building? Or more generally, on ingesting information versus producing it or putting it into action. This could …
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Jan 29
Revealed Preference
Decision making can be tricky, and nowhere is it trickier than in deciding what to do with one’s life. The challenge increases with privilege; for it is indeed privilege to have options in the first place.
Often a decision is portrayed when there really isn’t one being made. Ben Horowitz, of VC firm Andreessen Horowitz, articulates this very well. This usually takes the form of …
more
2015
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Nov 10
Regularity
Every so often I’ll have a moment of inspiration where I feel the need and ability to accomplish a million wonderful things. I’ve found that these moments have become ever more crucial the less time I have to myself. Back in college, although I was generally “busy”, I owned my time. When a moment of inspiration struck, not only could I have a go at it, but more importantly …
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Sep 12
Haskell at Work
Introduction I recently came upon an ACM Turing Award lecture by John Backus entitled “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs”. It got me thinking about the idea of functional versus imperative (aka “procedural”) programming.
To quote Backus, “An alternative functional style of programming is founded on …
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Mar 25
Quotient Groups - Introduction
Introduction This is a follow-up to my previous introduction to abstract groups.
Let’s recap what we’ve been doing so far. We have these things called “groups”, with an associative operation $\circ$ defined between elements, identities and inverses. Addition on real numbers is a group. Division on integers is not, since $ 1/2 \notin \mathbf{Z} $.
We then looked at maps …
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Feb 26
Abstract Groups
Introduction Groups, and what follows from them, are really cool. Had I known earlier, I would have seriously started studying group theory a long time ago.
What makes abstract algebra so interesting, to me at least? I think it’s the balance between generality and structure. The foundation is very simple (and thus general), yet it leads to extremely interesting ways of thinking about …
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Feb 9
Crypto Concerns
Introduction After spending some time thinking about cryptocurrencies, I have developed some opinions on where things are headed. I could be wrong, and these views will no doubt evolve over time, but I hope there is some reason in them. Cryptocurrency is fascinating, and definitely has a role to play in the future; the questions are what role and when.
I’ll start by talking about Bitcoin and …
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Jan 17
Bitcoin Basics
Introduction The term “Bitcoin” is becoming more and more widespread. However the core technical details of the cryptocurrency are often brushed aside, or lumped together. Bitcoin is in fact a decentralised payment system, characterised by multiple features. In this post, I hope to identify and briefly explain these key features.
Once we’ve identified the overall architecture of …
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Jan 4
Neural Networks - Basics
Introduction In my last post I spoke about the general context of neural networks, namely machine learning algorithms. The problem being solved is one of abstracting rule definitions in solving a problem away from the programmer.
We also saw that neural networks might stand out in their ability to identify useful feature transformations automatically, which would serve this overarching purpose. …
more
2014
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Dec 20
Neural Networks - Why
Introduction Writing explicit programs to accomplish sophisticated tasks can quickly become intractable. For example, it may be evident how to tell a computer to change screen color based on which user is logged in: this is definite. Writing a definite program to recognize pigeons in a photo is not obvious. The core issue is that it is difficult to determine what set of rules is optimal, and even …
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
Nov 17
An Introduction to Hidden Markov Models
Introduction Hidden Markov Models (HMMs) are a widely used tool in solving all sorts of problems from natural language processing to signal reconstruction. Here I give an overview of the fundamental concepts involved. Let’s go!
Markov Processes HMMs make the assumption that whatever is going on is following a Markov process, so let’s start with that. This isn’t complicated at …
more
All rights reserved
more
All rights reserved