A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.



Die Sonne sinkt

1 minute read


Friedrich Nietzsche, aus Dionysus-Dithyramben (1888)

On Mathematical Understanding

9 minute read


Warning: As it stands this write up is incomplete and half-baked! Read at your own risk!

Learning Dutch

less than 1 minute read


My way of learning dutch

How to think about liberty?

4 minute read


Isiah Berlin in his famous essay Two Concepts Of Liberty contrasted two notions of liberty: positive and negative. What are they and are there other forms of liberty in the 21st century social and political subjects outside of this dichotomy?

Tufte CSS

14 minute read


An elegant style


High school Mathematical Olympiad Camp

Training High School students for partaking in national mathematics olympiad, NODET High School, Iran, 2011

  • Number theory and Combinatorics Training Sessions, 2011-2012

Teaching Assistant for Linear Algebra Math 1600A

An undergraduate course for social science students, Faculty of Science, Western University, 2014

  • Linear Algebra I, Spring 2014
    • Lecturer: Gord Sinnamon
    • Activities:
      • Running exercise classes
      • Marking mid-term and final exmas papers
      • Private tutorials
      • Proctoring final exam

Teaching Assistant for Calculus 1225

University-wide undergraduate course, Mathematics Department, Western University, 2014

  • Methods of Calculus, Autumn 2014
    • Intructors: Stuart Rankin, Gord Sinnamon, Vicky Olds
    • Activities:
      • Helping students on an individual basis in Help Center
      • Marking mid-term and final exmas papers
      • Proctoring for final exams

Putnam Training Sessions

Preparation and Selection of Western's Team for Putnam Competitions, Faculty of Science, Western University, 2014

  • Putnam Training Sessions, Autumn 2013 & Autumn 2014
    • The William Lowell Putnam is a mathematics contest for undergraduates in Canada and the U.S. This year’s contest will be written on Saturday, December 6th. Additional information can be found at
    • Preparation sessions for the Putnam Mathematics Competition are run by the Math department and are open to all students interested in mathematical problem-solving. There will be an organizational meeting for the Preparation sessions this Friday, September 26th at 5pm in MC 108 (in Middlesex).
    • Exercise material: Putnam and Beyond by Gelca and Andreescu

Teaching Assistant for MATH 1228 (Finite Maths)

An undergraduate course for social science students, Mathematics Department, Western University, 2014

  • Methods of Finite Mathematics, Autumn 2013
    • Lecturer: Vicky Olds
    • Activities:
      • Running exercise classes
      • Marking mid-term and final exmas papers
      • Private tutorials

Demonstrator for Introduction to Mathematics for Computer Science

1st year undergraduate module, University of Birmingham, School of Computer Science, 2016

  • Introduction to Mathematics for Computer Science, Semester 2, 2016
    • Module Lecturer: Steve Vickers
    • Content:

      • Coordinate geometry: Equations of lines and circles; gradients.
      • Functions and their graphs: A very vivid way to describe functions and their properties.
      • Functions at large x: This aspect of functions is interesting in its own right, but also important for analysing the efficiency of computer algorithms.
      • Differential calculus: Rules for finding gradients. This lies right at the heart of mathematical applications.
      • Differential calculus continued.
      • Polynomials: Manipulating them, and something about finding their roots.
      • Trigonometry: Calculating with angles.
      • Complex numbers: What happens if you invent an "imaginary" square root of -1. The amazing idea that trigonometry is just imaginary exponentiation.
      • Integration: Finding areas - or the opposite of differentiation.
      • Simultaneous linear equations: Solving linear equations simultaneously.

    • Activities:
      • Joinlty running exercise classes

Demonstrator for Team Project Module

2nd year undergraduate module, University of Birmingham, School of Computer Science, 2017

  • Team Project, Semester 2, 2017
    • Module Lecturer: Ian Kenny
    • This year’s theme: Video Game Design in Java
    • Core features of the game:

      • Competitive play.Your game must allow players to compete.
      • Networking.Your game must allow multiple players to play across a network. The specific net-working arrangement depends on the type of game but, for example, you might create a client-server typearrangement in which multiple clients connect to a controlling server, or a server performing some otherservice.
      • Artificial Intelligence.Your game must have the option of computer-controlled players. These mightbe individual or team players, depending on the type of game.
      • User Interface.Your game must have a user interface, i.e. a convenient way for players to interactwith the game. This will almost certainly require a menu as a minimum but will more than likely alsorequire other interface entities such as dialog windows that have a range of controls, clickable icons, etc.The user interface will also include crucial feedback information for the player.

  • Activities:
    • Supervising projects
    • Helping students in the Lab on an individual basis
    • Meeting students in office hours

Demonstrator for Models Of Computation

2nd year undergraduate module, University of Birmingham, School of Computer Science, 2018


A learning wishlist


A list of tricks/theorems/constructions/concepts/theories I wished to know but never had time/opportunity to learn them!

A topos without points


An example of a topos (from logic) that does not have any points.


Three Sites Of Relative Schemes

Incomplete as they stand (April, 2018)

Warning: in construction! We introduce three Grothendieck topologies on the category of based schemes; the Zariski, the étale and the fpqc topology

Principal Bundles

Incomplete as they stand (April, 2018)

A review of theory of principal bundles and higher principal bundles

Principal Bundles

Incomplete as they stand (April, 2018)

A review of theory of principal bundles and higher principal bundles


First Year Progress Report

Published in School of Computer Science, University of Birmingham, 2015

A general report of the first year including background studies submitted to my thesis committee

PhD Thesis

Published in University of Birmingham (UK), 2019

Under supervision of Steve Vickers



Instructor for Introduction to Proofs (Fall 2021)

Upper level undergraduate math course, Johns Hopkins University

This course introduces students to the natural deduction style of encoding proofs in intuitionistic propositional logic and first order logic. Proof strategies such as proof by cases, negation introduction, proof by contradiction, induction, etc are justified by natural deduction. Later, students are familiarized with proofs on abstract mathematical structures such as finite and infinite sets, ordered sets, metric spaces, and topological spaces. They are introduced to methods of writing proofs which are rigorous, readable, and elegant. Mathematical communication, both written and spoken, is emphasized throughout the course. In this course, students also explore proof-relevant mathemetics by interacting with the Lean proof assistant.

Mathematical and Computational Foundations of Data Science (Spring 2023)

Upper level undergraduate course, Johns Hopkins University

The emphasis is on fundamental mathematical ideas (basic functional analysis, reproducing kernel Hilbert spaces, concentration inequalities, uniform central limit theorems), basic statistical modeling techniques (e.g. linear regression, parametric and non-parametric methods), basic machine learning techniques for unsupervised (e.g. clustering, manifold learning), supervised (classification, regression), and semi-supervised learning, and corresponding computational aspects (linear algebra, basic linear and nonlinear optimization to attack the problems above).