-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
1145 lines (1127 loc) · 68 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
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
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="keywords" content="security, python, java, research, researcher, developer, scientist, engineer" />
<meta name="description" content="I am a Ph.D. Lead Associate currently working at Peraton Labs.
My tools show higher precision than existing tools to ensure developers pay attention to the results."/>
<title>{{dyct['name']}}</title>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="crossorigin"/>
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Poppins:wght@600&family=Roboto:wght@300;400;500;700&display=swap"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@600&family=Roboto:wght@300;400;500;700&display=swap" media="print" onload="this.media='all'"/>
<link rel="stylesheet" href="https://cdn.rawgit.com/jpswalsh/academicons/master/css/academicons.min.css">
<link href="https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<noscript>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@600&family=Roboto:wght@300;400;500;700&display=swap"/>
</noscript>
<link href="css/font-awesome/css/all.min.css?ver=1.2.1" rel="stylesheet">
<link href="css/mdb.min.css?ver=1.2.1" rel="stylesheet">
<link href="css/aos.css?ver=1.2.1" rel="stylesheet">
<link href="/css/main.css?ver=1.2.1" rel="stylesheet">
<noscript>
<style type="text/css">
[data-aos] {
opacity: 1 !important;
transform: translate(0) scale(1) !important;
}
</style>
</noscript>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
}
#myBtn {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
font-size: 18px;
border: none;
outline: none;
background-color: #39c0ed;
color: white;
cursor: pointer;
padding: 15px;
border-radius: 4px;
opacity: 0.45;
}
#myBtn:hover {
background-color: #555;
}
</style>
</head>
{#
https://analytics.google.com/analytics/web/#/p330218338/reports/reportinghub?params=_u..nav%3Dmaui
<!-- Google tag (gtag.js) (https://analytics.google.com)-->
#}
<script async src="https://www.googletagmanager.com/gtag/js?id=G-F7R0M67LLC"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-F7R0M67LLC');
</script>
<body class="bg-light" id="top">
<button onclick="goto('/#top')" id="myBtn" title="Go to top" style="background-color:rgb(57, 100, 234);">Top</button>
<header class="d-print-none">
<div class="container text-center text-lg-left">
<div class="pt-4 clearfix">
{#
<h1 class="site-title mb-0"><a href="/index.html" >{{dyct['name']}}</a> <br>
{{ "Research"|get_main_url("Info")|safe }} {{ "Industry"|get_main_url("Info")|safe }} {{ "Full"|get_main_url("Info")|safe }}
</h1>
#}
<div class="site-nav">
<nav role="navigation">
<ul class="nav justify-content-center">
<li class="nav-item"><a class="nav-link" href="#about" title="About"><span class="menu-title">About</span></a></li>
{% if dyct['show_edu'] -%}
<li class="nav-item"><a class="nav-link" href="#education" title="Education"><span class="menu-title">Education</span></a></li>
{%- endif%}
{% if dyct['show_sub'] -%}
<li class="nav-item"><a class="nav-link" href="#submissions" title="Submissions"><span class="menu-title">Submissions</span></a></li>
{%- endif%}
{% if dyct['show_talks'] -%}
<li class="nav-item"><a class="nav-link" href="#talks" title="Talks"><span class="menu-title">Talks</span></a></li>
{%- endif%}
{% if dyct['show_proj'] -%}
<li class="nav-item"><a class="nav-link" href="#projects" title="Projects"><span class="menu-title">Projects</span></a></li>
{%- endif%}
{% if dyct['show_utils'] -%}
<li class="nav-item"><a class="nav-link" href="#utils" title="Utils"><span class="menu-title">Utils</span></a></li>
{%- endif%}
{% if dyct['show_skills'] -%}
<li class="nav-item"><a class="nav-link" href="#skills" title="Skills"><span class="menu-title">Skills</span></a></li>
{%- endif%}
{% if False and dyct['show_docker'] -%}
<li class="nav-item"><a class="nav-link" href="#my_dock" title="MyDocker"><span class="menu-title">My Docker</span></a></li>
{%- endif%}
{% if True -%}
<li class="nav-item"><a class="nav-link" href="/frac" title="FRAC"><span class="menu-title">FRAC</span></a></li>
{%- endif%}
{% if dyct['show_exp'] -%}
<li class="nav-item"><a class="nav-link" href="#experience" title="Work Experience"><span class="menu-title">Work Experience</span></a></li>
{%- endif%}
{% if dyct['show_path'] -%}
<li class="nav-item"><a class="nav-link" href="#path" title="Path"><span class="menu-title">Career Path</span></a></li>
{%- endif%}
{% if dyct['show_grps'] -%}
<li class="nav-item"><a class="nav-link" href="#groups" title="Groups"><span class="menu-title">Groups</span></a></li>
{%- endif%}
{% if dyct['show_ment'] -%}
<li class="nav-item"><a class="nav-link" href="#mentees" title="Mentees"><span class="menu-title">Mentees</span></a></li>
{%- endif%}
{% if dyct['show_consult'] -%}
<li class="nav-item"><a class="nav-link" href="#consultations" title="Consultations"><span class="menu-title">Consultations</span></a></li>
{%- endif%}
<li class="nav-item"><a class="nav-link" href="#contact" title="Contact"><span class="menu-title">Contact</span></a></li>
</ul>
</nav>
</div>
</div>
</div>
</header>
<div class="page-content">
<div class="container">
<div class="resume-container">
<div class="shadow-1-strong bg-white my-5" id="intro">
<div class="bg-info text-white">
<div class="cover bg-image"><img src="images/header-background.jpg" alt="My Professional Headshot Photo"/>
<div class="mask" style="background-color: rgba(0, 0, 0, 0.7);backdrop-filter: blur(2px);">
<div class="text-center p-5">
<div class="avatar p-1"><img class="img-thumbnail shadow-2-strong" src="images/avatar.jpg" width="160" height="160" alt="My Professional Headshot Photo"/></div>
<div class="header-bio mt-3">
<div data-aos="zoom-in" data-aos-delay="0">
<h2 class="h1">{{dyct['name']}}</h2>
<p>{{dyct['title']}}</p>
</div>
<div class="header-social mb-3 d-print-none" data-aos="zoom-in" data-aos-delay="200">
<nav role="navigation">
<ul class="nav justify-content-center">
<li class="nav-item">
<a class="nav-link" href="https://github.com/{{dyct['GITHUB']}}" title="Github">
<i class="fab fa-github"></i>
<span style="padding:10px;" class="menu-title sr-only">Github</span>
</a>
</li>
<li>
{% if 'DOCKER' in dyct %}
<li>
<a class="nav-link" href="https://hub.docker.com/u/{{ dyct['DOCKER'] }}" title="Docker">
<i style="padding:10px;" class="fab fa-docker" title="Docker link"></i>
</a>
</li>
{% endif %}
{% if 'LINKEDIN_USERNAME' in dyct %}
<li>
<a class="nav-link" href="https://www.linkedin.com/in/{{ dyct['LINKEDIN_USERNAME']|escape }}" title="Linkedin">
<i style="padding:10px;" class="fab fa-linkedin" title="Linkedin link"></i>
</a>
</li>
{% endif %}
{% if 'SCHOLAR_USERNAME' in dyct %}
<li>
<a class="nav-link" href="https://scholar.google.com/citations?user={{ dyct['SCHOLAR_USERNAME'] }}" title="Linkedin">
<i style="padding:10px;" class="ai ai-google-scholar-square" title="Google Scholar"></i>
</a>
</li>
{% endif %}
{% if 'MENDELEY_USERNAME' in dyct %}
<li>
<a class="nav-link" href="https://www.mendeley.com/profiles/{{ dyct['MENDELEY_USERNAME'] }}" title="Docker">
<i style="padding:10px;" class="ai ai-mendeley" title="Mendeley Account"></i>
</a>
</li>
{% endif %}
{% if 'IEEE' in dyct %}
<li>
<a class="nav-link" href="https://ieee-collabratec.ieee.org/app/p/{{ dyct['IEEE'] }}" title="Docker">
<i style="padding:10px;" class="ai ai-ieee" title="IEEE Account"></i>
</a>
</li>
{% endif %}
{% if 'MEDIUM' in dyct %}
<li>
<a class="nav-link" href="https://medium.com/@{{ dyct['MEDIUM'] }}" title="Docker">
<i style="padding:10px;" class="fab fa-medium" title="Medium Account"></i>
</a>
</li>
{% endif %}
{% if 'ORCID' in dyct %}
<li>
<a class="nav-link" href="https://orcid.org/{{ dyct['ORCID'] }}" title="Docker">
<i style="padding:10px;" class="fab fa-orcid" title="Orcid Account"></i>
</a>
</li>
{% endif %}
{% if False and 'ZENODO' in dyct %}
<li>
<a class="nav-link" href="https://zenodo.org/search?page=1&size=20&q=owners:{{ dyct['ZENODO'] }}" title="Docker">
<img class="custom-icon" style="padding-top:30%;" src="https://about.zenodo.org/static/img/logos/zenodo-white.svg" width="80%"/>
</a>
</li>
{% endif %}
<li>
<a class="nav-link" href="https://oca.opensource.oracle.com/?ojr=contrib-list" title="Docker">
<i style="padding:10px;" class="fab fa-java" title="Java Oracle Contributor Agreement"></i>
</a>
</li>
{#
<li>
<a class="nav-link" href="/rss.html" title="RSS">
<i style="padding:10px;" class="fa fa-rss" title="RSS Feed"></i>
</a>
</li>
#}
</ul>
</nav>
</div>
<div class="d-print-none">
<a class="btn btn-outline-light btn-lg shadow-sm mt-1 me-3" href="/cv" data-aos="fade-right" data-aos-delay="700">CV</a>
<a class="btn btn-outline-light btn-lg shadow-sm mt-1 me-3" href="/resume" data-aos="fade-left" data-aos-delay="700">Resume</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="shadow-1-strong bg-white my-5 p-5" id="about">
<div class="about-section">
<div class="row">
<div class="col-md-6">
<h2 class="h2 fw-light mb-4">About Me</h2>
I am a Ph.D. Lead Associate currently working at <a href="https://www.peratonlabs.com/">Peraton Labs</a>.
I am currently working on cyber defense projects utilizing the <a href="https://cybervan.peratonlabs.com:9000/welcome">CyberVan testbed technology</a>.
{#
<br>
<br>
Focusing on the source of the vulnerabilities will provide better long-term solutions as opposed to continuing patching the issues.
My application-focused research allows me to provide direct impact to current and upcoming vulnerabilities.
I am a 3rd-year Ph.D. Computer Science student and am currently working on exciting projects.
Currently, I am working with <a href="http://people.cs.vt.edu/danfeng/">Dr. Danfeng Yao</a>.
<br>
Previously I have worked in <a href="https://worldpay.com/">Worldpay from FIS</a> for several Internships (or Co-Ops) and have learned a lot through my various teams.
<br>
#}
<br>
<br>
I enjoy working on side projects to help developers secure their code.
</div>
<div class="col-md-5 offset-lg-1">
<div class="row mt-2">
<h2 class="h2 fw-light mb-4">Bio</h2>
<div class="col-sm-5">
<div class="pb-2 fw-bolder"><i class="far fa-envelope pe-2 text-muted" style="width:24px;opacity:0.85;"></i> Email</div>
</div>
<div class="col-sm-7">
<div class="pb-2"><a href="mailto:{{dyct['EMAIL']}}">{{dyct['EMAIL']}}</a></div>
</div>
<div class="col-sm-7">
<div class="pb-2">N.J., U.S.A</div>
</div>
<br>
<div class="col-sm-5">
<div class="pb-2 fw-bolder">Areas of Interest</div>
</div><br>
<div class="col-sm-7">
<div class="pb-2"><ul>
<li>Psychology-Based Defenses</li>
<li>Malware/Virus Analysis</li>
<li>Cyber Defense</li>
<li>Machine Learning</li>
<li>Static Code Analysis</li>
{#
<li>LLM</li>
<li>Dynamic Code Analysis</li>
<li>Privacy Analysis</li>
<li>Data Analysis</li>
<li>Scripting</li>
#}
</ul></div>
</div>
</div>
</div>
</div>
</div>
</div>
{% if dyct['show_edu'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="education">
<div class="education-section">
<h2 class="h2 fw-light mb-4">Education</h2>
<div class="timeline">
{{
"Ph.D. Computer Science"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"May 2020",
"June 2024",
"I have worked under Dr. Danfeng Yao on Cryptoguard and Cryptolation related projects and other static analysis projects. I have also been joining various groups (located at the bottom) as well as taking more security-oriented courses and enjoying the mountains.",
False)|safe
}}
{{
"M.S. Computer Science"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"August 2018",
"May 2020",
"I have been working under Dr. Danfeng Yao on Cryptoguard related projects and other static analysis projects. I have also been joining various groups (located at the bottom) as well as taking more security-oriented courses and enjoying the mountains.",
False,html_id="Grad_MSDegree")|safe
}}
{{
"B.S. Computer Engineering"|get_base(
"<a href='https://www.uc.edu/'>University of Cincinnati</a>",
"August 2013",
"April 2018",
"During my Undergraduate Program, I learned a lot throughout the classes I took and the Co-Ops I was a part of. The Co-Ops was the best part of the degree, as it gave me real-world experience and a chance for practical application.",
False)|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_sub'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="submissions">
<div class="submissions-section">
<h2 class="h2 fw-light mb-4">Submissions</h2>
<div class="timeline">
{{
"<a href='https://ieeexplore.ieee.org/abstract/document/10474052/'>Methods and Benchmark for Detecting Cryptographic API Misuses in Python</a>"|get_base(
"<a href='https://www.computer.org/csdl/journal/ts'>IEEE TSE</a>",
"March 2024",
"",
"<q>Cryptolation covers 59 Python cryptographic modules and can identify 18 potential cryptographic misuses that involve complex language features. In this paper, we also provide a comprehensive analysis and a state-of-the-art benchmark for understanding the Python cryptographic Application Program Interface (API) misuses and their detection. Our state-of-the-art benchmark PyCryptoBench includes 1,836 Python cryptographic test cases that covers both 18 cryptographic rules and five language features.</q>",color="yellow")|safe
}}
{{
"<a href='https://www.researchgate.net/publication/370124743_Cryptolation' >Poster: Cryptolation</a>"|get_base(
"<a href='https://cyberinitiative-swva.org/news/previous-events/cci-student-researcher-showcase-221.html'>CCI Student Researcher Showcase</a>",
"April 2023",
"",
"<blockquote cite='https://www.researchgate.net/publication/370124743_Cryptolation'><q>Our tool Cryptolation successfully scans complex Python code based on our 18 preset rules. Despite our high precision, we will reduce its memory and linear-time performance based on the number of dynamic ASTs allowed by the developer.</q></blockquote>",color="yellow")|safe
}}
{{
"<a href='https://esorics2021.athene-center.de/tutorial-09-08.php' >Principles and Practices of Secure Cryptographic Coding in Java</a>"|get_base(
"<a href='https://esorics2021.athene-center.de/tutorial-09-08.php'>Esorics</a>",
"September 2021",
"",
"<blockquote cite='https://esorics2021.athene-center.de/tutorial-09-08.php'><q>Various software libraries and frameworks provide a variety of APIs to support secure coding. However, misusing these APIs can cost developers tremendous time and effort, introduce security vulnerabilities to software, and cause serious consequences like data leakage or Denial of Service (DoS) on servers. Our tutorial aims to educate people on the best practice of secure coding, the pitfalls that should be avoided, and the detection tools and fixing suggestions of insecure code.</q></blockquote>",color="yellow")|safe
}}
{{
"<a href='https://secdev.ieee.org/2020/accepted/' >Tutorial: Principles and Practices of Secure Cryptographic Coding in Java</a>"|get_base(
"<a href='https://secdev.ieee.org/2020/accepted/'>SecDev20</a>",
"September 2020",
"",
"",color="yellow")|safe
}}
{{
"<a href='https://dl.acm.org/doi/pdf/10.1145/3319535.3345659' >CryptoGuard: High Precision Detection of Cryptographic Vulnerabilities in Massive-sized Java Projects</a>"|get_base(
"<a href='https://sigsac.org/ccs/CCS2019/'>ACM CCS</a>",
"November 2019",
"",
"<blockquote cite='https://dl.acm.org/doi/pdf/10.1145/3319535.3345659'><q>Cryptographic API misuses, such as exposed secrets, predictable
random numbers, and vulnerable certificate verification, seriously
threaten software security. The vision of automatically screening
cryptographic API calls in massive-sized (e.g., millions of LoC) pro-
grams is not new. However, hindered by the practical difficulty
of reducing false positives without compromising analysis qual-
ity, this goal has not been accomplished. CryptoGuard is a set
of detection algorithms that refine program slices by identifying
language-specific irrelevant elements. The refinements reduce false
alerts by 76% to 80% in our experiments. Running our tool, Cryp-
toGuard, on 46 high-impact large-scale Apache projects and 6,181
Android apps generated many security insights. Our findings helped
multiple popular Apache projects to harden their code, including
Spark, Ranger, and Ofbiz. We also have made progress towards the
science of analysis in this space, including manually analyzing 1,295
Apache alerts, confirming 1,277 true positives (98.61% precision),
and in-depth comparison with leading solutions including CrySL,
SpotBugs, and Coverity.</q></blockquote>",color="yellow")|safe
}}
{{
"<a href='https://arxiv.org/pdf/2201.07651' >Enhancing CryptoGuards Deployability for Continuous Software Security Scanning</a>"|get_base(
"<a href='https://vtechworks.lib.vt.edu/handle/10919/5534'>VT ETDs</a>",
"May 2020",
"",
"<blockquote cite='https://arxiv.org/pdf/2201.07651'><q>The increasing development speed via Agile[1] may introduce overlooked security steps in
the process, with an example being the Iowa Caucus application[2]. Verifying the protection
of confidential information such as social security numbers requires security at all levels,
providing protection through any connected applications. CryptoGuard[3]1 is a static code
analyzer for Java. This program verifies that developers do not leave vulnerabilities in their
application. The program aids the developer by identifying cryptographic misuses such as
hard-coded keys, weak program hashes, and using insecure protocols. In my Master thesis
work, I made several important contributions to improving the deployability, accessibility,
and usability of CryptoGuard. I extended CryptoGuard to scan source and compiled code,
created live documentation, and supported a dual cloud and local tool-suite. I also created
build tool plugins and a program aid for CryptoGuard. In addition, I also analyzed several
Java-related surveys encompassing more than 50,000 developers and reported interesting
current practices of real-world software developers.</q></blockquote>",color="yellow")|safe
}}
{{
"<a href='https://dl.acm.org/doi/pdf/10.1145/3319535.3363252' >Deployment-quality and Accessible Solutions for Cryptography Code Development</a>"|get_base(
"<a href='https://sigsac.org/ccs.html'>ACM SIGSAC</a>",
"November 2019",
"",
"<blockquote cite='https://dl.acm.org/doi/pdf/10.1145/3319535.3363252'><q>Cryptographic API misuses seriously threaten software security.
Automatic screening of cryptographic misuse vulnerabilities has
been a popular and important line of research over the years. How-
ever, the vision of producing a scalable detection tool that devel-
opers can routinely use to screen millions of line of code has not
been achieved yet.
Our main technical goal is to attain a high precision and high
throughput approach based on specialized program analysis. Specifi-
cally, we design inter-procedural program slicing on top of a new on-
demand flow-, context- and field- sensitive data flow analysis. Our
current prototype named CryptoGuard can detect a wide range of
Java cryptographic API misuses with a precision of 98.61%, when
evaluated on 46 complex Apache Software Foundation projects
(including, Spark, Ranger, and Ofbiz). Our evaluation on 6,181 An-
droid apps also generated many security insights. We created a
comprehensive benchmark named CryptoApi-Bench with 40-unit
basic cases and 131-unit advanced cases for in-depth comparison
with leading solutions (e.g., SpotBugs, CrySL, Coverity). To make
CryptoGuard widely accessible, we are in the process of inte-
grating CryptoGuard with the Software Assurance Marketplace
(SWAMP). SWAMP is a popular no-cost service for continuous soft-
ware assurance and static code analysis.</q></blockquote>",color="yellow")|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_talks'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="talks">
<div class="talks-section">
<h2 class="h2 fw-light mb-4">Talks</h2>
<div class="timeline">
{{
"<a href='https://esorics2021.athene-center.de/tutorial-09-08.php' >Esorics 2021 Demo</a>"|get_base(
"<a href='https://mybinder.org/v2/gh/franceme/Esorics_Conference/HEAD'>Jupyter Notebook</a>",
"September 2021",
"",
"<blockquote cite='https://esorics2021.athene-center.de/tutorial-09-08.php'><q>Various software libraries and frameworks provide a variety of APIs to support secure coding. However, misusing these APIs can cost developers tremendous time and effort, introduce security vulnerabilities to software, and cause serious consequences like data leakage or Denial of Service (DoS) on servers. Our tutorial aims to educate people on the best practice of secure coding, the pitfalls that should be avoided, and the detection tools and fixing suggestions of insecure code.</q></blockquote>",color="red")|safe
}}
{{
"TA: Course SQL Injection Demo"|get_base(
"<a href='https://www.youtube.com/watch?v=rLY2skQTeJE'>YouTube</a>",
"November 2020",
"",
"",color="red")|safe
}}
{{
"TA: Course Project Demo"|get_base(
"<a href='https://www.youtube.com/watch?v=wU5VFDHc11s'>YouTube</a>",
"November 2019",
"",
"",color="red")|safe
}}
{{
"<a href='https://www.youtube.com/watch?v=42Qw06OrjwM' >SecDev 2020 Tutorial</a>"|get_base(
"<a href='https://mybinder.org/v2/gh/franceme/cryptoguard/2020_SecDev_Tutorial?filepath=SecDev_Tutorial.ipynb'>Jupyter Notebook</a>",
"September 2020",
"",
"",color="red")|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_proj'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="projects">
<div class="projects-section">
<h2 class="h2 fw-light mb-4">Projects</h2>
<div class="timeline">
{{
"FRAC"|get_base(
"<a href='https://github.com/franceme/franceme.github.io/blob/master/frac.py'>GitHub Repo</a>",
"2023",
"Present",
"This is a <b>fully static</b>, <b>client-side</b>, <b>proof of concept code analysis platform</b>. I was inspired by the late <a href='https://www.dhs.gov/science-and-technology/swamp'>Software Assurance Marketplace (SWAMP)</a>. SWAMP was both a public and private platform that allowed users to upload source code and run various code analysis tools on their code. While hosting their own public cloud instance, they were also able to package the platform for private installation; extending the platform to DoD or government agencies. Unfortunately the project was closed due to funding issues. Since there seemed to be no static platform that had the same capabilities of SWAMP, I waited until the technology was available to make a mvp myself. Currently <a href='https://rebrand.ly/frantzme_frac'>Frantzs Rule Analysis Checker (FRAC)</a>, as it is currently named, is a compiled single and fully static html page. A user is able to write in Python source code, click the button to scan the source code with all of the tools currently supported, and see each of the tools results. This process is supported by <a href='https://pyodide.org/en/stable/'>Pyodide</a>, a WASM based Python runtime, enabling the <b>entirety</b> of the process to run <b>inside the browser itself</b>. The process is <b>not saved elsewhere</b> and the <b>results are not transmitted elsewhere</b>. I have only added the base Google Analytics to see how many people visit the site. As this is a live project there will be ongoing additions. Please visit the website page itself at <a href='https://rebrand.ly/frantzme_frac'>https://rebrand.ly/frantzme_frac</a> for more details.<br><br> Topics: GitHub Actions, Python, Python3, Static Analysis, Website, Code Analysis, Platform, Privacy, Security",color="blue")|safe
}}
{{
"Scripts | funbelts"|get_base(
"<a href='https://github.com/franceme/Scripts'>GitHub Repo</a>",
"2022",
"Present",
"This repository originally started off as a internal collection of various Python utilities I would use with testing capabilities. Not just limited to Python scripting, it also includes links to <a href='https://github.com/franceme/Scripts/blob/master/dockerPush.py'>dockerPush.py</a> which simply aides my use of Docker. I also packaged the python utilities under the PyPi name <a href='https://pypi.org/project/funbelts/'>funbelts</a>. While I originally thought I would be the only user of the package, I have heard it make some waves. Fortunately it seems there have been <a href='https://pypistats.org/packages/funbelts'>thousands of downloads</a>, so hopefully others find this package helpful. <br><br> Topics: Docker, Docker-Compose, GitHub Actions, Python, Python3, Portable Environment, Cross-Platform",color="blue")|safe
}}
{#
{{
"franceme.github.io"|get_base(
"<a href='https://github.com/franceme/franceme.github.io'>GitHub Repo</a>",
"2019",
"Present",
"This is my 'now and again' public website. I've used the same framework to generate the static website, and I have migrated the build to GitHub actions to ensure public transparency. I only made it public after hiding some of the web content since the build for the website is activated AFTER the Resume repo is complete. This was a neat trick that allows the Website to automatically download and host the most recent documents, as well as load the most recent web content (since this website used yml files that were created from the Resume Repo).",color="blue")|safe
}}
#}
{{
"<a href='https://franceme.github.io/WaveNetExploration/'>WaveNetExploration</a>"|get_base(
"<a href='https://github.com/franceme/WaveNetExploration'>GitHub Repo</a>",
"2019",
"2019",
"This was a class project created for an Advanced Machine Learning class. The purpose of this project was to replicate an existing papers work and to add onto it. For this, my group chose to replicate the paper <a href='https://arxiv.org/pdf/1609.03499.pdf'>WaveNet</a> and to enhance the results by running it on music samples. Unfortunately, we were unable to create any sound samples that mimic actual music, however from the website, there is a clear improvement in the music generation from the models. <br><br> Topics: ML, Machine Learning, GAN, Music Generation, Python, Live, Online",color="blue")|safe
}}
{{
"GradleGuard"|get_base(
"<a href='https://github.com/franceme/gradleguard'>GitHub Repo</a>",
"2019",
"2020",
"This is the Gradle plugin for my thesis project Cryptoguard. This was created to help ease the access and use for developers to be able to use Cryptoguard. <br><br> Topics: Gradle, Java, Build System, Build Tool, Code Analysis",color="blue")|safe
}}
{{
"MavenGuard"|get_base(
"<a href='https://github.com/franceme/mavenguard'>GitHub Repo</a>",
"2019",
"2020",
"This is the Maven plugin for my thesis project Cryptoguard. This was created to help ease the access and use for developers to be able to use Cryptoguard. <br><br> Topics: Maven, Java, Build System, Build Tool, Code Analysis",color="blue")|safe
}}
{{
"CryptoGuard"|get_base(
"<a href='https://github.com/franceme/cryptoguard'>GitHub Repo</a>",
"2019",
"2020",
"This is a static and compiled code analyzer, serving as my current thesis project. This project will scan cryptographic misuse in Java Projects (Maven/Gradle based) and Android Projects. Recent works with this project have included making an enhanced interface for this to work with other programs and tools. <br><br> Topics: Java, Build System, Build Tool, Code Analysis, Cryptography, Analysis",color="blue")|safe
}}
{{
"Cryptolation"|get_base(
"<a href='https://github.com/franceme/cryptoguard'>GitHub Repo</a>",
"2020",
"Present",
"A Python static code analysis tool. <br><br> Topics: Python, Code Analysis",color="blue")|safe
}}
{{
"PyCryptoBench"|get_base(
"<a href='https://github.com/franceme/PyCryptoBench'>GitHub Repo</a>",
"2020",
"Present",
"A purposely vulnerable cryptographic dataset to help advanced code analysis tools. Feel free to download this sqlite or use it live at DBHub. <br><br> Topics: Python, Benchmark, TestBed",color="blue")|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_utils'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="utils">
<div class="utils-section">
<h2 class="h2 fw-light mb-4">Utils</h2>
<div class="timeline">
{{
"Mystring"|get_base(
"<a href='https://github.com/franceme/mystring'>GitHub Repo</a>: <a href='https://github.com/franceme/mystring/actions/workflows'><img src='https://github.com/franceme/mystring/actions/workflows/publish.yml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Python project that started out as a simple Python string wrapper that provided extra utilities. This has expanded in scope to different object types, such as dataframes, but always providing useful utilities to each data object.", color="blue")|safe
}}
{{
"Hugg"|get_base(
"<a href='https://github.com/franceme/hugg'>GitHub Repo</a>: <a href='https://github.com/franceme/hugg/actions/workflows'><img src='https://github.com/franceme/hugg/actions/workflows/publish.yml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Python project that provided a very simple common interface between different data storages. What seperates this interface is the low requirements for each interface and the focus on scripting the files.", color="blue")|safe
}}
{{
"Sdock"|get_base(
"<a href='https://github.com/franceme/sdock'>GitHub Repo</a>: <a href='https://github.com/franceme/sdock/actions/workflows'><img src='https://github.com/franceme/sdock/actions/workflows/publish.yml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Python project that started out as a common way to interact with Docker commands through Python. There is the basis for additional capabilities within Virtual Box, Ansible, and others. This work has been currently delayed however.", color="blue")|safe
}}
{{
"Splunkr"|get_base(
"<a href='https://github.com/franceme/splunkr'>GitHub Repo</a>: <a href='https://github.com/franceme/splunkr/actions/workflows'><img src='https://github.com/franceme/splunkr/actions/workflows/publish.yml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Python wrapper to expose the Splunk HTTP Event Collector provided from this <a href=\"https://github.com/georgestarcher/Splunk-Class-httpevent/\">post</a> to PyPi. No work has been done to the internal script and the original script remains the work of the original poster.", color="blue")|safe
}}
{{
"Xcyl"|get_base(
"<a href='https://github.com/franceme/xcyl'>GitHub Repo</a>: <a href='https://github.com/franceme/xcyl/actions/workflows'><img src='https://github.com/franceme/xcyl/actions/workflows/publish.yml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A very basic Python project that stands to be a simple interface between raw data files, such as sqlite and excel files. This is still in its infancy.", color="blue")|safe
}}
{{
"Ephfile"|get_base(
"<a href='https://github.com/franceme/ephfile'>GitHub Repo</a>: <a href='https://github.com/franceme/ephfile/actions/workflows'><img src='https://github.com/franceme/ephfile/actions/workflows/publish.yml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Python project to extend the capabilities of temporary files. While the current tempfile module provides the capability to create temp files, this library allows users to automatically write to the files and automatically get the file path.", color="blue")|safe
}}
{{
"Gett"|get_base(
"<a href='https://github.com/franceme/gett'>GitHub Repo</a>: <a href='https://github.com/franceme/gett/actions/workflows'><img src='https://github.com/franceme/gett/actions/workflows/publish.yml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Python wrapper to re-expose the wget source code provided from this <a href=\"https://pypi.org/project/wget/\">post</a> to PyPi. The only change I have done is to fix an issue with handling files that don't have a file extension.", color="blue")|safe
}}
{{
"Bal_Fileops"|get_base(
"<a href='https://github.com/franceme/bal_fileops'>GitHub Repo</a>: <a href='https://github.com/franceme/bal_fileops/actions/workflows'><img src='https://github.com/franceme/bal_fileops/actions/workflows/upload.yaml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Ballerina Project that simply manages file operations, such as reading, writing, and overwriting files.", color="blue")|safe
}}
{{
"Bal_Generics"|get_base(
"<a href='https://github.com/franceme/bal_generics'>GitHub Repo</a>: <a href='https://github.com/franceme/bal_generics/actions/workflows'><img src='https://github.com/franceme/bal_generics/actions/workflows/upload.yaml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Ballerina Project that provides a simple set of generics to the Ballerina log module. This also tries to have simple operators working alongside the generics.", color="blue")|safe
}}
{{
"Bal_Strings"|get_base(
"<a href='https://github.com/franceme/bal_strings'>GitHub Repo</a>: <a href='https://github.com/franceme/bal_strings/actions/workflows'><img src='https://github.com/franceme/bal_strings/actions/workflows/upload.yaml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Ballerina Project that provides extra operators and helpers to the string module..", color="blue")|safe
}}
{{
"Logg"|get_base(
"<a href='https://github.com/franceme/logg'>GitHub Repo</a>: <a href='https://github.com/franceme/logg/actions/workflows'><img src='https://github.com/franceme/logg/actions/workflows/upload.yaml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Ballerina Project that helps to create a general logging interface.", color="blue")|safe
}}
{{
"Repos"|get_base(
"<a href='https://github.com/franceme/repos'>GitHub Repo</a>: <a href='https://github.com/franceme/repos/actions/workflows'><img src='https://github.com/franceme/repos/actions/workflows/upload.yaml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"A Ballerina Project that creates the ability to sift through GitHub repositories and retrieve their files.", color="blue")|safe
}}
{{
"Splunk"|get_base(
"<a href='https://github.com/franceme/splunk'>GitHub Repo</a>: <a href='https://github.com/franceme/splunk/actions/workflows'><img src='https://github.com/franceme/splunk/actions/workflows/upload.yaml/badge.svg' alt='Build Badge'/></a>",
"2020",
"Present",
"Similar to <a href=\"https://github.com/franceme/splunkr/\">franceme/splunkr</a>, this Ballerina library aims to create the functionality to communicate with a Splunk Http event collector.", color="blue")|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_skills'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="skills">
<div class="skills-section">
<h2 class="h2 fw-light mb-4">Technical Skills</h2>
<div class="row">
<div class="col-md-6">
{{'Python3'|get_skill(100)|safe}}
{{'Ballerina'|get_skill(70)|safe}}
{{'Bash Scripts'|get_skill(50)|safe}}
{{'C#'|get_skill(25)|safe}}
{{'SQL'|get_skill(50)|safe}}
{{'GO'|get_skill(55)|safe}}
{{'C++'|get_skill(1)|safe}}
{{'Kernel Development'|get_skill(85)|safe}}
{{'Maven'|get_skill(85)|safe}}
{{'Gradle'|get_skill(65)|safe}}
{{'Flask'|get_skill(25)|safe}}
{{'Mako'|get_skill(40)|safe}}
{{'Rest Webservices'|get_skill(65)|safe}}
{{'Docker'|get_skill(85)|safe}}
{{'Cuckoo'|get_skill(25)|safe}}
{{'VirtualBox'|get_skill(65)|safe}}
</div>
<div class="col-md-6">
{{'Java EE'|get_skill(90,False)|safe}}
{{'Rust'|get_skill(40,False)|safe}}
{{'Tasktop Integrations'|get_skill(85,False)|safe}}
{{'HTML'|get_skill(50,False)|safe}}
{{'.NET'|get_skill(25,False)|safe}}
{{'Scala'|get_skill(65,False)|safe}}
{{'JavaScript'|get_skill(15,False)|safe}}
{{'Spring'|get_skill(50,False)|safe}}
{{'Jenkins'|get_skill(50,False)|safe}}
{{'Tensorflow'|get_skill(30,False)|safe}}
{{'Prompt Engineering'|get_skill(45,False)|safe}}
{{'Soap Webservices'|get_skill(75,False)|safe}}
{{'Machine Learning'|get_skill(40,False)|safe}}
{{'Kubernetes'|get_skill(45,False)|safe}}
{{'Scripting'|get_skill(100,False)|safe}}
</div>
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_docker'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="my_dock">
<div class="my_dock">
<h2 class="h2 fw-light mb-4">My Docker Setup</h2>
<a href="https://rebrand.ly/my_dock" aria-label="A mind map representing my current Docker triaged environment."><img src="https://rebrand.ly/my_dock" style="width:100%;height:100%;" alt="A mind map representing my current Docker triaged environment."/></a>
Since I use a various set of tools for different development and research environments, I needed to be able to easily switch my toolsets. Due to hard-drive space limitations, I started to leverage Docker. I used my familiarity with GitHub actions to create a chain creation of several Docker Images. The Scripts and PyScripts are both Python script repositories creating inbuilt scripts. BaseDocker is the first Docker Image that builds, and each subsequent Docker image builds off of it. For example, JavaDev is built off of BaseDocker using a script from PyScript to automatically download and include several packages.
<br><br>
Why did I do this? Simply to create an inheritence based environment tool chain. If I need a common utility between two docker images, I just include it in BaseDocker and the changes will trickle down. Many of these are private simply due to various custom builds processes I use.
</div>
</div>
{% endif%}
{% if dyct['show_exp'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="experience">
<div class="work-experience-section">
<h2 class="h2 fw-light mb-4">Work Experience</h2>
<div class="timeline">
{{
"Lead Associate"|get_base(
"<a href='https://www.peratonlabs.com/'>Peraton Labs</a>",
"Present",
"07/01/2024",
"Working on cyber defense projects utilizing the <a href='https://cybervan.peratonlabs.com:9000/welcome'>CyberVan testbed technology</a>")|safe
}}
{{
"Graduate Research Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"06/24/2024",
"05/10/2024",
"Progressing through studies and finalizing my final defense.")|safe
}}
{{
"Graduate Teaching Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"06/11/2023",
"05/08/2024",
"Helping the students and procedurally grading the assignments.")|safe
}}
{{
"1/2 Graduate Teaching Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"01/01/2023",
"06/11/2023",
"Helping the students and procedurally grading the assignments.")|safe
}}
{{
"1/2 Graduate Research Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"01/01/2023",
"06/11/2023",
"Currently researching prompt engineering within ChatGPT and other LLMs.<br><br>Skills: Prompt Engineering, LLM, ChatGPT")|safe
}}
{{
"Graduate Research Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"08/16/2022",
"01/01/2023",
"Currently researching malware, source code, and their identification.<br><br>Skills: Static Analysis, Mitosheet, Cuckoo, Attack Surface Evaluation, Red Team")|safe
}}
{{
"Intern"|get_base(
"<a href='https://www.peraton.com/'>Peraton</a>",
"06/11/2022",
"08/16/2022",
"As an intern within an Internal Research and Development team, I was able to create a brand new framework to assist the team meet their security promises. It was not just limited to security but also paved the way for various intergrations, such as compliance, policies, metrics, and many more. I was also the point of contact between the team and several independent security companies.<br><br>Skills: Static Analysis, Dynamic Analysis, Software Composition Analysis, Attack Surface Evaluation, Red Team",html_id="Grad_DevOps_Peraton")|safe
}}
{{
"Graduate Teaching Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"08/01/2021",
"05/01/2022",
"Assisting students with their problems. Enhancing the autograding capabilities via Python scripting.<br><br>Skills: Static Analysis, Canvas Scripting, Mitosheet, VirtualBox, Attack Surface Evaluation, Red Team")|safe
}}
{{
"Graduate Research Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"01/19/2021",
"08/01/2021",
"Researching Static Code Analysis for my future project. Creating and examining dynamic test bench. Creating reproducible testing for future additional tests.<br><br>Skills: Static Code Analysis, Reproducible testing, Dynamic Languages")|safe
}}
{{
"Graduate Teaching Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"08/05/2020",
"12/20/2020",
"Helped record videos for the lab lectures.<br><br>Skills: Managing Students, Handling Lectures, Detailing and Recording Labs")|safe
}}
{{
"Intern"|get_base(
"<a href='https://www.oracle.com/'>Oracle</a>",
"01/19/2021",
"01/19/2021",
"Due to Covid the internship was not started.")|safe
}}
{{
"Graduate Research Asssistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"07/31/2019",
"07/31/2020",
"Created a live Jupyter notebook for extended documentation on Cryptoguard use. Worked on the open-source project Cryptoguard. Exploring various avenues to make Cryptoguard more easily available. Created both Gradle and Maven plugin supporting Cryptoguard within the build process (IDE independent). Creating a live Java Jupyter notebook through MyBinder for live and public demonstrations.<br><br>Skills: Cryptoguard, Jupyter Notebook, IJava Jupyter Notebook, Gradle Plugin, Maven Plugin, Dockerfile")|safe
}}
{{
"Internship"|get_base(
"<a href='https://worldpay.fisglobal.com/'>Worldpay from FIS</a>",
"05/03/2019",
"07/31/2019",
"Enhanced multiple Tasktop integrations by making custom JavaScript logic. Improved Terraform scripts to dynamically build Virtual Machines. Enabled the Open Source Project Hygieia for system and tool monitoring. Implemented a Python3 script to track Hygieia usage and automatically start and stop the project. Enabled users to work with various tools owned and managed by the team.<br><br>Skills: Hygieia, Tasktop, Github Enterprise, Splunk, Nexus, Jenkins, Terraform, Ansible, Teamforge, Rally, TFS, Checkmarx, DataPower, XLDeploy, XLRelease, DevOps, DexVMs, DevSecOps, Bash",html_id="UnderGrad_DevOps")|safe
}}
{{
"Graduate Research Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"10/01/2018",
"05/03/2019",
"Worked with an external consumer to create a specific output adapter for their service. Designed a system to create any of three different outputs dependent on the user. Worked on the open-source project Cryptoguard. Used a design akin to common flat data-base designs.<br><br>Skills: Cryptoguard, Research Skills, Soot, Modularization Design, Adapter Design, Abstract Factory")|safe
}}
{{
"Graduate Teaching Assistant"|get_base(
"<a href='https://vt.edu/'>Virginia Polytechnic Institute and State University</a>",
"07/01/2018",
"12/19/2018",
"Helped split the students into anonymized groups for a research study. Helped the students out with their inquiries. Graded various student assignments including the finals.<br><br>Skills: Managing Students, Grading Reports, Creating Groups")|safe
}}
{{
"Co-Op"|get_base(
"<a href='https://worldpay.fisglobal.com/'>Worldpay from FIS</a>",
"01/09/2017",
"08/12/2017",
"Fundamentally enhanced a highly utilized SOAP API with an overall average response time < 100 ms. Mentored two Computer Science Students. Enhanced and rectified various incidents on existing Java/Webmethods Webservices. Designed several SOAP Webservices. Created an API that supports both SOAP and REST as a POC. Combined Reflection and Aspect-oriented programming to dynamically filter Java SOAP API output. Worked closely with a DevOps team to support and showcase both XL Deploy and XL Release using internal APIs. Trained two other interns on the team and led several KT sessions.<br><br>Skills: Java EE, JUnit 4, Mockito, Leadership, IBM Websphere, Software AG, Webmethods, SOAP, Splunk, DataPower, XebiaLabs, XLDeploy, XLRelease, REST, DevOps, SoapUI, SQL, AQT, Postman")|safe
}}
{{
"Co-Op"|get_base(
"<a href='https://worldpay.fisglobal.com/'>Worldpay from FIS</a>",
"05/2016",
"08/2016",
"Led an Agile team to design and create a Caching Web Application through Dynamic Server Pages. The Caching Web Application compared values cached in a server to live data-base values. Enhanced and rectified various incidents on existing Java/Webmethods Webservices.<br><br>Skills: Java EE, IBM Websphere, Leadership, Webmethods, SOAP, SoapUI, Server Cache Web App, DSP, SQL, AQT")|safe
}}
{{
"Co-Op"|get_base(
"<a href='https://worldpay.fisglobal.com/'>Worldpay from FIS</a>",
"08/2015",
"01/2016",
"Created an API Operation to store tiff images for internal client issue management. Setup a deletion API Operation to clear issues for multiple internal clients. Enhanced and rectified various incidents on existing Java/Webmethods Webservices.<br><br>Skills: Software AG, Webmethods, SOAP, SoapUI, SQL, AQT, Bash")|safe
}}
{{
"Co-Op"|get_base(
"<a href='https://worldpay.fisglobal.com/'>Worldpay from FIS</a>",
"01/2015",
"04/2015",
"Implemented several Bash scripts to track API usage. Created a lightweight Java program to translate a phone-digit-text based input to alphabet characters.<br><br>Skills: Software AG, Bash, Static",html_id="UnderGrad_Internship_Start")|safe
}}
</div>
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_path'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="path">
<div class="current-career-path-section">
<h2 class="h2 fw-light mb-4">Career Path</h2>
<div class="timeline">
{{
"Security Researcher"|get_base("",
"2018",
"Present",
"From the start of my <a href='/#Grad_MSDegree'>Graduate Degree</a> I started investigating security cryptographic misuse in Java Projects. Helping to identify cryptographic issues using the latest code slicing techniques is very exciting. The quickest way to fix a vulnerability is at the source code before it makes it past the developer, and I aim to create the fastest and most efficient ways to do that.",color="indigo")|safe
}}
{{
"DevOps Engineer"|get_base("",
"2019",
"2022",
"I have had several internships with work concentrating on DevOps; both from my Graduate degree at <a href='/#UnderGrad_DevOps'>WorldPay From FIS</a> and also at <a href='/#Grad_DevOps_Peraton'>Peraton</a>. I learned how to directly help developers using several tools I picked up throughout my internships as well as various tools throughout my schooling. While I lightly used several different technologies, I utilized Docker the most. I leveraged the Docker framework throughout my personal work to create a <a href='/#my_dock'>self-building and inheritence-based structure, creating different images for my different tasks</a>.",color="indigo")|safe
}}
{{
"Software Engineer"|get_base("",
"2015",
"Present",
"The internships I had throughout my Undergraduate Degree starting from <a href='/#UnderGrad_Internship_Start'>2015</a> solidifed the Software Engineering skills I still use today. My two mentors taught me both how to create working code using proper etiqutte. They also helped me to manage less than optimal projects and adapt them to our modern development practices.",color="indigo")|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_grp'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="groups">
<div class="groups-section">
<h2 class="h2 fw-light mb-4">Groups</h2>
<div class="timeline">
{{
"Advisor"|get_base(
"<a href='https://rebrand.ly/csgc'>Graduate Student Council</a>",
"2022",
"2023",
"This group represents the interests of the graduate student body at Virginia Tech and assists within any meetings for the department. It also creates events to help enhance the graduate student climate such as fun activities and welcome back meetings.",color="orange")|safe
}}
{{
"President"|get_base(
"<a href='https://rebrand.ly/csgc'>Graduate Student Council</a>",
"2021",
"2022",
"This group represents the interests of the graduate student body at Virginia Tech and assists within any meetings for the department. It also creates events to help enhance the graduate student climate such as fun activities and welcome back meetings.",color="orange")|safe
}}
{{
"Slack Admin"|get_base(
"<a href='https://sites.google.com/vt.edu/imentor/home'>iMentor</a>",
"2020",
"2020",
"From the <a href='https://sites.google.com/vt.edu/imentor/home'>homepage</a>. iMentor focuses squarely on attracting, mentoring, and career advising early-stage graduate students from underrepresented communities who want to pursue a career in computer security. Being virtually co-located with the ACM Conference on Computer and Communications Security (ACM CCS) 2020, the workshop provides an opportunity for attendees to also participate in the main conference and benefit from it. ACM CCS is a top-tier venue for the quick and wide dissemination of cutting-edge research results in computer and communications security.",color="orange")|safe
}}
{{
"Vice President"|get_base(
"<a href='https://rebrand.ly/csgc'>Graduate Student Council</a>",
"2020",
"2021",
"This group represents the interests of the graduate student body at Virginia Tech and assists within any meetings for the department. It also creates events to help enhance the graduate student climate such as fun activities and welcome back meetings. I have set up the GitHub Organization and the website to auto-build using GitHub Actions.",color="orange")|safe
}}
{{
"Member"|get_base(
"<a href='https://order-of-the-engineer.org/'>Order of The Engineer</a>",
"2018",
"Present",
"Upholding Devotion to the Standards and Dignity of the Engineering Profession. This group is a ceremonious group acknowledging members' commitments to uphold high qualities and their duty as an engineer.",color="orange")|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_ment'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="mentees">
<div class="mentees-section">
<h2 class="h2 fw-light mb-4">Mentees</h2>
<div class="timeline">
{{
"UNLISTED"|get_base(
"UNLISTED",
"08/29/2020",
"01/01/2021",
"Instructed about assistance on the CryptoGuard Project. Helping instruct them on creating an IDE plugin.",color="purple")|safe
}}
{{
"Bachelor in Computer Science"|get_base(
"Jason",
"06/08/2020",
"08/22/2020",
"Instructed about assistance on the CryptoGuard Project. Read the proper review <a href='https://docs.google.com/document/d/18Xa6M5ymDyZ-zvPFqN5tAlQuIPqd27nWBdp2pevpytU/edit?usp=sharing'>here</a>.",color="purple")|safe
}}
{{
"UNLISTED"|get_base(
"UNLISTED",
"01/22/2020",
"05/30/2020",
"Help lead them on the Cryptoguard project. Help to instruct them on current Java research.",color="purple")|safe
}}
{{
"UNLISTED"|get_base(
"UNLISTED",
"01/09/2017",
"08/12/2017",
"Instructed them on current project workflows. Helped them to build up them Java API skills.",color="purple")|safe
}}
{{
"UNLISTED"|get_base(
"UNLISTED",
"01/09/2017",
"08/12/2017",
"Instructed them on current project workflows. Helped to teach them about the projects within the teams.",color="purple")|safe
}}
</div>
</div>
</div>
{%- endif %}
{% if dyct['show_consult'] -%}
<div class="shadow-1-strong bg-white my-5 p-5" id="consultations">
<div class="mentees-section">
<h2 class="h2 fw-light mb-4">Consultations</h2>
<div class="timeline">
{{
"Demo User"|get_base(
"<a href='https://www.pipedreams.org/'>PipeDreams</a>",
"08/30/2022",
"08/xx/2023",
"I was recently introduced to the project and have taken to it well. I have attempted to use Zapier before but found it too constricting. I have already made <a href='https://github.com/PipedreamHQ/pipedream/issues/created_by/franceme'>several suggestions for additional app integrations</a> that I would be interested and look forward to using it.",color="pink")|safe
}}
{#
{{
"User"|get_base(
"<a href='https://www.orchest.io/'>Orchest</a>",
"08/01/2021",
"08/xx/2023",
"I have been currently using this for several of my data cleaning pipelines. Since I have had to do various processes this helps me visually organize the code flow. When I talked with the CTO many my changes were already being addressed. However with the extra addition of Webhooks, I also needed to create a enhanced transfer library. Shown <a href='https://github.com/franceme/messenger_python'>here</a> is the result of my work, as Orchest currently natively allows only one output to be transferred to other steps. This library allows me to transfer more data between steps.",color="pink")|safe
}}
#}
{{
"An Original Member And Core Idea Contributor"|get_base(
"<a href='https://www.trymito.io/'>Mito</a>",
"01/22/2020",
"01/xx/2022",
"I believe I was one of the early users of the project and had various meetings with the owners. Many of my contributions made it into the current project. My main idea contributed to the project is the idea of <a href='https://docs.trymito.io/how-to/using-the-generated-code'>code generation</a>. Since I truely believe in reproducible code, I saw the code generation as a necessity to transfer the steps to other people. This also enables the developers to quickly template dataframe changes using Mito and then copy paste the snippet to a seperate python script.",color="pink")|safe
}}
</div>
</div>
</div>