commit a8df2a94b08694c3196d09f696ae923981e70d81
parent 271ea866a20fe457c6b22f4b15f6c982ba27581a
Author: Silas Brack <silasbrack@gmail.com>
Date: Tue, 7 Apr 2026 00:02:23 +0200
chore: move back to typst
Diffstat:
| M | .gitignore | | | 3 | --- |
| M | flake.nix | | | 2 | +- |
| A | hayagriva.yaml | | | 10 | ++++++++++ |
| D | main.tex | | | 84 | ------------------------------------------------------------------------------- |
| A | main.typ | | | 427 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
5 files changed, 438 insertions(+), 88 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,5 +1,2 @@
-main.aux
-main.log
-main.out
main.pdf
diff --git a/flake.nix b/flake.nix
@@ -9,7 +9,7 @@
in {
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell {
- buildInputs = [ pkgs.texliveSmall ];
+ buildInputs = with pkgs; [ typst ];
};
});
};
diff --git a/hayagriva.yaml b/hayagriva.yaml
@@ -0,0 +1,9 @@
+warburg2023bayesian:
+ type: article
+ title: Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval
+ author:
+ ["Warburg, Frederik", "Miani, Marco", "Brack, Silas", "Hauberg, Søren"]
+ parent:
+ - type: proceedings
+ title: Advances in Neural Information Processing Systems
+ date: 2023
+\ No newline at end of file
diff --git a/main.tex b/main.tex
@@ -1,84 +0,0 @@
-\documentclass[a4paper,11pt]{article}
-
-\usepackage[margin=1cm]{geometry}
-\usepackage{hyperref}
-\usepackage{fontspec}
-\setmainfont{Charter}
-
-\hypersetup{colorlinks=false,pdfborder={0 0 0}}
-\setlength{\parindent}{0pt}
-\pagestyle{empty}
-
-\newcommand{\entry}[4]{%
- \parbox[t]{\linewidth}{%
- \parbox[t]{12cm}{\textbf{#1}}\hfill\parbox[t]{3.8cm}{\raggedleft\textbf{#2}}\\[0.2em]
- \parbox[t]{12cm}{\textit{#3}}\hfill\parbox[t]{3.8cm}{\raggedleft\textit{#4}}}}
-
-\begin{document}
-
-\begin{center}
- {\huge\textbf{SILAS BRACK}}
-
- \vspace{1em}
-
- \textit{Copenhagen, Denmark} \quad
- \href{https://silasbrack.com}{silasbrack.com} \quad
- \href{https://github.com/silasbrack/}{github.com/silasbrack} \quad
- \href{https://linkedin.com/in/silasbrack/}{linkedin.com/in/silasbrack}
-\end{center}
-
-\vspace{1.5em}
-
-\noindent
-\begin{tabular}{@{}p{2.0cm}p{16cm}@{}}
-\textbf{\textsc{Experience}} &
- \entry{AI Research Engineer}{Nov 2025--Present}{Teton.ai --- AI Research and Computer Vision}{Copenhagen, Denmark} \\[0.3em]
- & {\small \textbullet\ Computer vision, transformers, forecasting, embedded machine learning} \\[0.8em]
-
- & \entry{Machine Learning Engineer}{Sep 2021--Oct 2025}{Saxo Bank A/S --- Department of Predictive Models and AI}{Copenhagen, Denmark} \\[0.3em]
- & {\small \textbullet\ Designed, built and deployed a real-time recommendation system serving relevant financial news to clients; to do so, we learn user and content embeddings and perform efficient nearest neighbour retrieval followed by reranking.} \\[0.3em]
- & {\small \textbullet\ Built a RAG-based chatbot yielding a 170\% improvement in question-answering accuracy and decreasing the yearly number of manual agent chats by 20k, saving around \$150k in yearly agent costs.} \\[0.3em]
- & {\small \textbullet\ Built, trained and deployed an NLP-inspired embeddings model for finding similar stocks. As of February 2025, the tool sits at around 110k monthly interactions.} \\
-\end{tabular}
-
-\vspace{1.0em}
-
-\noindent
-\begin{tabular}{@{}p{2.0cm}p{16cm}@{}}
-\textbf{\textsc{Education}} &
- \entry{M.Sc. Mathematical Modelling and Computation}{Sep 2020--Feb 2023}{Technical University of Denmark}{Copenhagen, Denmark} \\[0.3em]
- & {\small \textbullet\ Thesis: ``Effortless Bayesian Deep Learning: Tapping Into the Potential of Modern Optimizers,'' with S{\o}ren Hauberg.} \\
-\end{tabular}
-
-\vspace{1.0em}
-
-\noindent
-\begin{tabular}{@{}p{2.0cm}p{16cm}@{}}
-\textbf{\textsc{Projects}} &
- \entry{Marginal Likelihood Training of Linearized Laplace Approximations}{Sep 2022--Feb 2023}{Supervised by S{\o}ren Hauberg --- DTU Compute}{Copenhagen, Denmark} \\[0.3em]
- & {\small \textbullet\ Developed a novel method for computing the Laplace approximation using only Jacobian-vector products in JAX, implementing posterior sampling (for inference) and the log-determinant (for optimising the marginal likelihood during training) of the Laplace covariance without explicitly instantiating it.} \\[0.8em]
-
- & \entry{Laplace Approximation in Bayesian Metric Learning}{Apr 2022--May 2023}{Supervised by S{\o}ren Hauberg --- DTU Compute}{Copenhagen, Denmark} \\[0.3em]
- & {\small \textbullet\ Developed a method for training Bayesian neural networks in metric learning and demonstrate its effectiveness on small- to large-scale image datasets in yielding well-calibrated uncertainty estimates. We proved that contrastive loss constitutes a valid log-likelihood in spherical space and present a novel decomposition of its Generalized Gauss-Newton (GGN) approximation.} \\[0.3em]
- & {\small \textbullet\ Our paper was accepted to NeurIPS 2023 [1] in New Orleans, which I had the fortune of attending.} \\
-\end{tabular}
-
-\vspace{1.0em}
-
-\noindent
-\begin{tabular}{@{}p{2.0cm}p{16cm}@{}}
-\textbf{\textsc{Skills}} &
- \textbf{Languages}: Python, SQL, C\# \\[0.3em]
- & \textbf{Technology}: Spark, Databricks, Docker, Kubernetes, Airflow, Kafka, Terraform \\[0.3em]
- & \textbf{Modelling}: Gradient boosting (LightGBM), deep learning (PyTorch, JAX), Word2Vec, embeddings, LLMs \\
-\end{tabular}
-
-\vspace{1.0em}
-
-\noindent
-\begin{tabular}{@{}p{2.0cm}p{16cm}@{}}
-\textbf{\textsc{Papers}} &
- [1] F. Warburg, M. Miani, S. Brack, \& S. Hauberg. ``Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval.'' \textit{NeurIPS 2023}. \\
-\end{tabular}
-
-\end{document}
diff --git a/main.typ b/main.typ
@@ -0,0 +1,427 @@
+#set page(
+ paper: "a4",
+ margin: (
+ x: 1.0cm,
+ y: 1.0cm,
+ ),
+)
+#show heading.where(level: 2): set text(size: 12pt)
+#show heading.where(level: 3): set text(size: 12pt)
+#set text(size: 12pt, font: "Cooper Hewitt")
+#set par(
+ first-line-indent: 0pt,
+ spacing: 2.0em,
+ justify: true,
+)
+#show link: underline
+
+#show heading.where(level: 1): set align(center)
+#show heading.where(level: 1): set text(size: 20pt)
+#show heading.where(level: 1): set block(below: 2em)
+
+#align(center)[
+ #grid(rows: (auto,auto),
+ row-gutter: 2em,
+ [#text(size: 16pt)[
+ = SILAS BRACK
+ ]],
+ [
+ #grid(
+ columns: (
+ auto,
+ auto,
+ auto,
+ auto,
+ ),
+ gutter: 1em,
+ [
+ _Copenhagen, Denmark_
+ ],
+ [
+ #link("https://silasbrack.com")[silasbrack.com]
+ ],
+ [
+ #link("https://github.com/silasbrack/")[github.com/silasbrack]
+ ],
+ [
+ #link("https://linkedin.com/in/silasbrack/")[linkedin.com/in/silasbrack]
+ ],
+ )
+ ],
+ // [
+ // #align(
+ // center,
+ // block(width: 10cm)[
+ // #set align(left)
+ // #lorem(24),
+ // ]
+ // )
+ // ],
+ )
+]
+// #box(clip: true, radius: 2.5cm, width: 2.5cm, height: 2.5cm, image("photo.jpg", height: 2.5cm))
+
+
+// Demonstrate soft skills
+// Highlight biggest contributions
+// Quantify contributions
+//
+// Soft Skills
+// - Cooperation
+// - Resilience
+// - Dependability & reliability
+// - Big picture
+// - Customer-oriented
+// - Interdisciplinary communication (technical & non-technical)
+// - Independent
+
+
+#grid(
+ columns: (1fr, 5fr),
+ column-gutter: 1em,
+ [== EXPERIENCE],
+ [
+ #grid(
+ rows: (auto, auto),
+ row-gutter: 0.8em,
+ [
+ #grid(
+ columns: (
+ 3.5fr,
+ 1.5fr,
+ ),
+ align(left)[
+ *AI Research Engineer* \
+ _Teton.ai --- AI Research and Computer Vision_
+ ],
+ align(right)[
+ *Nov 2025 -- Present* \
+ _Copenhagen, Denmark_
+ ],
+ )
+ ],
+ text(size: 10pt)[
+ - Computer vision, transformers, forecasting, embedded machine learning
+ ]
+ )
+ #grid(
+ rows: (auto, auto),
+ row-gutter: 0.8em,
+ [
+ #grid(
+ columns: (
+ 3.5fr,
+ 1.5fr,
+ ),
+ align(left)[
+ *Machine Learning Engineer* \
+ _Saxo Bank A/S --- Department of Predictive Models and AI_
+ ],
+ align(right)[
+ *Sep 2021 -- Oct 2025* \
+ // *Apr 2023 -- Present* \
+ _Copenhagen, Denmark_
+ ],
+ )
+ ],
+ text(size: 10pt)[
+ - Designed, built and deployed a real-time recommendation system serving relevant financial news to clients; to do so, we learn user and content embeddings and perform efficient nearest neighbour retrieval followed by reranking.
+ - Built a RAG-based chatbot yielding a 170\% improvement in question-answering accuracy and decreasing the yearly number of manual agent chats by 20k, saving around \$150k in yearly agent costs.
+ - Built, trained and deployed an NLP-inspired embeddings model for finding similar stocks. As of February 2025, the tool sits at around 110k monthly interactions. // This was the first client-facing machine learning tool my team deployed. // [Gensim, Kubernetes, FastAPI, OpenAPI]
+ ]
+ )
+ ]
+)
+
+#grid(
+ columns: (1fr, 5fr),
+ column-gutter: 1em,
+ [== EDUCATION],
+ [
+ #grid(
+ rows: (auto, auto),
+ row-gutter: 0.8em,
+ [
+ #grid(
+ columns: (
+ 3.5fr,
+ 1.5fr,
+ ),
+ align(left)[
+ *M.Sc. Mathematical Modelling and Computation* \
+ _Technical University of Denmark_
+ ],
+ align(right)[
+ *Sep 2020 -- Feb 2023* \
+ _Copenhagen, Denmark_
+ ],
+ )
+ ],
+ text(size: 10pt)[
+ // - Specialisation in _machine learning and signal processing_.
+ - Thesis: "Effortless Bayesian Deep Learning: Tapping Into the Potential of Modern Optimizers," with Søren Hauberg.
+ // - Published a paper to NeurIPS 2023
+ ]
+ )
+ // #grid(
+ // rows: (auto, auto),
+ // row-gutter: 0.8em,
+ // [
+ // #grid(
+ // columns: (
+ // 3.5fr,
+ // 1.5fr,
+ // ),
+ // align(left)[
+ // *B.Sc. General Engineering* \
+ // _Technical University of Denmark_
+ // ],
+ // align(right)[
+ // *Sep 2017 -- Aug 2020* \
+ // _Copenhagen, Denmark_
+ // ],
+ // )
+ // ],
+ // text(size: 10pt)[
+ // // - Specialisation in _cyber materials_.
+ // - Thesis: "Membrane Capacitive Desalination," with Johan Hjelm
+ // ]
+ // )
+ ]
+)
+
+#grid(
+ columns: (1fr, 5fr),
+ column-gutter: 1em,
+ [== PROJECTS],
+ [
+ #grid(
+ rows: (auto, auto),
+ row-gutter: 0.8em,
+ [
+ #grid(
+ columns: (
+ 3.5fr,
+ 1.5fr,
+ ),
+ align(left)[
+ * Marginal Likelihood Training of Linearized Laplace Approximations Without Hessian Reductions* \
+ _Supervised by Søren Hauberg --- DTU Compute_
+ ],
+ align(right)[
+ * Sep 2022 -- Feb 2023* \
+ _Copenhagen, Denmark_
+ ],
+ )
+ ],
+ text(size: 10pt)[
+ - Developed a novel method for computing the Laplace approximation using only Jacobian-vector products in JAX, implementing posterior sampling (for inference) and the log-determinant (for optimising the marginal likelihood during training) of the Laplace covariance without explicitly instantiating it.
+ ]
+ )
+ #grid(
+ rows: (auto, auto),
+ row-gutter: 0.8em,
+ [
+ #grid(
+ columns: (
+ 3.5fr,
+ 1.5fr,
+ ),
+ align(left)[
+ * Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval* \
+ _Supervised by Søren Hauberg --- DTU Compute_
+ ],
+ align(right)[
+ * Apr 2022 -- May 2023* \
+ _Copenhagen, Denmark_
+ ],
+ )
+ ],
+ text(size: 10pt)[
+ - Developed a method for training Bayesian neural networks in metric learning and demonstrate its effectiveness on small- to large-scale image datasets in yielding well-calibrated uncertainty estimates. We proved that contrastive loss constitutes a valid log-likelihood in spherical space and present a novel decomposition of its Generalized Gauss-Newton (GGN) approximation.
+ - Our paper was accepted to NeurIPS 2023 @warburg2023bayesian in New Orleans, which I had the fortune of attending.
+ ]
+ )
+ ]
+)
+
+#grid(
+ columns: (1fr, 5fr),
+ column-gutter: 1em,
+ [== SKILLS],
+ [
+ #grid(rows: (auto, auto, auto),
+ row-gutter: 1em,
+ [*Languages*: Python, SQL, C\#],
+ [*Technology*: Spark, Databricks, Docker, Kubernetes, Airflow, Kafka, Terraform],
+ [*Modelling*: Gradient boosting (LightGBM), deep learning (PyTorch, JAX), Word2Vec, embeddings, LLMs]
+ )
+ ]
+)
+
+#grid(
+ columns: (1fr, 5fr),
+ column-gutter: 1em,
+ [== PAPERS],
+ [
+ #bibliography(
+ "hayagriva.yaml",
+ title: none,
+ )
+ ]
+)
+
+// == WORK EXPERIENCE
+// #line(length: 100%)
+
+// #grid(
+// columns: (
+// 7fr,
+// 2fr,
+// ),
+// align(left)[
+// === Machine Learning Engineer \
+// _Saxo Bank A/S --- Department of Predictive Models and AI_
+// ],
+// align(right)[
+// === Apr 2023 -- Aug 2025 \
+// _Copenhagen, Denmark_
+// ],
+// )
+// #text(size: 11pt)[
+// // - Developed a proof of concept of a news agent using RAG and MCP for interacting with financial news and other financial data sources. Automatically generated localised market update articles, saving strats team \~5000 hours a year.
+// - Designed, built and deployed a real-time recommendation system serving relevant financial news to clients; to do so, we learn user and content embeddings and perform efficient nearest neighbour retrieval followed by reranking. Built data pipelines combining batch and streaming jobs and optimized inference latency. Ran A/B tests to improve model. // [Databricks, SynapseML, Onnx, quantization, two-tower, Postgres, OpenAI, HNSW, A/B testing]
+// - Built a RAG-based chatbot yielding a 170\% improvement in question-answering accuracy over an existing solution and decreasing the yearly number of manual agent chats by 20k, saving around \$150k in yearly agent costs.
+// - Built, trained and deployed an NLP-inspired embeddings model for finding similar stocks. As of February 2025, the tool sits at around 110k monthly interactions. // This was the first client-facing machine learning tool my team deployed. // [Gensim, Kubernetes, FastAPI, OpenAPI]
+// ]
+
+// // #grid(
+// // columns: (
+// // 7fr,
+// // 2fr,
+// // ),
+// // align(left)[
+// // === Software Developer, Student Assistant \
+// // _MAN Energy Solutions --- Department of Master Data and Management_
+// // ],
+// // align(right)[
+// // === Apr 2018 -- Sep 2021 \
+// // _Copenhagen, Denmark_
+// // ],
+// // )
+// // #text(size: 11pt)[
+// // - Automated data engineering tasks and data pipelines with ETL jobs using SSIS and Microsoft SQL Server, being responsible for 15--20 jobs.
+// // - Communicated with data cleansing stakeholders to identify and automate the repetitive workflows which led to the most unnecessary time consumption, saving an estimated 1000 person-hours of manual cleansing work.
+// // - Increased fraction of cleansed data from 25% to 50%. Created and maintained over 20 tools for data manipulation and visualisation using C\#.
+// // - Participated in business trips to Greece in order to manage the team's relationship with various stakeholders and align on various projects.
+// // ]
+
+
+// == PROJECTS
+// #line(length: 100%)
+
+// #grid(
+// columns: (
+// 7fr,
+// 2fr,
+// ),
+// align(left)[
+// === Marginal Likelihood Training of Linearized Laplace Approximations Without Hessian Reductions \
+// _Supervised by Søren Hauberg --- DTU Compute_
+// ],
+// align(right)[
+// === Sep 2022 -- Feb 2023 \
+// _Copenhagen, Denmark_
+// ],
+// )
+// #text(size: 11pt)[
+// - Developed a novel method for computing the Laplace approximation using only Jacobian-vector products in JAX, implementing posterior sampling and the log-determinant of the Laplace covariance without explicitly instantiating it.
+// ]
+
+// #grid(
+// columns: (
+// 7fr,
+// 2fr,
+// ),
+// align(left)[
+// === Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval \
+// _Supervised by Søren Hauberg --- DTU Compute_
+// ],
+// align(right)[
+// === Apr 2022 -- May 2023 \
+// _Copenhagen, Denmark_
+// ],
+// )
+// #text(size: 11pt)[
+// - Developed a method for training Bayesian metric learning and demonstrate its effectiveness on small- to large-scale image datasets in yielding well-calibrated uncertainty estimates. We proved that contrastive loss constitutes a valid log-likelihood in spherical space and present a novel decomposition of its Generalized Gauss-Newton (GGN) approximation.
+// - Our paper was accepted to NeurIPS 2023 @warburg2023bayesian in New Orleans, which I had the fortune of attending.
+// ]
+
+
+// == EDUCATION
+// #line(length: 100%)
+
+// #grid(
+// columns: (
+// 7fr,
+// 2fr,
+// ),
+// align(left)[
+// === M.Sc. Mathematical Modelling and Computation \
+// _Technical University of Denmark_
+// ],
+// align(right)[
+// === Sep 2020 -- Feb 2023 \
+// _Copenhagen, Denmark_
+// ],
+// )
+// // #text(size: 11pt)[
+// // - Specialisation in _machine learning and signal processing_.
+// // - Thesis: "Effortless Bayesian Deep Learning: Tapping Into the Potential of Modern Optimizers," with Søren Hauberg.
+// // ]
+
+// // #grid(
+// // columns: (7fr, 2fr),
+// // align(left)[
+// // === B.Sc. General Engineering \
+// // _Technical University of Denmark_
+// // ],
+// // align(right)[
+// // === Sep 2017 -- Aug 2020 \
+// // _Copenhagen, Denmark_
+// // ],
+// // )
+// // #text(size: 11pt)[
+// // - Thesis: "Membrane Capacitive Desalination," with Johan Hjelm
+// // ]
+
+
+// == SKILLS
+// #line(length: 100%)
+
+// #grid(
+// columns: (
+// auto,
+// auto,
+// ),
+// gutter: 10pt,
+// align(left)[
+// *Languages* \
+// *Technology* \
+// *Modelling*
+// ],
+// align(left)[
+// Python, SQL, C\#, Scala, Rust, Erlang / Elixir / Gleam \ // , Clojure / Lisp
+// Spark, Databricks, Docker, Kubernetes, Airflow, Kafka, Terraform \
+// Gradient boosting (LightGBM), neural networks (PyTorch, JAX), Word2Vec, embeddings, LLMs
+// ],
+// )
+
+
+// == PUBLICATIONS
+// #line(length: 100%)
+
+// #bibliography(
+// "hayagriva.yaml",
+// title: none,
+// )