-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
703 lines (645 loc) · 39.3 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>Brian Oppenheim</title>
<!-- Bootstrap Core CSS -->
<link href="vendor/bootstrap/css/bootstrap.css" rel="stylesheet">
<!-- Theme CSS -->
<link href="css/freelancer.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css">
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<link href="vendor/magnific-popup/magnific-popup.css" rel="stylesheet" type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<script src="js/particles.js"></script>
<script>
particlesJS.load('particles-js', 'js/particles.json', function() {
console.log('callback - particles.js config loaded');
});
</script>
</head>
<body id="page-top">
<!-- Navigation -->
<nav class="navbar navbar-expand-lg bg-secondary fixed-top" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">Brian Oppenheim</a>
<button class="navbar-toggler navbar-toggler-right text-uppercase bg-primary text-white rounded" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
Menu
<i class="fa fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item mx-0 mx-lg-1">
<a class="nav-link py-3 px-0 px-lg-3 rounded js-scroll-trigger" href="#portfolio">Portfolio</a>
</li>
<li class="nav-item mx-0 mx-lg-1">
<a class="nav-link py-3 px-0 px-lg-3 rounded js-scroll-trigger" href="#about">About</a>
</li>
<li class="nav-item mx-0 mx-lg-1">
<a class="nav-link py-3 px-0 px-lg-3 rounded js-scroll-trigger" href="#contact">Contact</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Header -->
<header>
<div class="container">
<div class="intro-text">
<span class="name">Brian Oppenheim</span>
<hr class="star-light">
<span class="skills">B.S, Computer Science (2020) | Brown University</span>
</div>
<div id="particles-js" style="height:100vh; width:100vw;"></div>
</div>
</header>
<!-- Portfolio Grid Section -->
<section class="portfolio" id="portfolio">
<div class="container">
<h2 class="text-center">PORTFOLIO</h2>
<hr class="star-light mb-5" style= "border-color: #6633cc">
<hr class="star-dark mb-5">
<div class="row">
<div class="col-md-6 col-lg-4">
<a class="portfolio-item d-block mx-auto" href="#modal1">
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
<div class="portfolio-item-caption-content my-auto w-100 text-center text-white">
<i class="fa fa-search-plus fa-3x"></i>
<h4>High Throughput Autonomous Proteomic Pipeline</h4>
<p>Salomon Research Group<br/>2017</p>
</div>
</div>
<img class="img-fluid" src="img/portfolio/Proteomics workflow.jpg" height = "650" width = "900" alt="">
</a>
</div>
<div class="col-md-6 col-lg-4">
<a class="portfolio-item d-block mx-auto" href="#modal3">
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
<div class="portfolio-item-caption-content my-auto w-100 text-center text-white">
<i class="fa fa-search-plus fa-3x"></i>
<h4>Bash Command Line Implementation</h4>
<p>Computer Systems<br/>Fall 2017</p>
</div>
</div>
<img class="img-fluid" src="img/portfolio/bash.jpeg" alt="">
</a>
</div>
<div class="col-md-6 col-lg-4">
<a class="portfolio-item d-block mx-auto" href="#modal2">
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
<div class="portfolio-item-caption-content my-auto w-100 text-center text-white">
<i class="fa fa-search-plus fa-3x"></i>
<h4>XML Search Engine with Pagerank</h4>
<p>CS 180<br/>Spring 2017</p>
</div>
</div>
<img class="img-fluid" src="img/portfolio/search.jpg" height = "650" width = "900" alt="">
</a>
</div>
<div class="col-md-6 col-lg-4">
<a class="portfolio-item d-block mx-auto" href="#modal6">
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
<div class="portfolio-item-caption-content my-auto w-100 text-center text-white">
<i class="fa fa-search-plus fa-3x"></i>
<h4>Dynamic Memory Allocation Package</h4>
<p>Computer Systems<br/>Fall 2017</p>
</div>
</div>
<img class="img-fluid" src="img/portfolio/malloc.JPG" alt="">
</a>
</div>
<div class="col-md-6 col-lg-4">
<a class="portfolio-item d-block mx-auto" href="#modal5">
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
<div class="portfolio-item-caption-content my-auto w-100 text-center text-white">
<i class="fa fa-search-plus fa-3x"></i>
<h4>Sequence to Sequence Translation: French -> English</h4>
<p>Deep Learning<br/>Fall 2017</p>
</div>
</div>
<img class="img-fluid" src="img/portfolio/seq2seq.jpg" alt="">
</a>
</div>
<div class="col-md-6 col-lg-4">
<a class="portfolio-item d-block mx-auto" href="#modal4">
<div class="portfolio-item-caption d-flex position-absolute h-100 w-100">
<div class="portfolio-item-caption-content my-auto w-100 text-center text-white">
<i class="fa fa-search-plus fa-3x"></i>
<h4>Racket Interpreter in Ocaml</h4>
<p>CS 170<br/>Fall 2016</p>
</div>
</div>
<img class="img-fluid" src="img/portfolio/racketlang.jpg" alt="">
</a>
</div>
</div>
</div>
</section>
<!-- About Section -->
<section class="bg-primary text-white mb-0" id="about">
<div class="container">
<h2 class="text-center text-uppercase text-white">Engineer. Outdoorsman. Unicyclist?</h2>
<hr class="star-light mb-5" style= "border-color: #6633cc">
<div class="row">
<div class="col-lg-5 ml-auto">
<img class="img-fluid" src="img/portfolio/senior photo.jpg" height = "650" width = "900" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="">
</div>
<div class="col-lg-1"></div>
<div class="col-lg-5 mr-auto">
<p class="lead">Sophomore C.S student and aspiring software engineer, with interests in Machine Learning (backed up by graduate-level coursework) and Distributed Systems. I use a combination of analytical and interpersonal skills to create solutions in innovative ways, with innovative people. My goal is to pursue cutting-edge technologies and their deployments that can tackle some of our most existential challenges.</p>
<p class = "lead"> As an Eagle Scout and 5-year veteran of Search and Rescue, the outdoors have always been close to my heart. Leadership has also been an important ideal to me growing up. Between Search and Rescue and being on the board for a handful of non-profits, I've had the chance to develop my soft skills and creative streak as well.</p>
<p> I'm never been one to shy away from a challenge playfully either, whether it's card tricks or, yes, unicycling. </p>
</div>
</div>
<div class="text-center mt-4">
<a class="btn btn-xl btn-outline-light" href="BrianOppenheimResume.pdf">
<i class="fa fa-download mr-2"></i>
Download Resume
</a>
</div>
</div>
</section>
<!-- Contact Section -->
<section id="contact">
<div class="container">
<h2 class="text-center" style = "color:white">CONTACT ME</h2>
<hr class="star-light mb-5" style= "border-color: #6633cc">
<hr class="star-dark mb-5">
<div class="row">
<div class="col-lg-8 mx-auto">
<!-- To configure the contact form email address, go to mail/contact_me.php and update the email address in the PHP file on line 19. -->
<!-- The form should work on most web servers, but if the form is not working you may need to configure your web server differently. -->
<form name="sentMessage" id="contactForm" action = "https://formspree.io/[email protected]" method = "POST" novalidate="novalidate">
<div class="control-group">
<div class="form-group floating-label-form-group controls mb-0 pb-2">
<label>Name</label>
<input class="form-control" name = "Name" id="name" type="text" placeholder="Name" required="required" data-validation-required-message="Please enter your name.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group floating-label-form-group controls mb-0 pb-2">
<label>Email Address</label>
<input class="form-control" name = "Email" id="email" type="email" placeholder="Email Address" required="required" data-validation-required-message="Please enter your email address.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group floating-label-form-group controls mb-0 pb-2">
<label>Phone Number</label>
<input class="form-control" name = "Phone" id="phone" type="tel" placeholder="Phone Number" required="required" data-validation-required-message="Please enter your phone number.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="control-group">
<div class="form-group floating-label-form-group controls mb-0 pb-2">
<label>Message</label>
<textarea class="form-control" name = "Message" id="message" rows="5" placeholder="Message" required="required" data-validation-required-message="Please enter a message."></textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<br>
<div id="success"></div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-xl" id="sendMessageButton">Send</button>
</div>
</form>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="footer text-center">
<div class="container">
<div class="row">
<div class="col-md-4 mb-5 mb-lg-0">
<h4 class="text-uppercase mb-4">Location</h4>
<p class="lead mb-0">69 Brown St. Box 8017
<br>Providence, RI, 02912</p>
</div>
<div class="col-md-4 mb-5 mb-lg-0">
<h4 class="text-uppercase mb-4">Around the Web</h4>
<ul class="list-inline mb-0">
<li class="list-inline-item">
<a class="btn btn-outline-light btn-social text-center rounded-circle" href="https://github.com/brianoppenheim">
<i class="fa fa-fw fa-github"></i>
</a>
</li>
<li class="list-inline-item">
<a class="btn btn-outline-light btn-social text-center rounded-circle" href="https://www.linkedin.com/in/brian-oppenheim-4935b3121">
<i class="fa fa-fw fa-linkedin"></i>
</a>
</li>
</ul>
</div>
<div class="col-md-4">
<h4 class="text-uppercase mb-4">Getting Code</h4>
<p class="lead mb-0">Check out the github link to the left to see my code, but note that none of my private repositories will show up. If a particular piece of code from my portfolio interests you but is stated to be private, don't hesitate to contact me. I'll add you.</p>
</div>
</div>
</div>
</footer>
<div class="copyright py-4 text-center text-white">
<div class="container">
<small>Copyright © Brian Oppenheim 2018</small>
</div>
</div>
<!-- Scroll to Top Button (Only visible on small and extra-small screen sizes) -->
<div class="scroll-to-top d-lg-none position-fixed ">
<a class="js-scroll-trigger d-block text-center text-white rounded" href="#page-top">
<i class="fa fa-chevron-up"></i>
</a>
</div>
<!-- Portfolio Modals -->
<!-- Portfolio Modal 1 -->
<div class="portfolio-modal mfp-hide" id="modal1">
<div class="portfolio-modal-dialog" style = "background-color:#282828;">
<a class="close-button d-none d-md-block portfolio-modal-dismiss" href="#">
<i class="fa fa-3x fa-times"></i>
</a>
<div class="container">
<!-- Portfolio Item Heading -->
<h1 class="my-4 text-white">High Throughput Autonomous Proteomic Pipeline
<small>Salomon Research Group</small>
</h1>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<!-- Portfolio Item Row -->
<div class="row">
<div class="col-md-6">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="img/portfolio/Proteomics workflow.jpg" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Flow Sketch">
<figcaption class="figure-caption text-white text-center">How proteomic data flows from inception to database</figcaption>
</div>
<div class="carousel-item">
<img class="d-block img-fluid" src="img/portfolio/proteomic matching.jpg" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Homepage Sketch">
<figcaption class="figure-caption text-white text-center">How we identify proteins by searching against known examples (Step 2 from other picture)</figcaption>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Description</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<p>Built a parallel, high throughput data pipeline for the Salomon Research Group, a lab dedicated to researching proteins in human T-cells to better understand cell signaling and immune responses. The goal was to implement a new searching algorithm described <a href="https://www.ncbi.nlm.nih.gov/pubmed/21254760">here</a> that could significantly improve retention of data when comparing peptides that we find in our data to a known database (in this case, known homo sapiens proteins). The pipeline took information directly from lab instruments, queued up samples, performed searching on the new search engine, extracted relevant information, loaded it into a relational database, and performed statisical analysis. Check GitHub commits for code that I contributed to this project.</p>
</div>
</div>
<div class = "row">
<div class = "col-md-6 text-white">
<h3 class="my-3 text-center">How to View This Project</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>This project exists as part of a network of programs intended to automize a computational biochemistry laboratory. The code is available to see on GitHub. There are 3 repos: <a href="https://github.com/brianoppenheim/automatePipeline-autoUpdate">AutoUpdate</a>, <a href="https://github.com/brianoppenheim/automatePipeline-autoSearch">AutoSearch</a>, <a href="https://github.com/brianoppenheim/automatePipeline-autoLoad">AutoLoad</a>), but cannot run without access to a mass spectrometer, so it's better to just view this as an idea of what I can write.
</ul>
</div>
<div class = "col-md-6 text-white">
<h3 class="my-3 text-center">Project Details</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>Series of programs (AutoUpdate, AutoSearch, AutoLoad, in Java) executed in parallel across multiple computers, communicating using the Java File Transfer system.</li>
<li>Increased data yield by 10-40%, depending on sample.</li>
<li>Now allows the lab to use state of the art Tandem Mass Tag data (TMT), in addition to existing experiment types.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Portfolio Modal 2 -->
<div class="portfolio-modal mfp-hide" id="modal2">
<div class="portfolio-modal-dialog" style = "background-color:#282828;">
<a class="close-button d-none d-md-block portfolio-modal-dismiss" href="#">
<i class="fa fa-3x fa-times"></i>
</a>
<div class="container">
<!-- Portfolio Item Heading -->
<h1 class="my-4 text-white">XML Search Engine with Pagerank
<small>CS 180 (Spring 2017)</small>
</h1>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<!-- Portfolio Item Row -->
<div class="row">
<div class="col-md-6">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="img/portfolio/SearchExample.PNG" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Homepage Sketch">
<figcaption class="figure-caption text-white text-center">Example queries on the medium corpus</figcaption>
</div>
<div class="carousel-item">
<img class="d-block img-fluid" src="img/portfolio/sampleArgs.PNG" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Homepage Sketch">
<figcaption class="figure-caption text-white text-center">Example arguments for Parser/Indexer (top 3) and Querier (bottom 3).</figcaption>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Description</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<p>Built a search engine in Scala that parses a corpus of XML documents (in this case, wikipedia pages). Uses the concepts of term frequency, inverse document frequency, and Google's Pagerank algorithm to return up to 10 of the most relevant docs based on a user query from a REPL.</p>
<p><i>Because this project was written for a class, it's on a private repo. Please contact me, and I will add you. All code in "sol" was written by my partner (Dan Tardiff) and I, but we were given support code to stop and stem words in the corpus in order to standardize them, as well as some beginning structural code for building Pagerank (see "src" folder).</i></p>
</div>
</div>
<div class="row">
<div class = "col-md-6 text-white">
<h3 class="my-3 text-center">How to Run This Project</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>To use, download from Github <a href="https://github.com/brianoppenheim/SearchEngine">here</a> and place into a scala environment that includes the scala-library and scala XML .jars (preferably 2.11). Then, run the parser program from your terminal. The first argument is the path to the corpus (Small or Medium Wiki), followed by the paths of where you want to create the index and titles files (see details). These will set you up for actual querying.</li>
<li>Next, run the Querier Program with the index file and titles file as arguments. Optionally, make the first argument "--pagerank" to run with the Pagerank algorithm.</li>
<li>Begin searching! Use ":quit" to terminate.</li>
</ul>
</div>
<div class = "col-md-6 text-white">
<h3 class="my-3 text-center">Project Details</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul class = "text-white">
<li>The program is split up into two parts: An indexer (or parser), which computes relevant information about each file and stores it into intermediate files (index and title files, in this case), and a querier, which takes in user searches and queries the intermediate files quickly.</li>
<li>The indexer goes through the text and titles of each wikipedia document in the specified corpus, and extracts, parses, and stems the words. Metrics like Term Frequency, Inverse Document Frequency, and Pagerank Scores are computed for the words and phrases in the text. This information is stored into the index and titles files specified as command arguments. </li>
<li>The querier opens up a REPL where a user can enter a query, and the top ten most relevant wikipedia documents are displayed using information taken from the index and titles files specified as command arguments (see "How to Run"). This continues until ":quit".</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Portfolio Modal 3 -->
<div class="portfolio-modal mfp-hide" id="modal3">
<div class="portfolio-modal-dialog" style = "background-color:#282828;">
<a class="close-button d-none d-md-block portfolio-modal-dismiss" href="#">
<i class="fa fa-3x fa-times"></i>
</a>
<div class="container">
<!-- Portfolio Item Heading -->
<h1 class="my-4 text-white">Bash Command Line Implementation
<small>CS 330 -- Computer Systems (Fall 2017)</small>
</h1>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<!-- Portfolio Item Row -->
<div class="row">
<div class="col-md-6">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="img/portfolio/ShellScreen.PNG" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Homepage Sketch">
<figcaption class="figure-caption text-white text-center">Example of what the shell can do (navigation, file redirection, job processing, etc.). </figcaption>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Description</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<p>Used C to create a working version of the bash command line for a course on Computer Architecture/Systems. When downloaded, it can handle processes (run sublime text, custom programs, etc.), redirect file I/O, catch signals from the system, and more (see below). </p>
<p> <i> Because this was a project written for a class on Computer Systems, it is on a private repo. Please contact me to request access, and I'll add you. All code written is my own (no source files).</i></p>
</div>
</div>
<div class = "row">
<div class = "col-md-6 text-white">
<h3 class="my-3 text-center">How to Run This Project</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>To use, download from Github <a href="https://github.com/brianoppenheim/BashCommandLine">here</a> and place into your workspace. Run the command "make 33sh", which will generate the executable. Then run it with "./33sh". Note that cd and navigation still work, you just won't see a change in directory because I don't print the working directory path.</li>
</ul>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">What it can do</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>Handle error prone input at all levels</li>
<li>Run any specified programs and its arguments successfully</li>
<li>Handle builtin commands (cd, lm, rn, exit, fg, bg)</li>
<li>Keep track of multiple jobs (either stopped or in the background)</li>
<li>Reap jobs</li>
<li>Perform file redirection</li>
<li>Move jobs to foreground or background</li>
<li>Handle signals (either from keyboard or the system). </li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Portfolio Modal 4 -->
<div class="portfolio-modal mfp-hide" id="modal4">
<div class="portfolio-modal-dialog" style = "background-color:#282828;">
<a class="close-button d-none d-md-block portfolio-modal-dismiss" href="#">
<i class="fa fa-3x fa-times"></i>
</a>
<div class="container">
<!-- Portfolio Item Heading -->
<h1 class="my-4 text-white">Racket Interpreter in Ocaml
<small>CS 170 (Fall 2016)</small>
</h1>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<!-- Portfolio Item Row -->
<div class="row">
<div class="col-md-6">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="img/portfolio/racketlang.jpg" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Flow Sketch">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Description</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<p>Used Ocaml to create a natural syntax parser that can take in valid expressions in the Racket programming language and evaluate them. Can handle complexity ranging from basic arithmetic, to conditional expressions, to nested lambda functions.</p>
<p><i> I wrote this program as part of a course at Brown University with my partner, Huayu Ouyang. All of rackette.ml is ours, but we were given some source code to read from the command line so that we could focus on the interpretation part. As such, it is on a private repo. Please contact me to request access, and I will add you.</i></p>
</div>
</div>
<div class="row">
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">How to Run</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>Download from github <a href="https://github.com/brianoppenheim/Racket-Interpreter-Ocaml">here</a>, and place all the files into your directory. There is no repl to interact with yet, but you can ensure that the code functions correctly (passes test cases) by running "ocaml rackette.ml".</li>
</ul>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Details</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>Breaks down a raw string of input into semantic clauses, recursively processes their constituent elements (keywords, arithmetic, evaluating data types, etc.) and builds back up. Can process arbitrarily large programs because of this. See the Github README for in depth explanation of how it parses. See test cases at the end of the program to see what it can handle.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Portfolio Modal 5 -->
<div class="portfolio-modal mfp-hide" id="modal5">
<div class="portfolio-modal-dialog" style = "background-color:#282828;">
<a class="close-button d-none d-md-block portfolio-modal-dismiss" href="#">
<i class="fa fa-3x fa-times"></i>
</a>
<div class="container">
<!-- Portfolio Item Heading -->
<h1 class="my-4 text-white">Sequence to Sequence Machine Translation Model
<small>CS 1470 -- Deep Learning (Fall 2017)</small>
</h1>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<!-- Portfolio Item Row -->
<div class="row">
<div class="col-md-6">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="img/portfolio/seq2seq.jpg" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Flow Sketch">
<figcaption class="figure-caption text-white text-center">Top level example of how a phrase is translated and encoded as a whole.</figcaption>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Description</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<p>Used TensorFlow and the idea of Sequence to Sequence Machine Translation to translate from French sentences to English sentences. The idea is that we can feed windows of sentences as training material instead of individual words, using the scope provided by a Recurrent Neural Network (I used a GRU in particular to acheive this type of memory). </p>
<p> <i>This was done for a graduate course on Deep Learning. As such, the project must remain on a private repo. Please contact me, and I will add you. All code is my own, but based off the architecture of Eugene Charniak's "Introduction to Deep Learning" textbook.</i></p>
</div>
</div>
<div class = "row">
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">How to Run</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>Download from github <a href="https://github.com/brianoppenheim/Sequence-to-Sequence-Machine-Translation">here</a> and place the files into your workspace. Then, use the command "python vanilla_seq2seq.py french_train.txt english_train.txt french_test.txt english_train.txt" in order to run. After training, the word-per-word accuracy will be displayed for translation from french to english on the test set.</li>
<li>No interactivity yet. Take it more as an example of the architectures I have built. REPL version coming soon. </li>
</ul>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Details</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>Currently trains off of ~350,000 thousand french sentences. A smaller test set is then used to see how the model performs, by taking the output of the network and comparing it to what it should have been</li>
<li>Word per word accuracy is roughly ~70%</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Portfolio Modal 6 -->
<div class="portfolio-modal mfp-hide" id="modal6">
<div class="portfolio-modal-dialog" style = "background-color:#282828;">
<a class="close-button d-none d-md-block portfolio-modal-dismiss" href="#">
<i class="fa fa-3x fa-times"></i>
</a>
<div class="container">
<!-- Portfolio Item Heading -->
<h1 class="my-4 text-white">Dynamic Memory Allocation Package
<small>CS 0330 -- Computer Systems (Fall 2017)</small>
</h1>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<!-- Portfolio Item Row -->
<div class="row">
<div class="col-md-6">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="img/portfolio/malloc.JPG" style="border-width:3px;border-color:#6633cc;border-style:solid;" alt="Flow Sketch">
<figcaption class="figure-caption text-white text-center">How a "block" is treated in the heap.</figcaption>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Description</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<p>Wrote a working dynamic memory allocation package for use in C programs. This includes a first-fit, explicit free list version of malloc, free, and realloc. It also includes a method to check the heap to ensure that it is not corrupted and that adjacent blocks are coalesced.</p>
<p> <i> This is a project created for a computer systems and architecture class. As such, it exists under a private repo. Please contact me and I will add you. All code in mm.c is my own, but some helper functions were given (check if the next/previous block in memory is free, etc.) by the course staff in mminline.h so that we could focus on the algorithmic implementation of the package. </i> </p>
</div>
</div>
<div class = "row">
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">How to Use This Package</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>Download from github <a href="https://github.com/brianoppenheim/MallocImplementation">here </a> and place the files into your workspace. Then, use mm_malloc, mm_free, and mm_realloc as you would their normal counterparts. Be sure to include mm.h at the top of your file</li>
</ul>
</div>
<div class="col-md-6 text-white">
<h3 class="my-3 text-center">Project Details</h3>
<hr class="star-light mb-6" style= "border-color: #6633cc">
<ul>
<li>This is a file that contains working implementations of C's malloc, free, and realloc. mm_malloc, mm_free, and mm_realloc were created to be used interchangeably with their real counterparts.</li>
<li>Coalesces memory in the stack so that utilization is close to that of the actual system implementation.</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Plugin JavaScript -->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<script src="vendor/magnific-popup/jquery.magnific-popup.min.js"></script>
<!-- Contact Form JavaScript -->
<script src="js/jqBootstrapValidation.js"></script>
<!-- <script src="js/contact_me.js"></script> -->
<!-- Custom scripts for this template -->
<script src="js/freelancer.min.js"></script>
</body>
</html>