add automatic language context, fix french translations on resume
This commit is contained in:
parent
984b7f2641
commit
401803e349
5 changed files with 56 additions and 40 deletions
10
src/main.rs
10
src/main.rs
|
|
@ -14,6 +14,7 @@ async fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
let templates = warp::get()
|
let templates = warp::get()
|
||||||
|
.and(warp::path::param::<String>())
|
||||||
.and(warp::path::tail())
|
.and(warp::path::tail())
|
||||||
.and_then(render_template);
|
.and_then(render_template);
|
||||||
|
|
||||||
|
|
@ -34,13 +35,16 @@ async fn main() {
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn render_template(tail: Tail) -> Result<impl Reply, Rejection> {
|
async fn render_template(lang: String, tail: Tail) -> Result<impl Reply, Rejection> {
|
||||||
let mut path = tail.as_str().to_string();
|
let mut path = format!("{lang}/{}", tail.as_str());
|
||||||
if path.is_empty() || path.ends_with('/') {
|
if path.is_empty() || path.ends_with('/') {
|
||||||
path.push_str("index.html");
|
path.push_str("index.html");
|
||||||
}
|
}
|
||||||
|
|
||||||
match TEMPLATES.render(&path, &Context::new()) {
|
let mut context = Context::new();
|
||||||
|
context.insert("lang", &lang);
|
||||||
|
|
||||||
|
match TEMPLATES.render(&path, &context) {
|
||||||
Ok(html) => Ok(warp::reply::html(html)),
|
Ok(html) => Ok(warp::reply::html(html)),
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
eprintln!("Tera error: {}", e);
|
eprintln!("Tera error: {}", e);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{% macro meta(title, lang) %}
|
{% macro meta(title) %}
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="{{ lang }}">
|
<html lang="{{ lang }}">
|
||||||
<head>
|
<head>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{% import "common.html" as common %}
|
{% import "common.html" as common %}
|
||||||
{{ common::meta(title="Spencer Whitehead - Resume", lang="en") }}
|
{{ common::meta(title="Spencer Whitehead - Resume") }}
|
||||||
<body>
|
<body>
|
||||||
{{ common::nav() }}
|
{{ common::nav() }}
|
||||||
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
<article>
|
<article>
|
||||||
<p><strong>Software Engineering Intern</strong>, Citadel Enterprise, January 2020 – April 2020</p>
|
<p><strong>Software Engineering Intern</strong>, Citadel Enterprise, January 2020 – April 2020</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Developed C++ data pipelines to parse and archive data streams from Thompson Reuters.</li>
|
<li>Developed C++ data pipelines to parse and archive data streams from Thomson Reuters.</li>
|
||||||
<li>Handled over 300GB per day of market data at the height of the market impact of COVID-19.</li>
|
<li>Handled over 300GB per day of market data at the height of the market impact of COVID-19.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
@ -83,17 +83,17 @@
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Leadership and Professional Service</h2>
|
<h2>Leadership and Professional Service</h2>
|
||||||
<p>Steward, Duke Graduate Students Union, Fall 2025 - present</p>
|
<p><strong>Steward</strong>, Duke Graduate Students Union, Fall 2025 - present</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Mediated workplace disputes and represented graduate workers in grievance proceedings.</li>
|
<li>Mediated workplace disputes and represented graduate workers in grievance proceedings.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>President, AMS Student Chapter, 2024-25 academic year</p>
|
<p><strong>President</strong>, Duke AMS Student Chapter, 2024-25 academic year</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Organized and hosted the Triangle Area Graduate Mathematics Seminar with NC State University and UNC Chapel Hill at Duke, February 2025.</li>
|
<li>Organized and hosted the Triangle Area Graduate Mathematics Seminar with NC State University and UNC Chapel Hill at Duke, February 2025.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Graduate student representative, Duke Mathematics Departmental Teaching Committee, Fall 2023 - present</p>
|
<p><strong>Graduate student representative</strong>, Duke Mathematics Departmental Teaching Committee, Fall 2023 - present</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Performed annual interviews and advocated for graduate interests in departmental teaching decisions.</li>
|
<li>Performed annual interviews and advocated for graduate interests in departmental teaching decisions.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
@ -113,10 +113,15 @@
|
||||||
<article>
|
<article>
|
||||||
<h3>Supervision</h3>
|
<h3>Supervision</h3>
|
||||||
<p><strong>Duke Math+ program</strong> (joint with Biji Wong, Gregory Herschlag), Spring 2026</p>
|
<p><strong>Duke Math+ program</strong> (joint with Biji Wong, Gregory Herschlag), Spring 2026</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
<p>Supervised four undergraduate students in a project on the application of diffusion maps and machine learning to graph partition problems, with a focus on the study of gerrymandering.</p>
|
<p>Supervised four undergraduate students in a project on the application of diffusion maps and machine learning to graph partition problems, with a focus on the study of gerrymandering.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
<p><strong>MITACS internship program</strong> (joint with Benoit Charbonneau), Spring 2022</p>
|
<p><strong>MITACS internship program</strong> (joint with Benoit Charbonneau), Spring 2022</p>
|
||||||
<p>Supervised two undergraduate students in a computational project on low-dimensional optimal packing problems</p>
|
<ul>
|
||||||
|
<li><p>Supervised two undergraduate students in a computational project on low-dimensional optimal packing problems.</p></li>
|
||||||
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>To access the English version, click <a href="/en/">here.</a></p>
|
<p>To access the English version, click <a href="/en/">here.</a></p>
|
||||||
<p>Ceci est le site web personnel de Spencer Whitehead.</p>
|
<p>N.B. : ma langue maternelle est l'anglais ; je m'en excuse d'avance pour les éventuelles fautes sur cette page. En cas d'erreur, veuillez m'envoyer un e-mail à <a href="mailto:spencer@firemail.cc">spencer@firemail.cc</a>.</p>
|
||||||
|
|
||||||
|
<p>Ceci est le site web personnel de Spencer Whitehead. Je suis doctorant en quatrième année à l'université Duke. Je m'intéresse à la recherche en géométrie différentielle, particulièrement en dimension 4 et 8. J'étudie aussi les applications des systèmes de calcul formel aux problèmes de géométrie. Je prévois de soutenir ma thèse en avril 2027.</p>
|
||||||
|
<p>
|
||||||
<p><a href="resume/">CV</a></p>
|
<p><a href="resume/">CV</a></p>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -16,18 +16,18 @@
|
||||||
<h2>Education</h2>
|
<h2>Education</h2>
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<p><strong>Doctorant, départment des mathématiques, Université Duke</strong> | septembre 2022 – avril 2027</p>
|
<p><strong>Doctorant, département de mathématiques, Université Duke</strong> | septembre 2022 – avril 2027</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Chercheur de la geometrie de quatre et huit dimensions sous la direction du Pr Mark Stern.</li>
|
<li>Chercheur en géométrie de quatre et huit dimensions sous la direction du Pr Mark Stern.</li>
|
||||||
<li>Membre du programme de certificat en enseignant universitaire, qui sera décerné à la reussit au doctorat.</li>
|
<li>Membre du programme de certificat en enseigement universitaire, qui sera décerné à la réussite du doctorat.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<p><strong>M.Math. en mathématiques pures (thèse du recherche), Université de Waterloo</strong> | octobre 2021 – août 2022</p>
|
<p><strong>M.Math. en mathématiques pures (thèse de recherche), Université de Waterloo</strong> | octobre 2021 – août 2022</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Sous la direction du Pr Benoit Charbonneau.</li>
|
<li>Sous la direction du Pr Benoît Charbonneau.</li>
|
||||||
<li>Titre du thèse : Integrality theorems for symmetric instantons.</li>
|
<li>Titre de la thèse : Integrality theorems for symmetric instantons.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
|
@ -46,24 +46,24 @@
|
||||||
<article>
|
<article>
|
||||||
<p><strong>Stagiaire en ingénierie logicielle</strong>, Citadel Enterprise, janvier 2020 – avril 2020</p>
|
<p><strong>Stagiaire en ingénierie logicielle</strong>, Citadel Enterprise, janvier 2020 – avril 2020</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Developpment de pipelines en C++ pour analyser et archiver donnèes de Thompson Reuters.</li>
|
<li>Développement de pipelines en C++ pour analyser et archiver des données de Thomson Reuters.</li>
|
||||||
<li>Traitment d'en haute de 300GB des donnèes de marché par jour pendant la crise de COVID-19.</li>
|
<li>Traitement en masse de plus de 300 GB de données de marché par jour pendant la crise de COVID-19.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<p><strong>Stagiaire en ingénierie logicielle</strong>, ContextLogic LLC, janvier 2018 – avril 2018</p>
|
<p><strong>Stagiaire en ingénierie logicielle</strong>, ContextLogic LLC, janvier 2018 – avril 2018</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Recherche sur les estimates de délais de livraison qui ont généré 2,5% de profits supplémentaires.</li>
|
<li>Recherche sur les estimations de délais de livraison ayant généré 2,5 % de profits supplémentaires.</li>
|
||||||
<li>Création de reports et tableau de bord Grafana en combinaison des donnèes de MongoDB et TreasureData.</li>
|
<li>Création de rapports et tableau de bord Grafana à partir de données de MongoDB et TreasureData.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<p><strong>Stagiaire en ingénierie logicielle</strong>, Citadel LLC, septembre 2017 – décembre 2017</p>
|
<p><strong>Stagiaire en ingénierie logicielle</strong>, Citadel LLC, septembre 2017 – décembre 2017</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Création et soutien de logiciel de accounting comptabilité pour plus de 100 clients interne.</li>
|
<li>Création et soutien de logiciels de comptabilité pour plus de 100 clients internes.</li>
|
||||||
<li>Conception et implementation des nouveaux formats de réponse, ce qui a reduisé la taille de la réponse 10x et a amelioré la vitesse 5x.</li>
|
<li>Conception et implémentation de nouveaux formats de réponse, ce qui a réduit la taille de la réponse par 10 fois et a amelioré la vitesse par 5 fois.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
|
|
@ -84,19 +84,19 @@
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Leadership et services professionnels</h2>
|
<h2>Leadership et services professionnels</h2>
|
||||||
<p>Délégué syndical, Duke Graduate Students Union, septembre 2025 - à ce jour</p>
|
<p><strong>Délégué syndical</strong>, Duke Graduate Students Union, septembre 2025 - à ce jour</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Mediation de conflits au travail et répresentation des doctorants en procédure de gref.</li>
|
<li>Médiation de conflits au travail et représentation des doctorants en procédure de gref.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Président, Section étudiant de l'American Mathematical Society, année universitaire 2024-25</p>
|
<p><strong>Président</strong>, Section étudiante de l'American Mathematical Society, année universitaire 2024-25</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Organisation du Triangle Area Graduate Mathematics Seminar avec l'Université NC State et l'UNC Chapel Hill à Duke, février 2025.</li>
|
<li>Organisation du Triangle Area Graduate Mathematics Seminar avec l'université d'État de Caroline du Nord et l'université de Caroline du Nord à Chapel Hill, février 2025 à l'université Duke.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>Représentant des doctorants, Duke Mathematics Departmental Teaching Committee, novembre 2023 - à ce jour</p>
|
<p><strong>Représentant des doctorants</strong>, Duke Mathematics Departmental Teaching Committee, novembre 2023 - à ce jour</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Performed annual interviews and advocated for graduate interests in departmental teaching decisions.</li>
|
<li>Réalisation d'entretiens annuels et défense des intérêtes des doctorants dans les décisions d'enseignement départementales.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
@ -114,16 +114,20 @@
|
||||||
<article>
|
<article>
|
||||||
<h3>Direction</h3>
|
<h3>Direction</h3>
|
||||||
<p><strong>Duke Math+ program</strong> (joint with Biji Wong, Gregory Herschlag), mai - août 2026</p>
|
<p><strong>Duke Math+ program</strong> (joint with Biji Wong, Gregory Herschlag), mai - août 2026</p>
|
||||||
<p>Direction de quatres étudiants dans un projet sur l'application de diffusion maps et apprentissage automatique pour rechercher le gerrymandering.</p>
|
<ul>
|
||||||
|
<li><p>Direction de quatre étudiants dans un projet sur l'application de diffusion maps et apprentissage automatique pour étudier le gerrymandering.</p></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<p><strong>MITACS internship program</strong> (joint with Benoit Charbonneau), mai - août 2022</p>
|
<p><strong>MITACS internship program</strong> (joint with Benoît Charbonneau), mai - août 2022</p>
|
||||||
<p>Direction de deux étudiants dans un projet sur le probleme de packing en bas dimension.</p>
|
<ul>
|
||||||
|
<li><p>Direction de deux étudiants dans un projet sur le problème de packing en basse dimension.</p></li>
|
||||||
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<h3>Selected Research Presentations</h3>
|
<h3>Selected Research Presentations</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>[Invité] <em>An asymptotic Nahm transform for Spin(7) instantons.</em> Mathematical Congress of the Americas, Miami, julliet 2025.</li>
|
<li>[Invité] <em>An asymptotic Nahm transform for Spin(7) instantons.</em> Mathematical Congress of the Americas, Miami, juillet 2025.</li>
|
||||||
<li><em>Symmetric instantons.</em> (Poster). Geometric Models of Matter, Leeds, août 2024.</li>
|
<li><em>Symmetric instantons.</em> (Poster). Geometric Models of Matter, Leeds, août 2024.</li>
|
||||||
<li><em>Generalized Pythagorean lutes.</em> Bridges 2022, Helsinki, août 2022.</li>
|
<li><em>Generalized Pythagorean lutes.</em> Bridges 2022, Helsinki, août 2022.</li>
|
||||||
<li><em>Integrality theorems for symmetric instantons.</em> Union College Mathematics Conference, Schenectady, juin 2022.</li>
|
<li><em>Integrality theorems for symmetric instantons.</em> Union College Mathematics Conference, Schenectady, juin 2022.</li>
|
||||||
|
|
@ -133,14 +137,14 @@
|
||||||
<h3>Selected Teaching Experience</h3>
|
<h3>Selected Teaching Experience</h3>
|
||||||
<p><strong>Chargé de cours</strong> MATH 106L (Lab calculus 2), août - décembre 2023, Université Duke</p>
|
<p><strong>Chargé de cours</strong> MATH 106L (Lab calculus 2), août - décembre 2023, Université Duke</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Enseignement et coordination d'un group de 18 étudiants.</li>
|
<li>Enseignement et coordination d'un groupe de 18 étudiants.</li>
|
||||||
<li>Gestion d'une équipe de 4 auxiliaires d'enseignement</li>
|
<li>Gestion d'une équipe de 4 auxiliaires d'enseignement.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><strong>Auxiliaire d'enseignment</strong> CS 246(E) ([Enriched] Object-Oriented Software Development), septembre 2018 - décembre 2019, Université de Waterloo.</p>
|
<p><strong>Auxiliaire d'enseignement</strong> CS 246(E) ([Enriched] Object-Oriented Software Development), septembre 2018 - décembre 2019, Université de Waterloo.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Delivered weekly tutorial lectures for classes of 50+ students.</li>
|
<li>Cours de tutorat hebdomadaires pour des groupes de plus de 50 étudiants.</li>
|
||||||
<li>Creation des devoirs et gestation d'outils logiciels pour evaluer code d'étudiants</li>
|
<li>Création des devoirs et gestion d'outils logiciels pour évaluer le code des étudiants.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</article>
|
</article>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue