/*
 * SPDX-FileCopyrightText: 2023-2024 Kristóf Marussy
 *
 * SPDX-License-Identifier: MIT AND CC-BY-4.0
 */

import { Lock } from '@phosphor-icons/react';
import clsx from 'clsx';

import Section from '@site/src/components/landing/Section';
import Subtitle from '@site/src/components/landing/Subtitle';

import styles from './Resume.module.css';

function ResumeSection({ children }: { children?: React.ReactNode }) {
  return <div className={styles.resume__section}>{children}</div>;
}

function Education() {
  return (
    <ResumeSection>
      <Subtitle icon="🎓">Education</Subtitle>
      <ul className={styles.cv}>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Doctor of Philosophy (PhD)</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2018&ndash;2023</span>
          </p>
          <p>
            <i>Budapest Unversity of Technology and Economics</i>
          </p>
          <p>
            Thesis:{' '}
            <a href="/thesis.pdf">
              <b>
                Abstraction Techniques for the Analysis and Synthesis of
                Critical Cyber-Physical System Architectures
              </b>
            </a>
          </p>
          <p className={styles.cv__muted}>
            <Lock
              weight="bold"
              aria-hidden="true"
              className={styles['thesis-rights__icon']}
            />
            Some poritions exclusively licensed to their original publishers
          </p>
          <div className={styles['thesis-links']}>
            <a
              href="/thesis.pdf"
              className={clsx(
                'button',
                'button--primary',
                styles['thesis-links__link'],
              )}
            >
              Read now
            </a>
            <a
              href="/thesis-booklet-en.pdf"
              className={clsx(
                'button',
                'button--secondary',
                styles['thesis-links__link'],
              )}
            >
              Extended abstract
            </a>
            <a
              href="http://hdl.handle.net/10890/41832"
              className={styles['thesis-links__link']}
            >
              Also available via HDL.NET
            </a>
          </div>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Master of Science (MSc)</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2016&ndash;2018</span>
          </p>
          <p>
            <i>Budapest Unversity of Technology and Economics</i>
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Bachleor of Science (BSc)</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2012&ndash;2016</span>
          </p>
          <p>
            <i>Budapest Unversity of Technology and Economics</i>
          </p>
        </li>
      </ul>
    </ResumeSection>
  );
}

function Experience() {
  return (
    <ResumeSection>
      <Subtitle icon="👨‍💼">Professional experience</Subtitle>
      <ul className={styles.cv}>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Research fellow</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2024&ndash;</span>
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Assistant research fellow</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2020&ndash;2023</span>
          </p>
          <p>
            <i>
              Department of Measurement and Information Systems, Budapest
              University of Technology and Economics, Hungary
            </i>
          </p>
          <ul className={styles.cv__activities}>
            <li className={styles.cv__activity}>
              Performing research and developing tools to address challenges in
              the development of critical systems motivated by case studies and
              collaborations with industry partners
            </li>
            <li className={styles.cv__activity}>
              Created reliability models for{' '}
              <i>distributed railway interlocking systems</i> in a{' '}
              <a href="https://projektek.bme.hu/index.php?site=3_0_0&i=28">
                Hungarian national project
              </a>{' '}
              with{' '}
              <a href="https://www.prolan.hu/" rel="nofollow">
                Prolan Zrt.
              </a>
            </li>
            <li className={styles.cv__activity}>
              Formally verified a <i>critical automotive subsystem</i> in a{' '}
              <a href="https://projektek.bme.hu/index.php?site=3_1_0&i=18">
                Hungarian national project
              </a>{' '}
              with{' '}
              <a href="https://www.thyssenkrupp.hu/en" rel="nofollow">
                thyssenkrupp Ltd.
              </a>
            </li>
          </ul>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Assistant research fellow</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2018&ndash;2019</span>
          </p>
          <p>
            <i>
              <a href="https://web.archive.org/web/20200919160859/https://lendulet.inf.mit.bme.hu/">
                MTA-BME <span lang="hu">Lendület</span> Cyber-Physical Systems
                Research Group
              </a>
            </i>
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Research trainee</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2014-2015</span>
          </p>
          <p>
            <i>
              <a href="https://web.archive.org/web/20150925191035/http://biointelligence.hu/">
                BioIntelligence Research Group,
              </a>{' '}
              <a href="https://semmelweis.hu/genomikai-medicina/en/">
                Institute of Genomic Medicine and Rare Disorders,
              </a>{' '}
              <a href="https://semmelweis.hu/en/">Semmelweis University,</a>{' '}
              Budapest, Hungary
            </i>
          </p>
        </li>
      </ul>
    </ResumeSection>
  );
}

