From 1caf35480ecc8fbd6c1e900de019d21616103990 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sun, 3 May 2026 13:40:34 +0100 Subject: Update homepage --- index.html | 62 +++++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 17 deletions(-) (limited to 'index.html') diff --git a/index.html b/index.html index 5096b22..701797d 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,8 @@ - + + Tom Smeding @@ -69,7 +89,7 @@ summary {

Hi!

I'm Tom Smeding. I love programming, playing the piano, thinking about languages (both natural and programming), and occasionally mathematics.
- I'm a PhD candidate in computer science at Utrecht University in the Netherlands. + I'm a postdoctoral researcher in computer science at the University of Edinburgh.

You can reach me via @@ -89,22 +109,20 @@ summary { ORCiD.

- I have code on Github and my - own server. + I have code on my own server and on + Github.

I've also written some notes at some point.

-
For a list of my academic publications, click here. - -
-

My research

+ +

About me

- Currently my primary research interest is in automatic differentiation (AD), as seen through the lens of functional programming (FP), in my case mostly using the programming language Haskell. - My PhD supervisors are Gabriele Keller and Matthijs Vákár. + In my postdoc at the University of Edinburgh, I am looking at compilation and optimisation techniques for array programs with static and dynamic sparsity. + Before that, during my PhD at Utrecht University in The Netherlands (supervised by Gabriele Keller and Matthijs Vákár), I worked on automatic differentiation as seen through the lens of functional programming. + Before that, I completed my master's degree at Utrecht University in 2021 and my bachelor's degree at Leiden University in 2018. + I was born and grew up in The Netherlands.

In general I am enthusiastic about lots of things in computer science; I enjoy functional programming and thinking about programming techniques that make FP work well, but I also have some experience in more low-level programming (in C and C++), some of it in competitive programming. @@ -112,9 +130,19 @@ summary { Furthermore, I like being able to do all of those things while enabling the compiler to prevent me from making mistakes as much as possible; typically, I do this by using the type system of the programming language I'm working in.

- Also send me your favourite esolangs :) + I think that in software development and science, and indeed in the world more generally, there is tremendous value in understanding. + Having a good understanding of what you are doing, as well as the layer of abstraction right below what you are doing (e.g. the compiler you use, or the research method you are applying, or simply the perspective and background of the person you're speaking with), is essential for producing quality and dependable results. + It's also just more fun than poking something with a long stick, and it's an investment: the more things you have a good mental model of, the easier and quicker it is to achieve insight in the next thing. +

+

+ I like esolangs, send me your favourite ones :)

+ +

Academic publications

+ + (Info missing, server misconfigured, sorry) +
-- cgit v1.3