1
0
Fork 0

update website

This commit is contained in:
Kaan Genc 2022-01-01 03:50:09 -05:00
parent 54cf2cc4dc
commit e08cf8895f
9 changed files with 104 additions and 151 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.clj-kondo
.lsp
.calva

6
.vscode/tasks.json vendored
View File

@ -8,6 +8,12 @@
"type": "shell",
"command": "boot publish",
"problemMatcher": []
},
{
"label": "dev",
"type": "shell",
"command": "boot dev",
"problemMatcher": []
}
]
}

View File

@ -1,8 +1,8 @@
(set-env!
:source-paths #{"src"}
:resource-paths #{"content"}
:dependencies '[[perun "0.4.3-SNAPSHOT" :scope "test"]
[hiccup "1.0.5" :exclusions [org.clojure/clojure]]
:dependencies '[[perun "0.5.0-SNAPSHOT" :scope "test"]
[hiccup "2.0.0-alpha2" :exclusions [org.clojure/clojure]]
[garden "1.3.10"]
[org.martinklepsch/boot-garden "1.3.2-0"]
[pandeiro/boot-http "0.8.3" :exclusions [org.clojure/clojure]]])

View File

@ -1 +1 @@
kaangenc.me
bgenc.net

Binary file not shown.

View File

@ -1,132 +1,12 @@
I'm a 4th year Computer Science PhD student at the Ohio State University. Over
the duration of my PhD, I have been researching topics in Programming Languages
such as data race detection, and transactional persistent memory. Research that
I led or assisted resulted in several publications, which are listed below. I
also had the opportunity to teach the course Advanced C Programming, and serve
on the Artifact Evaluation Committees of several conferences.
I'm a Software Engineer at [Dendron](https://dendron.so), and a recent Master's
graduate from the Ohio State University. I'm an avid Linux user, an enthusiast
of many programming languages, a [home cook](/recipes/), and an amateur gardener.
Outside the school, I build web and mobile applications for fun. Over the years
I have learned and used many programming languages and technologies, including
JavaScript, TypeScript, React, React Native, Python, Java, C, C++, Clojure, and
Haskell. All my projects are open source, and are available on my [Github
My interests include building web and mobile applications, both at the front and
back end. Over the years I learned and used many programming languages and
technologies, including JavaScript, TypeScript, React, React Native, Python,
Java, C, C++, Clojure, Rust, and Haskell. Pretty much everthing I've worked on is open source and available on my [Github
page](https://github.com/SeriousBug).
I am an avid Linux user, having been using it full time for the last 7 years. I
manage several small personal servers, and have experience with Bash scripting,
writing SystemD services, and building and using Docker containers.
I published several papers and participated in academic reviews during graduate school, which you can find [links to here](/publications/).
# Highlighted Projects
<div> <div class="publication">
## image-survey
A web application to run surveys where users compare 2 images to pick the one
they prefer. Uses a Python backend utilizing asyncio capabilities with the Sanic
web server and SQLite. The front end is a React app, written in JavaScript and
Material-UI.
[Github](https://github.com/SeriousBug/image-survey) [Demo](https://imagesurvey.kaangenc.me/)
</div>
<div class="publication">
## WorkTime
Work-in-progress offline-first mobile app for productivity and time management.
Uses React Native with TypeScript, and a PouchDB database on the client side.
Currently planning to add a backend supported by CouchDB to provide
synchronization capabilities.
[Github](https://github.com/SeriousBug/WorkTime)
</div>
<div class="publication">
## Crafty
A transactional persistent memory library, written in C. Provides transactional
data storage capabilities to programs by utilizing existing hardware
transactional memory support of processors, combined with the new non-volatile
memory hardware. Allows programs to store and access data efficiently, and
without the need for additional concurrency synchronization. This is the
corresponding implementation for one of my publications listed below.
[Github](https://github.com/PLaSSticity/Crafty)
</div>
<div class="publication">
## SDP & WDP data race detectors
Data race detection for Java programs using predictive dynamic data race
analyses. Predictive race analysis looks at a single execution of a program to
detect races that may occur in many other executions. Our analyses use data and
control flow dependence to find more data races compared to other analyses. This
is the corresponding implementation for my publication "Dependence Aware,
Unbounded Sound Predictive Race Detection".
[Github](https://github.com/PLaSSticity/SDP-WDP-implementation)
</div>
</div>
# Publications
<div> <div class="publication">
## Crafty: Efficient, HTM-Compatible Persistent Transactions
<div class="authors">Kaan Genç, Michael D. Bond, and Guoqing Harry Xu</div>
<div class="conf">ACM SIGPLAN Conference on Programming Language Design and Implementation <a href="https://pldi20.sigplan.org/home">(PLDI 2020)</a>, Online, June 2020</div>
[Talk](https://www.youtube.com/watch?v=wdVLlQXV1to) [Paper](https://dl.acm.org/doi/10.1145/3385412.3385991) [Extended Paper](https://arxiv.org/pdf/2004.00262.pdf) [Implementation](https://github.com/PLaSSticity/Crafty) [Poster](/extra/Crafty Poster.pdf)
</div>
<div class="publication">
## Dependence Aware, Unbounded Sound Predictive Race Detection
<div class="authors">Kaan Genç, Jake Roemer, Yufan Xu, and Michael D. Bond</div>
<div class="conf">ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications <a href="https://2019.splashcon.org/track/splash-2019-oopsla">(OOPSLA 2019)</a>, Athens, Greece, October 2019</div>
[Talk](https://www.youtube.com/watch?v=YgZWnc31tVQ) [Paper](https://dl.acm.org/doi/10.1145/3360605) [Extended Paper](https://arxiv.org/pdf/1904.13088.pdf) [Implementation](https://github.com/PLaSSticity/SDP-WDP-implementation) [Poster](/extra/DepAware Poster.pdf)
</div>
<div class="publication">
## SmartTrack: Efficient Predictive Race Detection
<div class="authors">Jake Roemer, Kaan Genç, and Michael D. Bond</div>
<div class="conf">ACM SIGPLAN Conference on Programming Language Design and Implementation <a href="https://pldi20.sigplan.org/home">(PLDI 2020)</a>, Online, June 2020 </div>
[Paper](http://web.cse.ohio-state.edu/~mikebond/smarttrack-pldi-2020.pdf) [Extended Paper](https://arxiv.org/pdf/1905.00494.pdf)
</div>
<div class="publication">
## High-Coverage, Unbounded Sound Predictive Race Detection
<div class="authors">Jake Roemer, Kaan Genç, and Michael D. Bond</div>
<div class="conf">ACM SIGPLAN Conference on Programming Language Design and Implementation <a href="https://pldi18.sigplan.org/">(PLDI 2018)</a>, Philadelphia, PA, USA, June 2018</div>
[Paper](http://web.cse.ohio-state.edu/~bond.213/vindicator-pldi-2018.pdf) [Extended Paper](http://web.cse.ohio-state.edu/~bond.213/vindicator-pldi-2018-xtr.pdf)
</div>
</div>
# Activities
[PLDI 2021](https://pldi21.sigplan.org/track/pldi-2021-PLDI-Research-Artifacts) Artifact Evaluation Committee member
[ASPLOS 2021](https://asplos-conference.org/2021/) Artifact Evaluation Committee member
[OOPSLA 2020](https://2020.splashcon.org/track/splash-2020-Artifacts) Artifact Evaluation Committee member
<div class="other-stuff">
# Other stuff
<a class="img" href="https://seriousbug.itch.io/the-land-itself">
![A picture from a 3-D video game, showing a river flowing into the sea. The text "The Land Itself" is overlayed on the sea.](/img/game-cover.jpg)\
</a>
In my free time, I develop small indie video games and release them open source.
</div>

68
content/publications.md Normal file
View File

@ -0,0 +1,68 @@
---
no-ttr: true
---
<div> <div class="publication">
## Crafty: Efficient, HTM-Compatible Persistent Transactions
<div class="authors">Kaan Genç, Michael D. Bond, and Guoqing Harry Xu</div>
<div class="conf">ACM SIGPLAN Conference on Programming Language Design and Implementation <a href="https://pldi20.sigplan.org/home">(PLDI 2020)</a>, Online, June 2020</div>
Crafty is a library for transactional storage, built for new non-volatile memory
hardware. Taking advantage of hardware transactional capabilities of modern
CPUs, it provides a low-overhead option that also eliminates the need for
additional concurrency control.
[Talk](https://www.youtube.com/watch?v=wdVLlQXV1to) [Paper](https://dl.acm.org/doi/10.1145/3385412.3385991) [Extended Paper](https://arxiv.org/pdf/2004.00262.pdf) [Implementation](https://github.com/PLaSSticity/Crafty) [Poster](/extra/Crafty Poster.pdf)
</div>
<div class="publication">
## Dependence Aware, Unbounded Sound Predictive Race Detection
<div class="authors">Kaan Genç, Jake Roemer, Yufan Xu, and Michael D. Bond</div>
<div class="conf">ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications <a href="https://2019.splashcon.org/track/splash-2019-oopsla">(OOPSLA 2019)</a>, Athens, Greece, October 2019</div>
This paper presents 2 data race detection analyses which analyze a single run of
a program to predict data races that can happen in other runs. These analyses
take advantage of data and control flow dependence to accurately understand how
the analyzed program works, expanding what races can be predicted.
[Talk](https://www.youtube.com/watch?v=YgZWnc31tVQ) [Extended Paper (updated version)](https://arxiv.org/pdf/1904.13088.pdf) [Paper](https://dl.acm.org/doi/10.1145/3360605) [Corrigendum to paper](https://dl.acm.org/action/downloadSupplement?doi=10.1145%2F3360605&file=3360605-corrigendum.pdf) [Implementation](https://github.com/PLaSSticity/SDP-WDP-implementation) [Poster](/extra/DepAware Poster.pdf)
</div>
<div class="publication">
## SmartTrack: Efficient Predictive Race Detection
<div class="authors">Jake Roemer, Kaan Genç, and Michael D. Bond</div>
<div class="conf">ACM SIGPLAN Conference on Programming Language Design and Implementation <a href="https://pldi20.sigplan.org/home">(PLDI 2020)</a>, Online, June 2020 </div>
Predictive data race detection methods greatly improve the number of data races
found, but they typically significantly slow down programs compared to their
non-predictive counterparts. SmartTrack, through improved analyses and clever
algorithms, reduces their overhead to just around non-predictive analyses
without impacting their performance.
[Paper](http://web.cse.ohio-state.edu/~mikebond/smarttrack-pldi-2020.pdf) [Extended Paper](https://arxiv.org/pdf/1905.00494.pdf)
</div>
<div class="publication">
## High-Coverage, Unbounded Sound Predictive Race Detection
<div class="authors">Jake Roemer, Kaan Genç, and Michael D. Bond</div>
<div class="conf">ACM SIGPLAN Conference on Programming Language Design and Implementation <a href="https://pldi18.sigplan.org/">(PLDI 2018)</a>, Philadelphia, PA, USA, June 2018</div>
Predictive data race detection methods typically walk a tight line between
predicting more races and avoiding false races. This paper presents a new
analysis that can predict more races, and a method to efficiently eliminate
false races.
[Paper](http://web.cse.ohio-state.edu/~bond.213/vindicator-pldi-2018.pdf) [Extended Paper](http://web.cse.ohio-state.edu/~bond.213/vindicator-pldi-2018-xtr.pdf)
</div>
</div>
# Activities
[PLDI 2021](https://pldi21.sigplan.org/track/pldi-2021-PLDI-Research-Artifacts) Artifact Evaluation Committee member
[ASPLOS 2021](https://asplos-conference.org/2021/) Artifact Evaluation Committee member
[OOPSLA 2020](https://2020.splashcon.org/track/splash-2020-Artifacts) Artifact Evaluation Committee member

View File

@ -19,21 +19,17 @@
[:div.sidebar.column
(when (not= slug "index") [:a.home {:href "/"} "Home"])
[:img.picture {:alt "A photo of Kaan Genç, after his OOPSLA 2019 talk." :src "/img/profile.jpg"}]
[:div.name "Kaan Genç"]
[:div.title "PhD Student"]
[:div.department "Computer Science & Engineering"]
[:div.affiliation "The Ohio State University"]
[:div.name "Kaan Barmore Genç"]
[:div.title "M.S. Software Engineer"]
[:div.spacer]
[:div.title "Software Engineering Intern"]
[:div.title "Software Engineer"]
[:div.affiliation [:a {:href "http://dendron.so/"} "Dendron"]]
[:div.spacer]
[:span [:a.email {:href "mailto:genc.5@osu.edu"} "genc.5@osu.edu"] [:a.gpg {:href "/extra/kaangenc.gpg"} "GPG key"]]
[:span [:a.email {:href "mailto:kaan@bgenc.net"} "kaan@bgenc.net"] [:a.gpg {:href "/extra/kaangenc.gpg"} "GPG key"]]
[:a.github {:href "https://github.com/SeriousBug"} "Github"]
[:a.linkedin {:href "https://www.linkedin.com/in/kaan-genc-8489b9205/"} "LinkedIn"]
[:a.cv {:href "/extra/cv.pdf"} "CV"]
[:a.blog {:href "/blog/"} "Blog"]
[:a.twitter {:href "https://twitter.com/KaanGencCS"} "Twitter"]
[:a.researchr {:href "https://conf.researchr.org/profile/kaangenc"} "Researchr"]])
[:a.blog {:href "/blog/"} "Blog"]])
@ -49,9 +45,9 @@
;; Blog post
[:div.main.column
[:h1.post-title (:title post)]
[:div.date "Written at " (-> post :date format-time)]
(when (:date post) [:div.date "Written at " (-> post :date format-time)])
(when (:modified post) [:div.modified "Last edited at " (-> post :modified format-time)])
[:div.ttr (:word-count post) " words, takes about " (:ttr post) " minutes to read"]
(when (not (:no-ttr post)) [:div.ttr (:word-count post) " words, takes about " (:ttr post) " minutes to read"])
(:content post)])))

View File

@ -2,7 +2,7 @@
(:require [garden.def :refer [defrule defstyles]]
[garden.stylesheet :refer [rule]]))
(def textcolor-main "rgba(0, 0, 0, 0.87)")
(def textcolor-main "rgba(255, 255, 255, 0.87)")
(defstyles base
; normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
@ -36,35 +36,35 @@
:flex-wrap "wrap"
:justify-content "center"
:color textcolor-main
:background-color "#ffead1"
:background-color "#1e1e1e"
:font-family "'Ubuntu', sans-serif"
:font-size "16px"
:line-height 1.2}]
[:a {:text-decoration "none" :color "#ae3100"}]
[:a {:text-decoration "none" :color "#6cf0c5"}]
["a:link"]
["a:visited" {:color "#932900"}]
["a:visited" {:color "#25d99e"}]
["a:hover"]
["a:active"]
[".date, .modified, .ttr" {:color "rgba(0, 0, 0, 0.67)" :text-align "right"}]
[".date, .modified, .ttr" {:color "rgba(255, 255, 255, 0.67)" :text-align "right"}]
[:.other-stuff
{:margin-top "4em"}
[:img {:float "left" :max-width "250px" :margin-right "40px"}]]
["code, pre" {:font-size "0.95em" :font-family "'Ubuntu Mono', monospace"}]
["pre, :not(pre) > code" {:background-color "rgba(0, 0, 0, 0.15)" :overflow-x "auto"
["pre, :not(pre) > code" {:background-color "rgba(255, 255, 255, 0.15)" :overflow-x "auto"
:border-radius "10px"
:padding "3px"
:margin "-3px 0"}]
[:a.home {:font-size "1.2em" :margin "0 20px"}]
[:a.home {:font-size "1.2em" :margin "0 20px 2em 20px"}]
[:.name {:padding "10px 0" :font-size "1.2em"}]
[:.publication [:p [:a {:padding "0 10px"}]]]
[:.publication [:div {:padding ".2em 10px .2em 30px"}]]
;; Create a separator between publications with the border
[".publication:not(:last-child)" {:border-bottom "1px solid black"}]
[".publication:not(:last-child)" {:border-bottom "1px solid white"}]
;;
[:.conf {:font-size "14px" :color "rgba(0, 0, 0, 0.70)"}]
[:.conf {:font-size "14px" :color "rgba(255, 255, 255, 0.70)"}]
[:.spacer {:height "2rem"}])