A Who's Who of Modern Philosophy
Posted on Sat, 13 Feb 2016

I have recently been getting a little more into philosophy. In particular, I have been trying to get some familiarity with some of the key figures in modern philosophy, and how they relate to each other.

The following diagram is an attempt at showing some major groupings, along with a rough sense of the timeline.

… [more]
Git Cheatsheet
Posted on Wed, 15 Apr 2015

It is time I let go of the crutch of using Git Extensions. There are plenty of decent git tutorials out there, and the official documentation is thorough (if not a little intimidating!) But a nice simple list of common commands would come in handy. So here we go.

… [more]
Smarter Playlists with SQL
Posted on Sun, 19 Oct 2014

I recently discovered that my music player (Clementine) stores its metadata in a SQLite database.

The first thing I did once I knew this was to do a bunch of queries which summarised the data in interesting ways. My favourite so far is a count of albums released on each year, as represented in this graph:

… [more]
Interactive Poker TDA Rules
Posted on Mon, 9 Dec 2013

I took a look through the rules posted by the Poker Tournament Directors Association, which are the standard rules used for poker tournaments around the world. I decided that the 15 page document was not the most user friendly, so I created an interactive version. Hopefully someone finds it useful.

… [more]
ProJeX Haskell
Posted on Thu, 5 Sep 2013

Most of the programming languages I have learned and used so far have been from the imperative programming paradigm, which means that they describe the problem to be solved in terms what needs to be done, step by step, in order to solve it. (Object oriented programming, while often considered a separate paradigm, is essentially just a highly modular type of imperative programming.)

The alternative to the imperative paradigm is declerative programming, which describes the problem in terms of what it should accomplish, rather than how it should get there. The declerative paradigm includes logic programming languages (such as Prolog), and functional programming languages (such as Lisp or Haskell).

Functional languages are the one major paradigm which I haven't had any exposure to. Until now. I've decided that, in order to be a well-rounded coder, and also because it might be fun, I should learn a functional language; and I've chosen Haskell.

After reading the first few chapters of the strangely titled "Learn You a Haskell for Great Good!" I began thinking about what problems I can try to solve using my new language, in order to help cement my understanding. That's when I remembered about Project Euler - a series of mathematical problems intended to be solved with computer programs. I've been meaning to do Project Euler for a while now, but kept putting it off; but since Haskell is a language well suited to solving mathematical problems, I thought this was a perfect opportunity to combine the two, in ProJeX Haskell: learning Haskell through using it to solve Project Euler problems (and presenting the mathematics using LaTeX - another thing I've been meaning to learn).

… [more]
The Rule of 4 and 2
Posted on Thu, 1 Aug 2013

In Texas Holdem poker, the "rule of 4 and 2" is a basic guideline to calculating the odds of hitting your hand for a given number of outs. It says that if you have one street left, then you need to double the number of outs, to get the percentage chance of hitting one of them. If you have two streets, multiply the number of outs by 4.

For example, if you have Q♠5♠, and the flop comes 7♠2♥T♠, then you have 9 outs (any spade) to hit a flush. The rule tells you that you will make a flush by the river 36% of the time. If you miss on the turn, you will make the flush on the river 18% of the time.

… [more]
Coding and such
Posted on Fri, 26 Jul 2013

Part of the reason I decided to add a blog to my website was so that I could write about software development. I wanted to be able to pass on the things I learn, write about what I'm working on, and share my thoughts and ideas related to coding and software.

I've been interested in computer programming and web development in some form or other since I was about 14. That was when I started teaching myself HTML, and created a "personal website" for myself. That site went through many iterations over the years, most of them of no interest to anyone but myself, and it eventually became this website right here.

… [more]
While My Guitar...
Posted on Fri, 26 Jul 2013

Ok, so I was going to come up with a pun on the title of a certain Beatles song for the title of this post, something like "While My Guitar Generally Shrieks", but I couldn't think of anything funny, so I gave in.

Anyway, I thought I'd write a word or two about my interest in music:

… [more]
Why Write?
Posted on Wed, 12 Dec 2012

I've always loved learning, always felt the need to know about the world around me. When I was younger I would satisfy this desire mostly through pestering anyone who I thought might know something. Later on, I went to university to study science, but found that conducting experiments is tedious, and hard work. In more recent times, I've settled for satisfying my curiosity through reading.

I recently began to feel the urge to give something back to the process, and made a resolution to take up writing. This article is a manifesto of that resolution; I aim to clarify to myself, and to share with others, my reasons for wanting to write.

… [more]

Older posts >>