function Awards() {
  return (
    <ResumeSection>
      <Subtitle icon="🏅">Scholarships and awards</Subtitle>
      <ul className={styles.cv}>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            <a href="https://www.unkp.gov.hu/">
              New National Excellence Programme (<span lang="hu">ÚNKP</span>)
            </a>
          </h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2016 (MSc)</span>{' '}
            <span className={styles.cv__time}>2018 (PhD student)</span>{' '}
            <span className={styles.cv__time}>2021 (PhD candidate)</span>{' '}
            <span className={styles.cv__time}>2023 (postdoc)</span>{' '}
          </p>
          <p className={styles.cv__muted}>
            Awarded by the{' '}
            <a href="https://web.archive.org/web/20230531162207/https://nkfih.gov.hu/english/nrdi-fund/new-national-excellence-programme-unkp-23-3/call-for-applications">
              National Research, Development and Innovation Office (NRDI)
            </a>{' '}
            of Hungary to around 700 recipients per year
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            <a href="https://www.mit.bme.hu/events/2023/11/14/schnell-alapitvany-palyazati-felhivasok-2023">
              2023 Josef Heim Award
            </a>
          </h4>
          <p className={styles.cv__muted}>
            Awarded by the{' '}
            <a href="https://www.mit.bme.hu/general/alapitvany">
              László Schell Foundation
            </a>{' '}
            to 1 member of the{' '}
            <i>Department of Measurement and Information Systems</i> per year
            for exceptional work in innovation
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            <a href="https://2021.splashcon.org/track/splash-2021-Artifacts#Chairs-Report">
              OOPSLA 2021 Distinguished Artifact Reviewer
            </a>
          </h4>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            <a href="https://www.mit.bme.hu/node/10575">
              2020 László Schnell Award
            </a>
          </h4>
        </li>
      </ul>
    </ResumeSection>
  );
}

function Visits() {
  return (
    <ResumeSection>
      <Subtitle icon="🏕️">Research visits</Subtitle>
      <ul className={styles.cv}>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Graduate research trainee</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>May&ndash;June 2019</span>{' '}
            <span className={styles.cv__time}>October 2020</span>
          </p>
          <p>
            <i>
              <a href="https://web.archive.org/web/20201124184148/https://www.mcgill.ca/ece/daniel-varro">
                Department of Electrical and Computer Engineering,
              </a>{' '}
              <a href="https://www.mcgill.ca/">McGill Univeristy,</a>{' '}
            </i>
            Montreal, Canada
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Visting researcher</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>March 2019</span>{' '}
          </p>
          <p>
            <i>
              <a href="https://web.archive.org/web/20190430204608/https://people.disim.univaq.it/cortelle/">
                Department of Computer Science and Engineering, and Mathematics,
              </a>{' '}
              <a href="https://www.univaq.it/en/index.php?&lang_s=en">
                University of L'Aquila,
              </a>{' '}
            </i>
            Italy
          </p>
        </li>
      </ul>
    </ResumeSection>
  );
}

function Teaching() {
  return (
    <ResumeSection>
      <Subtitle icon="👨‍🏫">Teaching and mentoring</Subtitle>
      <ul className={styles.cv}>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            Course coordinator of{' '}
            <a href="https://portal.vik.bme.hu/kepzes/targyak/VIMIMB11/hu/">
              Critical Systems Laboratory
            </a>
          </h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2024&ndash;</span>
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Teaching assistant</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>2014&ndash;2023</span>
          </p>
          <ul className={styles.cv__activities}>
            <li className={styles.cv__activity}>
              Courses at the{' '}
              <a href="https://mit.bme.hu">
                Deparment of Measurement and Information Systems
              </a>{' '}
              and the{' '}
              <a href="https://cs.bme.hu">
                Deparment of Computer Science and Information Theory
              </a>
            </li>
            <li className={styles.cv__activity}>
              Including practice and lab sessions in the{' '}
              <a href="https://imsc.vik.bme.hu/">IMsc programme</a> of BME for
              talented BSc students
            </li>
          </ul>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            Supervised BSc and MSc{' '}
            <a href="https://diplomaterv.vik.bme.hu/hu/Supervisors/Marussy-Kristof">
              thesis works
            </a>
          </h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>7 &times; BSc</span>{' '}
            <span className={styles.cv__time}>4 &times; MSc</span>{' '}
            <span className={styles.cv__time}>
              1 &times; MSc{' '}
              <a href="https://www.unkp.gov.hu/" lang="hu">
                ÚNKP
              </a>{' '}
              student research
            </span>
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            Supervised{' '}
            <a href="https://tdk.bme.hu/Browse/Users/Marussy-Kristof">
              Scientific Students' Association
            </a>{' '}
            research
          </h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>5 &times; 🥇</span>{' '}
            <span className={styles.cv__time}>4 &times; 🥈</span>{' '}
            <span className={styles.cv__time}>1 &times; 🥉</span>{' '}
            <span className={styles.cv__time}>1 &times; merit</span>
            at university level
          </p>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>1 &times; 🥈</span>{' '}
            <span className={styles.cv__time}>1 &times; merit</span>
            at national level
          </p>
        </li>
      </ul>
    </ResumeSection>
  );
}

