diff --git a/Dockerfile b/Dockerfile index 2201503..871be34 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,6 +26,9 @@ RUN wget --output-document=/usr/local/bin/yq https://github.com/mikefarah/yq/rel RUN apt-get update && apt-get install -y \ fonts-roboto-slab +RUN apt-get update && apt-get install -y \ + ghostscript + # Set working directory WORKDIR /latex_content diff --git a/Makefile b/Makefile index 911f12c..af8219e 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,9 @@ SHELL = /bin/sh FILE0 = main TEX_TEMPLATE = $(FILE0).template.tex -TEX = $(FILE0).tex +TEX = $(FILE0).raw.tex PDF = $(FILE0).pdf +RAW_PDF = $(FILE0).raw.pdf all: pdf @@ -16,8 +17,9 @@ pdf: cd build/pdf/; \ pandoc data.md --pdf-engine xelatex --template sidebar.template.tex -o sidebar.tex ; \ pandoc data.md --pdf-engine xelatex --template $(TEX_TEMPLATE) -o $(TEX) ; \ - xelatex -shell-escape -output-driver="xdvipdfmx -z 0" $(TEX) - + xelatex -shell-escape -output-driver="xdvipdfmx -z 0" $(TEX) ; \ + echo "Compresing PDF..."; \ + gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -dPrinted=false -sOutputFile=$(PDF) $(RAW_PDF) cp build/pdf/$(PDF) ./rendered.pdf clean-pdf: diff --git a/data.md b/data.md index 03daf8d..8ce87b6 100644 --- a/data.md +++ b/data.md @@ -9,7 +9,9 @@ personal_info: location: "Cáceres, Spain" linkedin: "esteban-martinena" github: "orensbruli" -image: "https://lh3.googleusercontent.com/fife/AGXqzDlaHnxKLj6w_srgGzToVTjjfNuOhVOexF7vruAOJ2_UWwAJDtQCkQyNdOUgZPF3s2Hh88jx8Y272MxVZhFAHgafyyzeUoahCJ0ZYnpMsD099oT7QEl2gBIeOSrbsbZabkLeMo7jnqUKGW8VyIuBI1UwiEz1ycjekPxY7oujNE6DOF4_YQ0rGfHONAqu4cVg5Mp-C020Em72y2JxAvHPKQaoqYIWOhLYEdfpDSxd7bDmx5KdyJxUTdd8gqMMCdB6a8Wu1dgvQw8btgQdH6m2NlXyhDEhbkT6vQILlQy28yBpBoNbtuY4DtiBNmSjPx2w_1eIqS5fL--HXjko-fFV583WEjtS_OM1mNTfsWT7pElfabAZ6oYUKvrZSBOqzTKCfABWjtnZQhykxO6UTI27z3SPmsOMwQV8iU8ojRhg1JXH5n7JtlhYDFK5WSAufgH6b7Fk0F9Bg13LhQFtmaYTY4wVYPp7Rx1iLOZJy84PXeZdnGY7uNbVSBx9J-jGj05tFv2ZqoEu_B7EpGxZRoSXC4d-MGnUJeKj-fLDfCZz9GSGD4R3rQm8x7s1sFWzBLiHM5k3StsdM0pFLDCO95AZoXnN3dl3VG06wLfeTL9HqgNtDxZiH2cLrkyU5kV7MjB-0x044CrGbA4FzPDVePUIwQWhmTHF6_3VC8A8q3LFLYGXLIwIAFfb4tWau7wgsKCJbOYcpT-RX0YO2yEJanI005Uh-dbyU2pQ0Cf3tgAbIHlnxAy3qJAWAIuSIPsYrDazXOeEKLLy8-preGvVxgvIDQ7yx-pT-KGyKKU5A_TNd8_HVq8TxZfqNcjY9iA6ZndkNBHwxoh7Ur9u9HBV0Q5wGqXdwiVW9dHbEMZ_lpsjrYXwrG6uH-GKPlyx9QrfD5fS1MrcnS8vlk8tqSTzjfdNHt9fJd_t-WIpGdxoasacE8fAcpN7gK5WOdYoH4xMuuT-KDTlYfd7bdx4YSRqRq27_z06ukYkpnPrrBxUp1Lugbm1lSqc6lNwPml-Z2WQ5uC25f_RoXMJ_S57Zu3Z-_sN3qJNK2hSO8AFkg2bcX7EeVCyT4cuSDmSjnLHScLEeyDINe1t8E0HH9xI0cjzU0ziBrgNCwua6pREUhiYIT8hPzydUKcSpbX80S5CX-KgLpVy0gzX2XtrZqmCTSYwfJPrAo8k_DDq6eAQ66kEr8lQ6KiBikcDeTZeCThCbNq4IL-_87bhYyevSn35dqhwcfG2Efuyc4x3caPEcnAbF_iHeWnEcNpB8YRtyYuA9ChkL5r6n-me5wo1I2CCty78HaadndvVPw4Aju-ha-YHcvOQjr9w2O8c7yJ9ugMOyUDD5R8NO_kKqBA8OaR_wBPC29hnJqMJNC4l6pUJrro3CFXBD4HDaQQRegVr9Ez0pKF5F0E5JXmBgZVHO-tkKlHPdGNQTXAnj9L9dxEqTew46i7jsixpR5GbZMxsmHYU52JhxglEKleodNIc4fQSeEZzVXiE58PdIXvoirwoaEb75qlKdJGS_HNYJKPouLmrMQ=w996-h916" +#image: "https://lh3.googleusercontent.com/fife/AGXqzDlaHnxKLj6w_srgGzToVTjjfNuOhVOexF7vruAOJ2_UWwAJDtQCkQyNdOUgZPF3s2Hh88jx8Y272MxVZhFAHgafyyzeUoahCJ0ZYnpMsD099oT7QEl2gBIeOSrbsbZabkLeMo7jnqUKGW8VyIuBI1UwiEz1ycjekPxY7oujNE6DOF4_YQ0rGfHONAqu4cVg5Mp-C020Em72y2JxAvHPKQaoqYIWOhLYEdfpDSxd7bDmx5KdyJxUTdd8gqMMCdB6a8Wu1dgvQw8btgQdH6m2NlXyhDEhbkT6vQILlQy28yBpBoNbtuY4DtiBNmSjPx2w_1eIqS5fL--HXjko-fFV583WEjtS_OM1mNTfsWT7pElfabAZ6oYUKvrZSBOqzTKCfABWjtnZQhykxO6UTI27z3SPmsOMwQV8iU8ojRhg1JXH5n7JtlhYDFK5WSAufgH6b7Fk0F9Bg13LhQFtmaYTY4wVYPp7Rx1iLOZJy84PXeZdnGY7uNbVSBx9J-jGj05tFv2ZqoEu_B7EpGxZRoSXC4d-MGnUJeKj-fLDfCZz9GSGD4R3rQm8x7s1sFWzBLiHM5k3StsdM0pFLDCO95AZoXnN3dl3VG06wLfeTL9HqgNtDxZiH2cLrkyU5kV7MjB-0x044CrGbA4FzPDVePUIwQWhmTHF6_3VC8A8q3LFLYGXLIwIAFfb4tWau7wgsKCJbOYcpT-RX0YO2yEJanI005Uh-dbyU2pQ0Cf3tgAbIHlnxAy3qJAWAIuSIPsYrDazXOeEKLLy8-preGvVxgvIDQ7yx-pT-KGyKKU5A_TNd8_HVq8TxZfqNcjY9iA6ZndkNBHwxoh7Ur9u9HBV0Q5wGqXdwiVW9dHbEMZ_lpsjrYXwrG6uH-GKPlyx9QrfD5fS1MrcnS8vlk8tqSTzjfdNHt9fJd_t-WIpGdxoasacE8fAcpN7gK5WOdYoH4xMuuT-KDTlYfd7bdx4YSRqRq27_z06ukYkpnPrrBxUp1Lugbm1lSqc6lNwPml-Z2WQ5uC25f_RoXMJ_S57Zu3Z-_sN3qJNK2hSO8AFkg2bcX7EeVCyT4cuSDmSjnLHScLEeyDINe1t8E0HH9xI0cjzU0ziBrgNCwua6pREUhiYIT8hPzydUKcSpbX80S5CX-KgLpVy0gzX2XtrZqmCTSYwfJPrAo8k_DDq6eAQ66kEr8lQ6KiBikcDeTZeCThCbNq4IL-_87bhYyevSn35dqhwcfG2Efuyc4x3caPEcnAbF_iHeWnEcNpB8YRtyYuA9ChkL5r6n-me5wo1I2CCty78HaadndvVPw4Aju-ha-YHcvOQjr9w2O8c7yJ9ugMOyUDD5R8NO_kKqBA8OaR_wBPC29hnJqMJNC4l6pUJrro3CFXBD4HDaQQRegVr9Ez0pKF5F0E5JXmBgZVHO-tkKlHPdGNQTXAnj9L9dxEqTew46i7jsixpR5GbZMxsmHYU52JhxglEKleodNIc4fQSeEZzVXiE58PdIXvoirwoaEb75qlKdJGS_HNYJKPouLmrMQ=w996-h916" +#image: "https://lh3.googleusercontent.com/fife/AGXqzDlebosKJdCOJQEZEQ-38Hm5D08UbiSaFFfbeQmPzbZJhOZwu7I4TP4uRKx1dBtARgfOAVxJ5agpICQT8OsYUtjtClK4_QKxQ3XqP4yp0fC85bjJOTUZowbY10FIhhk9mN-9AlsNHeWWKp9Yw38NdQqHHfLRZ9oHSVLS2aIubjdhx9cIyXUNIukecggc7NibkB3dAnTtEUMFP6nYYrABUKESo54cgy0eLIKJBBIwrC4zOkUERHZORSZ4H5Ve3OxeF_QaPJu_5HlzvUKGzICu_F81mGsrvXIcDQwzuU0M-LSW0KMK983-jKqwQbrYvwQudIaCRvs9jWDn0TP4JOQDXVvefw1PqveQAZyzMMLWuomY6F2kC1tRZEzXOwChFMMazZOd9J5yWcOspLcnS_RxcOy-Uu97KmA4-epyaAuc96nKN0yccyDy6BQqRLHEk01JR2HQCol6iSBnVR-LHCUxVe6EajsEgBk-OXZMfoSgl9gFPtr0PbQ-UT2bhZvGFDPgZ7KE9RTurk6019kBXbdBpQvNchpL8BnBTH-L7duNSus2LegRU7lZzwBlsCO-c-zxV4sH5MYnIZm4SRBL-UL3i8tCL31pnbS8LkSTIocZlamdZ3dNVr2h03MEXqTWqtqRArzV5lPGa3xqWx2dPZuzvXYyyrMHzEMJZdy5UzZbwhaWUqFqPu92y9m0u7IwuIy3PFG5K8TSTkuYq3JHjXo1916aaqr_Jfdwa1S1P4mztHswFdRvVM08eoBL0Wwn7B8hW6onlWj9hfKi7UpPxNjoxJVOBFvi3wGf5ms-qnHxT8e5DMk54Pozh4QAObDoHeuVF6iFdGfwlVdET4zBKjm-jCHvgpoXaebPMp5RiDvXB0P1W6HyI1IFjFubSBXdBKR-tpmDuP25-Jy6wMfQgR6Yg5EWeeYD51tci2V6Hsrkp3TRKqqvCz8upkeSSbWIf9jP5seyssu_Q0W8j5KGqftS3_mItzbJzXnM8ecQEEb5Tn0EahS4Vhs2s0DguG7kvqMvYlSNajFPt4LAVNS7qsarEcpmcN52Cjq-lGigMqWlOoxoPtfgfl8OF_8TN0eieaF55OKltG8hktjiwrHOhgEoEsf-u6tWb8Npe-MF0KhJfoRFA7BSWCgzxHsSTWEGgRiftFQ3oUT9Me-OZViQD2OhVjCEKSWiddQR4Ndnd9d_dtLpu6vEwl1Eg1XoOder_EYOFtClDZRNZq69y36tNx5yfL3tqDxzPKt1_5VWmfCsMm0dAyl8hcnG8A_j_g8l5vcfUu2PmEu9TbqgV8_FM5s1kHWLip9n6Zn3LY1CqJJApXGzUuCIK70VaLG6GbRt63CNNym-bdT53hmyosls-GyjWE-eqXRbuxP6MlcTa7Tejf_QABQFfV2UFAWvuTmP8eKZstUrqVkrdNauVdRCSsvDCKbVJjuOg7VD0OgmepswqOyoQ8i7kF4GmagAiunwYY_Jmo8OJM6F0Is8Ftb4vCLmWrxK-1QoP22-A497bUefJbYQN3u6ZL5bzdrhEg=w1850-h932" +image: "https://lh3.googleusercontent.com/fife/AGXqzDkT4eBdNEfwiOFz4WOfiDOTgAg6c143ZhcNntKDyftObhuoYm_jOA1H80l46teUFSjOtxkxPD4p0Nw3gj9VZhYawYouKWeDsyrJ3S1fjxb15DAGjqm60Fmei4qE8z6xDU-nw4O4XPXiwN7TF60CK9DSbBqg2DeAw5SHiYvkFCVh86WmlZMwyvNgWaCCgFdTY9j_2bdXAt2Qg63eu3GveRm2MregNC4UQXmj1sMXXKM1PnOxNIXYj0XZBPG6PHvZtW5KoOKxhMH0URAd8w2uS6pxDWJojJu0qxDXXfDVLt0leLeodxZC_unse84CZb697NsOGjJ-lqOokhb18pLJ6g2B0cfORKCM7m6ZHiBybhiydDL4VtZNxX1f-Lgkt6O0BxEiLTDMdEj2-71zciXAGYzRfCAYT4wD74kzYDgwuZi30GvRnSTnr67qk4EBKMZBR3CEcCdwfLzNy4KF8BVk6m9CCEslOYgo-7ptejSALJFQHKQ8s2ixcGpeQ-EF7OoOGbJlCWMHarCp2SW9Hud1Njh9wVpTulWiWDWL9YJNsWJTKBUz4a36dvRo6rNIeG3qza6ymaO-4QoRw9YPvp_p13D2n-t2UulXlF21RdN-dMJ7G9x_H7Uj9VKDiG7zhKiKotCk4UvHrRKmkDtRSqcTjiicVpatBSfRKGPpxMecR_bJp1N454bvK1ggyDqPzeanIjX2DA8fDmMx1BmNcAc6QMarzas9QVPTcBz1MNMDpghv-Nk3GKG50XzBpO8S0AahCHXJaK7RsupBIEVkflr7XHh0nXPCkVr_vWjBTYk0PgFXnZkSjSMxKGWEhKy1iQ5TwYnblUV3yzNW2sT1XjiO8XFRyex9tol5Bw45EXHpLDAwQFh0FPmPjZqasrkt-f4RsOkA1f_eGQyJ0hfS1sj-3pfRQYZU2piAre1e_kB0Ff5yyyGOx9cc07WzcKBtoSZyzxgf0AyBmKd0NzcT_PRHzZUqb9uXDC-W116Cioo6Q9Owrb3bD5ZZgM26--rzQorcUEUbsDLZUBY1rukADqr0970MibDOT9RzWBW_ZYSTgZGmobJJlNaSvDkN26UuCj1-2uqdQmt8Z4FjMA55asQof-uXd2ahh7VX8_Gc2IVhYd8QW18Jgv4Lh7dJcRPurG204NQ-R40dehweCzzQsUuSOmokrIo6MwQJlZGa9VqP1DPeQzp4UrRrqofbN1Tn09NxNa4gxlFX-EUZA2jutw7K_ccAfJFpBbz_dcDA2Nsd1Ws-7KmW-qEvaqeAKRghYvZ9CV9AYFvWYYGviroqB4JmCugsE_CIOiOCgBnlvqAaRG4dDhxvgzBAs6Z7dp8CYqJ_dKBdwiltRCA8kiKg3b1NrhFb703b0UzlLV8S4mjNmQQlURx9-FxPwcWwyOzxNvkd_0vKWyZX0p7LRGdpSUS096aqcEb7KkIlfAE3RNFVYQFFYsmm4ImIzjMKmqHJkHCyhzkXJC7TYVGtkrtn6Etr5tDgIZ1o5kSG__6siv6i1eoi7fyIakSJV8ZVxw=w1850-h932" education: - degree: "BSc Computer Engineering" institution: "Extremadura University" @@ -20,54 +22,52 @@ education: duration: "06/2001 - 07/2007" location: "Cáceres, Spain" experiences: + - role: "DevOps" + company: "Picknik (Contractor)" + duration: "14/02/2023 - current" + location: "Boulder, Colorado, USA (Remote)" + responsibilities: | + DevOps for Moveit Studio. \ + DevOps services for Asensus Surgical. \ - role: "DevOps" company: "Open Robotics (Contractor)" duration: "01/08/2022 - 12/12/2022" location: "Singapore (Remote)" - responsibilities: - - "DevOps for Open-RMF team" - - "Docker, Docker Swarm, Kubernetes" - - "Chef, Ansible, Argo CD" - - "Python3, Shell Script" - - "Debian Packaging" - - "Unit testing & Mock" - - "CI/CD, GitHub Actions, GitLab Pipelines" + responsibilities: | + DevOps in charge of Robotics Middleware Framework. \ + Open Robotics ROS infrastructure team member. \ - role: "Python Dev/DevOps" company: "Univention (Contractor)" duration: "01/09/2021 - 31/07/2022" location: "Bremen, Germany (Remote)" - responsibilities: - - "Software developer for the core packages in Corporate Server Debian based distribution" - - "Develop of Azure MS connector with the LDAP background system" - - "Build and deploy Debian packages" - - "Python3, Shell Script" - - "Debian Packaging" - - "Unit testing & Mock" - - "Integration tests" - - "Docker, Docker Swarm" - - "GitHub Actions, GitLab Pipelines, CI/CD, Ansible" + responsibilities: | + Python developer in Univention Corporate Server (UCS). \ + Development of Azure AD connector for UCS. \ + Management of debian packages for UCS distribution. \ + DevOps contributions for the project. \ - role: "Python Dev/DevOps" company: "Gamma Solutions (Diggia)" duration: "01/12/2020 - 31/08/2021" location: "Cáceres, Spain (Remote)" - responsibilities: - - "DevOps for the project AUTONOMOUS DRIVING OF ELECTRIC VEHICLE FLEET within the 5G PILOT PROJECT: CITY OF CÁCERES" - - "Python developer for DSR architecture (Robocomp)" - - "Skills in Python3, C++, CMake, Make, Qt, Shell Script, DSL" - - "Unit testing & Mock" - - "Docker, Docker Swarm" - - "GitHub Actions, CI/CD, Ansible" + responsibilities: | + DevOps for "Autonomous Driving of an Electric Vehicle Fleet within the 5G Pilot Project". \ + Python developer for DSR architecture (Robocomp). \ - role: "DevOps" company: "Robotics and Computer Vision Lab (UEX)" duration: "11/02/2020 - 30/11/2020" location: "Cáceres, Spain" - responsibilities: - - "DevOps for the Robocomp framework" - - "Analyst-Developer on Robocomp DSR architecture" + responsibilities: | + DevOps for the Robocomp framework. \ + Analyst-Developer on Robocomp DSR architecture. \ + - role: "Software Architect - Developer" + duration: "29/07/2015 - 16/11/2019" + company: "Robotics and Computer Vision Lab (UEX)" + responsibilities: | + \textbf{Project}: Promotion of Aging in the EUROACE region. Design and development of applications and Serious Games. \ + \textbf{Project}: Social Immotics for Efficient Use of Public Buildings. Development of applications for sensor management and control of home automation systems. \ + \textbf{Project}: CELIS Project. Development and maintenance of a management and visualization application for satellite systems. \ + - - "Linux Sys. Admin" - - "Unit testing & Mock" - - "Docker" #projects: # - icon: "\\faMedkit" # title: "Policy Insurance Portal Solution" @@ -83,7 +83,7 @@ experiences: # description: "Individual game developer using hybrid and react native platforms. Currently, a total of 3 mobile games deployed on the play store." references: - - name: "Steven! RAGNARÖK / Infrastructure Technical Lead" + - name: "Steven! RAGNARÖK / Infrastructure Tech. Lead" email: "steven+proref@nuclearsandwich.com" affiliation: "Open Robotics" - name: "Matthew Festo / General Manager" diff --git a/latex/main.template.tex b/latex/main.template.tex index 6e360a7..3c56470 100644 --- a/latex/main.template.tex +++ b/latex/main.template.tex @@ -112,11 +112,8 @@ \cvsection{Experience} $for(experiences)$ \cvevent{$experiences.role$}{$experiences.company$}{$experiences.duration$}{$experiences.location$} -\begin{itemize} -$for(experiences.responsibilities)$ - \item $experiences.responsibilities$ -$endfor$ -\end{itemize} +{$experiences.responsibilities$} + \divider $endfor$ @@ -142,4 +139,4 @@ \end{paracol} -\end{document} +\end{document} \ No newline at end of file