Mark Armstrong - Home Page
Software engineer at Index Exchange
Table of Contents
1. About me
I am a software engineer working at Index Exchange, developing backend APIs in Go.
Formerly I was a PhD candidate, sessional lecturer and teaching assistant at McMaster University.
I am an avid Emacs user (see my init here).
2. Projects and blog
These project repositories and blog posts are work outside of my research and teaching.
2.1. Projects
- My dot files, primarily for Emacs,
but also for
bash
,zsh
andisync/mbsync
. - A resume template in Org mode, which exports neatly to PDF, HTML and markdown.
- A literate library of unicode symbol definitions to allow use of unicode characters with LaTeX, LuaLaTeX or XeLaTeX.
2.2. Blog
So far this is a series of disconnected posts, mostly about Agda and Org mode.
3. Teaching
3.1. Previous
- Fall 2020: CS 3MI3, Principles of Programming Languages
- Fall 2019: CS 3MI3, Principles of Programming Languages
- Fall 2018: CS 3MI3, Principles of Programming Languages
- Fall 2016: CS 3MI3, Principles of Programming Languages
- Winter 2014: CS 3MI3, Principles of Programming Languages (½ term)
3.2. Teaching assistant positions
- Winter 2021: CS 3AC3 Algorithms and Complexity
- Fall 2020: CS 4TH3 Theory of Computation
- Fall 2019: SE/CS 2DM3, Discrete Mathematics with Applications I
- Fall 2019: CS 4TH3, Theory of Computation
- Winter 2019: CS 3EA3, Specification and Correctness
- Fall 2018: SE/CS 2DM3, Discrete Mathematics with Applications I
- Winter 2018: SE/CS 2FA3, Discrete Mathematics with Applications II
- Fall 2017: CS 3MI3, Principles of Programming Languages
- Winter 2017: CS 2FA3, Discrete Mathematics with Applications II
- Winter 2017: CS 3TC3, Theory of Computation
- Winter 2016: CS 2FA3, Discrete Mathematics with Applications II
- Fall 2015: CS 3MI3, Principles of Programming Languages
- Winter 2015: CS 3MI3, Principles of Programming Languages
- Fall 2014: CAS 701, Discrete Mathematics
- Winter 2014: CS 3MI3 Principles of Programming Languages
4. Research
My PhD research was on formalisation of generalised computability theory.
By formalisation, I mean mechanisation, specifically in the proof assistant/programming language Agda.
By generalised computability theory, I mean theory of computable functions on topological algebras (such as the real numbers), rather than on the natural numbers.
- Poster on my research produced for the
2019 McMaster CAS department poster competition.
- Which won third place.
5. Resume
My resume is hosted on my Github.
The HTML version is also embedded here for convenience. You may need to refresh the page or wait a short while for it to display correctly.
This website constructed in Emacs Org mode, exported to HTML and styled with Org HTML themes.