update website
This commit is contained in:
parent
54cf2cc4dc
commit
e08cf8895f
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
.clj-kondo
|
||||
.lsp
|
||||
.calva
|
6
.vscode/tasks.json
vendored
6
.vscode/tasks.json
vendored
|
@ -8,6 +8,12 @@
|
|||
"type": "shell",
|
||||
"command": "boot publish",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "dev",
|
||||
"type": "shell",
|
||||
"command": "boot dev",
|
||||
"problemMatcher": []
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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]]])
|
||||
|
|
|
@ -1 +1 @@
|
|||
kaangenc.me
|
||||
bgenc.net
|
Binary file not shown.
|
@ -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
68
content/publications.md
Normal 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
|
|
@ -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)])))
|
||||
|
||||
|
||||
|
|
|
@ -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"}])
|
||||
|
|
Loading…
Reference in a new issue