Creative Commons License


  1. Home

  2. 1. Counting On My Fingers

    1. 1. Recreational Mathematics

      1. Euler's Identity

      2. Golden Numbers

      3. Mathematical Calligraphy

      4. The Right Angle

      5. Viking Mathematics

      6. Pieces of Math

      7. Fields and Games

      8. IKEA Matematikk

      9. Adding up Fibonacci

      10. Curving a Triskele Globe

    2. 2. Similar Triangles

      1. Solving Quadratics with a Ruler and Compass

      2. My Favourite Proof of Pythagoras' Theorem

      3. An Area Proof of the Compound Angle Formula

      4. Finding Pythagorean Triples with Similar Triangles

      5. Trigonometric Identities

      6. That Which We Call a Circle

    3. 3. Beyond the Syllabus

      1. Quadratics and Rectangles

      2. Colouring with Quadratics

      3. On the Nature of Proof (Original Version)

    4. 4. Problems and Puzzles

      1. A Tale of Two Puzzles

      2. Find the Angle

      3. The Four Fours Puzzle

  3. 2. How Did I Do That?

    1. 1. TeX/LaTeX

      1. Document Revision System

      2. Drawing Knots in LaTeX

    2. 2. Google Apps Scripts

      1. Sharing A Cell

      2. On Average

      3. A Fractal Spreadsheet

    3. 3. Codea

      1. Matrices

      2. Quaternions

      3. Gradient Fill

      4. Roller Coaster

      5. Shaders

      6. Libraries

      7. Touch Tutorial

Welcome to Mathforge.

This is my personal website for posts mainly about mathematics and programming. For a little more detail as to why I write, see the about pages.

My witterings can be divided broadly into two: mathematics and programming.

1 Counting On My Fingers

1 Recreational Mathematics

The posts in this section are, in the main, inspired by playing with mathematics.

  1. Euler's Identity.

    Euler's equation consistently tops the list of "most beautiful equation". I think that this is ill-deserved. This is my explanation as to why.

  2. Golden Numbers.

    A little playing with Euler's identity reveals a property of the Golden Ratio:


    Playing with this idea leads to some fun with Diophantine equations and recursive sequences of similar identities.

  3. Mathematical Calligraphy.

    My excursions into mathematically-inspired art couldn't go far without encountering my calligraphic interests.

  4. The Right Angle.

    This is my contribution over the semi-annual debate as to which angle deserves a symbol of its own. There can only be One True Right Angle.

  5. Viking Mathematics.

    Whilst in Norway, I came across an interesting article shedding new light on the Vikings' approach to mathematics1.

    1Just in case it's not completely obvious, look at the copyright notice at the foot of the page of this article.

  6. Pieces of Math.

    I made a poster to show that mathematics is made up of many areas. You can download it from here.

  7. Fields and Games

    This is my explanation of the mathematics behind the game Dobble. Other explanations exist on the web …

  8. IKEA Matematikk

    A weekend spent struggling with practical geometry led to this investigation into the field of Inverterbar Komplekse Entydig Analytisk Matematikk, or IKEA Matematikk for short.

  9. Adding up Fibonacci

    I recently came across a fact about the Fibonacci sequence that I'd not encountered before. I'm not the biggest fan of the Fibonacci sequence so my immediate reaction to this was to look for a more general picture to fit this into. This is that general picture.

  10. Curving a Triskele Globe

    I recently came across Triskele Globes. After making one, I noticed that the fold didn't look as though it was in quite the right place. There seemed to be a couple of points of deformation, particularly at the corners. So I thought I'd have a look at figuring out what the curve ought to be.

2 Similar Triangles

It's my contention that all of school geometry can be traced back to properties of similar triangles.

  1. Solving Quadratics with a Ruler and Compass.

    I recently came across a method of solving quadratic equations using a ruler and compass. The construction is so simple that I couldn't take it at face value and had to figure out for myself why it worked.

  2. My Favourite Proof of Pythagoras' Theorem.

    There are many, many proofs of Pythagoras' Theorem and amongst them I've found one that I particularly like. It has ingredients that closely relate to what Pythagoras' Theorem is really about (how lengths behave in Euclidean Space), and extends to a proof of the cosine rule.

  3. An Area Proof of the Compound Angle Formula.

    Having come across an elegant proof of the double angle formula for sine which revolves around area, I wanted to see if there was an extension to the compound angle formula.

  4. Finding Pythagorean Triples with Similar Triangles.

    I read a post about finding Pythagorean triples. A few things about it intrigued me, and on digging through the details I found that yet again, similar triangles had a role to play.

  5. Trigonometric Identities

    I've become a little obsessed with similar triangles and the latest symptom of it is with finding diagrams for any given trigonometric identity (rather than proving them by a series of algebraic manipulations).

  6. That Which We Call a Circle

    Yet more on similar triangles, this time looking at a characterisation of a circle that crops up when studying loci with complex numbers – though no knowledge of complex numbers is needed to understand it.

