Compare commits
No commits in common. "main" and "pdf-artifacts" have entirely different histories.
main
...
pdf-artifa
13
.drone.yml
13
.drone.yml
@ -1,13 +0,0 @@
|
||||
pipeline:
|
||||
deploy:
|
||||
image: drillster/drone-rsync
|
||||
hosts: [ "192.168.1.5" ]
|
||||
port: 3471
|
||||
delete: true
|
||||
recursive: true
|
||||
target: /var/www/html/static.fr1nge.xyz/curriculumvitae.pdf
|
||||
source: main.pdf
|
||||
key:
|
||||
from_secret: rsync_key
|
||||
user: root
|
||||
secrets: [ rsync_key ]
|
||||
@ -1,48 +0,0 @@
|
||||
name: Build CV
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build-pdf:
|
||||
runs-on: ubuntu-latest
|
||||
container: texlive/texlive:latest
|
||||
|
||||
steps:
|
||||
- name: Install node :(
|
||||
run: |
|
||||
apt update -y
|
||||
apt install -y npm
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build PDF
|
||||
run: make pdf
|
||||
|
||||
- name: Upload PDF artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: curriculum-vitae
|
||||
path: main.pdf
|
||||
retention-days: 30
|
||||
|
||||
- name: Deploy to pdf-artifacts branch
|
||||
if: github.ref == 'refs/heads/main'
|
||||
run: |
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
cp main.pdf /tmp
|
||||
git fetch origin pdf-artifacts
|
||||
git checkout pdf-artifacts
|
||||
cp /tmp/main.pdf .
|
||||
git add main.pdf
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes to commit"
|
||||
else
|
||||
git commit -m "Update CV PDF from commit ${{ github.sha }}"
|
||||
git push origin pdf-artifacts
|
||||
fi
|
||||
13
.gitignore
vendored
13
.gitignore
vendored
@ -1,13 +0,0 @@
|
||||
main.log
|
||||
main.aux
|
||||
main.bbl
|
||||
main.bcf
|
||||
main.blg
|
||||
main.dvi
|
||||
main.fdb_latexmk
|
||||
main.fls
|
||||
main.log
|
||||
main.out
|
||||
main.run.xml
|
||||
main.pdf
|
||||
main.synctex.gz
|
||||
32
Makefile
32
Makefile
@ -1,32 +0,0 @@
|
||||
.PHONY: all clean pdf view help
|
||||
|
||||
MAIN = main
|
||||
TEX_FILE = $(MAIN).tex
|
||||
PDF_FILE = $(MAIN).pdf
|
||||
DVI_FILE = $(MAIN).dvi
|
||||
|
||||
PDFLATEX = pdflatex
|
||||
BIBER = biber
|
||||
VIEWER = evince
|
||||
|
||||
all: pdf
|
||||
|
||||
pdf: $(PDF_FILE)
|
||||
|
||||
$(PDF_FILE): $(TEX_FILE)
|
||||
$(PDFLATEX) -interaction=nonstopmode $(MAIN)
|
||||
$(PDFLATEX) -interaction=nonstopmode $(MAIN)
|
||||
|
||||
view: $(PDF_FILE)
|
||||
$(VIEWER) $(PDF_FILE) &
|
||||
|
||||
clean:
|
||||
rm -f *.aux *.log *.out *.toc *.bbl *.blg *.bcf *.run.xml *.fdb_latexmk *.fls *.synctex.gz $(DVI_FILE) $(PDF_FILE)
|
||||
|
||||
help:
|
||||
@echo "Available targets:"
|
||||
@echo " all - Build PDF (default)"
|
||||
@echo " pdf - Build PDF"
|
||||
@echo " view - Open PDF with viewer"
|
||||
@echo " clean - Remove generated files"
|
||||
@echo " help - Show this help"
|
||||
@ -1,3 +1,5 @@
|
||||
## My CV
|
||||
# CV Artifacts
|
||||
|
||||
This branch contains the automatically generated PDF versions of the CV.
|
||||
|
||||
The latest version is always available at: [main.pdf](./main.pdf)
|
||||
122
main.tex
122
main.tex
@ -1,122 +0,0 @@
|
||||
\documentclass[11pt]{article} % set main text size
|
||||
\usepackage[letterpaper, % set paper size to letterpaper. change to a4paper for resumes outside of North America
|
||||
top=0.5in, % specify top page margin
|
||||
bottom=0.5in, % specify bottom page margin
|
||||
left=0.5in, % specify left page margin
|
||||
right=0.5in]{geometry} % specify right page margin
|
||||
|
||||
\usepackage{XCharter} % set font. comment this line out if you want to use the default LaTeX font Computer Modern
|
||||
\usepackage[T1]{fontenc} % output encoding
|
||||
\usepackage[utf8]{inputenc} % input encoding
|
||||
\usepackage{enumitem} % enable lists for bullet points: itemize and \item
|
||||
\usepackage[hidelinks]{hyperref} % format hyperlinks
|
||||
\usepackage{titlesec} % enable section title customization
|
||||
\raggedright % disable text justification
|
||||
\pagestyle{empty} % disable page numbering
|
||||
|
||||
% ensure PDF output will be all-Unicode and machine-readable
|
||||
\input{glyphtounicode}
|
||||
\pdfgentounicode=1
|
||||
|
||||
% format section headings: bolding, size, white space above and below
|
||||
\titleformat{\section}{\bfseries\large}{}{0pt}{}[\vspace{1pt}\titlerule\vspace{-6.5pt}]
|
||||
|
||||
% format bullet points: size, white space above and below, white space between bullets
|
||||
\renewcommand\labelitemi{$\vcenter{\hbox{\small$\bullet$}}$}
|
||||
\setlist[itemize]{itemsep=-2pt, leftmargin=12pt, topsep=7pt} %%% Test various topsep values to fix vertical spacing errors
|
||||
|
||||
% resume starts here
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
% name
|
||||
\centerline{\Huge Yiğit Çolakoğlu}
|
||||
|
||||
\vspace{5pt}
|
||||
|
||||
% contact information
|
||||
\centerline{\href{mailto:root@yigit.run}{root@yigit.run} | \href{https://yigit.run}{yigit.run} | \href{https://github.com/arg3t}{github.com/arg3t}}
|
||||
|
||||
\vspace{-10pt}
|
||||
|
||||
% education section
|
||||
\section*{Education}
|
||||
\textbf{TU Delft} -- MSc in Computer Science (Cyber Security \& Distributed Systems) \hfill Sept 2024 -- June 2026 \\
|
||||
\textbf{TU Delft} -- BSc in Computer Science and Engineering, Cum Laude \hfill Sept 2021 -- June 2024
|
||||
|
||||
\vspace{-6.5pt}
|
||||
|
||||
% experience section
|
||||
\section*{Experience}
|
||||
%\textbf{Developer \& Intelligence Analyst,} {PRODAFT} -- Den Haag, NL \hfill Sept 2022 -- Present \\
|
||||
\textbf{Developer,} {PRODAFT} -- Den Haag, NL \hfill Sept 2022 -- Present \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Maintain OSS threat intelligence correlation platform (CRADLE) using Python/Django processing 15,000+ weekly artifacts from 5 data sources, reducing analysis time by 45\%
|
||||
\item Lead team of 5 engineers developing open source threat intelligence platform CRADLE with 200+ GitHub stars
|
||||
\item Implemented graph-based correlation algorithms using Neo4j for threat propagation of 50000 daily signals, in a graph with 1M+ nodes
|
||||
\item Automated 8 manual threat intelligence workflows using Python, saving 20 hours weekly
|
||||
%\item Conducted threat hunting operations, authoring 2 published reports and presenting at ONE Security Summit
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Teaching Assistant,} {TU Delft} -- Delft, NL \hfill Sept 2022 -- Present \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Instructed 500+ students across 6 computer science courses using Java/C/Python including Object Oriented Programming, Computer Organization, Distributed Systems, Embedded Software and Software Project
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Software Engineering Intern} {Dutch Police, Team Zeden} -- Rotterdam, NL \hfill Apr 2023 -- July 2023 \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Managed a team project with 4 other students, distributed tasks and ensured code quality
|
||||
\item Developed a Python forensics tool to detect encrypted containers in evidence files up to 5TB
|
||||
\item Designed a parallelized scanning engine using multiprocessing to spawn processes and schedule tasks
|
||||
\item Automated field data extraction from live Windows/Linux systems in time constrained response situations
|
||||
\end{itemize}
|
||||
|
||||
\vspace{-18.5pt}
|
||||
|
||||
% projects section
|
||||
\section*{Projects}
|
||||
\textbf{CTF Challenge Designer \& Organizer} \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Organized 2 CTF competitions using Docker/Kubernetes with 300+ participants, TU Delft's largest CTF event
|
||||
\item Designed 5 CTF challenges using C/Python ranging from web exploitation to binary/kernel exploitation
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Tilikum -- DAG-based Consensus Protocol with Fair Ordering} \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Implemented a batch-order-fairness, fair ordering protocol using Rust and Tokio to prevent MEV attacks
|
||||
\item Optimized it 12,000 tx/s throughput with <2s latency, big improvement for fair ordering protocols
|
||||
\end{itemize}
|
||||
|
||||
\textbf{LLVM Fence Optimization -- Memory Ordering Optimization} \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Implemented C++ LLVM pass optimizing fence placement in concurrent programs using min-cut a algorithm
|
||||
\item Fully eliminate unnecessary fences in LLVM IR programs while ensuring memory consistency
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Sanctum -- Process-Bound Disk Encryption} \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Developed a Linux kernel module enabling transparent per-process encryption with <5\% performance overhead
|
||||
\end{itemize}
|
||||
|
||||
\textbf{massurl -- High-Performance URL Reconnaissance Tool} \\
|
||||
\vspace{-9pt}
|
||||
\begin{itemize}
|
||||
\item Built URL parser \& aggregator in C, processing 250K+ URLs/second
|
||||
\end{itemize}
|
||||
|
||||
\vspace{-18.5pt}
|
||||
|
||||
% skills section
|
||||
\section*{Skills}
|
||||
\textbf{Languages:} Python, C, Rust, Go, Java, JavaScript, Bash \\
|
||||
\textbf{Technologies:} Django, Tokio, Neo4j, Docker, Kubernetes, Git, PostgreSQL, React, Qt \\
|
||||
|
||||
\end{document}
|
||||
18
papers.bib
18
papers.bib
@ -1,18 +0,0 @@
|
||||
|
||||
@inproceedings{secondPaper,
|
||||
title = {{{Placeholder Paper Title}}},
|
||||
booktitle = {2020 {{Placeholder Conference Title}}},
|
||||
author = {Surname, Name and Person, Sample},
|
||||
date = {2020-04},
|
||||
pages = {1234--1235},
|
||||
eventtitle = {2020 {{Placeholder Conference Title}}}
|
||||
}
|
||||
|
||||
@inproceedings{firstPaper,
|
||||
title = {{{Placeholder Paper Title}}},
|
||||
booktitle = {2018 {{Placeholder Conference Title}}},
|
||||
author = {Person, Sample and Person, Sample and Surname, Name and Person, Sample},
|
||||
date = {2018-04},
|
||||
pages = {1234--1235},
|
||||
eventtitle = {2018 {{Placeholder Conference Title}}}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user