summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.nix/derivation.nix5
-rw-r--r--content/content.yaml88
-rw-r--r--settings.yaml15
-rw-r--r--templates/cv.typ169
5 files changed, 276 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a136337
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.pdf
diff --git a/.nix/derivation.nix b/.nix/derivation.nix
index 8c33c6f..93437eb 100644
--- a/.nix/derivation.nix
+++ b/.nix/derivation.nix
@@ -1,5 +1,6 @@
{ lib
, stdenv
+, typst
, python3
, python3Packages
}:
@@ -9,8 +10,8 @@ stdenv.mkDerivation {
version = "0.0.0";
nativeBuildInputs = [
- python3
- ];
+ typst
+ ];
src = ./..;
}
diff --git a/content/content.yaml b/content/content.yaml
new file mode 100644
index 0000000..8f4fddc
--- /dev/null
+++ b/content/content.yaml
@@ -0,0 +1,88 @@
+contacts:
+ name: Claudius Holeksa
+ title: HPC Scientist
+ email: mail@keldu.de
+ phone: "+49 16344585 90"
+ address: "Germany, 76137 Karlsruhe, Wilhelmstr. 35-39"
+ linkedin: "https://www.linkedin.com/in/claudius-holeksa-0b1a5b126/"
+ nationality: German
+
+skills:
+ - name: Programming Languages
+ items:
+ - Python
+ - C++
+ - C
+ - name: Software Development
+ items:
+ - CI
+ - Template Meta-Programming
+ - Compile-Time Algorithms
+ - C++-Native Type Reflection
+ - Async Programming
+ - Protocol Design
+ - Git
+ - name: OS
+ items:
+ - Debian
+ - NixOS
+ - name: Languages
+ items:
+ - German - Native
+ - English - Fluent
+ - Polish - Conversational
+ - Spanish - Basic
+
+jobs:
+ - position: Research Scientist
+ company:
+ name: KIT
+ link: https://kit.edu/
+ description:
+ - Working on the WarmWorld Project to transform the aging weather and climate simulation software ICON into a more modern software framework.
+ from: "2022 April."
+ to: "now"
+ tags:
+ - hpc, system architecture, software design, package maintainance, ci, project owner
+ - position: Research Assistant
+ company:
+ name: KIT
+ link: https://kit.edu
+ description:
+ - Continued work on my master's thesis topic in the framework openlb where I finished integration of 2-phase fluid-gas simulation.
+ from: "2021 October."
+ to: "2022 January."
+ tags:
+ - cfg, lbm
+ - position: Intern
+ company:
+ name: FZI
+ link: https://fzi.de
+ description:
+ - Working on optimization and algorithm design within autonomous driving research software.
+ from: "2021 April."
+ to: "2021 Mai."
+ tags:
+ - ai, autonomous driving
+
+education:
+ - university:
+ name: Karlsruhe Institute of Technology
+ link: "https://kit.edu/"
+ degree: "M.Sc."
+ major:
+ Applied Mathematics (Technomathematik)
+ track:
+ Numerical simulation / LBM-CFD
+ from: "2017"
+ to: "2021"
+ - university:
+ name: Karlsruhe Institute of Technology
+ link: "https://kit.edu/"
+ degree: "B.Sc."
+ major:
+ Mathematics
+ track:
+ Computational Math
+ from: "2011"
+ to: "2016"
diff --git a/settings.yaml b/settings.yaml
new file mode 100644
index 0000000..0b562c6
--- /dev/null
+++ b/settings.yaml
@@ -0,0 +1,15 @@
+font:
+ size:
+ heading_huge: 19pt
+ heading_large: 16pt
+ heading: 13pt
+ description: 8pt
+ tags: 8pt
+ education_description: 8pt
+ contacts: 8pt
+ general: "Helvetica Neue"
+ minor_highlight: "Helvetica Neue"
+
+paragraph:
+ # Distance between lines
+ leading: 4pt
diff --git a/templates/cv.typ b/templates/cv.typ
new file mode 100644
index 0000000..e3c7378
--- /dev/null
+++ b/templates/cv.typ
@@ -0,0 +1,169 @@
+#let configuration = yaml("../content/content.yaml")
+#let settings = yaml("../settings.yaml")
+
+#show link: set text(blue)
+
+#show heading: h => [
+ #set text(
+ size: eval(settings.font.size.heading_large),
+ font: settings.font.general
+ )
+ #h
+]
+
+#let sidebarSection = {[
+ #par(justify: true)[
+
+ #par[
+ #set text(
+ size: eval(settings.font.size.contacts),
+ font: settings.font.minor_highlight,
+ )
+
+ Email: #link("mailto:" + configuration.contacts.email) \
+ Phone: #link("tel:" + configuration.contacts.phone) \
+ LinkedIn: #link(configuration.contacts.linkedin)[#configuration.contacts.name] \
+
+ #configuration.contacts.address
+ ]
+ #line(length: 100%)
+ ]
+
+ = Summary
+
+ #par[
+ #set text(
+ eval(settings.font.size.education_description),
+ font: settings.font.minor_highlight,
+ )
+ An experienced *software engineer* with a confident grasp of *protocols*, *infrastructure*, *system design* and *fluid dynamics*, seeking opportunities for research I can take pride in.
+
+ Open to roles in research.
+ ]
+
+ = Education
+
+ #{
+ for place in configuration.education [
+ #par[
+ #set text(
+ size: eval(settings.font.size.heading),
+ font: settings.font.general
+ )
+ #place.from – #place.to \
+ #link(place.university.link)[#place.university.name]
+ ]
+ #par[
+ #set text(
+ eval(settings.font.size.education_description),
+ font: settings.font.minor_highlight,
+ )
+ #place.degree #place.major \
+ #place.track track
+ ]
+ ]
+ }
+
+ = Skills
+
+ #{
+ for skill in configuration.skills [
+ #par[
+ #set text(
+ size: eval(settings.font.size.description),
+ )
+ #set text(
+ // size: eval(settings.font.size.tags),
+ font: settings.font.minor_highlight,
+ )
+ *#skill.name*
+ #linebreak()
+ #skill.items.join(" • ")
+ ]
+ ]
+ }
+]}
+
+#let mainSection = {[
+
+ // #par[
+ // #set align(center)
+ // #figure(
+ // image("images/Kodak 20 Zanvoort Lumi.jpg", width: 6em),
+ // placement: top,
+ // )
+ // ]
+
+ #par[
+ #set text(
+ size: eval(settings.font.size.heading_huge),
+ font: settings.font.general,
+ )
+ *#configuration.contacts.name*
+ ]
+
+ #par[
+ #set text(
+ size: eval(settings.font.size.heading),
+ font: settings.font.minor_highlight,
+ top-edge: 0pt
+ )
+ #configuration.contacts.title
+ ]
+
+ = Experience
+
+ #{
+ for job in configuration.jobs [
+ #par(justify: false)[
+ #set text(
+ size: eval(settings.font.size.heading),
+ font: settings.font.general
+ )
+ #job.from – #job.to \
+
+ *#job.position*
+ #link(job.company.link)[\@ #job.company.name]
+ ]
+ #par(
+ justify: false,
+ leading: eval(settings.paragraph.leading)
+ )[
+ #set text(
+ size: eval(settings.font.size.description),
+ font: settings.font.general
+ )
+ #{
+ for point in job.description [
+ #h(0.5cm) • #point \
+ ]
+ }
+ ]
+ #par(
+ justify: true,
+ leading: eval(settings.paragraph.leading),
+ )[
+ #set text(
+ size: eval(settings.font.size.tags),
+ font: settings.font.minor_highlight
+ )
+ #{
+ let tag_line = job.tags.join(" • ")
+ tag_line
+ }
+ ]
+ ]
+ }
+
+
+
+]}
+
+#{
+ grid(
+ columns: (2fr, 5fr),
+ column-gutter: 3em,
+ sidebarSection,
+ mainSection,
+ )
+}