Compare commits

...

2 Commits

Author SHA1 Message Date
ae48b4cc6a more CV related changes
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-01-07 10:35:47 +05:30
fabc096e4e documents: init
add cv the way jasper does it

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-01-07 10:25:53 +05:30
17 changed files with 446 additions and 12 deletions

View File

@@ -9,6 +9,8 @@ I like a lot of things, but the thing I like the most is sleeping.
I dislike particularly nothing.
#+HTML: <p>Here is my <a href="/documents/cv.html">CV</a>.
* Socials
- [[https://twitter.com/natto1784][Twitter]]
- [[https://github.com/natto1784][GitHub]]

View File

@@ -2,13 +2,18 @@
title: Contact
---
- Email :: [[mailto:natto@weirdnatto.in][natto at weirdnatto dot com]]
:: [[mailto:singh.amneesh1784@gmail.com][singh dot amneesh1784 at gmail dot com]]
:: [[mailto:natto1784@protonmail.com][natto1784 at protonmail dot com]]
- IRC Nicks :: natto
:: natto17
- LinkedIn :: [[https://www.linkedin.com/in/natto1784/][natto1784]]
- Discord :: AlpaViraam#0735
* Email
- [[mailto:natto@weirdnatto.in][natto at weirdnatto dot com]]
- [[mailto:singh.amneesh1784@gmail.com][singh dot amneesh1784 at gmail dot com]]
- [[mailto:natto1784@protonmail.com][natto1784 at protonmail dot com]]
* IRC Nicks
Though, I'll probably be AFK
- natto
- natto17
* Discord
AlpaViraam#0735
** Public PGP
#+begin_src

112
documents/cv.log Normal file
View File

@@ -0,0 +1,112 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/NixOS.org) (preloaded format=pdflatex 1980.1.1) 7 JAN 2023 08:05
entering extended mode
\write18 enabled.
%&-line parsing enabled.
**cv.tex
(.//cv.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-02-24>
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/base/article.cls
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/base/size11.clo
File: size11.clo 2021/10/04 v1.4n Standard LaTeX file (size option)
)
\c@part=\count185
\c@section=\count186
\c@subsection=\count187
\c@subsubsection=\count188
\c@paragraph=\count189
\c@subparagraph=\count190
\c@figure=\count191
\c@table=\count192
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
\bibindent=\dimen138
)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/base/inputenc.sty
Package: inputenc 2021/02/14 v1.3d Input encoding file
\inpenc@prehook=\toks16
\inpenc@posthook=\toks17
)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/base/fontenc.sty
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/graphics/graphicx.sty
Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks18
)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/graphics/graphics.sty
Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/graphics/trig.sty
Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 107.
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/graphics-def/pdftex.def
File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex
))
\Gin@req@height=\dimen139
\Gin@req@width=\dimen140
)
(/nix/store/wzm599kl7nhv7cpz31yzq8f1g32mb10m-texlive-combined-2021/share/texmf/
tex/latex/tools/longtable.sty
Package: longtable 2021-09-01 v4.17 Multi-page Table package (DPC)
\LTleft=\skip49
\LTright=\skip50
\LTpre=\skip51
\LTpost=\skip52
\LTchunksize=\count193
\LTcapwidth=\dimen141
\LT@head=\box50
\LT@firsthead=\box51
\LT@foot=\box52
\LT@lastfoot=\box53
\LT@gbox=\box54
\LT@cols=\count194
\LT@rows=\count195
\c@LT@tables=\count196
\c@LT@chunks=\count197
\LT@p@ftn=\toks19
)
! LaTeX Error: File `wrapfig.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
Enter file name:
! Emergency stop.
<read *>
l.9 \usepackage
{rotating}^^M
*** (cannot \read from terminal in nonstop modes)
Here is how much of TeX's memory you used:
1055 strings out of 479729
15595 string characters out of 5873173
297947 words of memory out of 5000000
19111 multiletter control sequences out of 15000+600000
470328 words of font info for 30 fonts, out of 8000000 for 9000
319 hyphenation exceptions out of 8191
55i,0n,62p,201b,38s stack positions out of 5000i,500n,10000p,200000b,80000s
! ==> Fatal error occurred, no output PDF file produced!

35
documents/cv.org Normal file
View File

@@ -0,0 +1,35 @@
---
title: Curriculum Vitae
---
#+HTML: <h1>Curriculum Vitae</h1>Go <a href="/documents/cv.pdf">here</a> for the pdf.<hr>
* _About_
- Amneesh Singh
- [[mailto:natto@weirdnatto.in][natto at weirdnatto dot in]]
- [[https://weirdnatto.in][weirdnatto.in]]
Hello, I am Amneesh Singh, I also go by =natto1784= online. I live in Delhi, India; and do random stuff. I am more of a "system-administrator" type of guy by nature, but when it comes to programming, I want to do it all low-level; unless it relates to my hobby.
* _Education_
- B.Tech, Information Technology, Maharaja Agrasen Institute of Technology *(2021 - Current)*
- AISSCE (Grade 12), PCM, CBSE, *(2018-2020), 96%*
- AISSE (Grade 10), CBSE, *(2016-2018), 90.2%*
* _Student Programs, Scholarships, Examinations_
- *Google Summer of Code 2022*: I participated as a contributor in [[https://summerofcode.withgoogle.com/archive/2022][Google Summer of Code 2022]] at [[https://libvirt.org][libvirt]] and got paid a stipend for it by Google. The project involved adding the new introspectable statistics provided by QEMU and adding them under the libvirt statistics API.
- *NOC: Foundations of Cryptography, IIIT Bangalore, NPTEL - May 2022*
- *NOC: Computer Architecture, IIT Delhi, NPTEL - May 2022*
* _Skills_
** Programming Languages
- *Experienced*: C/C++, Rust, Python, Javascript, CSS, HTML
- *Familiar*: Haskell, PHP, Java, Lua, x86-Assembly, ARM-Assembly
** Tools
- *Experienced*: GNU/Linux, POSIX Shells, Git, Nix/NixOS, GNU Make, ffmpeg, OpenSSH, vi/vim, GNU Emacs, Docker, Hashicorp Nomad, Hashicorp Vault, nginx, Concourse CI
- *Familiar*: TeX, Pandoc, GitHub Actions, ZFS, Oracle Cloud Infrastructure, Terraform, Hashicorp Consul, Portage, yarn/npm, Web Frameworks (Rocket, NodeJS, Svelte, ReactJS)
** Soft Skills (lists sorted by proficiency)
- *Languages*: Hindi, Punjabi, English, Japanese (can read a little, cannot converse)
- *Hobbies*: Home server/lab, Writing, Philosophy, Music theory, Geopolitics

168
documents/cv.tex Normal file
View File

@@ -0,0 +1,168 @@
% Created 2023-01-07 Sat 08:05
% Intended LaTeX compiler: pdflatex
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\usepackage{minted}
\date{\today}
\title{}
\hypersetup{
pdfauthor={},
pdftitle={},
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 28.2 (Org mode 9.6)},
pdflang={English}}
\begin{document}
---
title: Curriculum Vitae
---
\section{Amneesh Singh}
\label{sec:org98303c7}
\begin{table}[htbp]
\caption{\label{tab:orga79be85}foo}
\begin{tabular}{rr}
Numero Progr. & Iva\\[0pt]
\hline
313 & 57.2\\[0pt]
314 & 13.81\\[0pt]
315 & 1.59\\[0pt]
316 & 1.98\\[0pt]
317 & 3.83\\[0pt]
318 & 2.29\\[0pt]
319 & 1.68\\[0pt]
320 & 1.86\\[0pt]
321 & 1.73\\[0pt]
322 & 0.36\\[0pt]
323 & 0.76\\[0pt]
324 & 1.98\\[0pt]
325 & 0.79\\[0pt]
326 & 2.7\\[0pt]
327 & 15.4\\[0pt]
328 & 1.17\\[0pt]
329 & 2.18\\[0pt]
330 & 2.61\\[0pt]
331 & 0.67\\[0pt]
332 & 0.94\\[0pt]
333 & 1.44\\[0pt]
334 & 10.25\\[0pt]
335 & 0.45\\[0pt]
336 & 1.2\\[0pt]
337 & 0.79\\[0pt]
338 & 1.97\\[0pt]
339 & 1.39\\[0pt]
340 & 1.98\\[0pt]
341 & 2.24\\[0pt]
342 & 3.26\\[0pt]
343 & 0.41\\[0pt]
344 & 0.36\\[0pt]
345 & 2.34\\[0pt]
346 & 0.76\\[0pt]
347 & 0.27\\[0pt]
348 & 0.41\\[0pt]
349 & 1.59\\[0pt]
350 & 0.54\\[0pt]
351 & 0.81\\[0pt]
352 & 0.41\\[0pt]
353 & 1.12\\[0pt]
354 & 9.63\\[0pt]
355 & 1.26\\[0pt]
356 & 3.09\\[0pt]
357 & 5.05\\[0pt]
358 & 2.24\\[0pt]
359 & 10.92\\[0pt]
360 & 1.98\\[0pt]
361 & 9.92\\[0pt]
362 & 0.41\\[0pt]
363 & 2.34\\[0pt]
364 & 1.98\\[0pt]
365 & 4.81\\[0pt]
366 & 0.49\\[0pt]
367 & 1.98\\[0pt]
368 & 1.26\\[0pt]
369 & 1.8\\[0pt]
370 & 4.83\\[0pt]
371 & 8.56\\[0pt]
372 & 2.34\\[0pt]
373 & 1.8\\[0pt]
374 & 4.37\\[0pt]
375 & 1.98\\[0pt]
376 & 2.92\\[0pt]
377 & 1.98\\[0pt]
378 & 10.3\\[0pt]
379 & 10.46\\[0pt]
380 & 2.25\\[0pt]
381 & 1.03\\[0pt]
382 & 2.22\\[0pt]
383 & 0.85\\[0pt]
384 & 1.24\\[0pt]
385 & 2.7\\[0pt]
386 & 1.03\\[0pt]
387 & 1.98\\[0pt]
388 & 1.97\\[0pt]
389 & 1.03\\[0pt]
390 & 3.19\\[0pt]
391 & 45.03\\[0pt]
392 & 1.98\\[0pt]
393 & 3.25\\[0pt]
394 & 1.97\\[0pt]
395 & 2.56\\[0pt]
396 & 1.98\\[0pt]
397 & 3.23\\[0pt]
398 & 0.97\\[0pt]
399 & 7.21\\[0pt]
400 & 1.98\\[0pt]
401 & 1.98\\[0pt]
402 & 0.79\\[0pt]
403 & 2.16\\[0pt]
404 & 4.59\\[0pt]
405 & 1.98\\[0pt]
406 & 1.98\\[0pt]
407 & 1.98\\[0pt]
408 & 1.42\\[0pt]
409 & 1.62\\[0pt]
410 & 22.36\\[0pt]
411 & 1.98\\[0pt]
412 & 2.78\\[0pt]
413 & 0.42\\[0pt]
414 & 8.41\\[0pt]
415 & 1.98\\[0pt]
416 & 5.06\\[0pt]
417 & 1.98\\[0pt]
418 & 2.19\\[0pt]
419 & 50.49\\[0pt]
420 & 9.03\\[0pt]
421 & 14.13\\[0pt]
422 & 8.11\\[0pt]
423 & 2.25\\[0pt]
424 & 2.89\\[0pt]
425 & 17.67\\[0pt]
426 & 2.92\\[0pt]
427 & 2.43\\[0pt]
428 & 8.3\\[0pt]
429 & 2.86\\[0pt]
430 & 205.19\\[0pt]
431 & 72.13\\[0pt]
432 & 86.56\\[0pt]
433 & 244.54\\[0pt]
434 & 39.85\\[0pt]
435 & 89.8\\[0pt]
\hline
& Totale 1262.68\\[0pt]
\hline
\end{tabular}
\end{table}
\end{document}

View File

@@ -40,14 +40,23 @@
};
in
rec {
devShell = with pkgs.haskellPackages; shellFor {
devShell = with pkgs; with haskellPackages; shellFor {
packages = _: [ site ];
withHoogle = true;
buildInputs = [
cabal-install
(texlive.combine {
inherit (texlive)
scheme-small
fontspec
enumitem
parskip
hyperref
standalone
titlesec;
})
haskell-language-server
ghcid
site
];
};
packages = {

BIN
fonts/Arvo-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/Arvo-BoldItalic.ttf Normal file

Binary file not shown.

BIN
fonts/Arvo-Italic.ttf Normal file

Binary file not shown.

BIN
fonts/Arvo-Regular.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-BoldItalic.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-Italic.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-Regular.ttf Normal file

Binary file not shown.

View File

@@ -7,8 +7,10 @@ cabal-version: >= 1.10
executable site
main-is: site.hs
build-depends: base == 4.*
, filepath == 1.4.*
, hakyll == 4.15.*
, pandoc == 2.*
, process == 1.6.*
, text == 1.*
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010

View File

@@ -6,14 +6,26 @@ import Data.Maybe (isJust)
import Data.Text (Text)
import qualified Data.Text as T
import Hakyll
import Text.Pandoc (WriterOptions (writerHighlightStyle, writerNumberSections, writerTOCDepth, writerTableOfContents, writerTemplate))
import System.FilePath (replaceDirectory, replaceExtension, takeDirectory)
import qualified System.Process as Process
import Text.Pandoc
( WriterOptions
( writerHighlightStyle,
writerNumberSections,
writerTOCDepth,
writerTableOfContents,
writerTemplate
),
)
import qualified Text.Pandoc as Pandoc
import Text.Pandoc.Templates (Template, compileTemplate)
--------------------------------------------------------------------------------
main :: IO ()
main = hakyllWith config $ do
let individualPatterns = fromList ["about.org", "contact.org", "links.org"]
let individualPatterns = fromList ["about.org", "contact.org", "links.org", "documents/cv.org"]
let copyPatterns = fromList ["images/**", "fonts/*", "documents/*"]
match "images/**" $ do
route idRoute
@@ -27,6 +39,9 @@ main = hakyllWith config $ do
route idRoute
compile compressCssCompiler
match "*pdf" $ do
route idRoute
match individualPatterns $ do
route $ setExtension "html"
compile $
@@ -34,6 +49,18 @@ main = hakyllWith config $ do
>>= loadAndApplyTemplate "templates/default.html" defaultCtx
>>= relativizeUrls
-- kindly stolen from https://github.com/jaspervdj/jaspervdj/blob/b2a9a34cd2195c6e216b922e152c42266dded99d/src/Main.hs#L163-L169
-- also see helper functions writeXetex and xelatex
match "documents/cv.org" $
version "pdf" $ do
route $ setExtension "pdf"
compile $
getResourceBody
>>= readPandoc
>>= writeXeTex
>>= loadAndApplyTemplate "templates/cv.tex" defaultCtx
>>= xelatex
tags <- buildTags "posts/*" (fromCapture "archive/tags/*.html")
tagsRules tags $ \tag pattern -> do
@@ -139,6 +166,39 @@ main = hakyllWith config $ do
>>= loadAndApplyTemplate "templates/sitemap.xml" sitemapCtx
match "templates/*" $ compile templateBodyCompiler
where
-- https://github.com/jaspervdj/jaspervdj/blob/b2a9a34cd2195c6e216b922e152c42266dded99d/src/Main.hs#L214-L218
writeXeTex :: Item Pandoc.Pandoc -> Compiler (Item String)
writeXeTex = traverse $ \pandoc ->
case Pandoc.runPure (Pandoc.writeLaTeX Pandoc.def pandoc) of
Left err -> fail $ show err
Right x -> return (T.unpack x)
-- https://github.com/jaspervdj/jaspervdj/blob/b2a9a34cd2195c6e216b922e152c42266dded99d/src/Main.hs#L280-L292
-- but even more hacky
xelatex :: Item String -> Compiler (Item TmpFile)
xelatex item = do
TmpFile texPath <- newTmpFile "xelatex.tex"
let tmpDir = takeDirectory texPath
pdfPath = replaceExtension texPath "pdf"
unsafeCompiler $ do
writeFile texPath $ itemBody item
let x = itemBody item
_ <-
Process.system $
unwords
[ "xelatex",
"-halt-on-error",
"-output-directory",
tmpDir,
texPath,
">/dev/null",
"2>&1"
]
return ()
makeItem $ TmpFile pdfPath
rssFeedConfiguration :: FeedConfiguration
rssFeedConfiguration =
@@ -189,7 +249,7 @@ defaultCtx =
domainCtx :: Context String
domainCtx = constField "domain" domain
subdomains :: [Item String]
subdomains = map mkItem ["git", "nomad", "consul", "vault", "radio", "f", "ci"]
subdomains = map mkItem ["git", "nomad", "consul", "vault", "radio", "f"]
where
mkItem :: a -> Item a
mkItem a = Item {itemIdentifier = "subdomain", itemBody = a}

41
templates/cv.tex Normal file
View File

@@ -0,0 +1,41 @@
\documentclass[a4paper, 11pt]{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[colorlinks=true]{hyperref}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{fontspec}
\setmainfont[
Path = fonts/,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic
]{Arvo}
\setsansfont[
Path = fonts/,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic
]{Lato}
\usepackage{enumitem}
\setlist[itemize]{leftmargin=*}
\renewcommand{\labelitemi}{$$\sim$$}
\usepackage{parskip}
\setlength{\parindent}{0em}
\setlength{\parskip}{0.5em}
\setcounter{secnumdepth}{-1}
\def\tightlist{}
\usepackage{ulem}
\begin{document}
$body$
\end{document}