From e08cf8895fb9bc948c47e9c9f94bb99835e01dbd Mon Sep 17 00:00:00 2001 From: Kaan Genc Date: Sat, 1 Jan 2022 03:50:09 -0500 Subject: [PATCH] update website --- .gitignore | 3 + .vscode/tasks.json | 6 ++ build.boot | 4 +- content/CNAME | 2 +- content/extra/kaangenc.gpg | Bin 5877 -> 4648 bytes content/index.markdown | 136 +++---------------------------------- content/publications.md | 68 +++++++++++++++++++ src/site/core.clj | 18 ++--- src/site/styles.clj | 18 ++--- 9 files changed, 104 insertions(+), 151 deletions(-) create mode 100644 .gitignore create mode 100644 content/publications.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fa95ecb --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.clj-kondo +.lsp +.calva \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 13441a8..11c8f7d 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -8,6 +8,12 @@ "type": "shell", "command": "boot publish", "problemMatcher": [] + }, + { + "label": "dev", + "type": "shell", + "command": "boot dev", + "problemMatcher": [] } ] } \ No newline at end of file diff --git a/build.boot b/build.boot index b855c17..03fc45f 100644 --- a/build.boot +++ b/build.boot @@ -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]]]) diff --git a/content/CNAME b/content/CNAME index c5027af..4469a2c 100644 --- a/content/CNAME +++ b/content/CNAME @@ -1 +1 @@ -kaangenc.me \ No newline at end of file +bgenc.net \ No newline at end of file diff --git a/content/extra/kaangenc.gpg b/content/extra/kaangenc.gpg index eb134584ebe7f6973f5af443819dedbcdd5236cf..3423016aa618b176d61674ba4a09bd9a19bd0441 100644 GIT binary patch literal 4648 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 literal 5877 zcmaJ_#}b6tk-YO2x)Tb#JLrJ-w(&Py<7qq%U%x#wyOP$#67eqhcvYE|nScNL@8CpP zwf^SF&flDXGgSU>x|sZpGi+Y}?2(i zeP(T_LfC!K8Iz#=hGC`xSbD`}uUyGc%blyNhwECkiwIPpDVPh07mv0^NC$oji1=l}8dkrinax5#uO0YLcgx4M# z9v4~Ej=VQO5)o{MN=-hNLq3{E9tB|QiWtY4zpAhe=V~FL8z|ds0_ScT&lWt_1S;=- z47PS7fUQlAZSdc!SeE^0qC}`?r}f!1oJz*3tXXdD9nw_46b$dkM@oG_inB}_+vvzR zf#vey&^u@zA~J`{)lbToVKQqG-G)56?VRZ&*dVSpI|XHAF%LL{S}&Q~c` ztk$mFB=3Blu{x5R8tRvf@Uv*ob4vBNo9~a&-8B)*@28VdK7Jr41ETbH;K1H!R?fx_ z$ye}9l>v&%Xrt>)ELpCc`K1ygvK1ZK`ua0upne9c|5;MtpEZ@Np%{m=j4i&5O4dV> zCX22kL7Cn8^qh6MKI_)3>IQu1H8|y}IeP^Lz`M1=)=9{-z0O~%DAlUKx@z@Xam}(i z?{U@3!0%L^i5z|LJjAny8F zvYQ_qTJMMb?u4k2an(HWhgNS58i5PHkku%KeC%KXF$fb6nYi4TbECiy6|+jq${#Ej z=@J+F#(TxVBw%8+>TyX~q67k|AIwOu>65+l40K^(@QtwOERWIh{OY`UBduHMMXD7l z7lJGvvX7i|Rcc@7*gP}^C`rwA9kn&^tVcq2mEUtQeA^iG8bL3DUOL?6LOmjU)4H$h zO2`-XiNm0hNZQT5D_{g%qY&MZlbe0MtNAp2qd(&doQ>IOUc1pxq^7H?BhqbQOtj_e zbjRbkutF>X-7g@L$wt53Yv*PoiKIgn|3u{vs(+!=3b?btf+LMQ-5+L8mvrcndbpm;LL+55ygmD@ka3?3O>Lp3>i|wG8yE z4k$~{8l`SfV690Dk9Q#hj5?gfx!C2IplFp&G_OXMp}EnFkv?oR-z7T?=E|LLu6V3> zg*w`}y^C{^GY<}K06VL^Rn0;F*T#_X9jjDp9DRC+#z;Ph?X&ERQZ^wHxgb<^bn%Rn zdg|$Hsl8hqSON1If*M1FWX`>Bs~DcDetft5y=xW0S$_%2R9i@2pxEJ({`?g0bawtVzJL2L_asLP?b-8qsml2B2r>(@0JxFra-O9S&^o$lJA zp%Vwl*Gaki0`c5qE@c?E3`rn9r@41*Pf)pBm?1{Hm%nXDog%052sHMM2`GW`ff8#;nf6yF|W0B86I5z4svloXYelPJNGCvEmyx+^L+r%=zC((Jg?pz1s55Gw8R zZK6qj(&h9JQb1to(w0e|7hs#qSA1>*tVONEH?{(M;-t8cY9A)8i)k~x1OarMgDVhj z${}jMd8vKx^1{Wb?>K;^-I`%`lSM-+7tKl&)tIF5wX{JzGm4~aC-4bY5|f{05J#r- zeG0qnAV?2y(JD5eQHEy9F8?GJ9W33}ll3!RM*a0V{3AlW?y!b-`o~>h%f%L)OlefNO z5u6NM0brR8wd2LOyzb306AQVau*5<33l3Y4qb%@L#rOQ-42iOaw~noljJ5{Ovy3_x z#S0*l%Za66_~z9hzqgfks=;Zdw9LGO;~5g$&RD@zS!##vs6R;%hE*hT?MF;x_52{f zzkH?-r(#Y!1YkraL>7a`G+QrSNI*a#W&3Sqqn&ROMO2hQB(cN0>w4 zY0VbV6(lA)2eLwfLLkFwSR)PImx#hDyg27k`89@Up>a-2oOhMe%|Zh3pBhkO$4ivi zAItD;q`I$ZpurGFj*J!%NDi3R@K{HHlsW!>}-04d&Y^4LR< zXDO*Ba_~Ww^EOvD#h!Jg5%aIX6Jfxg+VI~lWFV|SXg`vZG(Vs7x3e>hiO0-&si*jk*!az8=xHubrDy_y%LlvVJf6Oj{+fm_|S{g2trO z%QiKvx*o4R*xR`dXad|k;e8Hs51^f&w_-w50e$_cR~v02ux zcoeW-VcQ33%7R*EjQyundm<7OP2I~==A^kA=AVAq-f5&+BKwBC544gML_LjDSeV%Y zFX?rgf%z(@w|&HnuCNIyC*)(8rYHyoSqH1n7_EyMCFK)JCNgJ;IUX$pvi)uh378$E z(6J(`2XOjC~wylml)>ot}VpfgfezMVGgb(~3@&g$`(EO^)ClMf!_G}@#9Kur>s0MY4IZNB zctK4KOW{lQC!0it{6@Wy?cF6dPtgrVp!?1Vy&-=7^v{M-?7FPG?O7nUQ3^K;IaFNH zt8a?#Vm;Pnxz^Qgj;sGLrK8k}A}|wgXQ-@vJkx@@-%{MSpgDR=710tq{D#UV^75rh zygQ6+!gB8K>;Jk3Vu6xpMcMsvAqW4s&};7Ow~bo8Ge_oX{)K9<$+0`_lWZA%;9rX2D)guFO#^YSByB=GVo*c52pHpUOJV9YfI@vTf z^%-FI-bS;DJ*yD9)ra?I&x@bqc3SP1UVLomzHWk8zwsnIPM9(n_+S>ungQ_>F{3^e6nc63jvBppccs1VmjR2{G znXX03Yi0}>eIUf)KvS~$3>P0z(*5ky&co*h?Ktt+DK#`pZ9?Z+8a9%y?-~SJNA6w6 zGEA^<8AiKYehggVK@k5y3ZeI(6sZn;3#{a;8pfhL+p@ybv_2w=-yt&qKD{x_(PcNn zyCz4ng@Rx@gQ}|TbNS5uGyd54igKrhq+^7M?S-xu*|gsCT;2r`NhMZFs*pTdr zYSQSh@)j4jRM3Jm<6QiD~+~ZM{=k7=Q(vFby$VjNU&>?`!NRa7A9)%E zrC0azX!~r8KI6=px%z2)<<0i$u$7+$AT8}?H|H;PW1=wRfv8vFfUTIMUem<$Uq)h7 z=Q7**mcMRw@`(X`On&S3?l+n<;sqRZ0B#~xd^pL)Iv(PkcX)uH%V>A!eBNZH!1XG- zQ)8MR1MKpg=GtOF;lR56{TN_w`>45Zd zXni|jD!-qKj*v2?)DAu~8z6AM!ieKW9_KL(;i08~An)+|_4K=e>t-XK z;khhY6n ztBbZVEvip+T!cOFozmX1V?d?9&J#e1~u|95@(8eS)PzA5wAkz7wDcYAB$EAtFM*?kaGV43NIdPq<7bEWix6myE`xRaN*qB76O-TdD5UYFX6S zSAj9QJ_O=|OLKOCll5Y#AB=zjZMQidy4<|J+l!4mgK+F=`}lbt25pPH25XIOo`Tus u3uRFqP@aV*AHu@03o~;Yc#bb$bXbtD+dqJRs4K?-e@51#CHy~m_J07BU~zr` diff --git a/content/index.markdown b/content/index.markdown index c8859ab..605526d 100644 --- a/content/index.markdown +++ b/content/index.markdown @@ -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 - - -
-## 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/) -
- - -
-## 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) -
- - -
-## 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) -
- - -
-## 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) -
- -
- - - -# Publications - -
-## Crafty: Efficient, HTM-Compatible Persistent Transactions -
Kaan Genç, Michael D. Bond, and Guoqing Harry Xu
-
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020), Online, June 2020
- -[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) -
- - -
-## Dependence Aware, Unbounded Sound Predictive Race Detection -
Kaan Genç, Jake Roemer, Yufan Xu, and Michael D. Bond
-
ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2019), Athens, Greece, October 2019
- -[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) -
- - -
-## SmartTrack: Efficient Predictive Race Detection -
Jake Roemer, Kaan Genç, and Michael D. Bond
-
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020), Online, June 2020
- -[Paper](http://web.cse.ohio-state.edu/~mikebond/smarttrack-pldi-2020.pdf) [Extended Paper](https://arxiv.org/pdf/1905.00494.pdf) -
- - -
-## High-Coverage, Unbounded Sound Predictive Race Detection -
Jake Roemer, Kaan Genç, and Michael D. Bond
-
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2018), Philadelphia, PA, USA, June 2018
- -[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) -
-
- -# 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 - - -
-# Other stuff - - -![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)\ - - -In my free time, I develop small indie video games and release them open source. -
diff --git a/content/publications.md b/content/publications.md new file mode 100644 index 0000000..c6f7b44 --- /dev/null +++ b/content/publications.md @@ -0,0 +1,68 @@ +--- +no-ttr: true +--- + +
+## Crafty: Efficient, HTM-Compatible Persistent Transactions +
Kaan Genç, Michael D. Bond, and Guoqing Harry Xu
+
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020), Online, June 2020
+ +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) +
+ + +
+## Dependence Aware, Unbounded Sound Predictive Race Detection +
Kaan Genç, Jake Roemer, Yufan Xu, and Michael D. Bond
+
ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2019), Athens, Greece, October 2019
+ +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) +
+ + +
+## SmartTrack: Efficient Predictive Race Detection +
Jake Roemer, Kaan Genç, and Michael D. Bond
+
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020), Online, June 2020
+ +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) +
+ + +
+## High-Coverage, Unbounded Sound Predictive Race Detection +
Jake Roemer, Kaan Genç, and Michael D. Bond
+
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2018), Philadelphia, PA, USA, June 2018
+ +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) +
+
+ +# 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 diff --git a/src/site/core.clj b/src/site/core.clj index 71e5f8f..f65418d 100644 --- a/src/site/core.clj +++ b/src/site/core.clj @@ -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)]))) diff --git a/src/site/styles.clj b/src/site/styles.clj index a255a37..cbaf335 100644 --- a/src/site/styles.clj +++ b/src/site/styles.clj @@ -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"}])