From f6ac6289136b5c35e14304b554a37e26d88fdebc Mon Sep 17 00:00:00 2001 From: Adrien Friggeri Date: Mon, 30 Apr 2012 13:52:10 +0200 Subject: cleaning up and refactoring --- .gitignore | 23 ++-- .tm_properties | 2 + Readme.md | 15 +++ biblio.coffee | 56 --------- bibliography.bib | 199 +++++++++++++++++++++++++++++++ cv.pdf | Bin 53704 -> 51405 bytes cv.tex | 350 +++++++++++++++++++------------------------------------ friggeri-cv.cls | 279 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 15 --- 9 files changed, 630 insertions(+), 309 deletions(-) create mode 100644 .tm_properties create mode 100644 Readme.md delete mode 100644 biblio.coffee create mode 100644 bibliography.bib create mode 100644 friggeri-cv.cls delete mode 100644 package.json diff --git a/.gitignore b/.gitignore index 7521eb2..3b55d65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,18 @@ -node_modules/ +*.loa *.log -*.maf -*.mtc -*.mtc0 -*.out -*.syntex.gz +*.lot +*.lof *.aux -biblio.tex \ No newline at end of file +*.out +*.toc +*.fdb_latexmk +*.bbl +*.bcf +*.blg +*.run.xml +*.thm +*.gnuplot +*.synctex.gz +*.synctex.gz(busy) +*.auxlock +figures/cache \ No newline at end of file diff --git a/.tm_properties b/.tm_properties new file mode 100644 index 0000000..0acf6a5 --- /dev/null +++ b/.tm_properties @@ -0,0 +1,2 @@ +exclude = '{$exclude,figures/cache,*.{aux,log,lof,lot,toc,fdb_latexmk,synctex.gz,synctex.gz(busy),bbl,blg,bcf,run.xml,out,thm,gnuplot,synctex.gz,loa,auxlock}}' +include = '{$include,figures/*.gnuplot}' \ No newline at end of file diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..68e1e74 --- /dev/null +++ b/Readme.md @@ -0,0 +1,15 @@ +# About +Latest version of my CV, typesetted in Helvetica and using colors inspired by Monokai (there is an `ugly` option which renders in black and white, and reverts the header to dark on light, if printing on cheap paper is needed). + +Uses TikZ for the header, XeTeX and fontspec to use Helvetica Neue, biblatex to print my publications and textpos for the aside. + + +# License + +Copyright (C) 2012, Adrien Friggeri + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/biblio.coffee b/biblio.coffee deleted file mode 100644 index 2346727..0000000 --- a/biblio.coffee +++ /dev/null @@ -1,56 +0,0 @@ -jsdom = require 'jsdom' -util = require 'util' -fs = require 'fs' -hal = "http://haltools.inrialpes.fr/Public/afficheRequetePubli.php?auteur_exp=Friggeri&CB_auteur=oui&CB_titre=oui&CB_article=oui&langue=Anglais&tri_exp=annee_publi&tri_exp2=typdoc&tri_exp3=date_publi&ordre_aff=TA&Fen=Aff" - -jsdom.env hal, ['http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'], (err, window) -> - $ = window.$ - - types = [] - entries = {} - type = null - - $('#res_script').children().each -> - $this = $(this) - - switch this.nodeName.toLowerCase() - when 'p' - switch $this.attr('class') - when 'Rubrique' - year = $this.text() - when 'SousRubrique' - type = $this.text() - if types.indexOf(type) == -1 - entries[type] = [] - types.push(type) - - when 'dl' - cur = null - entry = {year} - $this.children().each -> - $this = $(this) - switch this.nodeName.toLowerCase() - when 'dt' - switch $this.text().toLowerCase() - when 'auteurs' then cur = 'authors' - when 'détail' then cur = 'more' - when 'titre' then cur = 'title' - else cur = null - when 'dd' - if cur - if cur == 'authors' - entry[cur] = $this.text().split(';').map((s)->s.replace(/^\s*|\s*$/g, '')) - else - entry[cur] = $this.text().replace(/\[|\]/g, '') - - entries[type].push(entry) - - buf = [] - for type, items of entries - buf.push " \\subsection*{#{type.toLowerCase()}}" - for entry in items - buf.push " \\btitle{#{entry.title}}" - buf.push " \\bauthors{#{entry.authors.join(', ')}}" - buf.push " \\bmore{#{entry.more}}" - fs.writeFile __dirname+"/biblio.tex", buf.join('\n'), 'utf8', -> - console.log "Generated biblio.tex" \ No newline at end of file diff --git a/bibliography.bib b/bibliography.bib new file mode 100644 index 0000000..3328ef5 --- /dev/null +++ b/bibliography.bib @@ -0,0 +1,199 @@ +%% This document is a bibtex export of HAL publication +%% Date of the export : 30/04/2012 +%% Criteria : Author : 'friggeri' + +%% +%% inria-00490195, version 2 +%% http://hal.inria.fr/inria-00490195 +%% + +@article{friggeri:2011:inria-00490195:2, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric and Fraboulet, Antoine and Mentr{\'e}, France and Lucet, Jean-Christophe}, + TITLE = {{Reconstructing Social Interactions Using an unreliable Wireless Sensor Network}}, + JOURNAL = {{Computer Communications}}, + PUBLISHER = {Elsevier}, + VOLUME = {34}, + NUMBER = {5}, + PAGES = {609--618}, + YEAR = {2011}, + MONTH = Apr, + KEYWORDS = {complex networks; interaction networks; wireless sensor networks; medical applications}, + DOI = {10.1016/j.comcom.2010.06.005}, + URL = {http://hal.inria.fr/inria-00490195} +} +%% inria-00597448, version 1 +%% http://hal.inria.fr/inria-00597448 +%% + +@article{friggeri:2011:inria-00597448:1, + AUTHOR = {Friggeri, Adrien and Cointet, Jean-Philippe and Latapy, Matthieu, Matthieu}, + TITLE = {{A Real-World Spreading Experiment in the Blogosphere}}, + JOURNAL = {{Complex Systems}}, + PUBLISHER = {Complex Systems Publications, Inc.}, + VOLUME = {19}, + NUMBER = {3}, + YEAR = {2011}, + URL = {http://hal.inria.fr/inria-00597448} +} +%% inria-00475921, version 1 +%% http://hal.inria.fr/inria-00475921 +%% + +@inproceedings{friggeri:2010:inria-00475921:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume}, + TITLE = {{Biais dans les mesures obtenues par un r{\'e}seau de capteurs sans fil}}, + BOOKTITLE = {{12{\`e}mes Rencontres Francophones sur les Aspects Algorithmiques de T{\'e}l{\'e}communications (AlgoTel)}}, + YEAR = {2010}, + EDITOR = {Maria Gradinariu Potop-Butucaru and Herv{\'e} Rivano}, + KEYWORDS = {complex networks ; wireless sensor network ; medical applications ; data reconstruction ; measurement bias}, + ADDRESS = {Belle Dune, France}, + URL = {http://hal.inria.fr/inria-00475921} +} +%% inria-00587942, version 1 +%% http://hal.inria.fr/inria-00587942 +%% + +@inproceedings{friggeri:2011:inria-00587942:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Communaut{\'e}s : Arr{\^e}tons de ne compter que les ar{\^e}tes}}, + BOOKTITLE = {{13es Rencontres Francophones sur les Aspects Algorithmiques de T{\'e}l{\'e}communications (AlgoTel)}}, + YEAR = {2011}, + EDITOR = {Ducourthial, Bertrand and Felber, Pascal}, + ADDRESS = {Cap Est{\'e}rel, France}, + URL = {http://hal.inria.fr/inria-00587942} +} +%% inria-00597446, version 1 +%% http://hal.inria.fr/inria-00597446 +%% + +@inproceedings{friggeri:2011:inria-00597446:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Fellows: Crowd-sourcing the evaluation of an overlapping community model based on the cohesion measure}}, + BOOKTITLE = {{Interdisciplinary Workshop on Information and Decision in Social Networks}}, + YEAR = {2011}, + MONTH = May, + NOTE = {31 accept{\'e}/140 soumis +250 participants}, + ADDRESS = {Cambridge, United States}, + URL = {http://hal.inria.fr/inria-00597446} +} +%% inria-00597447, version 1 +%% http://hal.inria.fr/inria-00597447 +%% + +@inproceedings{friggeri:2011:inria-00597447:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Egomunities, Exploring Socially Cohesive Person-based Communities}}, + BOOKTITLE = {{NetSci 2011 The International School and Conference on Network Science}}, + YEAR = {2011}, + MONTH = Jun, + ADDRESS = {Budapest, Hungary}, + URL = {http://hal.inria.fr/inria-00597447} +} +%% inria-00619092, version 1 +%% http://hal.inria.fr/inria-00619092 +%% + +@inproceedings{friggeri:2011:inria-00619092:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Triangles to Capture Social Cohesion}}, + BOOKTITLE = {{Third IEEE International Conference on Social Computing}}, + YEAR = {2011}, + MONTH = Sep, + ADDRESS = {Cambridge, United States}, + URL = {http://hal.inria.fr/inria-00619092} +} +%% inria-00626064, version 1 +%% http://hal.inria.fr/inria-00626064 +%% + +@inproceedings{friggeri:2011:inria-00626064:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Fellows: Crowd-sourcing the evaluation of an overlapping community model based on the cohesion measure}}, + BOOKTITLE = {{Complex Dynamics of Human Interactions}}, + YEAR = {2011}, + MONTH = Sep, + ADDRESS = {Vienna, Austria}, + URL = {http://hal.inria.fr/inria-00626064} +} +%% inria-00507447, version 1 +%% http://hal.inria.fr/inria-00507447 +%% + +@inproceedings{lucet:2010:inria-00507447:1, + AUTHOR = {Lucet, Jean-Christophe and Chelius, Guillaume and Laouenan, C{\'e}dric and Friggeri, Adrien and Veziris, N. and Lepelletier, D. and Abiteboul, D. and Bouvet, Elisabeth and Fleury, Eric and Mentr{\'e}, France}, + TITLE = {{Electronic Sensors for Measuring Interactions between Healthcare Workers (HCWs) and Patients (Pts): the Case of Tuberculosis (TB)}}, + YEAR = {2010}, + MONTH = Sep, + BOOKTITLE = {{2010 Interscience Conference on Antimicrobial Agents and Chemotherapy}}, + ORGANIZATION = {American Society for Microbiology}, + ADDRESS = {Boston, United States}, + URL = {http://hal.inria.fr/inria-00507447} +} +%% inria-00630363, version 1 +%% http://hal.inria.fr/inria-00630363 +%% + +@inproceedings{friggeri:2011:inria-00630363:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Trouver des communaut{\'e}s socialement coh{\'e}sives est NP-dur}}, + YEAR = {2011}, + MONTH = Oct, + BOOKTITLE = {{13emes journ{\'e}es Graphes et Algorithmes}}, + ADDRESS = {Lyon, France}, + URL = {http://hal.inria.fr/inria-00630363} +} +%% inria-00605673, version 1 +%% http://hal.inria.fr/inria-00605673 +%% + +@misc{friggeri:2011:inria-00605673:1, + AUTHOR = {Friggeri, Adrien and Fleury, Eric}, + TITLE = {{Des triangles pour mesurer la coh{\'e}sion sociale : Fellows, une exp{\'e}rimentation sur Facebook}}, + YEAR = {2011}, + MONTH = Jun, + NOTE = {S{\'e}minaire w2s @ La Cantine}, + URL = {http://hal.inria.fr/inria-00605673} +} +%% inria-00565336, version 2 +%% http://hal.inria.fr/inria-00565336 +%% + +@techreport{friggeri:2011:inria-00565336:2, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Egomunities, Exploring Socially Cohesive Person-based Communities}}, + TYPE = {Research Report}, + YEAR = {2011}, + MONTH = Feb, + KEYWORDS = {social networks, complex networks, real-world graphs, community detection, overlapping communities, data mining, modelisation}, + INSTITUTION = {INRIA}, + NUMBER = {RR-7535}, + URL = {http://hal.inria.fr/inria-00565336} +} +%% inria-00608889, version 1 +%% http://hal.inria.fr/inria-00608889 +%% + +@techreport{friggeri:2011:inria-00608889:1, + AUTHOR = {Friggeri, Adrien and Chelius, Guillaume and Fleury, Eric}, + TITLE = {{Triangles to Capture Social Cohesion}}, + TYPE = {Research Report}, + YEAR = {2011}, + MONTH = Jul, + INSTITUTION = {INRIA}, + NUMBER = {RR-7686}, + URL = {http://hal.inria.fr/inria-00608889} +} +%% inria-00621065, version 2 +%% http://hal.inria.fr/inria-00621065 +%% + +@techreport{friggeri:2011:inria-00621065:2, + AUTHOR = {Friggeri, Adrien and Fleury, Eric}, + TITLE = {{Maximizing the Cohesion is NP-hard}}, + TYPE = {Research Report}, + YEAR = {2011}, + MONTH = Sep, + INSTITUTION = {INRIA}, + NUMBER = {RR-7734}, + URL = {http://hal.inria.fr/inria-00621065} +} \ No newline at end of file diff --git a/cv.pdf b/cv.pdf index a94150b..f302c7f 100644 Binary files a/cv.pdf and b/cv.pdf differ diff --git a/cv.tex b/cv.tex index 3f46bb9..1aef850 100644 --- a/cv.tex +++ b/cv.tex @@ -1,236 +1,124 @@ %!TEX TS-program = xelatex -%!TEX TS-options = --shell-escape - -\documentclass[]{article} -\usepackage[french]{babel} -\usepackage{fancyhdr} -\usepackage{titlesec} -\usepackage{titling} -\usepackage{color} -\usepackage{fontspec,xltxtra,xunicode} -\usepackage{tikz} -\usepackage[left=6.1cm,top=2cm,right=1.5cm,bottom=2.5cm,nohead,nofoot]{geometry} -\usepackage[absolute,overlay]{textpos} -%\usepackage[colorgrid,texcoord]{eso-pic} -\usepackage{parskip} -\usepackage{hyperref} - -\setlength{\TPHorizModule}{1cm} -\setlength{\TPVertModule}{1cm} - -\definecolor{darkgray}{RGB}{51,51,51} -\definecolor{gray}{RGB}{77,77,77} -\definecolor{lightgray}{RGB}{153,153,153} -\definecolor{white}{RGB}{255,255,255} -\definecolor{green}{RGB}{181,226,70} - -\newfontfamily\headingfont[]{Helvetica Neue Condensed Bold} -\titleformat*{\section}{\LARGE\headingfont\color{gray}} -\titleformat*{\subsection}{\Large\headingfont\color{gray}} -\titleformat*{\subsubsection}{\large\headingfont\color{gray}} - -\defaultfontfeatures{Mapping=tex-text} -\setromanfont[Mapping=tex-text, Color=5f5f5f]{Helvetica Neue Light} -\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans} -\setmonofont[Scale=MatchLowercase]{Andale Mono} - -\renewcommand{\bibliography}{ - \immediate\write18{/usr/local/bin/env coffee biblio.coffee} - \input{biblio.tex} -} - -\thispagestyle{empty} -\pagestyle{empty} - -\newcommand{\sideheader}[1]{ - \vspace{\baselineskip}{\Large\headingfont\color{gray} #1} -} -\makeatletter -\renewcommand{\section}{ - \@startsection{section}{1}{0mm} - {\parskip} - {\lineskip} - {\LARGE\headingfont\color{gray}} -} -\makeatother -\makeatletter -\renewcommand{\subsection}{ - \@startsection{subsection}{1}{0mm} - {0mm} - {\parsep} - {\headingfont\large\color{gray}} -} -\makeatother - -\newcommand{\btitle}[1]{ - \par - {\fontsize{10pt}{18pt}\selectfont #1}\\ -} -\newcommand{\bauthors}[1]{ - {\fontsize{9pt}{18pt}\addfontfeatures{Color=lightgray}\selectfont #1}\\ -} -\newcommand{\bmore}[1]{ - \emph{\fontsize{8pt}{18pt}\addfontfeatures{Color=lightgray}\selectfont #1} -} - -\newcommand{\green}[1]{{\addfontfeatures{Color=green}#1}} -\newcommand{\orange}[1]{{\addfontfeatures{Color=fda333}#1}} -\newcommand{\purple}[1]{{\addfontfeatures{Color=d3a4f9}#1}} -\newcommand{\red}[1]{{\addfontfeatures{Color=fb4485}#1}} -\newcommand{\blue}[1]{{\addfontfeatures{Color=6ce0f1}#1}} -\newcommand{\gray}[1]{{\addfontfeatures{Color=lightgray}#1}} - -\newcommand{\row}[3]{#1&\parbox[t]{11.8cm}{{#2}\\#3\vspace{\parsep}}\\\noalign{\smallskip}} -\newcommand{\bold}[1]{{\headingfont\addfontfeatures{Color=gray}\normalsize{#1}}} -\newcommand{\light}[1]{{\fontspec{Helvetica Neue Light}\color{lightgray}\footnotesize{#1}}} - -\setlength{\tabcolsep}{0pt} +\documentclass[]{friggeri-cv} +\addbibresource{bibliography.bib} \begin{document} - \begin{tikzpicture}[remember picture,overlay] - \node [rectangle, fill=gray, anchor=north, minimum width=\paperwidth, minimum height=4cm] (box) at (current page.north){}; - \node [anchor=center] (name) at (box) { - \fontsize{40pt}{72pt}\selectfont - \fontspec{Helvetica Neue UltraLight} - \color{white}adrien\fontspec{Helvetica Neue}friggeri - }; - \node [anchor=north] at (name.south) { - \fontsize{14pt}{24pt}\selectfont - \fontspec{Helvetica Neue UltraLight} - \color{white} social network analyst - }; - \end{tikzpicture} - \vspace{2.5cm} - - \begin{textblock}{3.6}(1.5, 4.34) - \begin{flushright} - \sideheader{about}\\ - 31 rue Smith\\ - 69002 Lyon\\ - France\\ - +33 6.73.51.32.75\\ - ~ \\ - \shorthandoff{:} - \href{mailto:adrien@friggeri.net}{adrien@friggeri.net}\\ - \href{http://friggeri.net}{http://friggeri.net}\\ - \href{http://facebook.com/adrien}{fb://adrien}\\ - \shorthandon{:} - \sideheader{languages}\\ - bilingual french/english\\ - spanish \& italian notions\\ - - \sideheader{programming}\\ - $\heartsuit$ JavaScript\\ - (ES5, node.js)\\ - Python, C, OCaml\\ - CSS3 \& HTML5\\ - \end{flushright} - \end{textblock} - \vspace{-2\parskip} - \section*{\gray{int}erests} - complex networks, social networks, community detection, community structure, - overlapping communities, information diffusion, viral marketing, social - inference, recommendation, data mining - - \section*{\blue{edu}cation} - \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll} - \row{since 2009} - {\bold{Ph.D.} candidate in Computer Science \hfill \light{DNET/INRIA, LIP/ÉNS de Lyon}} - {\emph{A Quantified Theory of Social Cohesion.}} - \row{2007–2008} - {\bold{M.Sc. magna cum laude} \hfill \light{IXXI, École Normale Supérieure de Lyon}} - {Majoring in Computer Science\\ - Specialization in Complex Systems} - \row{2006–2007} - {\bold{B.Sc. magna cum laude} \hfill \light{École Normale Supérieure de Lyon}} - {Majoring in Computer Science} - \row{2003–2006} - {\bold{Classes Préparatoires aux Grandes Écoles} \hfill \light{Lycée Fénelon, Lycée Louis le Grand, Paris}} - {Preparation for national competitive entrance exams to leading French ``grandes écoles'', specializing in mathematics and physics.} - \row{2003} - {\bold{French Baccalauréat S. with honors} \hfill \light{Lycée Louis le Grand, Paris}} - {Specialization in mathematics and physics} - \end{tabular*} - - \section*{\red{exp}erience} - - \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll} - \row{02–07/2009}{\bold{LIP6/CNRS, Paris}}{Research Internship. \emph{Visualization of complex networks.}} - \row{06–08/2008}{\bold{ISCPIF/CNRS, Paris}}{Research Internship. \emph{Diffusion in the Blogosphere. Happy Flu.}} - \row{06–08/2007}{\bold{LIP6/CNRS, Paris}}{Research Internship. \emph{Kernels in real world networks.}} - \row{07–08/2005}{\bold{\href{http://www.kelkoo.com}{Kelkoo.com}}}{Summer job. \emph{Creation of a keyword generator for Google Adwords.}} - \row{07–08/2004}{\bold{\href{http://www.monsieurprix.com}{MonsieurPrix.com}}}{Summer job. \emph{Development of an e-commerce product indexation spider.}} - \end{tabular*} - - \section*{\green{onl}ine} - \bold{2012 Who did I forget ?} \hfill - \light{\href{http://whodidiforget.com}{whodidiforget.com}}\\ - Guest list recommandation for Facebook events based on friends already - attending the event. - - - \bold{2011 Fellows} \hfill - \light{\href{http://fellows-exp.com}{fellows-exp.com}}\\ - Automatic community detection among Facebook Friends in order to validate - the \emph{cohesion} measure, creation of friend lists. - - - \bold{2008 Happy Flu}\hfill - \light{\href{http://happyflu.com}{happyflu.com}}\\ - Experiment aimed to measure viral spreading of content across the - blogosphere. - - \section*{\orange{pub}lications} - \bibliography - - \section*{\purple{pre}ss} - - \btitle{\href{http://www.allfacebook.com/facebook-event-app-2012-01}{Who Did I Forget? Facebook Application Has The Answer}} - \bauthors{All Facebook} - \bmore{January 31st, 2012} - - \btitle{\href{http://wisemetrics.com/blog/2012/01/power-of-the-graph/}{Power of the graph : auto-fill your event guest list by quoting only one person}} - \bauthors{Wise Metrics} - \bmore{January 31st, 2012} - - \btitle{\href{http://fr.locita.com/reseaux-sociaux/facebook/une-experience-sociale-sur-facebook-des-triangles-pour-mesurer-la-cohesion-sociale/}{Une expérience sociale sur Facebook : des triangles pour mesurer la cohésion sociale}} - \bauthors{Locita} - \bmore{January 31st, 2012} - - \btitle{\href{http://www.minutebuzz.com/2011/03/22/fellows-fait-le-tri-parmi-vos-contacts-facebook/}{Fellows fait le tri parmi vos contacts Facebook}} - \bauthors{MinuteBuzz} - \bmore{March 22nd, 2011} - - \btitle{\href{http://www.mediassociaux.fr/2011/03/07/a-quoi-sert-votre-graphe-social/}{A quoi sert votre graphe social ?}} - \bauthors{MediaSociaux.fr} - \bmore{March 7th, 2011} - - \btitle{\href{http://www.demainlaveille.fr/2011/03/02/fellows-met-de-lordre-dans-vos-contacts-facebook/}{Fellows met de l’ordre dans vos contacts Facebook}} - \bauthors{Demain la veille} - \bmore{March 2nd, 2011} - - \btitle{\href{http://compagnon-parfait.fr/un-outil-pour-trier-ses-amis-facebook-art-3042-1.html}{Un outil pour trier ses amis Facebook}} - \bauthors{Compagnon Parfait} - \bmore{March 1st, 2011} - - \btitle{\href{http://www.itrmanager.com/articles/115762/inria-lance-experimentation-reseau-social-facebook.html}{L’INRIA lance une expérimentation sur le réseau social Facebook}} - \bauthors{ITR Manager} - \bmore{February 28th, 2011} - - \btitle{\href{http://www.atelier.net/trends/articles/reseaux-ligne-communautes-sidentifient-automatiquement}{Sur les réseaux en ligne, les communautés s'identifient automatiquement}} - \bauthors{L'Atelier} - \bmore{February 23rd, 2011} - - \btitle{\href{http://socialiving.wordpress.com/2011/02/18/fellows-a-social-experiment/}{Fellows, a Social Experiment}} - \bauthors{Social Living} - \bmore{February 18th, 2011} - - \btitle{\href{http://www.inria.fr/centre/grenoble/actualites/experimentation-fellows-sur-facebook}{L'équipe DNET lance une expérimentation sur le réseau social Facebook}} - \bauthors{INRIA} - \bmore{February 16th, 2011} - - \btitle{\href{http://www.ens-lyon.eu/1297847447289/0/fiche___article/&RH=ENS-LYON-FR-RECH-FAI}{Fellows : une expérience sociale}} - \bauthors{ENS Lyon} - \bmore{February 16th, 2011} +\header{adrien}{friggeri} + {social network analyst} + +% In the aside, each new line forces a line break +\begin{aside} + \section{about} + 31 rue Smith + 69002 Lyon + France + +33 6.73.51.32.75 + ~ + \href{mailto:adrien@friggeri.net}{adrien@friggeri.net} + \href{http://friggeri.net}{http://friggeri.net} + \href{http://facebook.com/adrien}{fb://adrien} + \section{languages} + bilingual french/english + spanish \& italian notions + \section{programming} + {\color{red} $\varheartsuit$} JavaScript + (ES5, node.js) + Python, C, OCaml + CSS3 \& HTML5 +\end{aside} + +\section{interests} + +complex networks, social networks, community detection, community structure, +overlapping communities, information diffusion, viral marketing, social +inference, recommendation, data mining + +\section{education} + +\begin{entrylist} + \entry + {since 2009} + {Ph.D. {\normalfont candidate in Computer Science}} + {DNET/INRIA, LIP/ÉNS de Lyon} + {\emph{A Quantified Theory of Social Cohesion.}} + \entry + {2007–2008} + {M.Sc. magna cum laude} + {IXXI, École Normale Supérieure de Lyon} + {Majoring in Computer Science\\ + Specialization in Complex Systems} + \entry + {2006–2007} + {B.Sc. magna cum laude} + {École Normale Supérieure de Lyon} + {Majoring in Computer Science} + \entry + {2003–2006} + {Classes Préparatoires aux Grandes Écoles} + {Lycée Fénelon, Lycée Louis le Grand, Paris} + {Preparation for national competitive entrance exams to leading French ``grandes écoles'', specializing in mathematics and physics.} + \entry + {2003} + {French Baccalauréat S. with honors} + {Lycée Louis le Grand, Paris} + {Specialization in mathematics and physics} +\end{entrylist} + +\section{experience} + +\begin{entrylist} + \entry + {02–07 2009} + {LIP6/CNRS, Paris} + {Research Internship.} + {\emph{Visualization of complex networks.}} + \entry + {06–08 2008} + {ISCPIF/CNRS, Paris} + {Research Internship.} + {\emph{Diffusion in the Blogosphere. Happy Flu.}} + \entry + {06–08 2007} + {LIP6/CNRS, Paris} + {Research Internship.} + {\emph{Kernels in real world networks.}} + \entry + {07–08 2005} + {\href{http://www.kelkoo.com}{Kelkoo.com}} + {Summer job.} + {\emph{Creation of a keyword generator for Google Adwords.}} + \entry + {07–08 2004} + {\href{http://www.monsieurprix.com}{MonsieurPrix.com}} + {Summer job.} + {\emph{Development of an e-commerce product indexation spider.}} +\end{entrylist} + +\section{online} + +\begin{entrylist} + \entry + {2012} + {Who did I forget ?} + {\href{http://whodidiforget.com}{whodidiforget.com}} + {Guest list recommandation for Facebook events based on friends already attending the event.} + \entry + {2011} + {Fellows} + {\href{http://fellows-exp.com}{fellows-exp.com}} + {Automatic community detection among Facebook Friends in order to validate the \emph{cohesion} measure, creation of friend lists.} + \entry + {2008} + {Happy Flu} + {\href{http://happyflu.com}{happyflu.com}} + {Experiment aimed to measure viral spreading of content across theblogosphere.} +\end{entrylist} + +\section{publications} + +\printbibsection{article}{article in peer-reviewed journal} +\printbibsection{inproceedings}{peer-revieed conference/proceedings} +\printbibsection{misc}{other publications} +\printbibsection{report}{research report} \end{document} diff --git a/friggeri-cv.cls b/friggeri-cv.cls new file mode 100644 index 0000000..b69512c --- /dev/null +++ b/friggeri-cv.cls @@ -0,0 +1,279 @@ +\ProvidesClass{friggeri-cv}[2012/04/30 CV class] +\NeedsTeXFormat{LaTeX2e} + +\DeclareOption{ugly}{\def\@cv@ugly{}} +\DeclareOption*{% + \PassOptionsToClass{\CurrentOption}{article}% +} +\ProcessOptions\relax +\LoadClass{article} + + +%%%%%%%%%% +% Colors % +%%%%%%%%%% + +\RequirePackage{xcolor} + +\definecolor{white}{RGB}{255,255,255} + +\definecolor{darkgray}{HTML}{333333} +\definecolor{gray}{HTML}{4D4D4D} +\definecolor{lightgray}{HTML}{999999} + +\definecolor{green}{HTML}{C2E15F} +\definecolor{orange}{HTML}{FDA333} +\definecolor{purple}{HTML}{D3A4F9} +\definecolor{red}{HTML}{FB4485} +\definecolor{blue}{HTML}{6CE0F1} + +\ifdefined\@cv@ugly + \colorlet{green}{lightgray} + \colorlet{orange}{lightgray} + \colorlet{purple}{lightgray} + \colorlet{red}{lightgray} + \colorlet{blue}{lightgray} + \colorlet{fillheader}{white} + \colorlet{header}{gray} +\else + \colorlet{fillheader}{gray} + \colorlet{header}{white} +\fi +\colorlet{textcolor}{gray} +\colorlet{headercolor}{gray} + +%%%%%%%%% +% Fonts % +%%%%%%%%% + +\RequirePackage[quiet]{fontspec} +\RequirePackage[math-style=TeX,vargreek-shape=unicode]{unicode-math} + +\newfontfamily\bodyfont[]{Helvetica Neue} +\newfontfamily\thinfont[]{Helvetica Neue UltraLight} +\newfontfamily\headingfont[]{Helvetica Neue Condensed Bold} + +\defaultfontfeatures{Mapping=tex-text} +\setmainfont[Mapping=tex-text, Color=textcolor]{Helvetica Neue Light} + +\setmathfont{XITS Math} + +%%%%%%%%%% +% Header % +%%%%%%%%%% + +\RequirePackage{tikz} + +\newcommand{\rolefont}{% + \fontsize{14pt}{24pt}\selectfont% + \thinfont% + \color{white}% +} + +\newcommand{\header}[3]{% + \begin{tikzpicture}[remember picture,overlay] + \node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=4cm] (box) at (current page.north){}; + \node [anchor=center] (name) at (box) {% + \fontsize{40pt}{72pt}\color{header}% + {\thinfont #1}{\bodyfont #2} + }; + \node [anchor=north] at (name.south) {% + \fontsize{14pt}{24pt}\color{header}% + \thinfont #3% + }; + \end{tikzpicture} + \vspace{2.5cm} + \vspace{-2\parskip} +} + + +%%%%%%%%%%%%% +% Structure % +%%%%%%%%%%%%% +\RequirePackage{parskip} + +\newcounter{colorCounter} +\def\@sectioncolor#1#2#3{% + {% + \color{% + \ifcase\value{colorCounter}% + blue\or% + red\or% + orange\or% + green\or% + purple\else% + headercolor\fi% + } #1#2#3% + }% + \stepcounter{colorCounter}% +} + +\renewcommand{\section}[1]{ + \par\vspace{\parskip} + {% + \LARGE\headingfont\color{headercolor}% + \@sectioncolor #1% + } + \par\vspace{\parskip} +} + +\renewcommand{\subsection}[2]{ + \par\vspace{1\parskip}% + \Large\headingfont\color{headercolor} #2% + \par\vspace{1.25\parskip}% +} + +\pagestyle{empty} + + +%%%%%%%%%%%%%%%%%%%% +% List environment % +%%%%%%%%%%%%%%%%%%%% + +\setlength{\tabcolsep}{0pt} +\newenvironment{entrylist}{% + \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll} +}{% + \end{tabular*} +} +\renewcommand{\bfseries}{\headingfont\color{headercolor}} +\newcommand{\entry}[4]{% + #1&\parbox[t]{11.8cm}{% + \textbf{#2}% + \hfill% + {\footnotesize\addfontfeature{Color=lightgray} #3}\\% + #4\vspace{\parsep}% + }\\} + + +%%%%%%%%%%%%%% +% Side block % +%%%%%%%%%%%%%% + +\RequirePackage[absolute,overlay]{textpos} +\setlength{\TPHorizModule}{1cm} +\setlength{\TPVertModule}{1cm} +\newenvironment{aside}{% + \let\oldsection\section + \renewcommand{\section}[1]{ + \par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} #1} + } + \begin{textblock}{3.6}(1.5, 4.34) + \begin{flushright} + \obeycr +}{% + \restorecr + \end{flushright} + \end{textblock} + \let\section\oldsection +} + +%%%%%%%%%%%%%%%% +% Bibliography % +%%%%%%%%%%%%%%%% + +\RequirePackage[style=verbose, maxnames=99]{biblatex} + +\DeclareFieldFormat[article]{title}{#1\par} +\DeclareFieldFormat[inproceedings]{title}{#1\par} +\DeclareFieldFormat[misc]{title}{#1\par} +\DeclareFieldFormat[report]{title}{#1\par} + +\DeclareBibliographyDriver{article}{% + \printfield{title}% + \newblock% + \printnames{author}% + \par% + \newblock% + {% + \footnotesize\addfontfeature{Color=lightgray}\itshape% + \usebibmacro{journal+issuetitle}% + \setunit{\space}% + \printfield{pages}% + \newunit% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \printfield{year}% + \newunit% + } + \par\vspace{0.3\baselineskip} +} + +\DeclareBibliographyDriver{inproceedings}{% + \printfield{title}% + \newblock% + \printnames{author}% + \par% + \newblock% + {% + \footnotesize\addfontfeature{Color=lightgray}% + \printfield{booktitle}% + \setunit{\addcomma\space}% + \printfield{year}% + \setunit{\addcomma\space}% + \printlist{location}% + \newunit% + } + \par\vspace{0.3\baselineskip} +} + +\DeclareBibliographyDriver{misc}{% + \printfield{title}% + \newblock% + \printnames{author}% + \par% + \newblock% + {% + \footnotesize\addfontfeature{Color=lightgray}\itshape% + \printfield{booktitle}% + \setunit*{\addcomma\space}% + \printfield{note}% + \setunit*{\addcomma\space}% + \printfield{year}% + \setunit{\addcomma\space}% + \printlist{location}% + \newunit% + } + \par\vspace{0.3\baselineskip} +} + +\DeclareBibliographyDriver{report}{% + \printfield{title}% + \newblock% + \printnames{author}% + \par% + \newblock% + {% + \footnotesize\addfontfeature{Color=lightgray}\itshape% + \printfield{type}% + \setunit{\space}% + \printfield{number}% + \setunit{\addcomma\space}% + \printfield{year}% + \newunit% + } + \par\vspace{0.3\baselineskip} +} + +\DeclareNameFormat{author}{% + \small\addfontfeature{Color=lightgray}% + \ifblank{#3}{}{#3\space}#1% + \ifthenelse{\value{listcount}<\value{liststop}} + {\addcomma\space} + {}% +} + +\newcommand{\printbibsection}[2]{ + \begin{refsection} + \nocite{*} + \printbibliography[type={#1}, title={#2}, heading=subbibliography] + \end{refsection} +} + + +%%%%%%%%%%%%%%%% +% Other tweaks % +%%%%%%%%%%%%%%%% + +\RequirePackage[left=6.1cm,top=2cm,right=1.5cm,bottom=2.5cm,nohead,nofoot]{geometry} +\RequirePackage{hyperref} \ No newline at end of file diff --git a/package.json b/package.json deleted file mode 100644 index cf004e8..0000000 --- a/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "author": "", - "name": "CV", - "version": "0.0.0", - "repository": { - "url": "" - }, - "engines": { - "node": "~v0.4.11" - }, - "dependencies": { - "pdfkit": "~0.1.5" - }, - "devDependencies": {} -} -- cgit v1.2.3