3 Beyond the Syllabus

These posts are directly inspired by teaching topics (other than similar triangles).

  1. Quadratics and Rectangles.

    Here's an alternative take on the geometry of completing the square, devised as a way of finding the width and height of a rectangle from its perimeter and area. As such, the method is suitable for students before they've formally met quadratics.

  2. Colouring with Quadratics.

    This is an end of term or end of topic activity using quadratics to draw out a familiar shape.

  3. On the Nature of Proof (Original Version).

    I originally wrote this way back in 2011 for a course where students were required to prove results rigorously. I used it as the basis for this answer on Mathematics.SE, and so am reposting it here.

4 Problems and Puzzles

Every now and again I'll attempt a mathematical problem. If I learn something, there's a chance I'll write it up.

  1. A Tale of Two Puzzles.

    There's something about mathematical puzzles that I find not quite to my liking. Two puzzles that recently came my way gave me the opportunity to try to figure out why that is.

  2. Find the Angle.

    Having decided why I don't like mathematical puzzles as puzzles, I decided to have a go at one thinking as a mathematician. This is my – quite lengthy! – walk through of that thinking.

  3. The Four Fours Puzzle.

    By taking a systematic approach to the Four Fours puzzle, it's possible to find ways to vary the puzzle when setting it to add a little variation.

2 How Did I Do That?

1 TeX/LaTeX

If allowed, I would write just about every document in LaTeX. Here are some thoughts springing from my experiences with LaTeX, together with links to my packages.

My packages generally are stored now on github and so comments or bug reports can be left there. For general TeX/LaTeX help I recommend the fantastic site TeX-SX.

  1. Document Revision System.

    I decided to start using a document revision system for my LaTeX documents. This is an account of how I made the switch.

  2. Drawing Knots in LaTeX

    This is an attempt at making a tutorial for using my packages to draw knots in LaTeX.

2 Google Apps Scripts

The Google ecosystem (Google Docs, Google Sheets, and other Google Stuff) is a great resource for teaching. The fact that it is scriptable makes just adds to its utility and flexibility. The scripts can work not just within a document but with different documents.

  1. Sharing A Cell

    A script for making a spreadsheet with blocks editable by just one user each. Useful for having a spreadsheet for a class to enter data safely (i.e., without the danger of overwriting each others' data).

  2. On Average

    This is a spreadsheet-based introduction to the different types of average. Using Google Sheets and Google Apps Scripts, the students first take a series of measurements, which are then reshared with the class for further analysis.

  3. A Fractal Spreadsheet

    This is an explanation of how to make a spreadsheet that displays a Julia set.

3 Codea

Codea is a fantastic programming “app" for graphical programming on the iPad. It uses the lua language and extends it by adding lots of useful iPaddy functions, making it very straightforward to write simple animations, simulations, games, and all sorts of things. There's an ever-growing list of apps released on the AppStore that were written either mainly or entirely using Codea.

Through writing programs using it, I've been constantly amazed at how much mathematics I use even when I'm not writing mathematical programs (though that is often the subject of my programs). So some of what I write about it is to explain a bit of mathematics to other Codea programmers.

Again, most of my code is available on github. For general Codea help, the Codea forums are the place to go.

  1. Matrices.

    A simple explanation of matrices and their use in graphical programming, such as in Codea.

  2. Quaternions.

    An explanation of why we use quaternions to encode rotations of 3–space.

  3. Gradient Fill.

    When displaying objects graphically, everything ends up as triangles. In particular, a quadrilateral will be represented by two triangles. However, there is a distinction between two triangles that happen to share a common edge and two triangles that are part of a quadrilateral.

  4. Roller Coaster.

    Codea did not originally have the facility to work directly with meshes. When it was added, I made a little roller coaster program as part of learning about meshes. It was added as an example program to the Codea app. This is a little explanation of the code.

  5. Shaders.

    After meshes, the next fun addition was shaders. This is an explanation of two shaders that I wrote as part of exploring how they work.

  6. Libraries.

    With the advent of the Codea Community project, code sharing in Codea got a whole lot easier. However, my larger projects use a slightly complicated system of libraries that works outside of Codea's dependency mechanism and so it doesn't work automatically with Codea Community. These are the instructions on how to get one of these projects working.

  7. Touch Tutorial.

    This is an old tutorial for using my Touch library, which is a touch handler. The tutorial needs updating a little – this is a preliminary version.