summaryrefslogtreecommitdiff
path: root/index.html
blob: 701797d6ed49b13cf643228b69db24285e0fc9f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tom Smeding</title>
<style>
@font-face {
	font-family: 'mononoki-webfont';
	src: url('/fonts/mononoki-Regular.woff2') format('woff2'),
		url('/fonts/mononoki-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'mononoki-webfont';
	src: url('/fonts/mononoki-Bold.woff2') format('woff2'),
		url('/fonts/mononoki-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'mononoki-webfont';
	src: url('/fonts/mononoki-Italic.woff2') format('woff2'),
		url('/fonts/mononoki-Italic.woff') format('woff');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'mononoki-webfont';
	src: url('/fonts/mononoki-BoldItalic.woff2') format('woff2'),
		url('/fonts/mononoki-BoldItalic.woff') format('woff');
	font-weight: bold;
	font-style: italic;
}

body {
	font-family: mononoki, mononoki-webfont, monospace;
	text-align: center;
	font-size: 12pt;
}
h2 {
	margin-top: 25px;
	margin-bottom: 18px;
}
div.main-content {
	display: inline-block;
	max-width: 800px;
}
div.longtext {
	text-align: left;
}
#pubs-table td {
	text-align: left;
	vertical-align: top;
	padding-bottom: 10px;
}
#pubs-table td:first-child {
	padding-left: 0;
	padding-right: 5px;
}
.pubs-at {
	color: #777;
	font-size: small;
	white-space: nowrap;
}
.pubs-title {
	font-weight: bold;
}
@media (prefers-color-scheme: dark) {
	body {
		color: #eee;
		background-color: #181818;
	}
	a {
		color: #bbf;
	}
	a:visited {
		color: #99f;
	}
	.pubs-at {
		color: #999;
	}
}
</style>
</head>
<body>
<div class="main-content">
	<h1>Hi!</h1>
	<p>
		I'm Tom Smeding. I love programming, playing the piano, thinking about languages (both natural and programming), and occasionally mathematics.<br>
		I'm a postdoctoral researcher in computer science at the University of Edinburgh.
	</p>
	<p>
		You can reach me via
		<span id="email">email [first name at firstnamelastname dot com]</span>,
		<script>
			document.getElementById("email").innerHTML = '<a href="mailto:' + 'snl?snlrldchmf-bnl'.split("").map(s=>String.fromCharCode(s.charCodeAt(0)+1)).join("") + '">email</a>'
		</script>
		as well as on
		<!-- <a href="https://matrix.to/#/@tom:tomsmeding.com">Matrix</a>, --> <!-- I may not accept message requests on matrix, sorry -->
		<a href="https://libera.chat/">IRC</a>,
		<a href="https://telegram.me/tomsmeding">Telegram</a>,
		<a href="https://www.linkedin.com/in/tom-smeding">LinkedIn</a> or
		<a href="https://www.facebook.com/tom.smeding">Facebook</a>.

		You can find me on
		<a href="https://scholar.google.com/citations?view_op=list_works&user=oK6ERSgAAAAJ&sortby=pubdate">Google Scholar</a> and
		<a href="https://orcid.org/0000-0002-4986-6820">ORCiD</a>.
	</p>
	<p>
		I have code on my <a href="https://git.tomsmeding.com">own server</a> and on
		<a href="https://github.com/tomsmeding">Github</a>.
	</p>
	<p>
		I've also <a href="/blog">written some notes</a> at some point.
	</p>

	<h2>About me</h2>
	<div class="longtext">
		<p>
			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&aacute;k&aacute;r), I worked on <a href="https://en.wikipedia.org/wiki/Automatic_differentiation" target="_blank">automatic differentiation</a> as seen through the lens of <a href="https://en.wikipedia.org/wiki/Functional_programming" target="_blank">functional programming</a>.
			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.
		</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>
			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.
		</p>
		<p>
			I like esolangs, send me your favourite ones :)
		</p>
	</div>

	<h2>Academic publications</h2>
	<table id="pubs-table"><tbody>
		<!--PUBS-REPLACE-START--> (Info missing, server misconfigured, sorry) <!--PUBS-REPLACE-END-->
	</tbody></table>
</div>
</body>
</html>