-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
401 lines (367 loc) · 23.7 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
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
<!DOCTYPE HTML>
<!--
Dimension by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>J Schwartz</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
<!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]-->
<noscript><link rel="stylesheet" href="assets/css/noscript.css" /></noscript>
</head>
<body>
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<div class="logo">
<span class="icon fa-diamond"></span>
</div>
<div class="content">
<div class="inner">
<h1>Jeff Schwartzentruber, PhD</h1>
<p><!--[-->Cyber Security • Data Scientist • Engineer IT • Developer<!--]--></p>
</div>
</div>
<nav>
<ul>
<li><a href="#intro">Intro</a></li>
<li><a href="#work">Work</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<!--<li><a href="#elements">Elements</a></li>-->
</ul>
</nav>
</header>
<!-- Main -->
<div id="main">
<!-- Intro -->
<article id="intro">
<h2 class="major">Intro</h2>
<span class="image main"><img src="images/pic01.jpg" alt="" /></span>
<p>Hello! My name is Jeff Schwartzentruber and welcome to my corner of the web. I built this website to showcase my work in the fields of cyber security, machine learning, data analytics, engineering and optimization. Over the past 15 years, my academic research and professional experiences have been centered on machine learning for security, threat intelligence, process optimization, algorithm development and predictive analytics.</p>
<p>I completed my PhD in Mechanical Engineering in 2018 with a focus on process optimization, I am now pivoting my talents to security and business intelligence. The exponential rise in Big Data has driven a data science revolution, which I believe will revolve around the security, business, technology and financial sectors. I see many untapped opportunities for machine learning in security and business applications, and am excited to share and continue my work. Speaking of that, don’t forget to check out my <a href="#work">awesome work</a>!</p>
</article>
<!-- Work -->
<article id="work">
<h2 class="major">Work</h2>
<span class="image main"><img src="images/pic02.jpg" alt="" /></span>
<h3 class="major">Summary</h3>
<p>Although my interests are vast, a large part of my portfolio is focused on cyber security, machine learning, predictive analytics, statistical analysis and process optimization. With that being said, I have compiled a list of my favorite projects (scroll down). These projects are broad in experiences, and range from statistical analytics on large datasets, coding machine learning solutions for the manufacturing sector and numerical modelling. I am always looking to apply and expand my knowledge in new and innovative applications, so be sure to periodically check out my latest conquests. If anything I have worked on sparks your interest or you would like to know more, feel free to <a href="#contact">contact me</a>.</p>
<h3 class="major">Log Abstraction for Information Security</h3>
<span class="image main"><img src="images/Pic04.jpg" alt="" /></span>
<p>When I speak about ML in cyber security, I typically discuss and contrast the traditional methods of threat detection versus the new methods employed using machine learning algorithms. The traditional static approach to security is to have a large corpus of IoCs (e.g. hashes, ips, etc.) from which you search our current security sources (i.e. NIDS, HIDS, SIEM, etc.). This differs from the dynamic approach which typically looks for anomalous behavior. Both methods are generally mature, but are flawed (in my opinion) on one major underpinning - the need for strict data normalization.</p>
<p>Data normalization is the bane of any security engineer and is exasperated by the industries inability to agree on a common log or event format, with many developing their own standards (i.e. Elastic ECS, Splunk CIM, CEF, etc.). This problem results in the difficult task of correlating events between environments and tools, thus reducing efficacy, visibility and coverage.</p>
<p>With the problem described, I have been working with the Dalhousie NIMS lab to develop methods that circumvent the need for strict log parsing. If ML can identify patterns in network traffic, it can definitely be used to identify and abstract various log characteristics, and in doing so unlocks a new perspective of security analytics. Although automated log parsing via ML is an area of active research, our research described in the following paper: <a href="https://dl.acm.org/doi/fullHtml/10.1145/3465481.3470083"> Log Abstraction for Information Security: Heuristics and Reproducibility</a> and presented at the ARES 2021 conference, is scoped to security use cases</p>
<p>This paper is part of a broader research project to develop a novel machine learning approach to security that avoids the need for static analysis and manual log parsing - a pure ML pipeline and methodology for security detection. Feel free to <a href="#contact">contact me</a>, if you would like to know more.</p>
<h3 class="major">TPO for HR Operational Intelligence</h3>
<span class="image main"><img src="images/Pic02-3.jpg" alt="" /></span>
<p> With my PhD coming to an end I began to ask myself – what’s next? Having spent over a decade in various technical fields, I FINALLY had some semblance of understanding regarding the direction of technology and the ‘state of the art’. In my mind, there was no bigger opportunity than in the field of artificial intelligence. With the explosion of big data and cluster computing, the current opportunities of ML seem endless. Having spent most of my academic and professional career engineering for the optimal process/design, coupled with my experience in algorithm development, it appeared that I was built for building ML platforms for optimization problems.</p>
<p>With that being said, I co-created a startup called Alitheia Technologies Inc, and partnered with friend who has an amazing business and sales acumen – thus creating a multi-disciplinary team that was ready to tackle the upcoming AI revolution. This company is centered on a platform I developed called Tailored Process Optimization (TPO), which can be thought of as the brain child of Lean-Six Sigma, ML and process optimization.</p>
<p>In our first case study, we looked at an HR dataset for a potential client and analyzed attrition. The outcomes of the model were vast, and truly surpassed our expectations. TPO was capable of generating an optimal candidate based on historical data, rank the current employees based on their risk of attrition, and provide strategic recommendations on how to best minimize attrition for high risk employees. The application of TPO is vast, and although my summary is brief, feel free to <a href="#contact">contact me</a>, if you would like to know more.</p>
<h3 class="major">Intelligent Nozzle Design using ML</h3>
<span class="image main"><img src="images/pic02-2.jpg" alt="" /></span>
<p>This project was centered on AI design for the manufacturing sector. The objective of this project was to use ML to design the best possible nozzle for abrasive waterjet machining (AWJM). I presented this work at the 23rd International Conference on Waterjetting in Seattle (<a href="https://www.researchgate.net/publication/312176634_Optimized_abrasive_waterjet_nozzle_design_using_genetic_algorithms"> Optimized abrasive waterjet nozzle design using genetic algorithms</a>). Due to the very violent nature and complex flow phenomena associated with AWJ’s, nozzle optimization has relied on the classical iterative design process… until now.</p>
<p>This project all started when I read a very interesting paper by Dr. Narayanan et al. called <a href="http://www.sciencedirect.com/science/article/pii/S0924013613002112" > Modelling of abrasive particle energy in water jet machining </a>. In this paper, they present a 1D computational fluid dynamics (CFD) model for predicting abrasive particle velocities within 5% error. For anyone that knows anything about CFD, modelling a 3 phase, supersonic, compressible flow is just about the last thing you want to tackle, let only getting only 5% error. In seeing how revolutionary this model was, I reached out to Dr. Narayanan, who graciously allowed me use of his model. Since I already linked the paper, the rest is pretty much history. In summary, we used evolutionary ML algorithms to develop an optimization program. The output of the program was an optimal nozzle design configurations (i.e. nozzle and orifice diameters, mixing chamber sizes, etc); which generated, on average, a 15% increase in cutting efficiency!
</p>
<h3 class="major">AI Winglet Design</h3>
<span class="image main"><img src="images/pic02-1.jpg" alt="" /></span>
<p>My early academic and professional career was focused on aerospace engineering applications. Ever since receiving my glider and private pilots license in my teens, I was hooked on learning everything I could about the development of flight – plus the title of being an Aerospace Engineering sounded pretty cool!</p>
<p>At the end of my undergraduate career, I had the opportunity to work on a research team that was developing AI design systems for a light aircraft manufacture. My role on the team was to develop an intelligent winglet design module. The objective was to take a generic airfoil and wing shape, and based on the various flight characteristics (i.e. airspeed, angle-of-attack, altitude etc.) of that aircraft, have my expert system design the best possible winglet. Having gone through the frustrating iterative design process in many case projects, I was eager to create something that would make my life easier and produce potentially better designs.</p>
<p>The model worked using MATLAB and an API between a CFD vortex lattice simulator called AVL. The dimensions of the winglet would be generated through my ML program, which was then fed into AVL, which would then output the various lift and drag metrics for that specific wing/winglet configuration. The model would then tune the winglet design to maximize the lift-to-drag ratio. As seen from the before and after photos in the header image, the ML program created considerable design improvements, resulting in a 12% increase in performance.</p>
</article>
<!-- About -->
<article id="about">
<h2 class="major">About</h2>
<span class="image main"><img src="images/pic03.jpg" alt="" /></span>
<p>To give a quick bio of myself, I am an Canadian based security engineer, data scientist, developer, and reseacher with a PhD in Mechanical Engineering that focused on process optimization, predictive analytics and statistical analysis. My professional journey has pivoted me to a career in cyber security and various R&D activities. I have been fortunate throughout my career to work with many reputable companies (i.e. Interac, 2Keys, Bank of Canada, MAGNA, Bauer, etc.), which have provided me with opportunities to continually build upon my skillsets while challenging me to push the boundaries of applied research and technology.</p>
<p>For more information on my professional career, feel free to visit my <a href="https://www.linkedin.com/in/jeff-schwartzentruber">LinkedIn profile</a>.</p>
<p>Below is a list of peer-reviewed publications:</p>
<p><a href="https://dl.acm.org/doi/fullHtml/10.1145/3465481.3470083">Log Abstraction for Information Security: Heuristics and Reproducibility</a></p>
<p><a href="https://www.sciencedirect.com/science/article/pii/S0890695518300877">Modelling of delamination due to hydraulic shock when piercing anisotropic carbon-fiber laminates using an abrasive waterjet</a></p>
<p><a href="https://www.sciencedirect.com/science/article/pii/S0890695517300780">Prediction of Surface Roughness in Abrasive Waterjet Trimming of Fiber Reinforced Polymer Composites</a></p>
<p><a href="https://commons.erau.edu/ijaaa/vol4/iss2/3/">A Usability Study for Electronic Flight Bag (EFB) Flight Planning Applications on Tablet Devices for Ab-initio Pilots</a></p>
<p><a href="https://www.journals.elsevier.com/journal-of-materials-processing-technology">(Forthcoming) Measurement of abrasive particle velocity and size distribution in high pressure abrasive slurry and water micro-jets using a modified dual disc anemometer</a></p>
<p><a href="https://www.researchgate.net/publication/312176634_Optimized_abrasive_waterjet_nozzle_design_using_genetic_algorithms"> Optimized abrasive waterjet nozzle design using genetic algorithms</a></p>
<p><a href="https://www.sciencedirect.com/science/article/pii/S0924013614004920"> Abrasive waterjet micro-piercing of borosilicate glass</a></p>
<p><a href="https://www.journals.elsevier.com/precision-engineering/"> Erosive Smoothing of Abrasive Slurry-Jet Micro-machined Channels in Glass, PMMA, and Sintered ceramics: Experiments and Roughness Model</a></p>
<p>Abrasive waterjet machining of small features in composite materials</p>
</article>
<!-- Contact -->
<article id="contact">
<h2 class="major">Contact</h2>
<form accept-charset="utf-8" method="post" action="https://formspree.io/f/xgerdbjo">
<div class="field half first">
<label for="name">Name</label>
<input type="text" name="name" id="name" />
</div>
<div class="field half">
<label for="email">Email</label>
<input type="text" name="email" id="email" />
</div>
<div class="field">
<label for="message">Message</label>
<textarea name="message" id="message" rows="4"></textarea>
</div>
<input type="text" name="_gotcha" style="display:none" />
<ul class="actions">
<li><input type="submit" value="Send Message" class="special" /></li>
<li><input type="reset" value="Reset" /></li>
</ul>
<input type="hidden" name="_next" value="#main" />
</form>
<ul class="icons">
<!--<li><a href="#" class="icon fa-twitter"><span class="label">Twitter</span></a></li>
<li><a href="#" class="icon fa-facebook"><span class="label">Facebook</span></a></li>
<li><a href="#" class="icon fa-instagram"><span class="label">Instagram</span></a></li> -->
<li><a href="https://github.com/MachLearnPort" class="icon fa-github"><span class="label">GitHub</span></a></li>
</ul>
</article>
<!-- Elements -->
<article id="elements">
<h2 class="major">Elements</h2>
<section>
<h3 class="major">Text</h3>
<p>This is <b>bold</b> and this is <strong>strong</strong>. This is <i>italic</i> and this is <em>emphasized</em>.
This is <sup>superscript</sup> text and this is <sub>subscript</sub> text.
This is <u>underlined</u> and this is code: <code>for (;;) { ... }</code>. Finally, <a href="#">this is a link</a>.</p>
<hr />
<h2>Heading Level 2</h2>
<h3>Heading Level 3</h3>
<h4>Heading Level 4</h4>
<h5>Heading Level 5</h5>
<h6>Heading Level 6</h6>
<hr />
<h4>Blockquote</h4>
<blockquote>Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.</blockquote>
<h4>Preformatted</h4>
<pre><code>i = 0;
while (!deck.isInOrder()) {
print 'Iteration ' + i;
deck.shuffle();
i++;
}
print 'It took ' + i + ' iterations to sort the deck.';</code></pre>
</section>
<section>
<h3 class="major">Lists</h3>
<h4>Unordered</h4>
<ul>
<li>Dolor pulvinar etiam.</li>
<li>Sagittis adipiscing.</li>
<li>Felis enim feugiat.</li>
</ul>
<h4>Alternate</h4>
<ul class="alt">
<li>Dolor pulvinar etiam.</li>
<li>Sagittis adipiscing.</li>
<li>Felis enim feugiat.</li>
</ul>
<h4>Ordered</h4>
<ol>
<li>Dolor pulvinar etiam.</li>
<li>Etiam vel felis viverra.</li>
<li>Felis enim feugiat.</li>
<li>Dolor pulvinar etiam.</li>
<li>Etiam vel felis lorem.</li>
<li>Felis enim et feugiat.</li>
</ol>
<h4>Icons</h4>
<ul class="icons">
<li><a href="#" class="icon fa-twitter"><span class="label">Twitter</span></a></li>
<li><a href="#" class="icon fa-facebook"><span class="label">Facebook</span></a></li>
<li><a href="#" class="icon fa-instagram"><span class="label">Instagram</span></a></li>
<li><a href="#" class="icon fa-github"><span class="label">Github</span></a></li>
</ul>
<h4>Actions</h4>
<ul class="actions">
<li><a href="#" class="button special">Default</a></li>
<li><a href="#" class="button">Default</a></li>
</ul>
<ul class="actions vertical">
<li><a href="#" class="button special">Default</a></li>
<li><a href="#" class="button">Default</a></li>
</ul>
</section>
<section>
<h3 class="major">Table</h3>
<h4>Default</h4>
<div class="table-wrapper">
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>Item One</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Two</td>
<td>Vis ac commodo adipiscing arcu aliquet.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Three</td>
<td> Morbi faucibus arcu accumsan lorem.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Four</td>
<td>Vitae integer tempus condimentum.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Five</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"></td>
<td>100.00</td>
</tr>
</tfoot>
</table>
</div>
<h4>Alternate</h4>
<div class="table-wrapper">
<table class="alt">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>Item One</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Two</td>
<td>Vis ac commodo adipiscing arcu aliquet.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Three</td>
<td> Morbi faucibus arcu accumsan lorem.</td>
<td>29.99</td>
</tr>
<tr>
<td>Item Four</td>
<td>Vitae integer tempus condimentum.</td>
<td>19.99</td>
</tr>
<tr>
<td>Item Five</td>
<td>Ante turpis integer aliquet porttitor.</td>
<td>29.99</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"></td>
<td>100.00</td>
</tr>
</tfoot>
</table>
</div>
</section>
<section>
<h3 class="major">Buttons</h3>
<ul class="actions">
<li><a href="#" class="button special">Special</a></li>
<li><a href="#" class="button">Default</a></li>
</ul>
<ul class="actions">
<li><a href="#" class="button">Default</a></li>
<li><a href="#" class="button small">Small</a></li>
</ul>
<ul class="actions">
<li><a href="#" class="button special icon fa-download">Icon</a></li>
<li><a href="#" class="button icon fa-download">Icon</a></li>
</ul>
<ul class="actions">
<li><span class="button special disabled">Disabled</span></li>
<li><span class="button disabled">Disabled</span></li>
</ul>
</section>
<section>
<h3 class="major">Form</h3>
<form method="post" action="#">
<div class="field half first">
<label for="demo-name">Name</label>
<input type="text" name="demo-name" id="demo-name" value="" placeholder="Jane Doe" />
</div>
<div class="field half">
<label for="demo-email">Email</label>
<input type="email" name="demo-email" id="demo-email" value="" placeholder="[email protected]" />
</div>
<div class="field">
<label for="demo-category">Category</label>
<div class="select-wrapper">
<select name="demo-category" id="demo-category">
<option value="">-</option>
<option value="1">Manufacturing</option>
<option value="1">Shipping</option>
<option value="1">Administration</option>
<option value="1">Human Resources</option>
</select>
</div>
</div>
<div class="field half first">
<input type="radio" id="demo-priority-low" name="demo-priority" checked>
<label for="demo-priority-low">Low</label>
</div>
<div class="field half">
<input type="radio" id="demo-priority-high" name="demo-priority">
<label for="demo-priority-high">High</label>
</div>
<div class="field half first">
<input type="checkbox" id="demo-copy" name="demo-copy">
<label for="demo-copy">Email me a copy</label>
</div>
<div class="field half">
<input type="checkbox" id="demo-human" name="demo-human" checked>
<label for="demo-human">Not a robot</label>
</div>
<div class="field">
<label for="demo-message">Message</label>
<textarea name="demo-message" id="demo-message" placeholder="Enter your message" rows="6"></textarea>
</div>
<ul class="actions">
<li><input type="submit" value="Send Message" class="special" /></li>
<li><input type="reset" value="Reset" /></li>
</ul>
</form>
</section>
</article>
</div>
<!-- Footer -->
<footer id="footer">
<p class="copyright">© Jeff Schwartzentruber 2017-2021. Design: <a href="https://html5up.net">HTML5 UP</a>.</p>
</footer>
</div>
<!-- BG -->
<div id="bg"></div>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>