function Service() {
  return (
    <ResumeSection>
      <Subtitle icon="📔">Academic service</Subtitle>
      <ul className={styles.cv}>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Program Committe member</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>
              <a href="https://2023.splashcon.org/committee/splash-2023-oopsla-external-review---artifact-evaluation-committee">
                LLM4MDE &rsquo;24
              </a>
            </span>
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Extended Review Committe member</h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>
              <a href="https://2023.splashcon.org/committee/splash-2023-oopsla-external-review---artifact-evaluation-committee">
                OOPSLA &rsquo;23
              </a>
            </span>{' '}
            <span className={styles.cv__time}>
              <a href="https://2023.ecoop.org/committee/ecoop-2023-research-papers-extended-review-committee">
                ECOOP &rsquo;23
              </a>{' '}
              and{' '}
              <a href="https://2022.ecoop.org/committee/ecoop-2022-papers-extended-review-committee-">
                &rsquo;22
              </a>
            </span>
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>
            Artifact Evaluation Committe member
          </h4>
          <p className={styles.cv__times}>
            <span className={styles.cv__time}>
              <a href="https://2023.splashcon.org/committee/splash-2023-oopsla-external-review---artifact-evaluation-committee">
                OOPSLA &rsquo;23
              </a>{' '}
              and{' '}
              <a href="https://2021.splashcon.org/track/splash-2021-Artifacts">
                &rsquo;21
              </a>
            </span>{' '}
            <span className={styles.cv__time}>
              <a href="https://2023.ecoop.org/committee/ecoop-2023-artifact-evaluation-artifact-evaluation-committee">
                ECOOP &rsquo;23
              </a>{' '}
              and{' '}
              <a href="https://2022.ecoop.org/committee/ecoop-2022-artifacts-artifact-evaluation-committee">
                &rsquo;22
              </a>
            </span>{' '}
            <span className={styles.cv__time}>
              <a href="https://web.archive.org/web/20230209015023/https://fase-conf.github.io/">
                FASE &rsquo;24
              </a>{' '}
              and{' '}
              <a href="https://web.archive.org/web/20230209015023/https://fase-conf.github.io/">
                &rsquo;23
              </a>
            </span>{' '}
            <span className={styles.cv__time}>
              <a href="https://www.etaps.org/user-profile/archive/53-etaps-2022/491-esop-2022-artifact-evaluation.html">
                ESOP &rsquo;22
              </a>
            </span>{' '}
          </p>
        </li>
        <li className={styles.cv__item}>
          <h4 className={styles.cv__title}>Reviewing for journals</h4>
          <ul className={styles.cv__activities}>
            <li
              className={clsx(
                styles.cv__activity,
                styles['cv__activity--tight'],
              )}
            >
              <a
                href="https://www.sciencedirect.com/journal/science-of-computer-programming"
                rel="nofollow"
              >
                Science of Computer Programming
              </a>
            </li>
            <li
              className={clsx(
                styles.cv__activity,
                styles['cv__activity--tight'],
              )}
            >
              <a
                href="https://www.sciencedirect.com/journal/journal-of-logical-and-algebraic-methods-in-programming"
                rel="nofollow"
              >
                Journal of Logical and Algebraic Methods in Programming
              </a>
            </li>
          </ul>
        </li>
      </ul>
    </ResumeSection>
  );
}

export default function Resume() {
  return (
    <Section id="resume" title="Resume">
      <div className="container">
        <div className={styles.resume}>
          <Education />
          <Experience />
          <Awards />
          <Visits />
          <Teaching />
          <Service />
        </div>
      </div>
    </Section>
  );
}
