<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Tom Smeding</title> <style> /* Source: https://github.com/madmalik/mononoki/blob/master/style.css */ @font-face { font-family: 'mononoki-webfont'; src: url('/fonts/mononoki-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/fonts/mononoki-Regular.woff2') format('woff2'), /* Super Modern Browsers */ url('/fonts/mononoki-Regular.woff') format('woff'), /* Pretty Modern Browsers */ url('/fonts/mononoki-Regular.ttf') format('truetype'); /* Safari, Android, iOS */ font-weight: normal; font-style: normal; } @font-face { font-family: 'mononoki-webfont'; src: url('/fonts/mononoki-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/fonts/mononoki-Bold.woff2') format('woff2'), /* Super Modern Browsers */ url('/fonts/mononoki-Bold.woff') format('woff'), /* Pretty Modern Browsers */ url('/fonts/mononoki-Bold.ttf') format('truetype'); /* Safari, Android, iOS */ font-weight: bold; font-style: normal; } @font-face { font-family: 'mononoki-webfont'; src: url('/fonts/mononoki-Italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/fonts/mononoki-Italic.woff2') format('woff2'), /* Super Modern Browsers */ url('/fonts/mononoki-Italic.woff') format('woff'), /* Pretty Modern Browsers */ url('/fonts/mononoki-Italic.ttf') format('truetype'); /* Safari, Android, iOS */ font-weight: normal; font-style: italic; } @font-face { font-family: 'mononoki-webfont'; src: url('/fonts/mononoki-BoldItalic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/fonts/mononoki-BoldItalic.woff2') format('woff2'), /* Super Modern Browsers */ url('/fonts/mononoki-BoldItalic.woff') format('woff'), /* Pretty Modern Browsers */ url('/fonts/mononoki-BoldItalic.ttf') format('truetype'); /* Safari, Android, iOS */ font-weight: bold; font-style: italic; } body { font-family: mononoki, mononoki-webfont, "Courier New", Courier, Monospace; text-align: center; } div.main-content { display: inline-block; max-width: 800px; } div.longtext { text-align: left; } summary { cursor: pointer; } #pubs-ul { text-align: left; } @media (prefers-color-scheme: dark) { body { color: #eee; background-color: #181818; } a { color: #bbf; } a:visited { color: #99f; } } </style> </head> <body> <div class="main-content"> <h1>Hi!</h1> <p> I'm Tom Smeding. I love programming, doing math, playing the piano and thinking about languages (both natural and programming).<br> I'm a PhD candidate in computer science at Utrecht University in the Netherlands. </p> <p> You can reach me on <a href="https://matrix.to/#/@tom:tomsmeding.com">Matrix</a>, <a href="https://libera.chat/">IRC</a>, <a href="https://telegram.me/tomsmeding">Telegram</a>, <a href="https://github.com/tomsmeding">Github</a>, <a href="https://www.linkedin.com/in/tom-smeding">LinkedIn</a>, <a href="https://www.facebook.com/tom.smeding">Facebook</a> and via <a href="mailto:t.j.smeding@uu.nl">email</a>, among others. Besides Github, I also have a number of projects on my <a href="https://git.tomsmeding.com">own server</a>. </p> <p> I've also <a href="/blog">written some notes</a> at some point. </p> <details><summary><u>For a list of my academic publications, click here.</u></summary> <ul id="pubs-ul"> <!--PUBS-REPLACE-START--> (Info missing, server misconfigured, sorry) <!--PUBS-REPLACE-END--> </ul> </details> <h2>My research</h2> <div class="longtext"> <p> Currently my primary research interest is in <a href="https://en.wikipedia.org/wiki/Automatic_differentiation" target="_blank">automatic differentiation</a> (AD), as seen through the lens of <a href="https://en.wikipedia.org/wiki/Functional_programming" target="_blank">functional programming</a> (FP), in my case mostly using the programming language <a href="https://haskell.org" target="_blank">Haskell</a>. My PhD supervisors are Gabriele Keller and Matthijs Vákár. </p> <p> 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 <a href="https://stats.ioinformatics.org/people/5681" target="_blank">competitive</a> <a href="https://2019.nwerc.eu/" target="_blank">programming</a>. I like thinking about how to optimise code to make it run faster, and also about devising compiler optimisations to make other people's code run faster. 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. </p> <p> Also send me your favourite esolangs :) </p> </div> </div> </body> </html>