Upload CV

This commit is contained in:
Tito Sacchi 2022-01-08 21:16:45 +01:00
parent 027667a862
commit d368f33be9
4 changed files with 299 additions and 4 deletions

4
.gitignore vendored
View File

@ -4,3 +4,7 @@ _site/
*.hi
*.o
/site
*.aux
*.log
*.out
*.pdf

271
Tito_Sacchi_CV.tex Normal file
View File

@ -0,0 +1,271 @@
% vim: et:ts=2:sts=2:sw=2
\documentclass[parskip=half,oneside]{scrartcl}
\usepackage[italian]{babel}
\usepackage[pdfusetitle,colorlinks=true,urlcolor=blue]{hyperref}
\usepackage[dvipsnames]{xcolor}
\usepackage{fontspec}
\usepackage{tabularx}
\usepackage{makecell}
\usepackage{eso-pic}
\AddToShipoutPictureFG{
\AtPageUpperLeft{%
\raisebox{-\height}{%
\color{customcolor}\rule{1cm}{\pageheight}
}%
}%
}
\KOMAoption{DIV}{14}
\KOMAoption{BCOR}{0pt}
\KOMAoption{fontsize}{11pt}
\KOMAoption{paper}{A4}
\KOMAoption{footnotes}{multiple}
\pagestyle{empty}
\RedeclareSectionCommand[
runin=false,
beforeskip=0.6\baselineskip,
afterskip=-\baselineskip]{section}
\RedeclareSectionCommand[
runin=false,
beforeskip=0.5\baselineskip,
afterskip=-0.5\baselineskip]{subsection}
\RedeclareSectionCommand[
runin=true,
beforeskip=0pt,
afterskip=0.5em]{subsubsection}
\renewcommand*{\sectionformat}{}
\renewcommand*{\subsectionformat}{}
\renewcommand*{\subsubsectionformat}{}
\addtokomafont{section}{\color{customcolor}}
\addtokomafont{subsection}{\color{customcolor}}
\addtokomafont{subsubsection}{\color{customcolor}}
\makeatletter
\renewcommand{\sectionlinesformat}[4]{
\Ifstr{#1}{section}{%
\parbox[t]{\linewidth}{%
\@hangfrom{\hskip #2#3}{#4}\par%
{\color{customcolor}\rule[\baselineskip]{\textwidth}{0.2mm}}%
}%
}{%
\@hangfrom{\hskip #2#3}{#4}%
}%
}
\makeatother
\author{Tito Sacchi}
\title{Curriculum Vitae}
\date{\today}
\newfontfamily\algsfamily{Alegreya Sans}
\newfontfamily\algscfamily{Alegreya Sans SC}
% \addtokomafont{title}{\algscfamily}
% \addtokomafont{author}{\algsfamily}
\addtokomafont{section}{\algscfamily}
\addtokomafont{subsection}{\sffamily}
\addtokomafont{subsubsection}{\sffamily}
\colorlet{customcolor}{MidnightBlue}
% Private information
\newcommand{\titosphone}{\texttt{REDACTED}}
\begin{document}
% Header
{\algscfamily \huge {\color{customcolor}{Curriculum Vitae}}}
{\algscfamily \LARGE {\Large di} {\algscfamily{Tito Sacchi}}}
% {\algscfamily (conforme al modello EUROPASS)}
\\{\color{customcolor} \rule[\baselineskip]{\textwidth}{0.3mm}}
\vspace{-2.5\baselineskip}
\section{Informazioni generali e contatti}
\vspace{-.5\baselineskip}
\begin{tabularx}{\textwidth}{
>{\hsize=.20\hsize\linewidth=\hsize}X
>{\hsize=.30\hsize\linewidth=\hsize}X|
>{\hsize=.20\hsize\linewidth=\hsize}X
>{\hsize=.30\hsize\linewidth=\hsize}X
}
\textbf{\color{customcolor}{\sffamily Data di nascita}}
& 26/08/2004
& \textbf{\color{customcolor}{\sffamily Nazionalit\`a}}
& Italiana \\
\textbf{\color{customcolor}{\sffamily Sito web}}
& {\small \url{https://tilde.team/~tito}}
& \textbf{\color{customcolor}{\sffamily Cellulare}}
& \titosphone \\
\textbf{\color{customcolor}{\sffamily Indirizzo e-mail}}
& \href{mailto:tito.sakki@gmail.com}{\texttt{\small tito.sakki@gmail.com}}
& \textbf{\color{customcolor}{\sffamily Chiave PGP}}
& \href{https://keys.openpgp.org/vks/v1/by-fingerprint/7CC99B02EB82D0C72CBC5AB86BED3002CF25C4D2}{\texttt{0x6BED3002CF25C4D2}} \\
\textbf{\color{customcolor}{\sffamily Keybase}}
& \href{https://keybase.io/tauroh}{\textsf{tauroh}}
& \textbf{\color{customcolor}{\sffamily GitHub}}
& \href{https://github.com/jabberabbe}{\textsf{jabberabbe}} \\
\end{tabularx}
\section{Presentazione}
Frequento il liceo scientifico e nutro un forte interesse verso l'informatica --
specialmente la sicurezza e la programmazione funzionale -- e la matematica.
Cerco opportunit\`a di svolgere stage presso aziende del settore nell'ambito del
progetto di alternanza scuola-lavoro (PCTO) previsto nel triennio della
formazione superiore.
\section{Istruzione e formazione}
\begin{tabularx}{\textwidth}{p{0.2\textwidth}|l}
\textsf{09/2015 -- 06/2018} &
\makecell[Xt]{\hphantom{}%
{\usekomafont{subsection}Licenza di scuola media (secondaria di I grado)}\\
\textit{Scuola superiore di I grado ``S. Boezio''}\\
\\
Indirizzo: Via C. Simonetta, 19, 27100 Pavia (Italia)\\
\small{\url{https://icacerbi.edu.it/scuole-secondarie-i-grado/secondaria-boezio}}\\
Voto finale: 10/10 con lode\\
\vspace{0.5\baselineskip}
} \\
\textsf{09/2018 -- Attuale} &
\makecell[Xt]{\hphantom{}%
{\usekomafont{subsection}Liceo scientifico (ammissione alla classe IV)}\\
\textit{Liceo scientifico ``T. Taramelli''}\\
\\
Indirizzo: Via L. Mascheroni, 53, 27100 Pavia (Italia)\\
\small{\url{https://www.istaramellifoscolo.edu.it}}\\
Media attuale delle valutazioni: 9,5
} \\
\end{tabularx}
\section{Competenze}
\subsubsection{Framework e linguaggi di programmazione}
Haskell; C/C++; Rust; Python; SQL; Assembly x86; Coq; Shell UNIX; JavaScript/React
\subsubsection{Sysadmin}
Docker; systemd; server OpenVPN, WireGuard, NGINX, PostgreSQL; networking e firewall setup su Linux
\subsubsection{DevOps}
Git; CI/CD; Docker
\subsubsection{Software}
Wolfram Mathematica; MATLAB; Adobe Photoshop; QGIS/PostGIS; \LaTeX
\section{Pubblicazioni}
\subsection{Lucciole d'Italia (lampyridae.it)}
\url{https://lampyridae.it}
Progetto in compartecipazione con il prof. Giuseppe Camerini volto a documentare
la distribuzione e la biologia delle specie di lampiridi sul territorio
italiano, analogamente a quanto svolto in altri Paesi da associazioni analoghe.
Mi occupo della gestione tecnica e della creazione del sito web; ho partecipato
alla stesura dei testi divulgativi; alcune delle fotografie (artistiche e
documentative) pubblicate sul sito sono miei scatti.
\subsection{Convex approximation of quantum channels}
\textit{Phys. Rev. A 96, 032311 (2017)}\\
\href{https://doi.org/10.1103/PhysRevA.96.032311}{\textsf{DOI:10.1103/PhysRevA.96.032311}}\\
Massimiliano F. Sacchi, Tito Sacchi.
Ho collaborato alla pubblicazione di questo paper in Quantum Information. Mi
sono occupato dello sviluppo del software di ottimizzazione numerica utilizzando
Wolfram Mathematica come ambiente di calcolo.
\subsection{Bounding the Classical Capacity of Multilevel Damping Quantum Channels}
\textit{Adv. Quantum Technol. 3, 2000013 (2020)}\\
\href{https://doi.org/10.1002/qute.202000013}{\textsf{DOI:10.1002/qute.202000013}}\\
Chiara Macchiavello, Massimiliano F. Sacchi, Tito Sacchi.
Ho implementato l'algoritmo per il calcolo numerico della capacità di canale. Ho
utilizzato Haskell per il core di algebra lineare, con alcune funzioni in C
supportate dalla GNU Scientific Library. Ho interfacciato il software con
Wolfram Mathematica per ease-of-use da parte degli altri autori.
\section{Progetti}
\subsection{CyberChallenge.IT 2021}
Ho partecipato al progetto \href{https://cyberchallenge.it}{CyberChallenge.IT}
proposto dal CINI nell'edizione del 2021, rivolto a studenti universitari e
delle superiori, presso il Politecnico di Milano.
Ho superato la fase di ammissione presso il Politecnico, che ha accolto 20
studenti su oltre 400 candidati.
Ho quindi seguito le 72 ore di addestramento sino alla gara locale del
03/06/2021 (terzo classificato).
Ho quindi preso parte alla squadra che ha rappresentato il Politecnico di Milano
alla finale nazionale a squadre del 07/07/2021.
Ho collaborato con i miei compagni di squadra nella programmazione dei tool che
abbiamo utilizzato e ho svolto il ruolo di sysadmin (mi sono occupato del
deployment su container e macchine virtuali degli strumenti e della configurazione della
rete).
La nostra squadra si \`e classificata quarta.
CyberChallenge mi ha lasciato un acceso interesse verso le competizioni CTF,
a cui partecipo spesso con la squadra del Politecnico di Milano (Tower of
Hanoi). Mi piace particolarmente la sicurezza dei binari e la crittografia (per
il suo legame con l'algebra astratta).
\subsection{Olimpiadi di Cybersecurity (prima edizione, 2021)}
In quanto studente delle scuole superiori partecipante a CyberChallenge.IT, sono
stato invitato a prendere parte il 12/06/2021 alla competizione nazionale della prima edizione
delle Olimpiadi di Cybersecurity organizzate dal CINI, classificandomi al
secondo posto (\url{https://olicyber.it/nazionale}). Questa prima edizione ha
coinvolto 182 istituti superiori federati e 1150 studenti.
La competizione ha avuto una forte risonanza mediatica con diffusione sulla
stampa nazionale%
\footnote{\url{https://www.wired.it/attualita/scuola/2021/06/15/cybersecurity-olimpiadi-italia-vincitori/}}%
\footnote{\url{https://www.repubblica.it/tecnologia/2021/06/15/news/olicyber_ecco_il_medagliere_delle_prime_olimpiadi_italiane_di_cybersicurezza-306190140/}}.
\section{Hobby e interessi}
\subsection{Matematica}
Coltivo la passione per la matematica da quando ero bambino e sono da sempre
affascinato dall'astrazione e dalla deduzione formale. Progressivamente ho
adottato un metodo di studio sempre più rigoroso e sono riuscito a far
convergere matematica e computer science teorica avvicinandomi particolarmente
alla logica e ad aree di interesse molto astratte e vicine ad essa, come la
teoria delle categorie e la teoria dei tipi. Questi argomenti si legano
all'informatica poiché mostrano interessanti parallelismi con linguaggi
puramente funzionali di collocazione sia accademica sia applicativa come Haskell
e con proof assistant come Coq e Agda.
Anche riguardo questi interessi più astratti mi piace imparare applicando: ho
sviluppato una parziale formalizzazione nel proof assistant Coq di alcune
strutture condivise tra teoria delle categorie e fisica introdotte inizialmente
da B. Coecke e S. Abramsky dell'Università di Oxford
(\href{https://doi.org/10.1109/LICS.2004.1319636}{\textsf{DOI:10.1109/LICS.2004.1319636}})
e poi ampiamente estese da altri ricercatori negli anni
successivi. I miei file sono reperibili al repository
\url{https://github.com/jabberabbe/CatQM}.
Faccio parte della squadra delle Olimpiadi della Matematica del mio Liceo sin dal
primo anno. Nei tre anni in cui ho partecipato ci siamo qualificati sempre alle
semifinali nazionali e nell'edizione 2020/2021 abbiamo preso parte alla finale a
squadre (36esimo posto).
\subsection{Informatica}
Parallelamente alla matematica, da tempo mi dedico all'informatica da più punti
di vista, dalla gestione di un piccolo homelab e server personale alla CS
astratta. Ho dato il mio contributo al progetto open-source ShellCheck
(\url{https://github.com/koalaman/shellcheck}) e da poco ho iniziato a
collaborare allo sviluppo del compilatore Haskell
(\href{https://gitlab.haskell.org/ghc/ghc}{GHC}), sfruttando l'accogliente
community di contributor e mentor che circonda il progetto. Mi è sempre piaciuto
esplorare il funzionamento interno di ogni linguaggio, sistema operativo e
software che uso e per questo un'altra mia prospettiva, ora che sono stato
introdotto alla cybersecurity, è quella di partecipare a programmi di bug
bounty.
\subsection{Musica}
Suono il pianoforte da oltre dieci anni e di recente ho iniziato a studiare la
chitarra elettrica, per ampliare il mio background di musicista classico.
Tra il repertorio classico ho una particolare preferenza per il periodo
romantico.
\subsection{Sport}
Ho praticato nuoto agonistico per quattro stagioni (2015-2019) e sono salito sul
podio di svariate competizioni regionali con la mia squadra; ora pratico canoa a
livello amatoriale presso il Centro Universitario Sportivo di Pavia.
\subsection{Fotografia}
Negli ultimi anni ho sviluppato un particolare interesse per la fotografia, sia
per lo scatto sul campo, sia per la post-produzione e l'editing digitale.
Ho una preferenza per la fotografia naturalistica; alcune delle mie foto,
scattate in Oltrep\`o, si possono trovare sul sito
\href{https://lampyridae.it}{\texttt{lampyridae.it}} che ho sviluppato insieme al mio
docente di scienze naturali.
\end{document}

View File

@ -11,8 +11,11 @@
<p>
Write me at
<a href="mailto:tito@tilde.team" class="email">tito@tilde.team</a>. You can
find some (hopefully) accurate contact information on the <a
href="contacts.html">contact page</a>.
find some (hopefully) accurate contact information on the
<a href="contacts.html">contact page</a>.
A copy of my CV is available <a href="Tito_Sacchi_CV.pdf">here</a> (in
Italian). Some sensitive information is stripped; send me an email if you want
the complete file.
</p>
<hr>

21
site.hs
View File

@ -2,7 +2,9 @@
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.State
import Hakyll
import System.Process
import Text.Pandoc.Extensions
import System.FilePath
import Text.Pandoc.Options
main :: IO ()
@ -20,7 +22,7 @@ main = hakyllWith config $ do
tags <- buildTags "posts/*" (fromCapture "tags/*.html")
match "index.html" $ do
route $ setExtension "html"
route $ idRoute
compile $ do
posts <- loadAll "posts/*" >>= recentFirst >>= pure . (take 5)
let ctx = listField "posts" (postCtx tags) (pure posts)
@ -60,7 +62,7 @@ main = hakyllWith config $ do
>>= relativizeUrls
create ["posts.html"] $ do
route idRoute
route $ idRoute
compile $ do
posts <- loadAll "posts/*" >>= recentFirst
let ctx = constField "title" "Posts"
@ -71,6 +73,21 @@ main = hakyllWith config $ do
>>= loadAndApplyTemplate "templates/default.html" ctx
>>= relativizeUrls
match "Tito_Sacchi_CV.tex" $ do
route $ setExtension "pdf"
compile $ getResourceBody >>= lualatex
lualatex :: Item String -> Compiler (Item TmpFile)
lualatex texSource = do
TmpFile toplevel <- newTmpFile "tmp.tex"
unsafeCompiler $ do
writeFile toplevel $ itemBody texSource
void $ system $ unwords
[ "lualatex", "-halt-on-error"
, "-output-directory", takeDirectory toplevel
, toplevel, ">/dev/null", "2>&1"]
makeItem $ TmpFile $ toplevel `replaceExtension` "pdf"
config :: Configuration
config = defaultConfiguration {
deployCommand = "rsync -avP --delete \