Fun mode 

Joseph Albert Helfer

I am a postdoc in mathematics at the Simons Center for Geometry and Physics (starting in Fall 2024). I study symplectic and algebraic geometry, and categorical logic.
Previously, I did a postdoc at the University of Southern California.
I completed my PhD at Stanford University under the supervision of Yasha Eliashberg in Symplectic Geometry.
Before that, I completed my Master's degree at McGill University under the supervision of Dani Wise in Geometric Group Theory.


Spring 2024, Math 435 (Differential Geometry)

Spring 2024, Math 635 (Algebraic Geometry)

In previous semesters, I've taught Math 435, Math 440 (Point-Set Topology), Math 540 (Algebraic Topology), and Math 471 (Linear Algebra).

Things I've written


First-order homotopical logic. 2019. (Preprint)

Homotopies in Grothendieck fibrations. 2019. (Preprint)

Counting cycles in labeled graphs: The nonpositive immersion property for one-relator groups (with Dani Wise). 2015. (Preprint)

A Note on Maxima in Random Walks (with Dani Wise). 2016.


Severi curves of rational elliptic surfaces (with François Greer and John Sheridan). 2023.

Exotic tight contact structures on R4m+1 (with François-Simon Fauteux-Chapleau). 2021.


The ugly truth about simplicial sets.

The first talk of the Fall 2017 HTTCLHIE seminar.


My CEGEP independent study project. It describes the implementation of a Unix shell.

My Bachelor's thesis, about computing the space of Delaunay triangulations of a punctured Riemann surface. Here is the accompanying code.

My Master's thesis, which is an expanded version of the paper with Dani Wise (above) about counting cycles in labeled graphs.

My PhD thesis on contact homology for open manifolds.


After all, what's the point if you don't have a little fun?
To me, fun primarily means generating various lists.
Also this.

Writing LaTeX in emacs

Here is a great emacs package for writing LaTeX in emacs (in addition to the indispensable Auctex package). It automatically adds “newcommand” and “usepackage” statments to your file, based on a global file you maintain with command definitions.

Contacting me

See here.