-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
330 lines (255 loc) · 12.9 KB
/
index.html
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
<!DOCTYPE html>
<html lang="en-us"><head>
<title>Justin Hiemstra</title>
<meta name ="author" content="Justin Hiemstra"/>
<meta name="theme-color" content="" />
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta name="description" content="Justin Hiemstra" />
<meta name="author" content="Justin Hiemstra" />
<meta name="generator" content="aafu theme by Darshan in Hugo 0.101.0" />
<link
rel="stylesheet"
href="/css/bootstrap/bootstrap.min.css"
/>
<script src="https://kit.fontawesome.com/b1307f3c2c.js" crossorigin="anonymous"></script>
<link
rel="stylesheet"
href="https://cdn.rawgit.com/jpswalsh/academicons/master/css/academicons.min.css"
/>
<link
rel="stylesheet"
href="//fonts.googleapis.com/css?family=Didact+Gothic%7CRoboto:400%7CRoboto+Mono"
/>
<link rel="stylesheet" href="/css/aafu_light.css" />
<link rel="stylesheet" href="/css/aafu.css" />
<script>
var themeColor = document.querySelector("meta[name=theme-color]");
window.onload = () => {
themeColor.content = getComputedStyle(document.body)["background-color"];
let defaultActivePanel = document.querySelector(".accordion.active");
if (defaultActivePanel) {
defaultActivePanel.nextElementSibling.style.maxHeight =
defaultActivePanel.nextElementSibling.scrollHeight + "px";
}
};
window.onresize = () => {
let defaultActivePanel = document.querySelector(".accordion.active");
if (defaultActivePanel) {
defaultActivePanel.nextElementSibling.style.maxHeight =
defaultActivePanel.nextElementSibling.scrollHeight + "px";
}
};
</script>
</head>
<body class="container">
<main style="min-height: calc(100vh - 60px);">
<div class="d-flex flex-row row p-2">
<h3 class="main-menu mr-3">
<a href="https://justinhiemstra.com">Home</a>
</h3>
<h3 class="main-menu mr-3">
<a href="/contact">Contact</a>
</h3>
<h3 class="main-menu mr-3">
<a href="/projects">Projects</a>
</h3>
</div>
<div class="ml-auto mr-auto row row-eq-height rounded">
<div class="col-md-5 text-center p-2 mt-1">
<div class="profile-area rounded text-center position-relative shadow">
<div class="d-flex justify-content-center pt-2">
<div class="w-100 h-100">
<img
class="rounded rounded-circle mt-4"
src="/images/Justin%20Hiemstra.png"
alt="Justin Hiemstra"
style="width: 95%; max-width: 300px;"
/>
</div>
</div>
<div class="p-2">
<h1 class="mb-0">Justin Hiemstra</h1>
<h2 class="mb-0">Research Software Engineer</h2>
<h3 class="mb-0">Madison, WI</h3>
<div class="mt-2 d-flex flex-wrap justify-content-center">
<div style="height:45px; width:45px;">
<a href="https://linkedin.com/in/justin-hiemstra">
<i class="zoomlink mt-1 fab fa-linkedin-in"></i>
</a>
</div>
<div style="height:45px; width:45px;">
<a href="https://github.com/jhiemstrawisc">
<i class="zoomlink mt-1 fab fa-github"></i>
</a>
</div>
</div>
<footer class=" mt-2 mb-2 ">
<span class="markdownify">Justin Hiemstra 2023 - <a href="mailto:[email protected]">[email protected]</a></span>
<span style="font-size:0px;">
·
</span>
</footer>
</div>
</div>
</div>
<div class="col-md-7 pt-2 mt-3">
<h2 class="accordion active ">
<span onclick="expandAccordion(this)" style="cursor: pointer;">
<i class="fas fa-user"></i>
About Me</span>
</h2>
<div
class="panel overflow-hidden"
>
<p class="markdownify">
<p>Hi, all! Whatever happens to be bringing you to my page, I’m glad to see you! (umm, well, to see your IP address, anyway) <p> I’m Justin, a technophile Research Software Engineer at the Morgridge Institute for Research, where I work on software that supports Big Science at places like CERN, FermiLab, Livermore National Labs, the LIGO experiments, and more. I recently graduated with my Master’s of Science from the department of Electrical and Computer Engineering at the University of Wisconsin - Madison. While that may make me sound like someone who spends all day soldering bits and bobbles onto pieces of perf board (I do that, too), I actually studied machine learning and signals processing, a very exciting field that’s behind lots of the things you love, from spot on Netflix suggestions to self-driving cars – oh, and ChatGPT.<p> I love this field because it lives at the intersection of all that heavy, theoretical math, which is my background, and applied science – getting all that theory to actually <em>do</em> something for us! It’s also great because it has the potential to transform society for the better in practically uncountable ways (proof is left as an excercise for the reader - Hint: try applying <a href='https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument'>Cantor’s Diagonalization argument</a>, or find a bijection between ℝ), as long as we use it carefully and don’t fire the ethics experts (cough cough, Google). If you really want to get me excited, try mixing ML with anything related to privacy and digital/physical security. Did somebody say <a href='https://en.wikipedia.org/wiki/Adversarial_machine_learning'>adversarial ML??</a></p> <p>Even though I’m no longer a student, I’m still learning about the world, pursuing that big-picture, well-rounded understanding of life. I won’t list all the ways I try to do this, but a few of them include lots of reading, scuba diving, researching amateur mycology in my own home lab, hiking/camping, tinkering with my 3D printers, flipping the house I bought (feel free to ask), or slowly making progress on any of my many coding/electronics projects. </p><p>If any any of this intrigues you, or you just want to chat, please drop me a line! I’m currently accepting all applications 😎</p></p>
</p>
</div>
<h2 class="accordion ">
<span onclick="expandAccordion(this)" style="cursor: pointer;">
<i class="fas fa-graduation-cap"></i>
Education</span>
</h2>
<div
class="panel overflow-hidden"
>
<dl>
<dt>M.S. Electrical Engineering -- Signals Processing and Machine Learning</dt>
<dd class="mb-0 ml-3">2020 - 2022 · University of Wisconsin Madison</dd>
<dd class="mb-0 ml-4">
Thesis:
<a href="https://justinhiemstra.com/theses/ML_Thesis.pdf"
><i>Denoising and Intensity Inhomogeneity Correction of MR Images using Deep Learning</i></a
>
</dd>
</dl>
<dl>
<dt>B.S. in Mathematics</dt>
<dd class="mb-0 ml-3">2015 - 2019 · Haverford College</dd>
<dd class="mb-0 ml-4">
Thesis:
<a href="https://justinhiemstra.com/theses/Math_Thesis.pdf"
><i>Improved Brute Forcing with Markov Models</i></a
>
</dd>
</dl>
<dl>
<dt>B.A. in Russian</dt>
<dd class="mb-0 ml-3">2015 - 2019 · Bryn Mawr College</dd>
<dd class="mb-0 ml-4">
Thesis:
<a href="https://justinhiemstra.com/theses/Russian_Thesis.pdf"
><i>Encryption, Democracy, and the Peculiar Case of Russia’s Telegram</i></a
>
</dd>
</dl>
</div>
<h2 class="accordion ">
<span onclick="expandAccordion(this)" style="cursor: pointer;">
<i class="fas fa-project-diagram"></i>
Projects in Progress</span>
</h2>
<div
class="panel overflow-hidden"
>
<dl>
<dt>
<a href="https://github.com/pelicanplatform/pelican" style="font-variant: small-caps; ">Pelican Platform</a>
</dt>
<dd class="mb-0 ml-3 markdownify">One of the main projects I work on is the Pelican Platform, a tool for creating data federations for big science. In particular, we use Pelican to power the Open Science Data Federation, a tool used by places like CERN to move their petabytes of data from their data repositories to their computational endpoints. Integrated with other OSG (formerly known as the Open Science Grid) services such as the OSPool, the OSDF facilitates the distributed nature of a national compute pool. Check out <a href='https://doi.org/10.6084/m9.figshare.24592542.v1'>this presentation</a> for more details about how it all works!</dd>
<dt>
<a href="#" style="font-variant: small-caps; ">Automated French Press</a>
</dt>
<dd class="mb-0 ml-3 markdownify">Awhile ago, a good friend of mine decided he wanted to build a custom server rack, and that he wanted it to have some sort of peculiar twist. I said, why not build in an automated coffee machine – because what could possibly go wrong with scalding coffee inches away from thousands of dollars in computer parts? And so we started developing one! The goal is to make a device that grinds coffee beans, puts those beans in a French press brewing chamber (a chunk of specialty PVC), heats some water to the perfect temp, adds the heated water to the brew chamber, drives a French press plunger, extracts the brewed coffee to a second ‘keep warm’ chamber, and then cleans itself by dumping the grounds. When you’re ready to pour yourself a cup, just turn on the spigot. If that sounds like a lot of moving parts, its because it is – everything from custom-etched PCBs to planetary gear drives and semi-functional 3D-printed gate valves driven by an assortment of stepper motors. Oh, and it’s steam punk, because let’s not forget aesthetics. Eventually we want to find another use for the waste coffee grounds… maybe a soap exfoliant? Maybe mushroom food? As for integration into the server, it lives in the rack, but in a separate, sealed compartment.</dd>
</dl>
</div>
<h2 class="accordion ">
<span onclick="expandAccordion(this)" style="cursor: pointer;">
<i class="fas fa-cogs"></i>
Skills</span>
</h2>
<div
class="panel overflow-hidden"
id="skill-panel"
>
<script>
let skillPanel = document.querySelector("#skill-panel")
.previousElementSibling;
skillPanel.addEventListener("click", function() {
let skillBars = document.querySelectorAll("#skill-percent");
skillBars.forEach(elem => {
elem.style.width = elem.classList[0];
});
});
</script>
<code>Golang</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="90%" style="width: 0;"></div>
</div>
<code>Python</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="90%" style="width: 0;"></div>
</div>
<code>C/C++</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="80%" style="width: 0;"></div>
</div>
<code>Machine Learning</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="85%" style="width: 0;"></div>
</div>
<code>Communications</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="90%" style="width: 0;"></div>
</div>
<code>Problem Solving</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="100%" style="width: 0;"></div>
</div>
<code>Project Management</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="80%" style="width: 0;"></div>
</div>
<code>Russian</code>
<div class="w-100 skillbar mt-1 mb-3">
<div id="skill-percent" class="85%" style="width: 0;"></div>
</div>
</div>
<h2 class="accordion ">
<span onclick="expandAccordion(this)" style="cursor: pointer;">
<i class="fas fa-gamepad"></i>
Hobbies</span>
</h2>
<div
class="panel overflow-hidden"
>
<ul class="pl-0">
<li class="list-unstyled mb-2">• Scuba Diving</li>
<li class="list-unstyled mb-2">• Machine Learning</li>
<li class="list-unstyled mb-2">• Hiking</li>
<li class="list-unstyled mb-2">• Mycology!</li>
<li class="list-unstyled mb-2">• Reading</li>
<li class="list-unstyled mb-2">• Finance</li>
<li class="list-unstyled mb-2">• Raspberry Pi</li>
<li class="list-unstyled mb-2">• 3D Printing</li>
</ul>
</div>
<h2 class="accordion ">
<span onclick="expandAccordion(this)" style="cursor: pointer;">
<i class="fas fa-egg"></i>
Eggs</span>
</h2>
<div
class="panel overflow-hidden"
>
<p class="markdownify">
You’ve made it this far, but how far do you care to go? For your fun and enjoyment, or if there’s a rainy day and you just don’t have anything better to do, I’ve decided to bake a few easter eggs into this delicious cake. Can you find them? As of this update to my site, there’s only one, but there are more to come! Time for an egg hunt…
</p>
</div>
<script src="/js/accordion.js"></script>
</div>
</div>
</main>
</body>
</html>