99a943eb36
pipeline / build-and-push-images (push) Successful in 3m12s
NuxtJS, Vue, real web app Nuxt content: blog Better mobile/responsive design and practices Better practices overall
223 lines
7.4 KiB
Vue
223 lines
7.4 KiB
Vue
<script setup lang="ts">
|
|
defineOgImageComponent('Site', {
|
|
title: 'CV'
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
|
|
<HeaderBig />
|
|
|
|
<!-- CV -->
|
|
<div class="sm:mt-[100px] sm:mb-[200px] flex flex-col w-fit m-auto">
|
|
|
|
<!-- Professional experience -->
|
|
<div class="sm:mt-[50px] mt-8">
|
|
<h2 style="margin-bottom: 20px;">Professional experience</h2>
|
|
|
|
<div class="grid-flow-col section">
|
|
|
|
<p class="date">2025 - Now</p>
|
|
<p style="max-width: 1015px;"><strong>Sofware engineer</strong>, Canonical, Ubuntu engineering</p>
|
|
<p class="subtext" style="max-width: 1015px;">Working on Ubuntu support for RISC-V architecture</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2025</p>
|
|
<p style="max-width: 1015px;"><strong>Master's internship</strong>, ONERA, “Probabilistic analysis of execution time on multi/manycore heterogeneous boards for optimal task mapping”</p>
|
|
<p class="subtext" style="max-width: 1015px;">Real-time multicore optimal task mapping using a solver that automatically measures a pWCET for a solution on target platform</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">Summer 2023</p>
|
|
<p style="max-width: 1015px;"><strong>Master's internship</strong>, Huawei Research Zurich, “Improving performances of virtualized servers by removing the guest kernel/user isolation layer”</p>
|
|
<p class="subtext">Working on a Linux kernel patch to allow programs to run in kernel mode</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2022 - 2023</p>
|
|
<p style="max-width: 1015px;"><strong>Master's research project</strong>, IRISA (Rennes), “Transparent use of node-local storage for asynchronous I/O on supercomputers”</p>
|
|
<p class="subtext">Library replacing MPI-IO calls, caching data locally, with neighbour communication</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">Summer 2022</p>
|
|
<p style="max-width: 1015px;"><strong>Bachelor's internship</strong>, IRIT (Toulouse), “Reducing traffic in data centers by avoiding the transition of data through intermediate servers”</p>
|
|
<p class="subtext">Library replacing read/write, using memory protection to provide data on-demand</p>
|
|
<div class="entry-sep" />
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Education -->
|
|
<div>
|
|
<h2 style="margin-bottom: 20px;">Education</h2>
|
|
|
|
<div class="section">
|
|
|
|
<p class="date">2024 - 2025</p>
|
|
<p><strong>M2 SIF</strong>, ENS Rennes, Second year of CS Master's Degree (Research)</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2023 - 2024</p>
|
|
<p><strong>Agrégation</strong>, ENS Rennes, Preparation for national competitive exam</p>
|
|
<p class="subtext">'Agrégé' in computer science, rank 14/22</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2022 - 2023</p>
|
|
<p><strong>M1 SIF</strong>, ENS Rennes, First year of CS Master's Degree (Research)</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2021 - 2022</p>
|
|
<p><strong>L3 SIF</strong>, ENS Rennes, Last year of CS Bachelor's Degree</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2018 - 2021</p>
|
|
<p style="max-width: 1015px;"><strong>Prépa</strong>, Lycée Bellevue Toulouse, two-year intensive program preparing
|
|
for the national competitive exams for entry to engineering schools.</p>
|
|
<p class="subtext">Prépa MPSI/MP, entry to ENS Rennes</p>
|
|
<div class="entry-sep" />
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Personal projects -->
|
|
<div class="sm:mt-12 mt-5">
|
|
<h2 style="margin-bottom: 20px;">Personal projects</h2>
|
|
|
|
<div class="section">
|
|
|
|
<p class="date">2023 - 2024</p>
|
|
<p style="max-width: 1015px;"><a href="https://git.vhaudiquet.fr/vhaudiquet/vriscv/" target="_blank" rel="noopener noreferrer"><strong>RISC-V simulator</strong></a></p>
|
|
<p class="subtext">Basic RISC-V processor simulator, capable of running BBL and booting Linux</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2022 - 2023</p>
|
|
<p style="max-width: 1015px;"><strong>Java Virtual Machine implementation</strong>, school project</p>
|
|
<p class="subtext">Basic C JVM for GNU/Linux, Java 8 specs, using OpenJRE runtime</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2018 - Now?</p>
|
|
<p style="max-width: 1015px;"><a href="https://github.com/vhaudiquet/BladePlayer/" target="_blank" rel="noopener noreferrer"><strong>Blade Player</strong></a>, Android multi-source music player</p>
|
|
<p class="subtext">Maintaining for 100+ users this Android application that plays music from Spotify or Deezer</p>
|
|
<div class="entry-sep" />
|
|
|
|
<p class="date">2018 - 2020</p>
|
|
<p style="max-width: 1015px;"><a href="https://github.com/vhaudiquet/vk/" target="_blank" rel="noopener noreferrer"><strong>Operating system kernel development</strong></a>,x86 architecture</p>
|
|
<p class="subtext">Basic operating system kernel, with drivers, filesystem, Newlib ported, dash shell</p>
|
|
<div class="entry-sep" />
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Skills -->
|
|
<div class="sm:mt-12 mt-5">
|
|
<h2 style="margin-bottom: 20px;">Skills</h2>
|
|
|
|
<div class="section">
|
|
|
|
<p style="margin-left: 10px; font-weight: 500; grid-column: 1;">Programming languages</p>
|
|
<p class="sm:col-start-2 col-start-1" style="max-width: 900px;">C, Assembly (x86, RISC-V, ARM), Java, TypeScript/JavaScript, Kotlin, Python, OCaml</p>
|
|
|
|
<p style="margin-left: 10px; font-weight: 500;">DevOps / Workflow</p>
|
|
<p>Linux, Bash, Git, CI/CD, Docker, Kubernetes, virtual machines</p>
|
|
|
|
<p style="margin-left: 10px; font-weight: 500;">Presentation tools</p>
|
|
<p>LaTeX, Figma, HTML/CSS, Inkscape, Gimp</p>
|
|
|
|
<p style="margin-left: 10px; font-weight: 500;">Spoken languages</p>
|
|
<p>French (native), English (fluent), Spanish (basic)</p>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Contact -->
|
|
<div class="sm:mt-12 mt-5 sm:mb-0 mb-8">
|
|
<h2 style="margin-bottom: 20px;">Contact</h2>
|
|
|
|
<div class="section">
|
|
|
|
<p style="margin-left: 10px; font-weight: 500; grid-column: 1;">E-Mail</p>
|
|
<a href="mailto:valentin.haudiquet@ens-rennes.fr" style="grid-column: 2;"><p style="grid-column: 2;">valentin.haudiquet@ens-rennes.fr</p></a>
|
|
|
|
<p style="margin-left: 10px; font-weight: 500;">Website</p>
|
|
<a href="https://vhaudiquet.fr" target="_blank" rel="noopener noreferrer"><p>https://vhaudiquet.fr</p></a>
|
|
|
|
<p style="margin-left: 10px; font-weight: 500;">Phone number</p>
|
|
<p>+33 7 87 18 09 65</p>
|
|
|
|
<p style="margin-left: 10px; font-weight: 500;">Street address</p>
|
|
<p>30 rue Achille Viadieu, 31400 Toulouse, France</p>
|
|
|
|
<p style="margin-left: 10px; font-weight: 500;">GitHub</p>
|
|
<a href="https://github.com/vhaudiquet/" target="_blank" rel="noopener noreferrer"><p>vhaudiquet</p></a>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<style lang="css" scoped>
|
|
|
|
.section {
|
|
display: grid;
|
|
grid-auto-flow: row;
|
|
column-gap: 50px;
|
|
width: fit-content;
|
|
}
|
|
|
|
.date {
|
|
margin-left: 10px;
|
|
|
|
font-style: italic;
|
|
}
|
|
|
|
.subtext {
|
|
font-weight: 200;
|
|
font-size: 26px;
|
|
grid-column: 2;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 40px;
|
|
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
p {
|
|
font-size: 30px;
|
|
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.entry-sep {
|
|
grid-column: 2;
|
|
}
|
|
|
|
@media only screen and (max-width: 450px) {
|
|
h2 {
|
|
font-size: 30px;
|
|
margin-top: 2px;
|
|
margin-bottom: 2px;
|
|
|
|
margin-left: 5px;
|
|
}
|
|
p {
|
|
font-size: 20px;
|
|
margin-left: 10px;
|
|
|
|
margin-top: 0px;
|
|
margin-bottom: 0px;
|
|
}
|
|
.subtext {
|
|
grid-column: 1;
|
|
font-size: 18px;
|
|
margin-left: 10px;
|
|
}
|
|
.entry-sep {
|
|
grid-column: 1;
|
|
margin-top: 20px;
|
|
margin-top: 20px;
|
|
}
|
|
}
|
|
|
|
</style> |