-
Notifications
You must be signed in to change notification settings - Fork 7
/
content.tex
778 lines (684 loc) · 29.2 KB
/
content.tex
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
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
%% Shared
\newcommand{\statueOfLiberty}{
\raisebox{-.4ex}{\protect\includegraphics[height=2.5ex]{img/statue-of-liberty-emoji.png}}}
\newcommand{\chicagoFlag}{
\raisebox{-.7ex}{\protect\includegraphics[height=2.5ex]{img/chicago-flag.png}}}
\NewDocumentCommand\itology{s}{%
\IfBooleanTF{#1}{%
{\href{https://www.it-ology.org/}{IT-oLogy}\xspace}}%
{IT-oLogy\xspace}}
\NewDocumentCommand\usc{s}{%
\IfBooleanTF{#1}{%
{\href{https://sc.edu/}{UofSC}\xspace}}%
{UofSC\xspace}}
\NewDocumentCommand\uscl{s}{%
\IfBooleanTF{#1}{%
{\href{https://sc.edu/about/system_and_campuses/lancaster/index.php}{USCL}\xspace}}%
{USCL\xspace}}
%% Intro
\newcommand{\name}{
\par{\centering {\Huge Jarrell \textsc{Waggoner}, PhD}\bigskip\par}}
\newcommand{\biographical}{
\begin{center}
\statueOfLiberty{} |
\href{https://www.malloc47.com}{malloc47.com} |
{\sans \raisebox{-.2ex}{✉}} \href{mailto:[email protected]}{\color{black}{[email protected]}} |
{\sans ☏} \href{tel:847-261-4747}{\color{black}{847-261-4747}} |
\{ \begin{small}
\href{https://www.github.com/malloc47}{github.com/},
\href{https://www.linkedin.com/in/malloc47}{linkedin.com/in/},
\href{https://twitter.com/malloc47}{@}\end{small}
\}
\textbf{malloc47}
\end{center}
}
\newcommand{\researchInterestsShort}{computer vision, image processing, artificial
intelligence, pattern recognition \& machine learning, data science,
data engineering, functional programming, web development, GIS,
Clojure}
\newcommand{\researchInterests}{computer vision, image segmentation,
document image analysis, event recognition, image processing,
artificial intelligence, pattern recognition \& machine learning,
data science, functional programming}
\newcommand{\summary}{Engineering leader with decades-long career
spanning research science, early-stage startups, and Fortune 5
companies. Specializing in the intersection of data science and data
engineering with extensive experience architecting MLOps tools and
data platforms. Provides technical leadership across an org-level
portfolio of teams/projects while staying hands-on developing
backend systems, with particular emphasis on functional languages:
10~years of experience using Clojure to build data pipelines,
microservices, and distributed systems.}
\newcommand{\summaryShort}{Engineering leader with decades-long career
spanning research science, early-stage startups, and Fortune 5
companies. Specializing in the intersection of data science and data
engineering with extensive experience architecting MLOps tools and
data platforms. Provides technical leadership across an org-level
portfolio of teams/projects while staying hands-on developing
backend systems, with particular emphasis on functional languages.}
%% Education
\newcommand{\phdDegree}{
\degree{08/2013}%
{Ph.D.}%
{Doctor}%
{of}%
{Computer Science \& Engineering}%
{University of South Carolina}%
{Dr. Song \textsc{Wang}}%
{Multi-Label Segmentation Propagation for Materials Science Images
Incorporating Topology and Interactivity}%
{}}
\newcommand{\meDegree}{
\degree{05/2009}%
{M.E.}%
{Master of Engineering}%
{in}%
{Computer Science}%
{University of South Carolina}%
{}%
{}%
{\small\emph{magna cum laude}}}
%% Experience
\newcommand{\optum}{
\experience{\href{https://www.optum.com/}{Optum, Inc.}}%
{Principal Software Engineer \textcolor{lightg}{(Grade 30)}}%
{Remote (NYC)}%
{2021---Present}%
{Brought in through acquisition of Rally Health, continuing as
architect of the former Rally data organization now housed within
the rebranded Optum Digital entity.
\begin{exlist}
\item Serve as Domain Workgroup Representative responsible for
curating the technologies used by the data and ML practices in
Optum's centralized technology governance model with influence
across all of the Optum Tech organization.
\item Lead an Architecture Advocates workgroup embedding
architecture-focused engineers on individual teams, fostering a
cross-cutting, big-picture view of our architecture across our
data organization.
\item Built a crawler to extract table-level data lineage from our
\airflow DAGs, generating a 2000 node graph navigable through a
custom-built \js graph interface.
\end{exlist}}}
\newcommand{\rally}{
\experience%
{\href{https://www.rallyhealth.com}{Rally Health, Inc.}}%
{Software Architect}%
{Remote (NYC)}%
{2019---2021}%
[Principal Software Engineer]%
[Minneapolis, MN]%
[2017---2019]%
[\textcolor{medg}{\begin{small}(Acquired by Optum)\end{small}}]%
{Staff-level engineering leader responsible for overseeing technical
design and engineering decisions across Rally's entire data
organization that reached a peak of 90+ engineers, analysts,
managers, and data scientists.
\begin{exlist}
\item Brought on board while Rally was a small startup to
architect a complete rewrite of the data platform for the whole
company, moving from a fixed \skill{Cloudera} cluster to a
self-service platform using \skill{Databricks} and
\skill{Redshift} fed by \spark ETLs written in \scala and
scheduled with \airflow atop \skill{Kubernetes}. Built consensus
on new architecture and delivered working system within a year.
\item Member of the Rally Engineering Technical Staff, responsible
for making cross-cutting engineering decisions, evaluating
potential acquisitions, managing the RFC process, and organizing
technical interest groups.
\item Heavily involved in defining team structure and hiring,
conducting over 140 interviews for IC and management roles to
scale the data organization from 4 data engineers to over 50
data engineers across 7 teams.
%% \item Fostered good design practices across the data organization
%% by auditing design documents, leading architecture meetings for
%% multiple teams to grow design aptitude, and spearheading the
%% standardization of best-practices on the team including code
%% review, documented on-call workflow, CI/CD ,
%% monitoring/alerting, idempotent ETL workflows, and reproducible
%% EDW layout.
\item Coordinated platform integration with 20 internal and
external teams and vendors across an extensive range of projects
including productionalized ML workflows, frontend/mobile event
tracking, real time data processing,
security/compliance/privacy, data ingestion APIs, data quality
validation, and self-service internal product analytics.
\end{exlist}}}
\newcommand{\drw}{
\experience{\href{https://www.drw.com}{DRW Holdings, LLC}}%
{Software Engineer}%
{Chicago, IL}%
{2016---2017}%
{Part of the Trading Infrastructure team, developing the internal
platform used by every trading desk at DRW. Built greenfield
high-performance service-oriented systems using \clojure and \java
while maintaining legacy applications in \ruby and \csh among a
catalog of over 50 microservices.
\begin{exlist}
\item Contributed to a \ruby-based reconciliation tool used to
balance cash flows for high-volume trading.
\item Extended a graph-based research workflow tool used for
computing the value and settle price of options, futures,
equities, and other financial instruments, written in \clojure.
\item Developed and extended multiple UI frontends for internal
tools using \react and \reagent.
\end{exlist}}}
\newcommand{\groupon}{
\experience{\href{https://www.groupon.com}{Groupon, Inc.}}%
{Senior Software Engineer \textcolor{lightg}{(SDE IV)}}%
{Chicago, IL}%
{\textcolor{lightg}{02/}2016---\textcolor{lightg}{09/}2016}%
[Software Engineer \textcolor{lightg}{(SDE III)}]%
[]%
[\textcolor{lightg}{08/}2013---\textcolor{lightg}{02/}2016]%
{Contributed to multiple teams solving cross-cutting data
engineering and \skill{MLOps} problems.
\begin{exlist}
\item \textbf{Flux team}: Responsible for a data pipeline
management and machine learning platform used to run
productionalized decision tree learning models to predict
customer attrition, lifetime customer value, and merchant
value. Spearheaded implementation of distributed systems for
the feature store, job scheduling, and data catalog components
used by all models on the platform. Fed from \teradata,
written in \clojure, and backed by \hive.
\item \textbf{Supply Intelligence team}: Tech lead overseeing
the critical business automation of lead-to-salesperson
assignment that previously required \~{}80 sales managers to
conduct manually; led the effort to rearchitect this legacy
system from an ad-hoc job scheduling platform written in \ruby
and \bash to a multi-staged \hadoop pipeline written in
\clojure allowing it to scale to 6M daily candidate
assignments.
\item \textbf{Project Genesis strike team}: Coordinated with
product and business teams to build an ETL to inject 250K
leads in \salesforce from scraped web data that increased the
unassigned leads pool by 10X.
%% \item Built a \postgres-backed high-performance caching and
%% write management system in \clojure around the \salesforce API
%% that hits 10K req/min.
%% \item Mentored interns and junior developers, established best
%% practices, served as reviewer for company-wide RFCs, and led
%% multiple major technical initiatives on a team of 5
%% developers.
%% \item Operationalized \python within the organization by
%% spinning up an internal PyPI server; introducing a pex-driven
%% single-artifact deployment process; creating an interest
%% group, mailing list, and internal wiki; and standardized
%% configuration, logging, and resource management.
\end{exlist}}}
\newcommand{\terrastride}{
\experience{\href{http://www.terrastride.com/}{TerraStride, Inc.}}%
{Technical Engineer}%
{Columbia, SC}%
{2012---2014}%
{Founding engineer at startup creating the
\href{https://www.huntstand.com}{huntstand.com} web application.
Written using \python, \django, and \backbone; deployed to
\skill{AWS}. Responsible for curating full technology stack and
coordinating with $5$ developers.}}
\newcommand{\palmettocomputerlabs}{
\experience{\href{https://web.archive.org/web/20190716230447/http://palmettocomputerlabs.com/}{Palmetto Computer Labs}}%
{Project Manager}%
{Columbia, SC}%
{2011---2013}%
{Created and taught workshops on \git, the \linux command line,
\android development, and open source software for hundreds of
students, developers, and government officials at \itology*.
Managed the
\href{https://web.archive.org/web/20131104022533/http://open-it-lab.com/}{Open
IT Lab} and associated projects. Assisted in planning
\href{https://posscon.org/}{POSSCON}.}}
\newcommand{\elasticvision}{
\experience{Elastic Vision Consulting}%
{Contractor}
{Columbia, SC}%
{2011}%%
{Built a parser and generator for \skill{XML} medical records
formats (CCR and CCD) in a \java web application. Written using
\skill{JDOM}, \skill{Xerces}, and \skill{Hibernate}, and run on an
\skill{Axis2+Jetty6} driven server.}}
\newcommand{\cse}{
\experience{\href{https://www.cse.sc.edu/}{\usc Department of Computer Science
and Engineering}}%
{Teaching Assistant}%
{Columbia, SC}%
{2007---2011}%
{Taught classes in software development, web development, and
computer engineering, covering \java, \js, \html, and
\skill{Visual Basic}. Created syllabi and course objectives,
developed and graded projects and assignments, supervised labs,
and tutored students.}}
\newcommand{\internship}{
\experience{JAARS, Inc.}%
{Intern---Technical Writer}%
{}%
{2005}%
{Created documentation and integrated context-sensitive online help
system for speech and linguistic software written in C++ and
Visual Basic.}}
\newcommand{\volunteering}{
\experience{JAARS, Inc.}%
{Volunteer Software Developer}%
{}%
{2001---2002}%
{Spearheaded the conversion from \skill{Visual Basic 4} to
\skill{Visual Basic 6} for the linguistic reference tool
\href{https://web.archive.org/web/20170614091024/http://www-01.sil.org/computing/ipahelp/ipaprvw2.htm}{IPA
Help}.
{\link{Code}{https://github.com/malloc47/ipa-help}}}}
\newcommand{\afosr}{
\academic{\usc \href{https://cvl.cse.sc.edu/}{Computer Vision Lab}}%
{Research Assistant}%
{funded by \href{https://www.afrl.af.mil/AFOSR/}{AFOSR}}%
{Materials Volume Segmentation}%
{Columbia, SC}%
{2011---2013}%
{Conducted dissertation research on segmentation methods to extract
important physical characteristics from image volumes of metallic
and biologic materials, developed using \python, \numpy, \scipy,
\opencv, and \matlab. Managed the lab computer network and
organized weekly lab meetings. Created a \django{}-based web
application for manual segmentation, an ML-trained classifier for
assisted segmentation, and a fully automated energy-minimization
segmentation approach, with large-scale evaluations on real and
synthetic datasets.}
[\link{Dissertation}{http://scholarcommons.sc.edu/etd/2353/}
\link{Code}{https://www.github.com/malloc47/matsciseg}]
}
\newcommand{\darpa}{
\academic{DARPA
\href{https://en.wikipedia.org/wiki/Mind\%27s_Eye_(US_military)}{Mind's
Eye Program} }%
{Research Assistant}%
{funded by \href{https://www.darpa.mil/}{DARPA}}%
{Video Event Recognition}%
{Columbia, SC}%
{2010---2011}%
{Built video event recognition systems for the DARPA
\href{https://en.wikipedia.org/wiki/Mind\%27s_Eye_(US_military)}{Mind's Eye Program},
collaborating with $10$ students and faculty members across three
institutions to create an AI system that describes events in a
video clip as natural language sentences.
%% Attended P.I. meetings in San Diego (2010) and Colorado (2011).
Developed algorithms in \scheme, \bash, \matlab, and \c to process
a corpus of 3480 videos extracted into over 1.5 million
frames. Conducted distributed processing on the
\href{https://www.top500.org/system/176136/}{Steele} cluster which
was, at the time, among the top 500 most powerful supercomputing
clusters.}
[\linkf{Website}{https://0xab.com/research/video-events.html}
\link{Code}{https://www.github.com/malloc47/video-in-sentences-out}]}
\newcommand{\nehfellow}{
\academic{\usc \href{https://web.qa.sc.edu/about/centers/digital_humanities/index.php}{Center for Digital Humanities}}%
{NEH Fellow}%
{at the \href{https://web.qa.sc.edu/about/centers/digital_humanities/index.php}{Center for Digital Humanities}}%
{Digital Collation}%
{Columbia, SC}%
{2009---2010}%
{Developed the prototype for a \emph{digital collation} application
as part of the
\href{https://web.archive.org/web/20140104133805/http://sapheos.org/}{Sapheos}
/
\href{https://web.qa.sc.edu/about/centers/digital_humanities/projects/paragon.php}{Paragon}
project to identify sub-textual inconsistencies among multiple
scanned copies of \emph{The Faerie Queene} by \textsc{Edmund
Spenser}. Created in \matlab using \opencv to process tens of
thousands of book page images.}
[\link{Paper}{https://securegrants.neh.gov/PublicQuery/main.aspx?f=1&gn=HD-50880-09}
\link{Narrative}{https://thinkingtogether.org/rcream/dossier/sapheosnarrative.pdf}
\linkf{Code}{https://www.github.com/malloc47/digital-collation}]}
\newcommand{\crayton}{
\academic{}%
{\href{https://web.archive.org/web/20190618084356/http://www.gk12.org/}{GK-12} Fellow at \textsc{Crayton Middle School}}%
{}%
{8\textsuperscript{th} Grade Science}%
{Columbia, SC}%
{2008---2009}%
{Served in Crayton Middle School, coordinating with the classroom
instructor to enhance the STEM curriculum and activities in an
8\textsuperscript{th} grade science classroom. Subsequently
coordinated and taught at the \textsc{GK-12 Institute for
Teachers}, presenting the activities developed and delivered in
the classroom.}}
\newcommand{\cseTA}{
\academic{}%
{Graduate Teaching Assistant at \usc*}%
{}%
{Web Development}%
{Columbia, SC}%
{2007---2008, 2011}%
{Supervised CSCE~145 labs, covering software development with
\textsc{Java}, and taught CSCE~102, covering \textsc{Javascript},
\textsc{HTML}, and \textsc{CSS}. Taught~CSCE~211 covering digital
logic design.}}
\newcommand{\usclTA}{
\academic{}%
{Instructor for \textsc{CSCE 204} at \uscl*}%
{}%
{Introductory Programming}%
{Lancaster, SC}%
{Spring 2007}%
{Hired as special faculty. Taught introductory Visual Basic for
majors and non-majors. Selected textbooks, developed all course
material, graded all assignments. Worked with Dr. Noni
M. Bohonak}}
\newcommand{\campInstructor}{
\academic{}%
{Camp Instructor for \textsc{\uscl* Arts and Sciences Adventure Camp}}%
{}%
{5\textsuperscript{th}-8\textsuperscript{th} Grade Students}%
{Lancaster, SC}%
{Fall 2006}%
{Worked in collaboration with Dr. Dwayne Brown. One of two
instructors teaching Math and Computer Science to grade school
students.}}
\newcommand{\tutor}{
\academic{}%
{Professional Tutor at \textsc{\uscl* Academic Success Center}}%
{}%
{High School and College Students}%
{Lancaster, SC}%
{2003---2007}%
{Student and graduate tutor for college-level Mathematics, Computer
Science, Physics, and English classes.}}
%% Skills
\newcommand{\skillsList}{
\skills{\clojure}{\threeskill}
\skills{\clojurescript}{\twoskill}
\skills{\python}{\threeskill}
\skills{\java}{\threeskill}
\skills{\git}{\threeskill}
\skills{\linux}{\threeskill}
\skills{\postgres}{\threeskill}
\skills{\airflow}{\threeskill}
\skills{\hadoop ecosystem}{\threeskill}
\skills{\spark}{\threeskill}
\skills{\js}{\twoskill}
\skills{\react/\reframe}{\oneskill}
\skills{\scala}{\twoskill}
\skills{\skill{Nix/NixOS}}{\oneskill}
\skills{\LaTeX}{\oneskill}
}
\newcommand{\skillsListLong}{
\skills{\clojure}{\threeskill}
\skills{\clojurescript}{\twoskill}
\skills{\python}{\threeskill}
\skills{\bash}{\twoskill}
\skills{\java}{\threeskill}
\skills{\ccpp}{\twoskill}
\skills{\js}{\twoskill}
\skills{\haskell}{\oneskill}
\skills{Emacs Lisp}{\oneskill}
\skills{\LaTeX}{\oneskill}
\skills{\matlab}{\twoskill}
\skills{\scala}{\twoskill}
\skills{\scheme}{\threeskill}
\skills{\ruby}{\twoskill}
\skills{\git}{\threeskill}
\skills{\linux}{\threeskill}
\skills{\django}{\twoskill}
\skills{\react/\reframe}{\oneskill}
\skills{\postgres}{\threeskill}
\skills{\airflow}{\threeskill}
\skills{\hadoop ecosystem}{\threeskill}
\skills{\numpy/\scipy}{\threeskill}
\skills{\opencv}{\threeskill}
\skills{\spark}{\threeskill}
}
\newcommand{\skillsLegend}{
\begin{footnotesize}
\oneskill Small-scale or personal projects \hfill
\twoskill Used in production \hfill
\threeskill Used in large-scale production systems
\end{footnotesize}}
% graveyard
%% \skills{Blender}{\twoskill}
%% \skills{English}{\threeskill}
%% \skills{LAMP Stack}{\fournotes}
%% \skills{LISP}{\onenote}
%% \skills{Learning}{\fournotes Machine}
%% \skills{MS Office}{\fivenotes}
%% \skills{Maple}{\twoskill}
%% \skills{Networking}{\threenotes}
%% \skills{Processing}{\fivenotes Image}
%% \skills{Sys. Admin.}{\threenotes}
%% \skills{Visual Basic}{\fivenotes}
%% \skills{Windows}{\fivenotes}
%% \skills{Wordpress}{\fournotes}
%% \skills{\hive}{\oneskill}
%% \skills{\html}{\threeskill}
%% \skills{\jquery}{\twoskill}
%% \skills{\php}{\oneskill}
%% Projects
\newcommand{\matsciseg}{
\proj{matsciseg}%
{Framework for propagated 3D volume segmentation, used in my
dissertation work. Algorithms created in \python and \cpp and
exposed as a web API using \django. Includes a web application that
consumes the API created in \js, and \jquery.}%
{github.com/malloc47/matsciseg}}
\newcommand{\nonpartisanme}{
\proj{\href{http://nonpartisan.me}{nonpartisan.me}}%
{Google Chrome extension that filters social media websites for
political keywords. Available in the
\href{https://chrome.google.com/webstore/detail/nonpartisanme/ninebcppidndhampaggnjbijpacoadgg}{Chrome
Web Store}. Featured in the
\href{https://charlestoncitypaper.com/sick-of-politics-on-facebook-try-this-browser-tool/}{Charleston City Paper}.}%
{github.com/malloc47/nonpartisan.me}}
\newcommand{\termdo}{
\proj{term-do}%
{An interactive terminal prompt that displays potential command
completions as you type. A hybrid of gnome-do and Emacs's
ido-mode. Works on many tested VT100 terminal types; built
in~\cpp. Includes client/server architecture implemented
with \skill{boost.interprocess} and a plugin system.}%
{github.com/malloc47/term-do}}
\newcommand{\ratiocontour}{
\proj{Ratio Contour}%
{Maintainer and contributor for the Ratio Contour project, a salient
object detection and segmentation method used for computer vision
applications. Developed in \c and \matlab.}%
{github.com/malloc47/ratio-contour}}
\newcommand{\digitalcollation}{
\proj{Digital Collation}%
{Research project to ``collate'' high-resolution documents by using
image registration, accomplished using the \skill{SIFT} feature
detector and a
\href{https://en.wikipedia.org/wiki/Thin_plate_spline}{thin plate
spline} warping technique, written in \matlab.}%
{github.com/malloc47/digital-collation}}
\newcommand{\pmldap}{
\proj{PMLDAP}%
{\linux user management tool for Linux clusters. Created as a
simplified replacement for \skill{LDAP}. Capable of bootstrapping
new systems, synchronizing users and configuration files, and
running distributed commands. Written in \bash.}%
{github.com/malloc47/pmldap}}
\newcommand{\matscicut}{
\proj{matscicut}%
{An energy minimization framework for segmenting 3D materials
volumes. Prototype of dissertation work, created in \cpp using
\opencv libraries, with assorted \matlab helper utilities.}%
{github.com/malloc47/matscicut}}
\newcommand{\githq}{
\proj{git-hq}%
{A remote management system for \git, created in \python.}%
{github.com/malloc47/git-hq}}
\newcommand{\sinaweibo}{
\proj{Sina Weibo Mobile Client}%
{Created a \skill{J2ME}-based prototype mobile client for the
popular Chinese Sina microblogging service, similar to Twitter.
Targeted at limited-functionality CLDC phones and uses a custom
\java wrapper for the Sina API. Employs symmetric-key
encryption for personal data.}%
% TODO: dead link
{bd.weibo.10086.cn/2012/downloads\_kjav}}
\newcommand{\befungepy}{
\proj{befunge.py}%
{Complete \href{https://en.wikipedia.org/wiki/Befunge}{Befunge}
interpreter written in \python. Implements the Befunge 93
specification, and is one of the closest Python equivalents to the
\c reference implementation.}
{github.com/malloc47/befunge.py}}
\newcommand{\cockpit}{
\proj{cockpit}%
{Single-page web application dashboard deplayed on a wall-mounted
tablet that shows the local time, weather, and transit departure
times. Written in \clojurescript using the \reframe framework and
styled using the \href{https://mui.com/}{MUI} \react toolset.
\\
\linkf{Blog Series}{https://www.malloc47.com/building-a-personal-dashboard-in-clojurescript}}
{github.com/malloc47/cockpit}
}
%% References
\newcommand{\referenceslist}{
\nocite{derrick:16}
\nocite{waggoner:15}
\nocite{zhou:14}
\nocite{waggoner:phd}
\nocite{waggoner:14}
\nocite{waggoner:13a}
\nocite{waggoner:13c}
\nocite{waggoner:11}
\nocite{wang:11}
\nocite{temlyakov:10}
\nocite{zhang:10}
\nocite{waggoner:12}
\nocite{barbu:12}
\nocite{barbu:12b}
\nocite{zhang:12}
\nocite{temlyakov:13}
\nocite{salvi:13a}
\nocite{salvi:13b}
}
\newcommand{\referencesShort}{
\nocite{derrick:16}
\nocite{waggoner:15}
\nocite{waggoner:phd}
\nocite{waggoner:14}
\nocite{waggoner:13a}
\nocite{barbu:12}
\nocite{waggoner:11}
}
\newcommand{\presentations}{
\nocite{uhg:19}
\nocite{posscon:15}
\nocite{ato:13}
\nocite{gsd:13}
\nocite{posscon:13}
\nocite{uscl:13}
\nocite{spie:13}
\nocite{appathon:12}
\nocite{uscsymposium:12}
\nocite{scmta:12}
\nocite{sctcs:12}
\nocite{dhhpc:12}
\nocite{spie:12}
\nocite{scgmis:12}
\nocite{darpa:11}
}
\newcommand{\presentationsShort}{
\nocite{uhg:19}
\nocite{posscon:15}
\nocite{ato:13}
\nocite{posscon:13}
}
\newcommand{\referencesPlusPresentations}{
\nocite{uhg:19}
\nocite{derrick:16}
\nocite{waggoner:15}
\nocite{posscon:15}
%% \nocite{waggoner:phd}
\nocite{waggoner:14}
\nocite{waggoner:13a}
\nocite{barbu:12}
\nocite{waggoner:11}
}
%% Guest Lectures
%% \begin{enumerate}
%% \renewcommand{\labelenumi}{[G\arabic{enumi}] }
%% %% \item \emph{Combining Global Labeling and Local Relabeling for Metallic Image Segmentation}. Graduate Student Day Competition, Second Place. April 8, 2011.
%% %% \item \emph{Image Registration for Digital Collation}. Graduate Student Day Competition, Honorable Mention. April 2, 2010.
%% \item \emph{Building Chrome Extensions}. In CSCE 242. Guest lecture for Dr. José M. Vidal. November~30, 2012.
%% \item \emph{Modeling in Blender}. In CSCE 552. Guest lecture for Dr. Jijun Tang. February~28, 2011.
%% \item \emph{Aspect-Oriented Programming}. In CSCE 531. Guest lecture for Dr. Marco Valtorta. March 19, 2008.
%% \item \emph{Math 241}. Vector Calculus. Guest lecture for Dr. Dwayne Brown. April~23---26, 2007.
%% \item \emph{Math 242}. Differential Equations. Guest lecture for Dr. Dwayne Brown. April~23---26, 2007.
%% \end{enumerate}
%% Travel
%\begin{enumerate}
%\renewcommand{\labelenumi}{[T\arabic{enumi}] }
%\item \emph{Mind's Eye PI Meeting}. DARPA Project P.I.~meeting. Denver, CO. January 20---21, 2011.
%\item \emph{Tomography and its Applications to Materials Science and Non-Destructive Evaluation}. Organizd by M. De Graef, L. Drummy, J. Simmons, M. Comer, C. Bouman, and J. Knopp. Tech\^{}Edge, Dayton, Ohio. December 13---15, 2010.
%\item Visiting scholar. In collaboration with J. M. Siskind. Purdue University, West Lafayette, IN. December 6---22, 2010 \& January 5---16, 2011.
%\item \emph{Mind's Eye Kickoff Meeting}. DARPA Project P.I.~meeting. San Diego, CA. September 23---24, 2010.
%\end{enumerate}
%% Honors/Awards
\newcommand{\awardlist}{
\award{First Place}{\begin{small}Gamecock Computing Research Symposium Poster Session\end{small}}{\usc*}{2012}
\award{First Place}{Graduate Student Day Presentation}{\usc}{2012}
\award{Second Place}{Graduate Student Day Presentation}{\usc}{2011}
\award{Honorable Mention}{Graduate Student Day Presentation}{\usc}{2010}
\award{Inductee}{Upsilon Pi Epsilon}{\usc}{2009}
\award{Recipient}{Clara P. Hammond Award}{\uscl*}{2004}
\award{Recipient}{Science and Mathematics Award}{\uscl}{2004}
\award{Recipient}{Highest Academic Average Award}{\uscl}{2004}
}
%% Classes
\newcommand{\classes}{
\class{\itology*}{2012---2013}{Open Source 101}{Open Source Software}
\class{\itology}{2012---2013}{Version Control 101}{git, github}
\class{\itology}{2012---2013}{Command Line 101}{Linux, Bash}
\class{\usc*}{Fall 2011}{CSCE 211}{Digital Logic Design}
\class{\usc}{Summer II 2008}{CSCE 102}{HTML/CSS/JavaScript}
\class{\usc}{Spring 2008}{CSCE 145 Lab}{Algorithmic Design}
\class{\usc}{Fall 2007}{CSCE 145 Lab}{Algorithmic Design}
\class{\uscl*}{Spring 2007}{CSCE 204}{Program Design and Development}
\class{\uscl}{Spring 2007}{Math 241 \& Math 242}{Maple}}
%% Service
\newcommand{\servicelist}{
\service{Judge}%
{Rally Data Hackathon}%
{2021}
\service{Mentor}%
{Groupon internship program}%
{2014}
\service{Book Reviewer}%
{\href{https://www.packtpub.com/big-data-and-business-intelligence/practical-data-analysis}{Practical Data Analysis}, Packt Publishing}%
{2013}
\service{Webmaster}%
{\href{https://cvl.cse.sc.edu/wvm2013/}{Winter Vision Meetings}}%
{2013}
\service{Webmaster}%
{\href{https://cvl.cse.sc.edu/wacv2013/}{Workshop on the Applications of Computer Vision}}%
{2013}
\service{Judge}%
{Discovery Day --- Undergraduate Research Presentations}%
{2012}
\service{Reviewer}%
{Pattern Recognition Letters}%
{2011---2012}
\service{Reviewer}%
{IEEE Transactions on Pattern Analysis and Machine Intelligence}%
{2012}
%% \service{Fellow}{NSF GK-12 Program}
%% \service{Member}{Institute of Electrical and Electronics Engineers (IEEE)}
\service{SysAdmin}{Computer Vision Lab}{2009---2012}
}
%% Footer
\newcommand{\interests}{%
data visualization, geographic information systems, Linux,
\href{https://soundcloud.com/malloc47}{music composition}}
\newcommand{\footerCV}{
\null\vfill
\footnotesize{
Online: \href{http://cv.malloc47.com}{cv.malloc47.com} \hfill
Résumé: \href{http://resume.malloc47.com}{resume.malloc47.com} \hfill
Source (\gitAbbrevHash): \href{https://github.com/malloc47/cv/tree/\gitHash}{github.com/malloc47/cv/}}}
\newcommand{\footerResume}{
\null\vfill
\footnotesize{
Online: \href{http://resume.malloc47.com}{resume.malloc47.com} \hfill
Academic CV: \href{http://cv.malloc47.com}{cv.malloc47.com} \hfill
Source (\gitAbbrevHash): \href{https://github.com/malloc47/cv/tree/\gitHash}{github.com/malloc47/cv/}}}