What followed was a dive down the rabbit hole of history, travelling from work of the mathematical greats to the depths of Google Group archives, all to answer one question: what’s the deal with the circumference of an ellipse?^{1}
\(\text{Circle Area} = \pi r^2 \\ \text{Circumference} = 2\pi r\) | \(\text{Ellipse Area} = \pi ab \\ \text{Circumference} = \text{???}\) |
We’re all taught in school that a circle with diameter \(2r\) has area \(\pi r^2\) and that its circumference is \(2\pi r\). You might have been taught that an ellipse with width \(2a\) and height \(2b\) has area \(\pi ab\), but what about its circumference? It turns out there’s no such ‘elementary’ equation for the circumference of an ellipse.
We remember from school that the arc length of a curve between \(x = x_1\) and \(x = x_2\), given in cartesian coordinates, is
\[s = \int_{x_1}^{x_2} \sqrt{1 + {\left( \frac{\mathrm{d}y}{\mathrm{d}x} \right)}^2}\mathrm{d}x.\]If we first look at circle, when centred on zero^{2} it has equation \(x^2 + y^2 = r^2\), so
\[\begin{align} y^2 = r^2 - x^2 &\Rightarrow y = \sqrt{r^2 - x^2} \\ &\Rightarrow \frac{\mathrm{d}y}{\mathrm{d}x} = -\frac{x}{\sqrt{r^2 - x^2}} \\ &\Rightarrow {\left( \frac{\mathrm{d}y}{\mathrm{d}x} \right)}^2 = \frac{x^2}{r^2 - x^2}. \end{align}\]We can use the arc length equation to find the circumference, \(s\), of the circle. Using \(x_1 = 0\) and \(x_2 = r\) gives a quarter of the circumference, so
\[\begin{align*} s &= 4\int_0^r \sqrt{1 + \frac{x^2}{r^2 - x^2}}~{\mathrm{d}x} \\ &= 4\int_0^r \sqrt{\frac{r^2}{r^2 - x^2}}~{\mathrm{d}x} \\ &= 4\int_0^r \sqrt{\frac{1}{1 - {\left(\frac{x}{r}\right)}^2} }~{\mathrm{d}x} \\ &= 4{\left[ r\sin^{-1}\left(\frac{x}{r}\right)\right]}_0^r \\ &= 4r(\sin^{-1}1 - \sin^{-1}0) \\ &= 2\pi r. \end{align*}\]That’s the circumference formula we all know and love! Ellipses are just squashed circles so logically the same should work for them right?
A standard ellipse with width \(2a\) and height \(2b\) has equation \(\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1\). Another fact which will be useful later is that the eccentricity of an ellipse is given by \(k = \sqrt{1 - b^2/a^2}\). Working as before,
\[\begin{align} y^2 = b^2 - \frac{x^2 b^2}{a^2} &\Rightarrow y = \sqrt{b^2 - \frac{b^2}{a^2}x^2} \\ &\Rightarrow \frac{\mathrm{d}y}{\mathrm{d}x} = -\frac{b^2}{a^2}\cdot\frac{x}{\sqrt{b^2 - \frac{b^2}{a^2}x^2}} \\ &\Rightarrow {\left( \frac{\mathrm{d}y}{\mathrm{d}x} \right)}^2 = \frac{b^4}{a^4}\cdot\frac{x^2}{b^2 - \frac{b^2}{a^2}x^2}. \end{align}\]Oh dear. For ellipses \(\frac{\mathrm{d}y}{\mathrm{d}x}\) is already more complicated than it was for circles, and that’s before we’ve even started integrating. Maybe there’ll be some cancellations though?
Using the equation for arc length as before with \(x_1 = 0\) and \(x_2 = a\) to find a quarter of the circumference gives
\[\begin{align} s &= 4\int_0^a \sqrt{1 + \frac{b^4}{a^4}\cdot\frac{x^2}{b^2 - \frac{b^2}{a^2}x^2} }{\mathrm{d}x} \\ &= 4\int_0^a \sqrt{1 + \frac{b^2 x^2}{a^4 - a^2x^2}}{\mathrm{d}x} \\ &= 4\int_0^{\frac{\pi}{2}} \sqrt{1 + \frac{(ab)^2\sin^2\theta}{a^4(1-\sin^2\theta)}} \cdot a\cos\theta~{\mathrm{d}\theta} \\ &= 4\int_0^{\frac{\pi}{2}} \sqrt{1 + \frac{b^2}{a^2}\frac{\sin^2\theta}{\cos^2\theta}} \cdot a\cos\theta~{\mathrm{d}\theta} \\ &= 4\int_0^{\frac{\pi}{2}} \sqrt{a^2\cos^2\theta + b^2\sin^2\theta}~{\mathrm{d}\theta} \\ &= 4\int_0^{\frac{\pi}{2}} \sqrt{a^2 + (b^2-a^2)\sin^2\theta}~{\mathrm{d}\theta} \\ &= 4a\int_0^{\frac{\pi}{2}} \sqrt{1 + \left(1 - \frac{b^2}{a^2} \right)\sin^2\theta}~{\mathrm{d}\theta} \\ &= 4a\int_0^{\frac{\pi}{2}} \sqrt{1 - k^2\sin^2\theta}~{\mathrm{d}\theta} \end{align}\]at which point we stop and reconsider our life choices. This looks simple but just isn’t going anywhere.
This turns out to be what’s known as the complete elliptic integral of the second kind, a famously non-elementary integral. That is to say, it has no ‘nice’ solutions which means there isn’t an analogue to a circle’s \(2\pi r\) when looking at ellipses. To quote Gérard Michon:
There are simple formulas but they are not exact, and there are exact formulas but they are not simple.^{3}
Showing why it’s non-elementary though goes beyond the scope of this post.
Lets first look at the ‘simple’ formulas that aren’t exact. Over the years there have been many different attempts dreamt up for this, but if we’re wanting truly elementary formulas then we’ve a couple prominent options.
When doing his work on orbits Johannes Kepler (1609) used the geometric average, \(s \approx 2\pi\sqrt{ab},\) to approximate the circumference. It’s very poor with a worst case error of 100%, but it was over 400 years ago so what you gonna do.
About 170 years later, Leonhard Euler (1773) gave it a bash and figured out \(s\) can be bounded below by the arithmetic mean and above by the root mean squared,
\[2\pi\frac{a+b}{2} \leqslant s \leqslant 2\pi\sqrt{\frac{a^2 + b^2}{2}}.\]More recently, Matt Parker (2020)^{4} debuted his lazy approximation,
\[s \approx \pi\left(\frac{6}{5}a + \frac{3}{4}b\right)~\text{where}~a\geqslant b,\]which came from computational optimization: finding the numeral rational coefficients for an equation of that form which give the least error on average over a given range of \(a\).
It’s useful to see just how far off the truth these formulas are so we plot their deviation from the true circumference. Without loss of generality, we can vary the value of \(a\) while keeping \(b = 1\); we don’t care about orientation or scale.
Straight away we see that, with the possible exception of Lazy Parker, all these are pretty bad for anything except a very-round ellipse. Euler’s bounds are almost symmetrically bad and Kepler’s attempt shoots way off to the bottom, underestimating by almost 10% already by \(a = 2\).
The Lazy Parker approximation continues to beat these even at the extreme value of \(a = 20\), though by then it is underestimating by 3.43%. If we’re willing to add in some more bells and whistles though we can do better. These aren’t formulas you’d want to memorise but they will get you a good answer.
It wouldn’t be maths if Srinivasa Ramanujan (1914) didn’t have a finger in the pie, and he gave two pretty nice approximations:
The latter of these is astoundingly good as we’ll see in a moment. Parker also gave an coefficient-optimized solution mimicking the former,
\[\pi\left( \frac{53}{3}a + \frac{717}{36}b - \sqrt{269a^2 + 667ab + 371b^2} \right)~\text{where}~a\geqslant b\]which has decent performance, though at the expense of complexity.
Far more recently, and coming from the unlikeliest of places, David Cantrell (2001) posted the following optimizable formula to a Google Group:
\[s \approx 4(a+b) - 2(4-\pi)\frac{ab}{H_p} \text{ where } H_p = {\left( \frac{a^p + b^p}{2} \right)}^{\frac{1}{p}}.\]Here \(H_p\) is the Hölder mean. The value of \(p\) can be found through optimization or analysis, with \(p = (3\pi - 8)/(8-2\pi)\) working best for ‘round’ ellipses and \(p = \ln(2)/\ln(2 /(4-\pi))\) being optimal for ‘elongated’ ellipses. In practice, we can use \(p = 0.825\) which does just fine for everything.
Though complicated approximations make for complicated graphs, all six of these approximations outperform all of our simple, rough approximations.
Ramanujan II is an incredible approximation and remains best right through to \(a = 20\), though Cantrell with \(p\) for elongated ellipses beats it soon after.
What if we look even further afield though, maybe at \(a = 75\)? At this point we might be tempted to stop and say
Who’s having an ellipse which is 75 times as wide as it is high? That’s just ridiculous! (Parker, 2020)
After all, even the orbit of Halley’s comet, famed for being highly elliptical, only has \(a = 3.93\) (an eccentricity of \(0.9671\)).
Well it turns out the most elliptical orbit we’ve discovered is of comet C/1965 S1-A Ikeya-Seki^{6}. It has an eccentricity of \(0.999915\) giving \(a \approx 76.7 > 75\).^{7}
That’s a motivator to look further, up to \(a = 80\). There we see Ramanujan II has started to diverge more significantly from the truth and Cantrell’s approximation is winning out, particularly when
\[p = \frac{\ln(2)}{\ln\left( \frac{2}{4-\pi} \right)}\]since it’s optimum for elongated ellipses.
All these approximations are pretty good and even the worst among them, Parker’s, stays within 0.5% error. If we want to find the actual circumference of an ellipse though we’ll have to look beyond these approximations. For that we now turn out attention to the exact formulas that are not simple.
There are three main power series used for ellipse circumferences: one from Colin Maclaurin (1742),
\[s = 2\pi a\sum_{m=0}^\infty \left( {\left( \frac{(2m)!}{m!m!} \right)}^2 \frac{k^{2m}}{16^m (1-2m)} \right)~\text{ where } k = \sqrt{1 - \frac{b^2}{a^2}},\]one from Leonhard Euler (1776),
\[s = \pi\sqrt{2(a^2+b^2)}\sum_{m=0}^\infty \left( {\left(\frac{\delta}{16}\right)}^m \cdot \frac{(4m-3)!!}{(m!)^2} \right)~\text{ where } \delta = {\left( \frac{a^2-b^2}{a^2+b^2} \right)}^2,\]and one from James Ivory (1796)^{8},
\[s = \pi(a+b)\sum_{m=0}^\infty \left( {\left( \frac{(2m)!}{m!m!} \right)}^2 \frac{h^m}{16^m {(1-2m)}^2} \right)~\text{ where } h = {\left(\frac{a-b}{a+b}\right)}^2.\]While exact on paper these don’t converge in general. We can use them to approximate \(s\) by summing the first \(n\) terms of the power series. For example,
\[s \approx 2a\pi\sum_{m=0}^n \left( {\left( \frac{(2m)!}{m!m!} \right)}^2 \frac{k^{2m}}{16^m (1-2m)} \right)~\text{ where } k = \sqrt{1 - \frac{b^2}{a^2}}.\]The amended plot below shows that summing Maclaurin’s series to \(n = 6\) is comparable to our rough approximations.
Similarly the plot below demonstrates that summing to \(n = 50\) is comparable to our higher accuracy approximations.
You might then think, okay, to find the exact circumference
Just use a power series to a high number of terms (Disney-Hogg, 2021)
but the practicalities turn out not to be so simple.
The convergence rate of Maclaurin’s series is slow. So slow in fact that the sum to \(n = 10\) terms already starts to diverge from the truth well before \(a = 20\) and is overestimating by 2.38% by the time \(a = 80\). Ivory’s series does fair far better, but for by \(a = 80\) for \(n = 10\) it’s also underestimating by 0.012%.
You might think, maybe we just need higher \(n\)? Well we can push both power series to \(n = 258\) terms^{9} and there is improvement. For Maclaurin it’s hardly the dizzying accuracy we might have hoped for, still being off by about 0.01% at \(a = 80\). That’s barely better than summing 10 terms Ivory, showing just how slow Maclaurin converges.
Meanwhile, even at \(a = 80\), \(n = 258\), Ivory is only producing an error of order \(10^{-11}\%\) which, let’s be fair, is pretty damn good. And that’s not even as far as we can take that series either! If we push it all the way to \(n = 507\) terms^{9}, at \(a = 80\) we’re still within machine-epsilon error which is amazing.
In fact at \(n = 507\) we don’t start seeing numerical error until \(a \approx 140\), well beyond our known most elliptic orbits.
Carl Gauss (1812) & Eduard Kummer (1836)^{10} showed these three series could all be expressed in terms of the hypergeometric function:
\[\begin{align} \text{Maclaurin}: s &\approx 2\pi a\cdot {}_2F_1\left(-\frac{1}{2}, \frac{1}{2}, 1, k^2\right) \\ \text{Euler}: s &\approx \pi\cdot {}_2F_1\left(-\frac{1}{4}, \frac{1}{4}, 1, \delta \right) \\ \text{Ivory}: s &\approx \pi(a+b)\cdot {}_2F_1\left(-\frac{1}{2}, -\frac{1}{2}, 1, h \right) \end{align}\]This coupled with the close proximity between the two findings means Ivory’s series is usually referred to as the Gauss-Kummer series.
R’s hypergeo
package can evaluate this function, only returning an answer when the terms have converged within machine-epsilon error. Comparisons throughout this work use that function with blind faith that it’s more efficient and accurate than the best power series approximation we were able to use.
The idea behind Monte Carlo integration is simple. To approximate
\[I = \int_0^\phi f(x){\mathrm{d}x}\]we first plot \(f\) over \([0, \phi]\). Then we take \(N\) uniformly random points in a box \([0, \phi] \times [0,H]\) enclosing the plot, colouring them red if they fall below the integrand and blue if they fall above it. The integral approximation is then
\[I \approx (\phi-0) \times (H-0) \times \frac{\#\text{red}}{N}.\]As the total number of random points increases the approximation converges toward the true value.
At first glance our initial integral
\[s = 4\int_0^a \sqrt{1 + \frac{b^2 x^2}{a^4 - a^2x^2}}{\mathrm{d}x}\]isn’t lending itself to Monte Carlo integration. Not only do we have unknown \(a\) both in the integrand and in the limit, there’s also a lovely asymptote at \(x = a\). It’s not ideal for making a general tool.
On the other hand, the transformation of that integral
\[s = 4a\int_0^{\frac{\pi}{2}} \sqrt{1 - k^2\sin^2\theta}~{\mathrm{d}\theta},\]is far more inviting. The integrand plot can be enclosed by \([0,~\pi/2] \times [0,~1]\), making it a perfect candidate for doing Monte Carlo integration!
We coded up a simple function in R for doing this for arbitrary \(a\) and \(b\).
MonteCarlo = function(a, b, n=1e3, graph=FALSE) {
# Given ellipse parameters 'a' and 'b' (where a >= b) and
# sample count 'n' (default 1000) as inputs, this returns
# an approximation of that ellipse's circumference using
# Monte Carlo with n samples. If (optional) bool 'graph'
# is TRUE (default FALSE) then a graph of the integrand
# will be plotted.
# calculate ellipse eccentricity
k = sqrt(1-(b/a)^2);
# upper integral limit, calculate 1/4 of ellipse then x4
phi = pi/2;
# integrand function, max of this is always 1
f = function(x) { result = sqrt(1 - k^2 * sin(x)^2); }
# generate random points in the box
rand_x = runif(n, 0, phi);
rand_y = runif(n, 0, 1);
# true/false vector if each point was under graphs
under_integrand = rand_y < f(rand_x);
# count the number of such points
number_under_integrand = sum(under_integrand);
# monte carlo estimation of the area under the graph
area = phi * 1 * (number_under_integrand/n)
# optional, graphs integrand and the approximation samples
if (graph) {
png("Figs/mc-graph.png")
par(mar=c(5,5,2,2)+0.1) # remove title space
# trace out the integrand
x = seq(0, phi, 0.01);
y = f(x);
plot(x, y, type='l', xlim=c(0, phi), ylim=c(0,max(y)))
# obligatory red/blue MC graph points
points(rand_x[under_integrand],
rand_y[under_integrand],
col="red")
points(rand_x[!(under_integrand)],
rand_y[!(under_integrand)],
col="blue")
dev.off()
}
# final result is 4a times the integral
return(4*a*area)
}
We’re not the first to apply Monte Carlo to this problem; Gary Gipson (1982) explored the idea more generally as part of his PhD thesis.^{11}
To give a specific example, if we have \(a = 5\), \(b = 1\), our true circumference is \(21.01004\). Carrying out Monte Carlo integration might look as below.
Example graph output from the MonteCarlo function. |
Example convergence plot as more samples are added. |
In particular, the graph on the left approximates the ellipse’s circumference as
\[s \approx 4a \times \left(\frac{\pi}{2}\times1\right) \times \frac{684}{684 + 316} = 21.48849,\]meaning there’s about 2% error. To see how this compares in absolute value terms, the table below has all our approximations all side by side for varying \(a\).
Method | \(a = 1\) | \(a = 5\) | \(a = 20\) | \(a = 80\) |
---|---|---|---|---|
Arithmetic Average | 6.283185 | 18.84956 | 65.97345 | 254.4690 |
Geometric Average | 6.283185 | 14.04963 | 28.09926 | 56.1985 |
Euler Average | 6.283185 | 22.65435 | 88.96866 | 355.4584 |
Ramanujan I | 6.283185 | 21.00560 | 80.24683 | 319.0854 |
Ramanujan II | 6.283185 | 21.01003 | 80.38430 | 320.0634 |
Parker | 6.282953 | 21.00714 | 80.17898 | 318.5687 |
Lazy Parker | 6.126106 | 21.20575 | 77.75442 | 303.9491 |
Cantrell, \(p = 0.825\) | 6.283185 | 21.00887 | 80.39483 | 320.1485 |
Maclaurin, \(n = 10\) | 6.283185 | 21.18883 | 82.11027 | 327.7535 |
Ivory, \(n = 10\) | 6.283185 | 21.01004 | 80.38718 | 320.0904 |
Monte Carlo, \(N = 10^3\) | 6.283185 | 21.55133 | 80.42477 | 315.1646 |
Truth | 6.283185 | 21.01004 | 80.38851 | 320.1317 |
We can see that Monte Carlo isn’t terrible, but it’s also not as good as some of even our more basic approximations like Parker. That begs the question…
Given Monte Carlo isn’t more efficient, more accurate, or simpler to state than any of the other approximations given here there’s not a clear reason to use it beyond academic curiosity. A better question though might be…
Monte Carlo approximations aren’t difficult to understand; I’ve a memory of being taught the basics around Y8 (12 years old). We were given a coin to toss 100 times, recording the results and working out the approximate probability of heads by dividing the number of times it happened by 100. It’s not a very exciting demonstration, but it works.
That’s for showing it to a younger audience though, what about when you’re showing it to undergrads? The go-to examples are integration or calculating \(\pi\).
As we did for our elliptic integral, given \(p(x) = a_n x^n + a_{n-1}x^{n-1} + \cdots + a_0\) we can approximate \(\int_{x_1}^{x_2} p(x){\mathrm{d}x}\) by generating \(N\) uniform random points in a box bounding \(p\) between \(x_1\) and \(x_2\), counting the number of that fall below \(p\) and dividing that by \(N\). While the idea is still simple, it’s not exactly interesting and feels pretty redundant; polynomial integration can be done exactly and is borderline trivial for most undergrads. Even if \(p\) were to be more complicated, students will be painfully aware there are better approximation methods.
Approximating \(\pi\) has other problems. It’s still integral approximation at heart so it’s not complicated, but it has the aura of a pointless exercise. It does have the advantage of being a well known constant and seeing the approximation converge is a neat demonstration, but how Monte Carlo is being used here is very specific to \(\pi\) and not widely applicable.
Putting aside that it’s not necessarily the best tool for the job, there are some benefits to using ellipse circumference in a Monte Carlo demonstration:
A downside to bare in mind that it prompts the question, ‘why is this integral non-elementary?’ to which there’s no easy answer; get your references to take higher year integrability courses at the ready!
That aside though, Monte Carlo Elliptic Integrals is a neat tool being applied to an cool problem in a way that’s both interesting and understandable. It’s a good motivator for why Monte Carlo methods might be useful in a practical setting while not presenting an application beyond the understanding of a novice mathematician.
This post mirrors a talk I gave called Monte Carlo Elliptic Integrals at the Maxwell Institute Graduate School’s PG Colloquium in October 2021. Thanks to Andrew Beckett for working through the original integrations, Linden Disney-Hogg for his insights into integrability, Chris Eilbeck for pointing me toward further research, and of course to Callie for introducing me to the problem. ↩
Throughout we can center circles and ellipses on zero without loss of generality; relative position has no baring on circumference. Similarly, when working with ellipses we don’t have to concern ourselves with how they’re oriented. ↩
G. P. Michon, Final Answers, ch. Perimeter of an Ellipse. Numerica, 2004, most recently updated 2020. A fabulous literature review without which this post wouldn’t have been possible. ↩
M. Parker, Why is there no equation for the perimeter of an ellipse!?, YouTube, September 2020. Another great review of the topic and the source of Parker’s computationally optimized simple formulas. ↩
\(h\) crops up a lot but, according to Michon, it’s an unnamed quantity. ↩
Jet Propulsion Laboratory, C/1965 S1-A (Ikeya-Seki), Small-Body Database, 2008. The source of the values in working out the orbit with the highest known eccentricity. ↩
This is so perfectly close to Parker’s ‘ridiculous’ value for \(a\) that I don’t know if it’s an intentional easter egg or just coincidence. ↩
Despite the name, the Gauss-Kummer series first appeared in a memoir of Scottish mathematician and University of Edinburgh alumni, Sir James Ivory: A new series for the rectification of the ellipse, Transactions of the Royal Society of Edinburgh, vol. 4, no. II, pp. 177–190, 1796. ↩
When coding these approximations we used R; it made sense in the Monte Carlo context and it was what we’d for other aspects of the summer school. As a language though, it’s very limited in how it handles large numbers. In particular, using factorial
to compute \(n!\) for \(n > 170\) just returns \(\infty\), a problem for Maclaurin since it includes a \((2n)!\) term. At face value we’re thus limited to summing the first \(n = 85\) terms, a problem given its slow convergence rate. It’s possible to improve that limit to \(n = 258\) using choose
or lfactorial
, though it’s arguable how useful that is given it’s still producing an error of \(10^{-3}\%\) compared to Ivory’s \(10^{-11}\%\). Ivory has an upper limit of \(n = 507\) before R gets angry for similar reasons, and that’s sufficient to handle to \(a\) up to 140. ↩ ↩^{2}
P. Abbot, On the perimeter of an ellipse, The Mathematica Journal, vol. 11, no. 2, 2011. Originally presented at the International Mathematica Symposium 2006. ↩
G. Gipson, The Coupling of Monte Carlo Integration with the Boundary Integral Equation Technique to Solve Poisson Type Equations, PhD Thesis, Louisiana State University, 1982. ↩
Despite the development and maintenance overheads Wren served me well for a good while. Even though the aesthetic was a super basic and the syntax for writing posts was heckin’ clunky, I’d made a surprisingly featureful tool. All the now-standard bells and whistles were there, some of which were state-of-the-art in 2014 like reading times^{1} and per tag RSS^{2}.
Eventually though I had to let it go. Every time I went to write a blog I had to fix bugs first and it eventually reached the point where I was spending more time on maintenance than writing. In searching for an alternative I found the then-startup Ghost; it used markdown, was open source, and could be self-hosted, promising simplicity so its users could just focus on writing.
I switched to Ghost 0.x and all those maintenance worries melted away.
Fast forward to 2021 when Ghost 2.x just reached EOL and 4.x isn’t looking so simple anymore. With the independent explosions of Medium and static site generators, the developers have understandably shifted their focus to bigger multi-author blogs-as-a-business. It’s still self hosted and open source, but that’s a lot of features I won’t be using weighing it down. So what do?
In walks Jekyll. I’d been doing some design work for JustDeleteMe.xyz and had gotten to grips with Jekyll so I could check things were still working on my local build. I’d toyed with it in the past but never went past using one of the default themes. This work with JDM gave me a taste of how easy it was to build on and customise.
Over the last couple of weeks I’ve been tinkering with Jekyll’s Minima theme and my old Wren 0.2 code and they’ve given birth the the wonderful Wren 0.3. It’s a Jekyll theme styled like my old Wren CSS with Liquid files replicating many of the features Wren had.
While some of these features are novel implementations, most are based on FOSS plugins by other developers. As well as Minima there’s code based on reading time, video embeds, tag cloud, and more. Even the icons are a mix of those I’ve made and modified ones from Font Awesome.
It speaks to a bigger shift in my mentality between 2014 and today. Then I saw value only in building from the ground up; it wasn’t enough to write the blog content, or even the CSS to theme it, I had to write everything.
In 2021 though? I still do think that starting from scratch can be a useful learning exercise and it’s great at teasing out new approaches to problems, but I’m also much more accepting of the benefit of building on the work of other people. There’s no sense reinventing the wheel for the sake of it.
You can find Wren on GitHub to see behind the scenes and find out how it all works. Apologies if the switch to Wren has broke your RSS subscription or old hyperlinks (I couldn’t find a way to redirect those gracefully) but I hope you’ll agree that the refreshed design is worth it!
The pandemic was the defining feature of the 2020/21 academic year, impacting teaching activities throughout. My semester 1 tutoring was delivered through two different ‘hybrid’ models; both involved teaching everyone online whenever COVID restrictions required, but differed in how in-person tutoring was delivered outside that. The first saw tutors work with students in a classroom and online simultaneously, while the second moved students between separate in-person and online groups week-to-week based on need.
Having done online tutoring in 2019/20 semester 2 and over summer with Sutton Trust definitely proved beneficial for the online aspects; expectations for webcam uptake were managed and the necessary tools were familiar, which made focusing on engaging students in the topic easier. Discussions were generally quieter but students did collaborate some on shared virtual whiteboards, an idea taken from a Teaching Cafe ^{1}. The in-person aspects weren’t so straight forward, with both hybrid models having pros and cons.
The first method was logistically difficult for tutors but easier to timetable. Without live video capture, finding a method of delivery which was engaging for those in person while still accessible to those online proved tricky. After talking with other tutors and trialing setups involving webcams pointed at physical whiteboards, we settled on using Teams’ virtual whiteboard with students in the classroom bringing their own laptops for access. Anecdotal feedback from students in-person unfortunately suggests this still wasn’t a great experience.
The second method gave a better learning environment for those in-person but made timetabling confusing. There was a less consistent group dynamic since attendance changed weekly, but those who attended all semester benefited. Making use of physical space within restrictions did prove problematic; social distancing necessitated more out-loud discussion than normal, when sharing notes might have been possible. This was incorporated into my teaching by delivering chalk-and-talk style workshops but with regular pauses to ask and discuss what would come next in the working.
Another delivery method I tried (inspired by workshops from my undergrad) had students come to the whiteboard to talk through a question they felt comfortable with. I stepped aside while a student talked the group through synthetic division, which is part of the Higher syllabus in Scotland but not usually part of A Levels. On that occasion this worked, but feasibility depended largely on environment (e.g. are disinfectant wipes available, is there enough space, etc).
Semester 2 of 2020/21 was an entirely online affair, but I hope to take learnings from this hybrid teaching, particularly around tools and accessibility, into my 2021/22 tutoring.
School of Maths’ Teaching Cafe on June 25th, 2020, focusing on how Zoom’s whiteboard feature (and others like it) might be used for online workshops. ↩
In summer 2020 I was given the opportunity to prepare and deliver content as part of a summer school through the Sutton Trust, a charity aiming to improve social mobility in higher education. As a student from a working class background who benefited from Sutton’s work way back in 2012, this was an especially exciting opportunity for me.
Due to the ongoing COVID pandemic many adjustments had to be made to the usual programme. The premise was that for each topic students would be sent a pre-recorded lecture and a problem sheet to complete. They would then get together with the tutors for a video call to talk through the solutions and discuss the topic more generally.
Each topic was developed by pairs of tutors; I covered machine learning alongside Bella Deutsch, with a focus on decision trees. These are taught from SQCF 8 ^{1} which fulfilled the criteria of being undergrad-level mathematics students wouldn’t have seen before. To keep it accessible the problems we gave centred around formula usage rather than fully constructing trees from scratch.
With widespread remote teaching still novel there was a lot of uncertainty about how well this new format would work. To learn what was being done elsewhere in the University I attended several staff discussions at the School of Math’s Teaching Cafe ^{2}. These proved very useful since small group teaching has been a frequent topic of discussion recently.
As with all online endeavours, the summer school wasn’t without hiccups; on day 1 a system glitch left students without access to the content. This had been resolved by day 3 when we had our call but a significant number of students still hadn’t accessed our topic’s content. Acknowledging that a pandemic perhaps doesn’t make for the best work environment, we adjusted our discussion in the moment to include those who hasn’t done the worksheet. Just because a student didn’t manage to work before the deadline, it doesn’t mean they don’t want to learn; we saw the highest spike in user traffic for the online portion of our worksheet in the day after the video call ended.
Despite last minute changes the discussion group was great fun! Most tutors across the summer school reported difficulties engaging students in verbal discussion (and for safeguarding reasons students weren’t allowed to use webcams), but we had reasonable success getting them to discuss and answer questions in the chat box. After the session was over, two also stuck around to talk (via voice, not chat!) more about AI and the current areas of research.
Teaching online definitely has its hurdles and it’s certainly going to be an exercise in developing new best practices around new modes of delivery. However, as long as we are able and willing to adjust expectations and adapt accordingly we can still provide a quality learning experience to students.
My teaching this year included workshops for first year calculus, working with two groups of about ten University of Edinburgh students. This was intended to be done almost entirely in-person, with students meeting to discuss that week’s problems and submit physical copies of homework. However, events both in the academic community (the UCU strikes from late February to mid March) and the wider world (the COVID-19 global pandemic) meant that it was necessary to do a great deal of adapting to changing circumstances.
In the lead up to the strikes I had honest conversations with students about the issues at hand, which was positively received. I want academia to be a great place of employment for all and the widening casualisation of jobs is an issue I care deeply about. As per UCU’s agreement with the university I continued to mark assessments, and I also took students’ questions by email.
Assessment completion remained pretty consistent during the strikes, prompted by emails from both myself and the course administrator, but engagement with the content which ordinarily would have been covered in workshop dropped significantly. I think this could be due to only passing mentions of the workshops in emails; asking starter questions about that content (e.g. querying understanding of a theorem) may have encouraged more discussion there.
Again when campus closed due to the pandemic I continued to take homework and questions by email, with the addition of a Piazza online forum where students could also discuss the course and ask questions. Learning from the experience of the strikes, this time I managed to engage several students in longer discussions about the course content, helping to develop the ‘how’ and ‘why’ behind methods discussed. This was as simple as giving pointers in my feedback and making it clear more information was available (e.g. “If you would like to know more just let me know!”).
This disruption, particularly the pandemic which saw many students moving across the world, made maintaining tutor-tutee relationships difficult. Several students ran into difficulties around timezones and others from unexpected caring commitments. I endeavoured to make adjustments where possible, providing assistance around work, signposting support channels when appropriate, and checking on students who unexpectedly stopped engaging. The training which we received prior to starting proved helpful here; as well as establishing best practices for delivering workshops, it outlined what is and isn’t within our control as tutors and the importance of that relationship.
Toward the end of the semester one of my students emailed me thanking for the semester and asking for reading recommendations around an area which happened to be my own area of research. We had a chat by email about what I did as a PhD student and I pointed them in the direction of books and course materials which I’ve found useful. It was a heartening end to the term and a welcome reminder of the difference tutoring can make.
]]>Last year I changed tactics slightly and, alongside some traditional big goals, what I really wanted was to form healthy habits. These were tracked using a great little (open source!) app called Loop.^{1}
Full disclaimer: for most all habits I didn’t actually meet the ‘85% of days’ goal set. In hindsight focusing on forming the habits was more important meeting an unambiguous (but arbitrary) win condition. With that in mind, this year was still a success in my eyes for most the habits I wanted to form. As the year went on I only got better at sticking to them and this has continued through January.
A big win for me personally has been regular diary updates. It was only sporadically updated in 2017 but by the end of 2018 it was such a regular part of my life that I was actually surprised when I hadn’t updated it the evening before. Looking back at the last two years of entries has also become an unexpected pleasure each night before bed.
Creative writing has definitely been the most difficult to get into, even though it’s something I’ve done a lot in the past. While I’ve occasionally done some scribblings and I had a half hearted bash at NaNoWrioMo I just haven’t made time for it that it needs.
On the bigger goals things are a mixed bag, but on the whole looking more positive. Through the tail end of third year I mostly managed to keep on top of assignments and definitely more so going into fourth year. I finished third year with a respectably high 2:1 too; while semester 1 was disappointing I’m happy with how things are going now.
As I say, writing has been difficult. I crashed out of NaNoWriMo pretty early and this blog has been pretty stagnant throughout the year. Reading went better; I didn’t hit the goal, but 13,700 pages over 44 books is nothing to sniff at. This goal was actually on track for most the year, only trailing off in final couple months.
Worries that running a half-marathon would be a low-ball goal were ill-founded. It was incredibly gruelling but on the hottest day of 2018 I completed the Manchester half marathon in a not-terrible ~2 hours time! The goal of reaching out more^{2} was unfortunately less well done for the most part.
Recall that my 2018 goals were split into three broad areas: academic, creative, and health. For 2019 I’m adding a fourth category which is basically my general theme for the year: quitting.
For a long time my friends have known me as someone who “does too much”. At pretty much every point in my life I’ve got involved with a load of different activities, for better and for worse. Going into 2019 I want to be more selective with how I spend my time^{3}. It’s not necessarily even that I don’t enjoy some of what I’ll step back from, I just want more space to enjoy what I keep. This is something which started toward the end of last year but will continue I hope.
In addition to carrying on the 2018 habits, I’m adding to Loop several “bad habits” I want to stop or reduce. These include social media time, ordering take out, eating meat, and drinking alcohol.
On these I’m obviously looking toward to (finally) ending my undergrad and want to be doing something productive come September. I would love to graduate with more than 70% and it’s something that I’ve really worked toward these last few months. Fingers crossed I get there! I’m also hoping to read War and Peace as part of the subreddit r/ayearofwarandpeace.
Making use of my creative outlets is something I want to work on so there’s a hell of a lot on the creative side. I’m reaffirming the goal to publishing something at least once per month with an addition to work on a new icon every day^{4}. The goal to read more than 52 books and 15,000 pages is also back, with a slightly bumped up page count. I’d love to complete NaNoWriMo but without knowing what I’ll be doing come November that’s a less certain one.
Continuing the trend of roughly doubling how far I can run each year, now I’m aiming to complete a marathon! My running petered off a little toward the end of last year so looking forward to getting back into it. Similarly did quidditch; at the 18/19 Regionals I played for Manchester’s 2nd team. I really want to get back and make the 1st team for BQC given it could be the last tournament I play at Manchester.
While the quitting theme is more something I’m expecting to work out as I go along, a very know-it-when-you-see-it theme, one big one I already know I’m planning on doing is stepping back from r/up^{5}. There’s also an idea for Lent which I’m still musing over.
In short though things are good! There’s a lot to look forward to personally in 2019 and I’m excited to see how it goes.
-Josh
Available on Google Play and F-Droid. ↩
Added late January in this post. The only other goal added after the fact and mentioned in neither post was to form a habit of Brain Training daily. ↩
This vaguely includes what I talked about in Trouble Letting Go a few years back, though I am a lot better in that specific regard. ↩
This was largely underway already at time of writing. I dare say a post about it will come later. ↩
When something makes me think about a friend I’ve not seen or spoken to in a while, I want to message that friend. Don’t just do nothing.
For the long of it, read on.
Last April I got the train back from Manchester to Sheffield to go to my friend Sam’s birthday. It’s one of the things I love about living here: I’m only ever an hour from home, which makes seeing family and friends so much easier than if I had chosen Edinburgh as my insurance.^{1} As a good example, recently my Grandma had a period of bad health and I was able to come home pretty much weekly with no reason other than to visit her.
But I digress. I’d got off the train and found myself with a couple of hours to spare. There’s no shortage of free things to do in Sheffield so I figured I’d wander around for a bit and see what took my fancy. Almost immediately though I bumped into Anita, a long time friend^{2} who I’d not properly hung out with since we left for University nearly 4 years prior. We both had some time to spare so we went to a coffee shop[^n] for a catchup.
There we talked about a lot of the goings on in our lives, things that we’d not talked about in years. A big topic was how what had happened to us was common with other friends too. Once at uni we’d stopped talking to friends from home as much, if not completely, even though we still considered them friends and part of our respective lives. Part of this is down to built up contact anxiety (I’ve not messaged them in years, will it be weird if I message them now?) but we had another thought.
As old and fuddy duddy as it sounds, we attributed this mainly to social media. Hear us out. While these tools have allowed for easier communication between friends it’s also made it even easier to be a passive friend. You’ll see updates on their life on Facebook or their opinions on the latest political drama on Twitter and feel like you’re in touch with them. This is regardless of whether that interaction actually two-way or only one.
We both came away from that meet saying that we’d do more to keep in touch with friends that we hadn’t over the last few years. I don’t know about Anita, but for me this was largely forgotten and not done for most of 2017. Moments would come and go and friends would go on uncontacted. Everything stayed the same.
This year I want to make a change. When one of my friends is having a bad day I want to actually reach out rather than just giving them a sympathy 😢 react. If a friend has a view I disagree with I want to tell them why I disagree with them and engage in that debate. If I see or do something which reminds me of a friend I want to message them and tell them about it.
I’ve already started this a little bit, but as they year goes on there’ll only be room for more. 2018 will not be another year like the last five. This year I’m resolving to change this habit and hopefully strengthen my long term friendships as a result.
We’re back in the TARDIS for the final series with Capaldi, but also the last with Moffat as head writer. While Moffat penned some of the best episodes of new-Who, and I personally thought series 9 was pretty good, there’ve undeniably been some pretty serious faults over his tenure. Can he redeem himself before departing? Can he actually write a reasonable arc that doesn’t descend into shit? Well let’s find out. Once more unto the vortex, dear friends!
I straight away I fell in love with the character of Bill and appreciate that we’re finally deviating from what has been the recent companion norm. The Doctor as a lecturer works brilliantly to the point where I can’t believe it’s taken us 10 years to see it. I would have liked to see more of the Doctor being confined to Earth, which was what I thought we were getting here. It’s an interesting idea and not something we’ve really seen done for more than a few episodes at a time. Even though we were hitting on the same “companion introduction” story beats, there was enough fresh material here to keep me entertained.
It’s at this point in the series (quite early on in retrospect) that I realised we were revisiting a lot of plot ideas we’ve used in the past. It’s all been done before; reflection monsters, abandoned colony planets, monsters in the Thames, and by god if I have to sit through another “Victorian London at Christmas time” episode I’m gonna scream. The episodes itself weren’t awful (I particularly liked Smile’s Black Mirror vibe) but I’m just sick of the settings at this point. While especially apparent in these first three it continues for the rest of the series.
Another theme becoming apparent in the series are darker, more horror-like storylines than we’ve had thus far. That doesn’t necessarily equal good though. The suspense in Knock Knock was over too quickly, the reveals were too obvious, and none of it ended up having any pay off anyway. Oxygen faired much better with a Black Mirror type theme of bashing capitalism. For a children’s TV show it was a remarkably good deconstruction of why unfettered capitalism is bad. The Doctor having permanent repercussions to himself from an act of heroism was a novel idea too but dear lord why all the cheese and reveal.
This whole idea of the Monks was ill formed and sat weirdly with me. In the first episode the plot around the Vatican felt messy & unpolished and the second episode felt largely inconsequential; those events could have been included in the first. It started to improve from the ending of that and going into the third, though I’ll try not to read too much into what effect the change of writer and director had in that regard. The dystopian future under the Monks was intriguing, though with striking similarities of the dystopian future under the Master from Martha Jones’ era. Despite that there was a good amount of clever writing going on and Missy was killing it as always.
Both these episodes felt bland and didn’t really manage to hold my interest, with Eaters in particular being predictable and contrived throughout. There were a few nice references here and there but for the most part the only redeeming feature was Missy.
This is actually pretty cool. Having the black hole mess with time is new and interesting, and Missy flaunting around as the Doctor was a lovely exercise in self-referential humour. I was so focused on the the fact that them being Cyberman so obvious that the true Master twist caught me completely off guard. Even beyond that, I really dug the callbacks to old Who throughout and some of the writing was really clever. Can we please stop giving the companions extra live though? I thought we’d finally got off that train when Clara left. It really took the punch out of what was an otherwise decent finale.
Having two Doctors using a different actor rather than CGI, the older actors, or editing trickery was a brilliant idea and something I really hope we see more of. The Brigadiers story line was kinda inconsequential but worth it for the emotional payoff. I’m glad they went for a slightly more understated farewell than we got with David Tennant, even with Clara being shoe horned in there.
I talk about this episode (and Moffat’s tenure) in more detail with Kit and Sam in my long-time-coming début on the Who Review. It’s a great episode so check that out!
All in all very much a mixed bag. Some moments shone through, Bill was amazing, and there were some good endings to these episodes that were just ruined with cheese. The use of cliff hanger endings to keep the viewer going instead of relying on the honestly intriguing Missy story arc was disappointing too.
Peter Capaldi truly has been the king of one liners though, and I think I’m gonna miss him as a Doctor. Moffat less so, though I genuinely do hope he continues to write the occasional episode because those one-off-outings were when he was at his best.
I intentionally left out Mysterio the Mundane; it was horribly cliched and more than anything just felt like a cheap cash in on the superhero hype that’s been gripping the film industry. ↩
Reading back over my 2016 post it doesn’t feel like much has changed. In fact, it might actually be worse. I’ve spent a large proportion of the last few months feeling unwell, I’m not enjoying my degree, my grades fell short of what I’d hoped for, and if one more person tells me I look tired I swear to god I’m just gonna go to sleep right then and there. It would be dishonest to say there haven’t been successes though.
I ran another 10k (intentionally this time) getting a decent time, and have ran close to a half marathon during training. I’ve played Quidditch better than ever and enjoyed success with Manchester and Yorkshire, both of whom I’m now managing over the 2017/18 season.
Time management has always been a sore spot for me, but over the last year it’s improved in almost every aspect of life. I’ve got better at delegating tasks and asking for help when needed; from moderating subs to running societies there’s no job now where I feel like I’m doing it alone.
Surprisingly I’m also pretty happy with where I got with “Say thanks, not sorry too. I’m not perfect with it by any means but better and going forward feel it can be integrated into general self-care.
After two years of not-so-good results I’m determined to recapture the success of 2015, so the tactic is changing a little going into this year. With the resolutions I consistently struggle to keep the issue seems to be finding it difficult to form new habits.
To help in tracking my sticking to these habits I’m using a great little app called Loop, which is available on Google Play and F-Droid. In the weeks running up to today I played around with a few different apps (both FOSS and proprietary) and this was the one that seemed to gel with how I work.
There are three broad areas into which I’m focusing my improvements: academic, creative, and health. Most are pretty self explanatory, but there are a few I want to mention.
Creative writing has really fallen by the wayside over the last few years, especially with prose. I’ve written the occasional poem but I haven’t written prose in a few years now. This year I’m challenging myself to write a side of A4 every day.
Update diary has replaced “The Week That Was”. While I did enjoy the self-reflection writing the blogs gave, it did start to feel more like a chore. My sister got me a One Line a Day diary last Christmas so I’m just using that now which is working much better.
To make sure there’s an unambiguous win condition, each of these must be completed for 85% of the days in 2018. Thanks to the great stats features in the app I should be able to get consistent feedback on how I’m doing with that.
Despite the focus on the smaller habits, I do still have some big goals that I want to achieve in 2018:
Will I succeed in these tasks? Will I make it to the end of the year with my faculties still in tact? Tune in next year to find out!
-Josh
I had such big plans for this in semester 1 and it just fell apart when the going got tough. Fingers crossed for this semester! ↩
I last completed it in 2011 which will be 7 years ago as of next years. If I could do it then during A Levels I can do it now during my degree. ↩
The number of books read this year has gone up from 40 to 43. Meanwhile the number of pages has gone down from ~14,000 to ~10,000. I don’t want to fall into using the trap of just reading lots of short books to cheat a success on this goal. ↩