diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/build.boot b/build.boot index 0ccf909..92bbfbd 100644 --- a/build.boot +++ b/build.boot @@ -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"}))) diff --git a/content/extra/kaangenc.gpg b/content/extra/kaangenc.gpg new file mode 100644 index 0000000..eb13458 --- /dev/null +++ b/content/extra/kaangenc.gpg @@ -0,0 +1,94 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +zuxCcj3Ubrs= +=IrBB +-----END PGP PUBLIC KEY BLOCK----- diff --git a/content/img/game-cover.jpg b/content/img/game-cover.jpg new file mode 100644 index 0000000..bce97a0 Binary files /dev/null and b/content/img/game-cover.jpg differ diff --git a/content/img/profile.jpg b/content/img/profile.jpg new file mode 100644 index 0000000..10d26a5 Binary files /dev/null and b/content/img/profile.jpg differ diff --git a/content/index.markdown b/content/index.markdown index d2455cf..141d9dd 100644 --- a/content/index.markdown +++ b/content/index.markdown @@ -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. +