Hey there!

My name is pi (or Sam King outside of cyberspace *) and this is my pad. I code and tutor math/IT. I specialise in Machine Learning, DSP/Audio, Scientific Computation, Algorithms, Optimisation, etc. In my free time I play tennis (Oxford City Div 1) with both hands(!), chess, and piano (composition, harmony, songs, classical). I love to travel and have spent many years in Asia (India, Thailand, Singapore). Closest to my heart are dance and meditation.
I like mixing maths and code, for example this animation illustrates Fourier Theory -- projecting a waveform onto a cisoid, windowing and averaging in order to determine activity at a particular frequency:


I consider myself to be a contemporary craftsman -- a technological architect and problem-solver. I was already coding and building systems by the age of 12. Here is a chess clock I designed when I was 15 for my GCSE Technology project:

Chess Clock Chess Clock Innards

The problem it was addressing is that chess clocks traditionally have both clocks on the same face rendering it difficult to see how much time you have left, especially in bullet. You can see the beginnings of good systems architecture: ergonomic form factor (with a display facing each player) and modular component-based design (separation of logic board, clock, display units, UI panel)

A key quality of a successful software engineer is figuring out the appropriate toolchain and mastering it, rather than simply trying to use the tools they already know. Working freelance I have over the years taken on a wide variety of jobs, e.g.:

... which means I have had to learn a broad range of technologies:

I prefer multiplatform solutions e.g. Unity, JUCE, Jupyter and Web where applicable.

Nowadays I am navigating towards Solutions Architecture. Give me a task, budget and deadline and I will research/construct an optimal solution path, build it, outsourcing components where appropriate, and deliver. If I outsource a component I will work closely with the developer/team. I will look over their shoulder -- I don't trust someone's code unless I can see the way their mind moves.

If I am considering engaging a programmer, I need to look at a sample of their work -- this speaks more than the best CV. So here's some of my opensource work:


I offer maths tutoring to exceptional students (exceptional meaning anyone that enjoys the pursuit of maths). I have tutored since graduating in Pure Maths from Warwick University in 2000. Every time I return to England I resume tutoring. I find it provides a perfect counterbalance for computer coding. Several of my students have gone on to study at Oxford or Cambridge.

In the past I have taught in schools and tutorial colleges (e.g. OTC, OISC) around Oxford. Nowadays I prefer to teach privately.

I tutor any age and any level. I am familiar with UK syllabus, International Baccalaureate, SAT/GMAT, STEP, etc, although the work I do is independent of syllabus. My students will develop skills that are independent of syllabus.

I usually charge £35 for a single (45 min) lesson and £60 for a double (90 min). However if you are not able to afford this, please contact me and we can work something out -- I would prefer to nurture a promising student at a reduced rate than let the opportunity pass. Money is not the prime motivator here (DSP work pays upwards of £100/h).

I have created a YouTube Maths series here which demonstrates my approach. Notice that I never invoke rules or results; everything is derived from scratch. This is the key to confidence: really knowing the material.

Here's a sample video (Note: it will be illegible on an iPhone or small screen):

You can email me here or call me on (+44)7449 235 118


22 Aug 2016