├── .gitignore ├── Makefile ├── Readme.md ├── Resume.sublime-project ├── ls-urls ├── resume.tex ├── screenshot.png ├── sections ├── bio.tex ├── education.tex ├── extras.tex ├── projects.tex ├── skills.tex └── work.tex └── watch /.gitignore: -------------------------------------------------------------------------------- 1 | # Only build branch contains the output 2 | *.pdf 3 | 4 | build/ 5 | 6 | ###TeX### 7 | 8 | ## Core latex/pdflatex auxiliary files: 9 | *.aux 10 | *.lof 11 | *.log 12 | *.lot 13 | *.fls 14 | *.out 15 | *.toc 16 | 17 | ## Intermediate documents: 18 | *.dvi 19 | # these rules might exclude image files for figures etc. 20 | # *.ps 21 | # *.eps 22 | # *.pdf 23 | 24 | ## Bibliography auxiliary files (bibtex/biblatex/biber): 25 | *.bbl 26 | *.bcf 27 | *.blg 28 | *-blx.aux 29 | *-blx.bib 30 | *.run.xml 31 | 32 | ## Build tool auxiliary files: 33 | *.fdb_latexmk 34 | *.synctex.gz 35 | *.synctex.gz(busy) 36 | *.pdfsync 37 | 38 | ## Auxiliary and intermediate files from other packages: 39 | 40 | # algorithms 41 | *.alg 42 | *.loa 43 | 44 | # amsthm 45 | *.thm 46 | 47 | # beamer 48 | *.nav 49 | *.snm 50 | *.vrb 51 | 52 | # glossaries 53 | *.acn 54 | *.acr 55 | *.glg 56 | *.glo 57 | *.gls 58 | 59 | # hyperref 60 | *.brf 61 | 62 | # listings 63 | *.lol 64 | 65 | # makeidx 66 | *.idx 67 | *.ilg 68 | *.ind 69 | *.ist 70 | 71 | # minitoc 72 | *.maf 73 | *.mtc 74 | *.mtc0 75 | 76 | # minted 77 | *.pyg 78 | 79 | # nomencl 80 | *.nlo 81 | 82 | # sagetex 83 | *.sagetex.sage 84 | *.sagetex.py 85 | *.sagetex.scmd 86 | 87 | # sympy 88 | *.sout 89 | *.sympy 90 | sympy-plots-for-*.tex/ 91 | 92 | # todonotes 93 | *.tdo 94 | 95 | # xindy 96 | *.xdy 97 | 98 | 99 | 100 | 101 | ###LaTeX### 102 | 103 | *.acn 104 | *.acr 105 | *.alg 106 | *.aux 107 | *.bbl 108 | *.blg 109 | *.dvi 110 | *.fdb_latexmk 111 | *.glg 112 | *.glo 113 | *.gls 114 | *.idx 115 | *.ilg 116 | *.ind 117 | *.ist 118 | *.lof 119 | *.log 120 | *.lot 121 | *.maf 122 | *.mtc 123 | *.mtc0 124 | *.nav 125 | *.nlo 126 | *.out 127 | *.pdfsync 128 | *.ps 129 | *.snm 130 | *.synctex.gz 131 | *.toc 132 | *.vrb 133 | *.xdy 134 | *.tdo 135 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | default: clean compile 2 | 3 | compile: 4 | @latexmk -silent -pdf -pdflatex='pdflatex -interaction=nonstopmode' resume.tex 5 | 6 | error: 7 | @latexmk -pdf -pdflatex='pdflatex -file-line-error -interaction=errorstopmode' resume.tex 8 | 9 | view: 10 | @xdg-open resume.pdf 11 | 12 | # Clean all latex crap 13 | clean: 14 | @rm -f *.aux 15 | @rm -f *.fls 16 | @rm -f *.log 17 | @rm -f *.out 18 | @rm -f *.fdb_latexmk 19 | 20 | # Print all URLs being used 21 | .PHONY: urls 22 | urls: 23 | @./ls-urls 24 | 25 | # Run the watch shell script that 26 | # watches the current directory for changes and builds the PDF 27 | .PHONY: watch 28 | watch: 29 | @./watch 30 | 31 | # Build resume 32 | build: compile 33 | @cp resume.pdf build/Shadab\ Zafar.pdf 34 | 35 | # Push to build branch on Github 36 | push: build 37 | @ cd build && \ 38 | git add -u && \ 39 | git commit -m "Resume Generated On: `date +'%Y-%m-%d %H:%M:%S'`" 40 | git push origin build 41 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # Resume 3 | 4 | My LaTeX based resume. Uses the [moderncv](https://www.ctan.org/pkg/moderncv) template with some slight modifications. 5 | 6 | ![Screenshot](screenshot.png) 7 | 8 | [View PDF](https://github.com/dufferzafar/resume/blob/build/Shadab%20Zafar.pdf) 9 | 10 | ## Todos 11 | 12 | * Figure out how to have two separate versions 13 | * for Desktop & for Print. 14 | * Print version won't have any URLs etc. 15 | 16 | * Use `pandoc` to generate *decent* markdown. 17 | 18 | * Color / B & W Modes 19 | 20 | * Figure out how to track the edited moderncv theme with git 21 | 22 | **Issues** 23 | 24 | * Add some space between Project title and it's description. 25 | 26 | * Some part is italics, and then suddenly the next part isn't. Looks Odd, IMO. 27 | 28 | * Display links to code. 29 | 30 | [Google Viewer Link](https://docs.google.com/viewer?url=https://github.com/dufferzafar/resume/raw/build/Shadab%20Zafar.pdf) 31 | -------------------------------------------------------------------------------- /Resume.sublime-project: -------------------------------------------------------------------------------- 1 | { 2 | "build_systems": 3 | [ 4 | { 5 | "cmd": 6 | [ 7 | "latexmk -f -silent -pdf -pdflatex='pdflatex -file-line-error -interaction=nonstopmode' $file_name" 8 | ], 9 | "file_regex": "^(…*?):([0-9]*):?([0-9]*)", 10 | "name": "TeX Builder", 11 | "path": "$PATH:/usr/texbin:/usr/local/bin:/opt/local/bin:/usr/local/", 12 | "selector": "text.tex.latex", 13 | "shell": true 14 | }, 15 | { 16 | "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 17 | "name": "Anaconda Python Builder", 18 | "selector": "source.python", 19 | "shell_cmd": "python -u \"$file\"" 20 | } 21 | ], 22 | "folders": 23 | [ 24 | { 25 | "file_exclude_patterns": 26 | [ 27 | "*.aux", 28 | "*.out", 29 | "*.fls", 30 | "*.log", 31 | "*.fdb_latexmk" 32 | ], 33 | "folder_exclude_patterns": 34 | [ 35 | "_Help/**" 36 | ], 37 | "follow_symlinks": true, 38 | "path": "." 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /ls-urls: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Print all URLs being used in the various tex files 4 | 5 | import re 6 | import subprocess 7 | 8 | RE_URL = re.compile(r"\\href\{([^\}]*)\}") 9 | 10 | URLs = [] 11 | 12 | for file in subprocess.check_output(["git", "ls-files"]).split("\n"): 13 | if file.endswith(".tex"): 14 | with open(file) as inpt: 15 | URLs.extend(RE_URL.findall(inpt.read())) 16 | 17 | # TODO: Check that all URLs exist 18 | print("\n".join(sorted(URLs))) 19 | -------------------------------------------------------------------------------- /resume.tex: -------------------------------------------------------------------------------- 1 | \documentclass[12pt, a4paper, sans, obeyspaces, unicode]{moderncv} 2 | 3 | \moderncvstyle{classic} 4 | \moderncvcolor{blue} 5 | 6 | \usepackage[scale=0.93]{geometry} 7 | \setlength{\hintscolumnwidth}{3cm} 8 | 9 | % Used for showing some links in color 10 | \usepackage{xcolor} 11 | 12 | \input{sections/bio.tex} 13 | 14 | \begin{document} 15 | \maketitle 16 | 17 | % Remove some extra whitespace 18 | \vspace*{-1cm} 19 | 20 | \section{Work} 21 | \input{sections/work.tex} 22 | 23 | \section{Projects} 24 | \input{sections/projects.tex} 25 | 26 | \section{Education} 27 | \input{sections/education.tex} 28 | 29 | \input{sections/extras.tex} 30 | 31 | \end{document} 32 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dufferzafar/resume/356c3987c7d06ce1155823d99fea7fb4f480806f/screenshot.png -------------------------------------------------------------------------------- /sections/bio.tex: -------------------------------------------------------------------------------- 1 | \firstname{Shadab} 2 | \lastname{Zafar} 3 | % \title{\normalsize Male, 22 years} 4 | 5 | % \address 6 | % {H.No. 139, Street No. 7}{Jafarabad}{Delhi - 110053, India} 7 | \phone 8 | [mobile]{+91 8285275415} 9 | \email 10 | {dufferzafar0@gmail.com} 11 | % \homepage 12 | % {dufferzafar.github.io} 13 | \social 14 | [github][GitHub]{github.com/dufferzafar} 15 | \social 16 | [linkedin][LinkedIn]{linkedin.com/in/dufferzafar} 17 | -------------------------------------------------------------------------------- /sections/education.tex: -------------------------------------------------------------------------------- 1 | \cventry{2017 -- 2019} 2 | {M.Tech} 3 | {Computer Engineering} 4 | {Indian Institute of Technology Delhi} 5 | {GPA: 9.2/10} 6 | % {All India GATE Rank: 52} 7 | {} 8 | 9 | \cventry{2012 -- 2016} 10 | {B.Tech} 11 | {Computer Engineering} 12 | {Jamia Millia Islamia, New Delhi} 13 | {GPA: 9.24/10} 14 | {} 15 | 16 | % \cventry{2010 -- 2011} 17 | % {Class XII} 18 | % {} 19 | % {S. N. Sidheshwar School, Gurgaon} 20 | % {91\%} 21 | % {} 22 | 23 | % \cventry{2008 -- 2009} 24 | % {Class X} 25 | % {} 26 | % {S. R. Century School, Bahadurgarh} 27 | % {88\%} 28 | % {} 29 | -------------------------------------------------------------------------------- /sections/extras.tex: -------------------------------------------------------------------------------- 1 | \section{Publications} 2 | \cventry{2022} 3 | {COMSNETS} 4 | {} 5 | {} 6 | { 7 | Improved Stability \& Performance of PoW Blockchains using Anchors 8 | } 9 | { 10 | % Third author with Ovia Seshadri (PhD) \& Prof. Vinay J Ribeiro 11 | } 12 | \vspace*{-0.5cm} 13 | 14 | \section{Communication} 15 | \cventry{Mar 2016} 16 | {FOSSASIA} 17 | {} 18 | {Singapore} 19 | { 20 | Conference talk on command-line applications in Python 21 | } 22 | { 23 | } 24 | \vspace*{0.2\baselineskip} 25 | 26 | % \cventry{Jan'15} 27 | % {Python Meetup} 28 | % {} 29 | % {Zopper, Noida} 30 | % {} 31 | % { 32 | % Talk on getting started with the Flask micro-framework. 33 | % } 34 | -------------------------------------------------------------------------------- /sections/projects.tex: -------------------------------------------------------------------------------- 1 | \cventry{2018 -- 2019} 2 | {Bitcoin} 3 | {} 4 | {\scriptsize C++, Python} 5 | {} 6 | { 7 | Masters thesis work involved modifying Bitcoin Core code to implement approaches of improving chain stability. 8 | Created tools to manage a testbed of Bitcoin nodes allowing us to run simulations on an internal cloud cluster. 9 | Paper published in \href{https://dblp.org/pid/172/8850.html}{COMSNETS 2022}. 10 | } 11 | \vspace*{0.2\baselineskip} 12 | 13 | \cventry{2017 -- 2018} 14 | {Blockchain} 15 | {} 16 | {\scriptsize Python, Javascript, Solidity} 17 | {} 18 | { 19 | Masters coursework included 20 | an Ethereum smart contract for licensed media, 21 | a simulator for blockchain growth, 22 | a term-paper on anonymity-focused crypto-currencies etc. 23 | } 24 | \vspace*{0.2\baselineskip} 25 | 26 | % \cventry{Apr'14 -- Nov'14} 27 | % {Ideabin} 28 | % {} 29 | % {\scriptsize Python (Flask), MySQL (SQLAlchemy), Bootstrap} 30 | % {} 31 | % { 32 | % A website that helps you manage your ideas and share them with people. 33 | % \hfill 34 | % \href{http://github.com/ideabin/ideabin/}{\textcolor{blue}{\scriptsize Code.}} 35 | % } 36 | % \vspace*{0.2\baselineskip} 37 | 38 | % \cventry{Sep'13 -- Mar'14} 39 | % {Cryptex} 40 | % {} 41 | % {\scriptsize PHP, Bootstrap} 42 | % {} 43 | % { 44 | % Code breaking and treasure hunting challenge created for our college's annual fest. 45 | % \hfill 46 | % \href{http://github.com/jdevlabs/cryptex/}{\textcolor{blue}{\scriptsize Code.}} 47 | % } 48 | % \vspace*{0.2\baselineskip} 49 | 50 | \cventry{} 51 | {Cheat} 52 | {} 53 | {\scriptsize Go} 54 | {} 55 | { 56 | A tool that allows you to create and view interactive cheatsheets on the command-line. 57 | % \hfill 58 | % \href{http://github.com/dufferzafar/cheat/}{\textcolor{blue}{\scriptsize Code.}} 59 | } 60 | \vspace*{0.2\baselineskip} 61 | 62 | % \cventry{} 63 | % {Web} 64 | % {} 65 | % {\scriptsize PHP, JavaScript} 66 | % {} 67 | % { 68 | % Have created a few web based stuff including 69 | % an interface to search GSoC projects, 70 | % a personal blog, 71 | % a portal to upload Resumes, 72 | % userscripts to import data into MusicBrainz etc. 73 | % } 74 | % \vspace*{0.2\baselineskip} 75 | 76 | \cventry{} 77 | {Scripts \& Utilities} 78 | {} 79 | {\scriptsize Python, Bash, AutoHotkey} 80 | {} 81 | { 82 | Have written various scripts that automate tasks like: 83 | renaming files, 84 | % sorting directories, 85 | capturing \& uploading screenshots, 86 | % creating music playlists, 87 | % downloading lyrics of songs, 88 | % fixing tags of MP3 files, 89 | % helping me decide what movie to watch, 90 | % tagging my articles-to-read list, 91 | % monitoring my internet bandwidth consumption, 92 | % converting webpages \& other documents to PDF, 93 | creating a "zero-byte" disk mirror etc. 94 | } 95 | \vspace*{0.2\baselineskip} 96 | -------------------------------------------------------------------------------- /sections/skills.tex: -------------------------------------------------------------------------------- 1 | \cventry{} 2 | {Programming Languages} 3 | {} 4 | {C/C++, Python, PHP, AutoHotkey} 5 | {} 6 | {} 7 | 8 | \cventry{} 9 | {Web} 10 | {} 11 | {HTML, CSS (LESS), JavaScript, Octopress} 12 | {} 13 | {} 14 | 15 | \cventry{} 16 | {Operating Systems} 17 | {} 18 | {Windows, Linux} 19 | {} 20 | {} 21 | 22 | \cventry{} 23 | {Others} 24 | {} 25 | {git, \LaTeX} 26 | {} 27 | {} 28 | -------------------------------------------------------------------------------- /sections/work.tex: -------------------------------------------------------------------------------- 1 | \cventry{Jun'2019 -- Present} 2 | {Software Engineer III} 3 | {Tower Research Capital} 4 | {Gurgaon} 5 | {} 6 | { 7 | \begin{itemize} 8 | \item Designed \& implemented a C++ based real time risk analytics engine 9 | processing updates on the entire firms portfolio \& 10 | providing a SQL API by leveraging an in-memory DuckDB store. 11 | \item Created a C++ based autocomplete API 12 | \item Consolidated ad-hoc scripts 13 | \& data analysis tools into a maintainable Python/Streamlit dashboard. 14 | \item Real time risk analytics. 15 | \item Real time risk analytics. 16 | \end{itemize} 17 | } 18 | \vspace*{0.2\baselineskip} 19 | 20 | % \cventry{Jun'16 -- Sep'16} 21 | % {Software Engineer} 22 | % {Adobe Systems Inc. - Noida} 23 | % {} 24 | % {} 25 | % { 26 | % Worked on automated testing of an Adobe product using Python \& Selenium. 27 | % } 28 | % \vspace*{0.2\baselineskip} 29 | 30 | \subsection{Open Source Internships} 31 | \vspace*{0.2\baselineskip} 32 | 33 | \cventry{Jun -- Aug 2016} 34 | {Student Developer} 35 | {Google Summer of Code} 36 | {The Honeynet Project} 37 | {} 38 | { 39 | Python 2 to 3 port of an HTTP proxy tool 40 | (\href{http://github.com/mitmproxy/mitmproxy/}{mitmproxy}) 41 | % Also improved it's 42 | % code coverage, 43 | % cookie parser, 44 | % export capabilities, 45 | % and terminal UI. 46 | % \hfill 47 | % \href{https://github.com/mitmproxy/mitmproxy/commits?author=dufferzafar}{\textcolor{blue}{\scriptsize Code.}} 48 | } 49 | \vspace*{0.2\baselineskip} 50 | 51 | \cventry{Jun -- Aug 2015} 52 | {Student Developer} 53 | {Google Summer of Code} 54 | {MetaBrainz Foundation} 55 | {} 56 | { 57 | Improvements to a Python/Flask based music review website 58 | (\href{http://critiquebrainz.org/}{CritiqueBrainz}) 59 | % Created an admin interface for it 60 | % and allowed other entities (like musical events) to be reviewed. 61 | % \hfill 62 | % \href{https://github.com/metabrainz/critiquebrainz/commits?author=dufferzafar}{\textcolor{blue}{\scriptsize Code.}} 63 | } 64 | \vspace*{0.2\baselineskip} 65 | 66 | \cventry{Jun -- Aug 2014} 67 | {Student Developer} 68 | {Google Summer of Code} 69 | {MetaBrainz Foundation} 70 | {} 71 | { 72 | Created a website \& a Python based plugin API for a music tagging tool 73 | (\href{https://github.com/metabrainz/picard-website/commits?author=dufferzafar}{Picard}) 74 | % and created a Bootstrap based website for it. 75 | % \hfill 76 | % \href{https://github.com/metabrainz/picard-website/commits?author=dufferzafar}{\textcolor{blue}{\scriptsize Code.}} 77 | } 78 | \vspace*{0.2\baselineskip} 79 | -------------------------------------------------------------------------------- /watch: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | inotifywait -mqr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e close_write @.git ./ | \ 4 | while read date time dir file; 5 | do 6 | ext="${file##*.}" 7 | if [[ "$ext" = "tex" ]]; then 8 | FILECHANGE=${dir}${file} 9 | echo "${date} - ${time} - $FILECHANGE" 10 | make 11 | fi 12 | done 13 | --------------------------------------------------------------------------------