1
0
Fork 0

Revised style & content

This commit is contained in:
Kaan Genç 2020-09-18 00:03:34 -04:00
parent 0eda7a2685
commit 3d080ecacf
8 changed files with 254 additions and 35 deletions

0
.nojekyll Normal file
View File

View File

@ -2,28 +2,33 @@
:source-paths #{"src"}
:resource-paths #{"content"}
:dependencies '[[perun "0.4.3-SNAPSHOT" :scope "test"]
[deraen/boot-livereload "0.2.1" :scope "test"]
[hiccup "1.0.5" :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]]])
(require '[io.perun :as perun]
'[deraen.boot-livereload :refer [livereload]]
'[pandeiro.boot-http :refer [serve]]
'[org.martinklepsch.boot-garden :refer [garden]]
'[site.core])
(deftask build-website []
(comp (perun/markdown)
(deftask build []
(comp (perun/pandoc)
(perun/highlight)
(sift :to-resource #{#"^img/(.*)"})
(sift :move {#"^img/(.*)" "public/img/$1"})
(sift :to-resource #{#"^extra/(.*)"})
(sift :move {#"^extra/(.*)" "public/extra/$1"})
(garden :styles-var 'site.styles/base :output-to "public/main.css")
(perun/render :renderer 'site.core/page)
(perun/sitemap :filename "sitemap.xml")))
(perun/sitemap :filename "sitemap.xml")
(sift :move {#"^public/(.*)" "$1"})))
(deftask serve-website []
(comp (livereload)
(build-website)
(serve :port 8000 :resource-root "public")
; (repl)
(wait)))
(deftask dev []
(comp (watch)
(build)
(serve :port 8000 :resource-root "public")))
(deftask compile-website []
(comp (build-website)
(target)))
(deftask publish []
(comp (build)
(target :dir #{"docs"})))

View File

@ -0,0 +1,94 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
zuxCcj3Ubrs=
=IrBB
-----END PGP PUBLIC KEY BLOCK-----

BIN
content/img/game-cover.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
content/img/profile.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,17 +1,80 @@
# Kaan Genç
# Research Interests
## Research Interests
My research interests include programming languages, persistent memory (NVM),
dynamic program analysis, and data race detection.
* Programming languages
* Dynamic analysis
* Persistent memory
* Race detection
I am currently working on novel methods for providing efficient persistent
transactions with strong guarantees. Our work uses non-volatile memory, such as
Intel Optane Memory, combined with commodity hardware transactional memory to
allow programs to survive power interruptions and crashes, with minimal
performance and scalability impacts.
## Publications
# Publications
* Dependence Aware, Predictive Unbounded Predictive Race Detection, OOPSLA 2019.
* Vindicator, PLDI 2018.
<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>
## Teaching Experience
[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)
</div>
Advanced C Programming, Autumn 2017 & Spring 2018 @ The Ohio State Univerity.
<div class="publication">
## Dependence Aware, Predictive Unbounded 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)
</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/~bond.213/vindicator-pldi-2018.pdf) [Extended Paper](http://web.cse.ohio-state.edu/~bond.213/vindicator-pldi-2018-xtr.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>
# Teaching Experience
During Autumn 2017 and Spring 2018 semesters, I had the opportunity to teach the
class [CSE
2451](http://coe-portal.cse.ohio-state.edu/pdf-exports/CSE/CSE-2451.pdf),
Advanced C Programming, at the Ohio State Univerity. The class had around 35
students enrolled for both semesters. I was given the full responsibilities for
the class, including teaching the class, writing assignments and exams, grading,
and holding office hours. I revised the course material I was given, making it
more comprehensive and adding unique insights on building and optimizing
advanced C programs.
The students were satisfied with my teaching, with my Student Evaluation of
Instruction mean scores being 4.6 and 4.4 out of 5 for both semesters, a score
above the university mean for classes of similar size.
# Activities
[OOPSLA 2020](https://2020.splashcon.org/track/splash-2020-Artifacts) Artifact 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>
On my free time, I develop small indie video games and release them open source.
</div>

View File

@ -2,17 +2,24 @@
(:require [hiccup.page :as hp]
[garden.core :as gc]))
(def textcolor-main "rgba(0, 0, 0, 0.87)")
(def css
(gc/css
[:body
{:max-width "600px"
:color textcolor-main}]
))
(defn page [data]
(hp/html5
[:head [:style css]]
[:div
[:head
[:meta {:charset "utf-8"}]
[:link {:rel "stylesheet" :href "main.css"}]]
[:link {:href
"https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,400;0,700;1,400;1,700&display=swap"
:rel "stylesheet"}]
(when (= "index" (-> data :entry :slug))
[:div.sidebar.column
[: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"]
[:span [:a.email {:href "mailto:genc.5@osu.edu"} "genc.5@osu.edu"] [:a.gpg {:href "/extra/kaangenc.gpg"} "GPG key"]]
[:a.github {:href "https://github.com/SeriousBug"} "Github"]
[:a.researchr {:href "https://conf.researchr.org/profile/kaangenc"} "Researchr"]])
[:div.main.column
(-> data :entry :content)]))

50
src/site/styles.clj Normal file
View File

@ -0,0 +1,50 @@
(ns site.styles
(:require [garden.def :refer [defrule defstyles]]
[garden.stylesheet :refer [rule]]))
(def textcolor-main "rgba(0, 0, 0, 0.87)")
(defstyles base
[:.main
{:max-width "600px"}]
[:h1 {:font-size "1.5em"}]
["h1:not(:first-child)" {:margin-top "2em"}]
[:h2 {:font-size "1.3em"}]
[:h3 {:font-size "1.15em"}]
["img, .img" {:border-radius "5px"}]
[:.sidebar
{:max-width "300px"}
[">a,span" {:display "block" :padding "10px 0"}]
[:.gpg {:font-size "0.8em" :margin-left "20px"}]]
[:.column
{:flex "auto"
:padding "20px"}]
[:.title {:margin-bottom "0.5em"}]
[:body
{:display "flex"
:flex-direction "row"
:flex-wrap "wrap"
:justify-content "center"
:color textcolor-main
:background-color "#ffead1"
:font-family "Ubuntu, sans-serif"
:font-size "16px"
:line-height 1.2}]
[:a {:text-decoration "none" :color "#ae3100"}]
["a:link"]
["a:visited" {:color "#681e00"}]
["a:hover"]
["a:active"]
[:.other-stuff
{:margin-top "4em"}
[:img {:float "left" :max-width "250px" :margin-right "40px"}]]
[:.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"}]
;;
[:.conf {:font-size "14px" :color "rgba(0, 0, 0, 0.70)"}])