commit d0d48d01cfeccd50530b8422b246f2934fd9b2c5
parent 4730e1f977eadca57d6b6cf3b21fbfafc96102e3
Author: Silas Brack <silasbrack@Silass-MacBook-Pro.local>
Date: Sat, 14 Mar 2026 11:26:34 +0100
Just use latex
Diffstat:
7 files changed, 98 insertions(+), 476 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,2 +1,5 @@
+main.aux
+main.log
+main.out
main.pdf
diff --git a/cover_letter.typ b/cover_letter.typ
@@ -1,21 +0,0 @@
-#set page(paper: "a4")
-#set text(size: 12pt)
-#set par(
- first-line-indent: 0pt,
- justify: true,
-)
-
-Hi,
-
-I'm writing to express my interest in the ML Engineer - Creativity Apps position at Apple in Copenhagen. I found the job posting through my friend Max-Olivier Van Bastelaer --- we did the same BSc in General Engineering & Materials Science together. This established my strong background in physics and engineering, both experimental and theoretical. I suppose this is where I first taste of mathematical modelling and working with non-tabular data. At the end of my bachelor's I did a thesis in electrochemistry before pivoting towards doing primarily statistics, math and machine learning. During my master's I focused primarily on approximate Bayesian inference and probabilistic machine learning, mostly applied to neural networks for image retrieval / classification, and worked on two papers, managing to publish one of them to NeurIPS.
-
-In my current job I work on training machine learning models and deploying them to production. I've worked across lots of different domains and picked up the required knowledge along the way, from chatbots to training embeddings models, to recommender systems to traditional forecasting models.
-
-To be perfectly frank, I don't really have any experience in digital photography or embedded systems. I have, however, worked on some projects in computer vision and have a strong foundation in probabilistic machine learning, as well as being very interested in signal processing overall (I've learned a lot about signal processing in photonics and biomedical applications). I'm also a very enthusiastic learner and would be excited to put effort into learning about a new and exciting field. In my bachelor's I enjoyed trying out different fields and following my interests, and have happily learned new things along the way.
-
-Thanks for considering me for this position! I'm looking forward to hearing more and to the possibility of contributing to your team's success.
-
-Best,
-
-Silas
-
diff --git a/flake.nix b/flake.nix
@@ -21,10 +21,7 @@
{
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
- typst
- typstyle # Formatter
- tinymist # LSP
- entr
+ texliveSmall
];
};
}
diff --git a/hayagriva.yaml b/hayagriva.yaml
@@ -1,9 +0,0 @@
-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
diff --git a/main.tex b/main.tex
@@ -0,0 +1,94 @@
+\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}
+
+\begin{document}
+
+\begin{center}
+ {\Large\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.5cm}p{16.5cm}@{}}
+\textbf{\textsc{Experience}} &
+ \begin{tabular}[t]{@{}p{12.5cm}@{\hfill}p{4cm}@{}}
+ \textbf{AI Research Engineer} & \textbf{Nov 2025 -- Present} \\
+ \textit{Teton.ai --- AI Research and Computer Vision} & \textit{Copenhagen, Denmark}
+ \end{tabular} \\[0.3em]
+ & {\small \textbullet\ Computer vision, transformers, forecasting, embedded machine learning} \\[0.8em]
+
+ & \begin{tabular}[t]{@{}p{12.5cm}@{\hfill}p{4cm}@{}}
+ \textbf{Machine Learning Engineer} & \textbf{Sep 2021 -- Oct 2025} \\
+ \textit{Saxo Bank A/S --- Department of Predictive Models and AI} & \textit{Copenhagen, Denmark}
+ \end{tabular} \\[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.5cm}p{16.5cm}@{}}
+\textbf{\textsc{Education}} &
+ \begin{tabular}[t]{@{}p{12.5cm}@{\hfill}p{4cm}@{}}
+ \textbf{M.Sc. Mathematical Modelling and Computation} & \textbf{Sep 2020 -- Feb 2023} \\
+ \textit{Technical University of Denmark} & \textit{Copenhagen, Denmark}
+ \end{tabular} \\[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.5cm}p{16.5cm}@{}}
+\textbf{\textsc{Projects}} &
+ \begin{tabular}[t]{@{}p{12.5cm}@{\hfill}p{4cm}@{}}
+ \textbf{Marginal Likelihood Training of Linearized Laplace Approximations} & \textbf{Sep 2022 -- Feb 2023} \\
+ \textit{Supervised by S{\o}ren Hauberg --- DTU Compute} & \textit{Copenhagen, Denmark}
+ \end{tabular} \\[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]
+
+ & \begin{tabular}[t]{@{}p{12.5cm}@{\hfill}p{4cm}@{}}
+ \textbf{Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval} & \textbf{Apr 2022 -- May 2023} \\
+ \textit{Supervised by S{\o}ren Hauberg --- DTU Compute} & \textit{Copenhagen, Denmark}
+ \end{tabular} \\[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.5cm}p{16.5cm}@{}}
+\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.5cm}p{16.5cm}@{}}
+\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
@@ -1,433 +0,0 @@
-#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: "PT Sans")
-#set par(
- first-line-indent: 0pt,
- spacing: 2.0em,
- justify: true,
-)
-#show link: underline
-#let format-thousands(
- n,
-) = {
- let s = str(n)
- s + "\u{202f}000"
-}
-
-#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,
-// )
diff --git a/shell.nix b/shell.nix
@@ -1,9 +0,0 @@
-let
- pkgs = import <nixpkgs> {};
-in pkgs.mkShell {
- packages = [
- pkgs.typst
- pkgs.typstyle # Formatter
- pkgs.tinymist # LSP
- ];
-}