-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcv.html
1158 lines (1034 loc) · 59.2 KB
/
cv.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>
<title>Derici, Curriculum Vitae</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="icon" type="image/png" href="https://pbs.twimg.com/profile_images/1427014122827182083/epqkLDbm_400x400.jpg">
<link rel="stylesheet" href="caner.css">
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Roboto'>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.w3schools.com/lib/w3-colors-win8.css">
<link rel="stylesheet" href="https://www.w3schools.com/lib/w3-colors-flat.css">
<link rel="stylesheet" href="css/lightbox.css">
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/lightbox.min.js"></script>
<script src="caner.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-146433729-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-146433729-1');
</script>
<body class="w3-flat-wet-asphalt">
<!-- Page Container -->
<div class="w3-content w3-margin-top" style="max-width:1400px;">
<!-- The Grid -->
<div class="w3-row-padding">
<!-- Left Column -->
<div class="w3-quarter">
<div class="w3-white w3-text-grey w3-card-4">
<div class="w3-display-container">
<a href="img/cvProfileCompressed.jpg"
data-lightbox="profil">
<img src="img/cvProfileCompressed-Cropped.jpg" style="width:100%" alt="Avatar" /></a>
<div class="w3-display-bottomleft w3-container w3-text-black">
<h2 class="w3-text-white">Caner Derici</h2>
</div>
</div>
<div class="w3-container">
<p><i class="fa fa-briefcase fa-fw w3-margin-right w3-large w3-text-deep-orange"></i>Software Engineer</p>
<p><i class="fa fa-graduation-cap fa-fw w3-margin-right w3-large w3-text-deep-orange"></i>PhD Candidate, Computer Science</p>
<p><i class="fa fa-home fa-fw w3-margin-right w3-large w3-text-deep-orange"></i>Sandy, UT, USA</p>
<p><i class="fa fa-github fa-fw w3-margin-right w3-large w3-text-deep-orange"></i><a href="https://github.com/cderici" style="border-bottom: 0px" target="_blank">cderici</a></p>
<p><i class="fa fa-envelope fa-fw w3-margin-right w3-large w3-text-deep-orange"></i><a href="mailto:[email protected]" style="border-bottom: 0px" target="_blank">[email protected]</a></p>
<div class="w3-container w3-center">
<p><a href="http://twitch.tv/lambda_cd" target="_blank" style="border-bottom: 0px"><i class="fa fa-twitch w3-margin-right w3-hover-opacity w3-large w3-text-deep-orange"></i></a>
<a href="https://www.youtube.com/channel/UCQUqjj5SfL9vfJxJ53ygN7w" target="_blank" style="border-bottom: 0px"><i class="fa fa-youtube w3-margin-right w3-hover-opacity w3-large w3-text-deep-orange"></i></a>
<a href="https://www.facebook.com/caner.derici.3" target="_blank" style="border-bottom: 0px"><i class="fa fa-facebook-official w3-margin-right w3-hover-opacity w3-large w3-text-deep-orange"></i></a>
<a href="https://www.instagram.com/caner.derici/" style="border-bottom: 0px" target="_blank"><i class="fa fa-instagram w3-margin-right w3-hover-opacity w3-large w3-text-deep-orange"></i></a>
<a href="https://tr.linkedin.com/in/caner-derici-0619b0aa" style="border-bottom: 0px" target="_blank"><i class="fa fa-linkedin w3-margin-right w3-hover-opacity w3-large w3-text-deep-orange"></i></a>
<a href="https://twitter.com/canerderici" style="border-bottom: 0px" target="_blank"><i class="fa fa-twitter w3-margin-right w3-hover-opacity w3-large w3-text-deep-orange"></i></a>
</p>
</div>
<!--
<p class="w3-large"><b><i class="fa fa-asterisk fa-fw w3-margin-right w3-text-deep-orange"></i>Skills</b></p>
<p>Racket/Scheme/Lisp</p>
<div class="w3-light-grey w3-round-xlarge w3-small">
<div class="w3-container w3-center w3-round-xlarge w3-deep-orange" style="width:90%">90%</div>
</div>
<p>Python</p>
<div class="w3-light-grey w3-round-xlarge w3-small">
<div class="w3-container w3-center w3-round-xlarge w3-deep-orange" style="width:80%">
<div class="w3-center w3-text-white">80%</div>
</div>
</div>
<p>JavaScript</p>
<div class="w3-light-grey w3-round-xlarge w3-small">
<div class="w3-container w3-center w3-round-xlarge w3-deep-orange" style="width:75%">75%</div>
</div>
<p>Java</p>
<div class="w3-light-grey w3-round-xlarge w3-small">
<div class="w3-container w3-center w3-round-xlarge w3-deep-orange" style="width:50%">50%</div>
</div>
<br>
<p class="w3-large w3-text-theme"><b><i class="fa fa-globe fa-fw w3-margin-right w3-text-deep-orange"></i>Languages</b></p>
<p>English</p>
<div class="w3-light-grey w3-round-xlarge">
<div class="w3-round-xlarge w3-deep-orange" style="height:24px;width:100%"></div>
</div>
<p>Spanish</p>
<div class="w3-light-grey w3-round-xlarge">
<div class="w3-round-xlarge w3-deep-orange" style="height:24px;width:55%"></div>
</div>
<p>German</p>
<div class="w3-light-grey w3-round-xlarge">
<div class="w3-round-xlarge w3-deep-orange" style="height:24px;width:25%"></div>
</div>
<br>
-->
</div>
</div><br>
<a href="#" class="back-to-top" style="border-bottom: 0px;">
<i class="fa fa-chevron-circle-up w3-text-deep-orange w3-xlarge"></i>
</a>
<!-- End Left Column -->
</div>
<!-- Right Column -->
<div class="w3-threequarter">
<div class="w3-bar">
<a href="index.html" class="w3-bar-item w3-button w3-mobile">Home</a>
<a href="cv.html" class="w3-bar-item w3-button w3-mobile w3-hover-deep-orange w3-deep-orange">Professional</a>
<a href="homelab.html" class="w3-bar-item w3-button w3-mobile">HomeLab</a>
<a href="content.html" class="w3-bar-item w3-button w3-mobile">Building a Community</a>
<a href="bike.html" class="w3-bar-item w3-button w3-mobile">Bike</a>
<a href="music.html" class="w3-bar-item w3-button w3-mobile">Music</a>
<a href="artsy.html" class="w3-bar-item w3-button w3-mobile">Artsy</a>
<a href="travel.html" class="w3-bar-item w3-button w3-mobile">Travel</a>
<a href="arch.html" class="w3-bar-item w3-button w3-mobile">Arch</a>
<a href="masters.html" class="w3-bar-item w3-button w3-mobile w3-right">Masters Tribute Page</a>
</div>
<div class="w3-container w3-card w3-white w3-margin-bottom w3-animate-opacity">
<!-- <h2 class="w3-text-grey w3-padding-16"><i class="fa fa-linux fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>Introduction</h2> -->
<div class="w3-container w3-margin-left w3-margin-top w3-margin-bottom">
<p>
Welcome to the extended version of my resume! Here, you'll find
detailed explanations of the information presented in my resume,
along with a few additional projects and experiences that didn't
make it into the PDF version. Click on the titles to explore
further. Feel free to <a href="mailto:[email protected]" class="lnk">send me an email</a> if you'd like to know more.
</p>
<!-- View Resume PDF -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('cv-panel-1')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>View Resume PDF</b></h6>
</div>
<!-- <div class="w3-third" align="right"> -->
<!-- <h6 class="w3-text-deep-orange"><i class="fa fa-download fa-fw w3-margin-right"></i><span class="w3-tag w3-deep-orange w3-round">Download</span></h6> -->
<!-- </div> -->
</div>
<div id="cv-panel-1" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<iframe src="./docs/CanerDerici-resume.pdf" width="100%" height="1200px"></iframe>
<div align="right">
[<a target="_blank"
href="https://www.overleaf.com/read/jbsbnxbnjfdd">TEX SOURCE</a>]
</div>
</div>
<!--<hr>-->
</div>
</div>
</div>
<!-- TLDR BEGIN -->
<div class="w3-container w3-card w3-white w3-margin-bottom w3-animate-opacity">
<h2 class="w3-text-grey w3-padding-16"><i class="fa fa-check fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>TL;DR</h2>
<div class="w3-container w3-margin-left w3-margin-top w3-margin-bottom">
<p>
I have expertise in distributed systems, compilers and programming languages.
</p>
<p>
My tech stack includes: Go, Python, Racket, C/C++, SQL/NoSQL, LXD, Docker, k8s, and more.
</p>
<p>
I worked at Canonical for over three years on the Enterprise Cloud
Engineering (in the Juju team). Here, I gained extensive experience
in complex distributed systems. I owned deliverables, maintained
release cadence, participated in roadmap planning, coordinated
cross-team work, mentored junior engineers, and took part in hiring.
</p>
<p>
I gained experience on distributed orchestration for managing
complex cloud workloads for Kubernetes and traditional Linux apps
across various cloud providers (e.g., AWS, GCE). My primary focus in
Juju was on the eventually consistent, worker-based distributed
back-end. I architected full-stack distributed components, tackled
orchestration, fault tolerance, back-pressure handling, and more
challenges. Helped API design, and improved the facade-based API
server. Helped transition the observer-based data layer from NoSQL
MongoDB to relational DQLite (distributed SQLite). Maintained client
libraries (e.g., python-libjuju). (see my <a
href="https://github.com/cderici" class="lnk">GitHub</a>)
</p>
<p>
I'm also currently a post-proposal PhD candidate
(all-but-dissertation) at Indiana University, specializing in
Programming Languages. I also hold a BSc and MSc in Computer
Science, with a specialization in Natural Language Processing and
Machine Learning.
</p>
<p>
A lot of hands-on projects in the academic work, all started
with adding tail-calls to a Racket-to-JavaScript compiler as the BSc thesis project. For masters, I developed a question answering system
for high-school students. My PhD work
focuses on <i>optimizing VM run-times for dynamic languages</i>. Specifically, I'm demonstrating that rapid prototyping
an efficient run-time for a self-hosting dynamically
typed language (e.g. Racket) on a <i>meta-tracing JIT compiler</i>
is achievable.
</p>
<p> You can see the details for all of them down below.</p>
</div>
<hr>
</div> <!-- End TLDR -->
<!-- EDUCATION BEGIN -->
<div class="w3-container w3-card w3-white w3-margin-bottom w3-animate-opacity">
<div class="w3-right-align"><font class="w3-text-grey w3-right-align">[click on a title to see details]</font></div>
<h2 class="w3-text-grey w3-padding-16"><i class="fa fa-graduation-cap fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>Education</h2>
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('edu-panel-1')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>PhD Computer Science - Indiana University, IN, USA</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2015 - <span class="w3-tag w3-deep-orange w3-round">2021</span></h6>
</div>
</div>
<div id="edu-panel-1" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p> Specializing on Programming Languages (PL) under
the supervision
of <a href="http://homes.sice.indiana.edu/samth/" class="lnk">Sam Tobin-Hochstadt</a>, minoring in
Logic at
the <a href="http://www.philosophy.indiana.edu/areas/ll.shtml" class="lnk">Department
of Philosophy</a>.</p>
<p>
I'm working on fast run-times of dynamically typed
languages, particularly Racket. When I started, I
was initially trying to figure out the effects of
using Racket byte-code compiler as a front-end for
Pycket, i.e. investigating the individual effects of
various optimizations happening in the Racket
compiler to the Pycket run-time, such as heavy
inlining and/or lambda lifting.</p>
<p>While we were working on that, Racket decided to
make the language more portable,
and <a class="lnk"
href="https://blog.racket-lang.org/2018/01/racket-on-chez-status.html">started
adopting Chez Scheme as its run-time</a>. So I decided
to join the fray and took a different direction. </p>
<p>
At that time, we had a rudimentary Racket
implementation we were working on,
namely <a href="https://github.com/pycket/pycket"
class="lnk">Pycket</a>, which is a meta-tracing
JIT compiler automatically generated by
the <a class="lnk"
href="https://rpython.readthedocs.io/en/latest/">RPython
framework</a>, designed to demonstrate that
<a href="https://github.com/pycket/pycket/tree/master/papers"
class="lnk">efficient sound gradual typing is
possible</a>. In the new direction of research, I
first helped to make the Racket more portable
(see Publications), and helped it
to <a class="lnk"
href="https://blog.racket-lang.org/2019/01/racket-on-chez-status.html">
adopt the Chez Scheme fully</a>. And then
mimicking Racket's self-hosting on Racket-on-Chez,
I turned the Pycket into a full implementation of
Racket, thereby having a meta-tracing JIT as a
run-time for Racket.
</p>
<p><a class="lnk"
href="https://pypy.org/">PyPy</a> project has
shown that fast prototyping of efficient
run-times for dynamic languages is possible through
meta-interpretation (tracing not the user program,
but the interpreter that runs it). The aim of my
research is to take the meta level one step
further, and show that with this setup, fast
prototyping efficient run-times
for <b>self-hosting</b> dynamic languages is also
achievable.
</p>
<p>Currently, <a href="https://github.com/pycket/pycket"
class="lnk">Pycket</a> is able to run just as
fast <a href="https://github.com/pycket/pycket/tree/master/papers"
class="lnk">as before on the benchmarks in
previous studies</a>. However, self-hosting comes
with a big problem for tracing JITs; giant
dispatch-loops. This is essentially the same problem
that Mozilla has faced quite a while ago with
<a class="lnk"
href="https://blog.mozilla.org/nnethercote/category/tracemonkey/">TraceMonkey</a>, which is basically that
<a class="lnk"
href="https://blog.mozilla.org/nnethercote/2011/05/31/you-lose-more-when-slow-than-you-gain-when-fast/">
you lose more when slow than you gain when
fast</a>. My work suggests some workarounds for
this problem and tries to show that an efficient
run-time with a meta-tracing JIT is still achievable for
fast prototyping self-hosting dynamic languages.</p>
</div>
<!--<hr>-->
</div>
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('edu-panel-2')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>PhD Computer Science - Boğaziçi University, Istanbul, TR</b> </h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2014 - 2015</h6>
</div>
</div>
<div id="edu-panel-2" class="w3-hide w3-animate-opacity">
<p>This was the continuation of my masters on <b>natural language processing</b> and <b>machine learning</b>. After researching for another year on the system I built, I decided to pursue a PhD on <b>programming languages</b> instead.</p>
</div>
</div>
<!--<hr>-->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('edu-panel-3')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>MSc Computer Engineering - Boğaziçi University, Istanbul, TR</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2011 - 2014</h6>
</div>
</div>
<div id="edu-panel-3" class="w3-hide w3-animate-opacity">
<p>
I was part of the <a href="http://tabilab.cmpe.boun.edu.tr/" class="lnk">Text
Analytics and Bio-Informatics Lab</a>. Studied the <b>theory of
computation</b>, <b>automated theorem proving</b>, then focused
on <b>machine learning</b> and <b>natural language processing</b>.
Worked on closed domain question answering systems for Turkish
high-school students. (government funded project)
</p>
<hr>
<div class="w3-container">
<div class="w3-quarter">Thesis title</div>
<div class="w3-threequarter">Question Analysis and Information Retrieval For a Turkish Question Answering System:HazırCevap (<a href="/docs/msc-thesis.pdf" class="lnk"><b> pdf </b></a>)</div>
</div>
<hr>
<div class="w3-container">
<div class="w3-quarter">Supervisors</div>
<div class="w3-threequarter"> Tunga Güngör, Assoc. Arzucan Özgür, Günizi Kartal</div>
</div>
<hr>
<div class="w3-container">
<div class="w3-quarter">Abstract</div>
<div class="w3-threequarter">This study describes and evaluates the techniques we developed for the question analysis and information retrieval (IR) module of a closed-domain Turkish factoid Question Answering (QA)system that is intended for high-school students to support their education. We propose novel methods for two major problems in question analysis, namely focus extraction and question classification, based on integrating a rule-based and a Hidden Markov Model (HMM) based sequence classification approach, both of which make use of the dependency relations among the words in the question. We also built an IR module that searches for the relevant documents and passages through the combined use of search engines Indri and Apache Lucene.</div>
</div>
</div>
<!--<hr>-->
</div>
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('edu-panel-4')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>BSc Computer Science - Istanbul Bilgi University, Istanbul, TR</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2005 - 2010</h6>
</div>
</div>
<div id="edu-panel-4" class="w3-hide w3-animate-opacity">
<p>Got both theoretical and practical experience. Programmed in both imperative, functional, logic languages. Concentrated on the <b>theory of computation</b>, and <b>programming languages</b>, design and implementation.</p>
<hr>
<div class="w3-container">
<div class="w3-quarter">Thesis title</div>
<div class="w3-threequarter">Proper Tail Calls From First-Class Continuations in JavaScript (
<a href="https://cderici.github.io/docs/bsc-thesis/caner_thesis.pdf" class="lnk"><b> pdf </b></a>|
<a href="https://cderici.github.io/docs/bsc-thesis/thesis.tar.gz" class="lnk"><b> tex </b></a>)</div>
</div>
<hr>
<div class="w3-container">
<div class="w3-quarter">Supervisors</div>
<div class="w3-threequarter">Chris Stephenson, Shriram Krishnamurthi, Alpaslan Parlakçı, Matthew Edwards</div>
</div>
<hr>
<div class="w3-container">
<div class="w3-quarter">Abstract</div>
<div class="w3-threequarter">This study demonstrates that a proper tail-calling behavior on JavaScript is possible while refraining from any modification on interpreter. It is based on the paper titled Continuations from Generalized Stack Inspection, by Pettyjohn et al., in which a novel program transformation is presented for JavaScript programs to obtain first-class continuations from exception handling mechanism. My thesis takes it one step further, showing that by using this continuation model on JavaScript, achieving a tail-call optimized computation is possible, without ever touching the interpreter.</div>
</div>
</div>
</div>
<hr>
</div> <!-- End Education -->
<!-- Experience -->
<div class="w3-container w3-card w3-white w3-margin-bottom">
<div class="w3-right-align"><font class="w3-text-grey w3-right-align">[click on a title to see details]</font></div>
<h2 class="w3-text-grey w3-padding-16"><i class="fa fa-briefcase fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>Experience</h2>
<!-- Software Engineer II
<span class="w3-tag w3-deep-orange w3-round">Present</span>
-->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align"
onclick="myFunction('panel-juju-swe')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Software Engineer II</b>, Canonical Ltd.</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2021 - 2024</h6>
</div>
</div>
<div id="panel-juju-swe" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left
|right -->
<p>
Working in the <a href="https://github.com/juju"
class="lnk">Juju</a> core team, which is 15 people globally remote. I'm helping to develop and
maintain client packages and libraries of Juju. In particular I work on the juju's own cli, and
<a class="lnk" href="https://github.com/juju/python-libjuju">python-libjuju</a>, a Python library that
allows programmatically interacting with Juju, and also the <a
href="https://github.com/juju/terraform-provider-juju" class="lnk">terraform juju
provider</a>, which allows using Juju with Terraform. I do a bunch of hiring, code review, as well as
documentation work.
</p>
</div>
</div>
<!-- Course Instructor -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align"
onclick="myFunction('panel-course-instructor')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Course Instructor</b>, Indiana University, IN, USA</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>Spring 2021</h6>
</div>
</div>
<div id="panel-course-instructor" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>
Taught Introduction to Computer Science (HtDP Style Functional Programming) with Racket.
</p>
</div>
</div>
<!-- TA IU -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-teaching-iu')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>TA & RA</b>, Indiana University, IN, USA</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2015 - 2020</h6>
</div>
</div>
<div id="panel-teaching-iu" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>
Taught Advanced Compilers, Introduction to
Programming (in Racket), and the domain specific
language design and implementation
with <a href="http://homes.sice.indiana.edu/samth/"
class="lnk">Sam Tobin-Hochstadt</a> for 1
semester. I was a research assistant for Sam for 5
semesters and 4 summers.
</p>
</div>
</div>
<!-- ASSECO -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-asseco')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Product Development Specialist</b>, Asseco South-Eastern Europe, Istanbul, TR</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2012 - 2013</h6>
</div>
</div>
<div id="panel-asseco" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>Worked on developing the back-end of the virtual
point-of-sale applications between merchants and
banks. Used Java, Spring, Tomcat, Mercurial,
Jira.</p>
</div>
</div>
<!-- Hackathonist’14, Istanbul. -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-hackathon')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Hackathonist’14</b>, Istanbul, TR</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2013</h6>
</div>
</div>
<div id="panel-hackathon" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>Developed a Google Glass application (running on a
mock glass API) that talks with the CitySDK, and
enables the use of open city data provided by
Istanbul Municipality for various smart city tasks
(such as finding a suitable bus-route).</p>
</div>
</div>
<!-- Computer Science RPG -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-cs-rpg')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Computer Science RPG</b>, Istanbul, TR</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2013</h6>
</div>
</div>
<div id="panel-cs-rpg" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>
I created an extra-curricular game for students to
"level up" their computer science skills. Each level
required learning some concepts and solving some
problems in a constrained way. I lead a team of
undergraduate students as they try to level up.
</p>
</div>
</div>
<!-- TA Bilgi -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-teaching-tr')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>TA</b>, Istanbul Bilgi University, TR</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2010 - 2013</h6>
</div>
</div>
<div id="panel-teaching-tr" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>Taught 6 semesters; Data Structures & Algorithms
(in Java), Principles of Programming Languages (in Racket), Database
Systems (with Data Mining).</p>
</div>
</div>
<!-- Matematik Köyü -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-instr')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Instructor</b>, <a target="_blank" href="http://www.matematikkoyu.org/" class="lnk">Nesin Math Village</a>, Şirince/Selçuk, TR</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2011</h6>
</div>
</div>
<div id="panel-instr" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>Taught Lambda Calculus to Math graduate students,
and “Programming=Algebra” to high-school students
with <a target="_blank"
href="https://chrisstephenson.org/moodle/?lang=en">Chris
Stephenson</a>.</p>
</div>
</div>
<!-- Conference Review -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-conf-review')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Conference Reviewer</b>, TR</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2014</h6>
</div>
</div>
<div id="panel-conf-review" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>Reviewed two papers on statistical information retrieval for SIU2014, and a paper on question
answering systems for COLING 2014.</p>
</div>
</div>
<!-- Book of abstracts -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-webometrics')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>VII. International Conf. on Webometrics, Infometrics and Scientometrics (WIS)</b>, Istanbul, TR</h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2011</h6>
</div>
</div>
<div id="panel-webometrics" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>Lead the preparation and compilation of the Book of Abstracts and the Proceedings.</p>
</div>
</div>
<hr>
<!-- End Experience -->
</div> <!-- End Experiece -->
<div class="w3-container w3-card w3-white w3-margin-bottom w3-animate-opacity">
<div class="w3-right-align"><font class="w3-text-grey w3-right-align">[click on a title to see details]</font></div>
<h2 class="w3-text-grey w3-padding-16"><i class="fa fa-wrench fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>Projects</h2>
<!-- Juju -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-juju')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Juju</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2021 - 2024<!--<span class="w3-tag w3-deep-orange w3-round">Present</span>--></h6>
</div>
</div>
<div id="panel-juju" class="w3-hide
w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right
-->
<p><a href="https://github.com/juju" class="lnk">Juju</a> is an
orchestration and modeling tool for deployment of complex cloud
workloads. It manages the life-cycle of the charmed operators
for Kubernetes and traditional Linux apps, with declarative
relations between operators for automated microservice
integration. It also facilitates day 2 operations, such as
scaling, upgrading and monitoring. I work in the core dev team
(of 15). I'm involved in maintaining the main clients (e.g.,
cli, <a class="lnk"
href="https://github.com/juju/python-libjuju">python-libjuju</a>)
and the facade API, charmhub integration, worked on data schema
for moving from MongoDB to dqlite, and general bug fix and
maintenance. Mainly in Go and Python.</p>
</div>
</div>
<!-- Terraform Provider -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-terraform')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Terraform Juju Provider</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2022 - 2024<!--<span class="w3-tag w3-deep-orange w3-round">Present</span>--></h6>
</div>
</div>
<div id="panel-terraform" class="w3-hide
w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right
-->
<p><a href="https://github.com/juju/terraform-provider-juju"
class="lnk">Terraform Juju Provider</a> is a terraform provider
that enables integration with Juju while managing terraform
environments. Started developing as part of my work on the Juju
API. Implemented new features, worked on moving from using sdk2
to the new terraform provider framework, maintained release
cadence of new versions. All in Go.</p>
</div>
</div>
<!-- Pycket -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-pycket')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Pycket</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2016 - 2021</h6>
</div>
</div>
<div id="panel-pycket" class="w3-hide
w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right
-->
<p>A meta-tracing JIT initially designed to reduce the
overhead of sound gradual typing, nowadays a run-time
for self-hosting full Racket. I am the main developer
and maintainer. I re-implemented the front-end to make
the Racket bootstrap itself on Pycket, i.e., achieved
a full Racket implementation on RPython
framework. Developed performance debugging tools,
implemented various optimizations and large number of
run-time primitives. Maintained and improved the data
structure implementations (hash tables, vectors,
structs etc.). For details, see my <a href="#"
onclick="myFunction('edu-panel-1')" class="lnk">PhD
description</a>.</p>
<p><a href="https://github.com/pycket/pycket" class="lnk">[https://github.com/pycket/pycket]</a></p>
</div>
</div>
<!-- Rax -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-rax')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Rax</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2016</h6>
</div>
</div>
<div id="panel-rax" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>
A full-stack nanopass compiler from a small subset
of Racket all the way down to x86_64 assembly.
Started for fun, collaborated with
a <a class="lnk"
href="https://github.com/RyanGlScott">friend</a> to
turn it into a school project, then it turned into
an open source project. Built and tested all the
passes (e.g. closure conversion, register
allocation, code-gen, etc.).
</p>
<p><a class="lnk" href="https://github.com/cderici/rax">[https://github.com/cderici/rax]</a></p>
</div>
</div>
<!-- Denotational Semantics Stuff -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-denot')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Correctness Proof of a Closure Conversion Pass</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2018</h6>
</div>
</div>
<div id="panel-denot" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>
I collaborated with <a class="lnk"
href="https://wphomes.soic.indiana.edu/jsiek/">Jeremy
Siek</a> and <a class="lnk"
href="https://github.com/madheime">Matthew
Heimerdinger</a> to help prove the correctness of a
closure conversion pass of a compiler for a
functional language represented as denotational
semantics in Isabelle.
</p>
<p><a class="lnk"
href="https://github.com/madheime/denotsem-compiler">[https://github.com/madheime/denotsem-compiler]</a>
(might be a private repo)</p>
</div>
</div>
<!-- HazırCevap -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-hazircevap')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>HazırCevap</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2013 - 2015</h6>
</div>
</div>
<div id="panel-hazircevap" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>A closed domain question answering system for high
school students. Funded by <a class="lnk"
href="https://www.tubitak.gov.tr/en">TUBITAK</a>
(The Scientific and Technological Research Council
of Turkey). I lead the research and development, 3
faculty members (both from CS and also School of
Education) and 4 grad students were involved. This
was my MSc thesis work, so I worked on pretty much
everything about it (see Publications). I developed
a hybrid model for question analyzing (Hidden Markov
Model along with a rule-based model), developed a
reliability score for web-pages/documents, used the
Indri search engine for processing and retrieval for
answer generation, implemented both the front and
back-end in Python.
</p>
</div>
</div>
<!-- Sessiz -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-sessiz')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Sessizliğe Oku (Read to Silence)</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2014</h6>
</div>
</div>
<div id="panel-sessiz" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p> Did you know that it's very hard for Deaf people
to read? Well I didn't. Apparently reading for Deaf
people is a sort of learning a new foreign
language. This is a joint work with the Department
of Western Languages & Literature to build a
web-based application to teach people with hearing
disability how to read. Two faculties from
Linguistics, one from CS, and two RAs were
involved. Project aims to develop a stable framework
on which the Turkish grammar lectures and exercises
for Deaf people can easily be provided. I
collaborated with the linguists to implement the
application (available on both PC and mobile) that’s
designed specifically for Deaf people. Used
JavaScript, HTML and PhoneGap.
</p>
</div>
</div>
<!-- Direnaj -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-direnaj')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Direnaj: Social Network Data Processing Framework</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2013 - 2014</h6>
</div>
</div>
<div id="panel-direnaj" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>Data Collection, Processing and Visualization
Framework for real-time social network data, lead
by <a class="lnk"
href="https://www.cmpe.boun.edu.tr/~uskudarli/">Suzan
Üsküdarlı</a>. 4 faculty members and 7 grad students
were involved. I developed parts of the processing
library with JavaEE, implementing certain tools used
for various kinds of analyses, such as centrality
analysis, stop-word collection, etc.
</p>
<p><a class="lnk" href="http://direnaj-staging.cmpe.boun.edu.tr/">[http://direnaj-staging.cmpe.boun.edu.tr/]</a> (might be private because of the Twitter privacy terms)</p>
</div>
</div>
<!-- FARS -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-fars')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>FARS: Functional Automated Reasoning System</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2012</h6>
</div>
</div>
<div id="panel-fars" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>
This is a resolution-refutation style automated
theorem prover. I developed it for fun at first,
then I turned it into a project for school. Written
all in Racket by myself.
</p>
<p><a class="lnk" href="https://github.com/cderici/FARS">[https://github.com/cderici/FARS]</a></p>
</div>
</div>
<!-- Moby compiler -->
<div class="w3-container">
<div class="w3-container w3-btn w3-round-large w3-block w3-left-align" onclick="myFunction('panel-moby')" >
<div class="w3-twothird">
<h6 class="w3-opacity"><b>Tail call elimination on Racket->JS compiler</b></h6>
</div>
<div class="w3-third" align="right">
<h6 class="w3-text-deep-orange"><i class="fa fa-calendar fa-fw w3-margin-right"></i>2009 - 2010</h6>
</div>
</div>
<div id="panel-moby" class="w3-hide w3-animate-opacity"> <!-- w3-animate-zoom|opacity|top|bottom|left|right -->
<p>This was my undergraduate thesis (see <a href="#"
onclick="myFunction('edu-panel-4')" class="lnk">BSc
description</a>). It was a project from Brown
University under supervision of <a class="lnk"
href="https://cs.brown.edu/~sk/">Shriram
Krishnamurthi</a>, a compiler from Racket Advanced
Student Language to JS and HTML. I participated in the
development of both compiler and run-time libraries. My
major contribution was to add the tail-calls. Nowadays
it is used on <a class="lnk"
href="https://www.wescheme.org/">WeScheme</a> by
<a class="lnk"
href="https://www.bootstrapworld.org/">the Bootstrap
curriculum</a>.
</p>
<p><a class="lnk" href="https://github.com/cderici/moby-scheme">[https://github.com/cderici/moby-scheme]</a></p>
</div>
</div>
<hr>
</div> <!-- End Projects -->
<!-- Pubs -->
<div class="w3-container w3-card w3-white w3-margin-bottom w3-animate-opacity">
<h2 class="w3-text-grey w3-padding-16"><i class="fa fa-newspaper-o fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>Publications</h2>
<ul class="w3-ul">
<li>
<i>Rebuilding Racket on Chez Scheme (Experience Report)</i> [ <a href="https://cderici.github.io/docs/papers/icfp19-rrocs.pdf" class="lnk">PDF</a> ] <br> <a href="https://www.cs.utah.edu/plt/rkt-on-chez" class="lnk">Supplementary material</a> <br>
Matthew Flatt, Caner Derici, R. Kent Dybvig, Andy Keep, Gustavo E. Massaccesi, Sarah Spall, Sam Tobin-Hochstadt, Jon Zeppieri. ICFP 2019</li>
<li><i>A closed-domain question answering framework using reliable resources to assist students.</i> [ <a href="https://cderici.github.io/docs/papers/derici-hazircevap.pdf" class="lnk">PDF</a> ] <br>
Caner Derici, Yiğit Aydın, Çiğdem Yenialaca, Nihal Yağmur Aydin, Günizi Kartal, Arzucan Özgür, and Tunga Güngör. Natural Language Engineering 24(5): 725-762 (2018)</li>
<li><i> Question analysis for a closed domain question answering system: Hazırcevap. </i> [ <a href="https://cderici.github.io/docs/papers/derici2014.pdf" class="lnk">PDF</a> ]<br>
Caner Derici, Kerem Çelik, Ekrem Kutbay, Yiğit Aydın, Arzucan Özgür, Günizi Kartal, and Tunga Güngör. CICLING15, Springer Lecture Notes of Computer Science, November 2014.</li>
<li><i> Rule-based focus extraction in turkish question answering systems. </i> [ <a href="https://cderici.github.io/docs/papers/derici2014-tr.pdf" class="lnk">PDF</a> ]<br>
Caner Derici, Kerem Çelik, Ekrem Kutbay, Yiğit Aydın, Arzucan Özgür, Günizi Kartal, and Tunga Güngör. SIU14 (Signal Processing and Communication Applications Conference), Trabzon, TR, April 2014.</li>
<li><i>Worldwithweb: A compiler from world applications to JavaScript.</i> [ <a href="https://cderici.github.io/docs/papers/worldwithweb.pdf" class="lnk">PDF</a> ]<br>
Emre Başar, Caner Derici, and Çağdaş Şenol. Scheme and Functional Programming 2009, Boston, August 2009.</li>
</ul>
<hr>
</div> <!-- End Pubs -->
<!-- Natural Langs -->
<div class="w3-container w3-card w3-white w3-margin-bottom">
<h2 class="w3-text-grey w3-padding-16"><i class="fa fa-language fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>Natural Languages</h2>
<div class="w3-container">
<div class="w3-row">
<div class="w3-col m2">Turkish</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i></div>
<div class="w3-col m8 w3-right-align"><i>Native</i></div>
</div>
<div class="w3-row">
<div class="w3-col m2">English</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i></div>
<div class="w3-col m8 w3-right-align"><i>Lived in USA since 2015. My wife is a native English speaker.</i></div>
</div>
</div>
<hr>
<!-- End Natural Langs -->
</div>
<!-- Prog Langs -->
<div class="w3-container w3-card w3-white w3-margin-bottom">
<h2 class="w3-text-grey w3-padding-16"><i class="fa fa-stack-overflow fa-fw w3-margin-right w3-xxlarge w3-text-deep-orange"></i>Programming Languages</h2>
<div class="w3-container">
<p>My PhD is on programming languages, so I feel confident in
coding in any language. My main language between 2020 and 2024 has been Go, and Python. I have plenty of experience in
functional languages as well (including implementing new ones). Below
are some of the languages I have used. <i class="fa fa-star
w3-text-deep-orange"></i>s indicate my current (2024) level of
confidence in writing programs in the corresponding
language.</p>
<br>
<div class="w3-row">
<div class="w3-col m2">Go</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i></div>
<div
class="w3-col m8 w3-right-align"><i>
My day to day at Canonical involved working on both
<a class="lnk"
href="https://github.com/juju/juju">Juju</a> and the
<a
href="https://github.com/juju/terraform-provider-juju"
class="lnk">terraform juju provider</a>, all written in
Go. Experienced in fault-tolerance practices, interface design, channels and goroutines, back-pressure, and many more.
</i></div>
</div>
<div class="w3-row">
<div class="w3-col m2">Python</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i></div>
<div class="w3-col m8 w3-right-align"><i>My role at Canonical involved developing
and maintaining <a
class="lnk" href="https://github.com/juju/python-libjuju">python-libjuju</a>. Also my
whole PhD work (Pycket) is in <a
href="https://rpython.readthedocs.io/en/latest/" class="lnk">RPython</a>
(restricted Python). Also my MSc work (information retrieval
and natural language processing) was completely in Python (see
HazırCevap project).</i>
</div>
</div>
<div class="w3-row">
<div class="w3-col m2">Racket / Scheme / Lisp</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i></div>
<div class="w3-col m8 w3-right-align"><i>Programming and teaching in Racket since 2005, used it for both everyday programming and projects. (see the sections above)</i></div>
</div>
<div class="w3-row">
<div class="w3-col m2">C/C++</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star-o w3-text-deep-orange"></i><i class="fa fa-star-o w3-text-deep-orange"></i></div>
<div class="w3-col m8 w3-right-align"><i>Implemented a file-system for Minix on a BeagleBoard. Also wrote a garbage collector for rax compiler (see Projects). Made some games with OpenGL and studied graphics programming.</i></div>
</div>
<div class="w3-row">
<div class="w3-col m2">Java</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star-o w3-text-deep-orange"></i><i class="fa fa-star-o w3-text-deep-orange"></i></div>
<div class="w3-col m8 w3-right-align"><i>Worked for a year for a software company that used Java to develop software (e.g. virtual point-of-sale) for financial institutions (e.g. banks). Correct & clean code as well as security were main focuses. Also developed toy mobile applications on Android for fun.</i></div>
</div>
<div class="w3-row">
<div class="w3-col m2">JavaScript</div>
<div class="w3-col m2"><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star w3-text-deep-orange"></i><i class="fa fa-star-o w3-text-deep-orange"></i><i class="fa fa-star-o w3-text-deep-orange"></i></div>