From 78650efcbe35363581a7e2d96bfd94b18f6ceef4 Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Sun, 14 Apr 2024 18:48:03 +0100 Subject: [PATCH] Stash changes --- developercv.cls | 22 +++++++++++---- main.tex | 74 +++++++++++++++++++++++++++---------------------- upload.sh | 4 +++ 3 files changed, 61 insertions(+), 39 deletions(-) create mode 100755 upload.sh diff --git a/developercv.cls b/developercv.cls index 08fe9a0..ccbbe3a 100644 --- a/developercv.cls +++ b/developercv.cls @@ -82,7 +82,7 @@ % Command to output an icon in a black square box with text to the right \newcommand{\icon}[3]{% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text - \vcenteredhbox{\colorbox{black}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box + \vcenteredhbox{\colorbox{Accent}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box \hspace{0.2cm}% Whitespace \vcenteredhbox{\textcolor{black}{#3}}% Text } @@ -127,9 +127,9 @@ \pgfmathparse{(\barwidth*\thebarcount)+(\barsep*\thebarcount)} \let\barx\pgfmathresult - \filldraw[fill=black, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth); + \filldraw[fill=BarColor, draw=none] (0,-\barx) rectangle (\barone,-\barx-\barwidth); - \node [label=180:\colorbox{black}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {}; + \node [label=180:\colorbox{BarTitle}{\textcolor{white}{##1}}] at (0,-\barx-0.175) {}; \addtocounter{barcount}{1} } \begin{tikzpicture} @@ -171,7 +171,7 @@ % Command to output section title headings \newcommand{\cvsect}[1]{% The only parameter is the section text \vspace{\baselineskip} % Whitespace before the section title - \colorbox{black}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title + \colorbox{SectTitleColor}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title } %---------------------------------------------------------------------------------------- @@ -196,11 +196,21 @@ #1 % Leftmost entry date(s) text }% &\parbox[t]{0.825\textwidth}{% 82.5% of the text width of the page - \textbf{#2}% Entry heading text + \textbf{\textcolor{EntryTitleColor}{#2}}% Entry heading text \hfill% Horizontal whitespace - {\footnotesize \textbf{\textcolor{black}{#3}}}\\% Right-aligned entry qualifier text + {\footnotesize \textbf{\textcolor{EntryTitleColor}{#3}}}\\% Right-aligned entry qualifier text #4 % Entry description text }\\\\} % Command to output a separator slash between lists, e.g. ' / ' \newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}} + +% Helpers +\newcommand{\emailaddr}[1]{\href{mailto:#1}{#1}} + +\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox +\newcommand{\kwdlst}[2][\slashsep]{% + \def\nextitem{\def\nextitem{#1}}% Separator + \renewcommand*{\do}[1]{\nextitem\texttt{##1}}% How to process each item + \docsvlist{#2}% Process list +} diff --git a/main.tex b/main.tex index 7ebf505..7b5c90e 100755 --- a/main.tex +++ b/main.tex @@ -22,10 +22,17 @@ \documentclass[9pt]{developercv} % Default font size, values from 8-12pt are recommended -%---------------------------------------------------------------------------------------- +\definecolor{Accent}{HTML}{367DA2} +\definecolor{BarTitle}{HTML}{000000} +\definecolor{BarColor}{HTML}{000000} +\definecolor{SectTitleColor}{HTML}{367DA2} +\definecolor{EntryTitleColor}{HTML}{367DA2} + +\usepackage{enumitem} \begin{document} + %---------------------------------------------------------------------------------------- % TITLE AND CONTACT INFORMATION %---------------------------------------------------------------------------------------- @@ -35,9 +42,9 @@ % If your name is very short, use just one of the lines below % If your name is very long, reduce the font size or make the minipage wider and reduce the others proportionately - \colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Joshua}}}}} % First name + \colorbox{Accent}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Joshua}}}}} % First name - \colorbox{black}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Coles}}}}} % Last name + \colorbox{Accent}{{\HUGE\textcolor{white}{\textbf{\MakeUppercase{Coles}}}}} % Last name \vspace{6pt} @@ -50,15 +57,16 @@ % Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want \icon{MapMarker}{12}{Bath / Reading}\\ \icon{Phone}{12}{+44 7564 199236}\\ - \icon{At}{12}{\href{mailto:josh@coles.to}{josh@coles.to}}\\ + \icon{At}{12}{\emailaddr{josh@coles.to}}\\ \end{minipage} \begin{minipage}[t]{0.275\textwidth} % 27.5% of the page width for the second row of icons \vspace{-\baselineskip} % Required for vertically aligning minipages % The first parameter is the FontAwesome icon name, the second is the box size and the third is the text % Other icons can be found by referring to fontawesome.pdf (supplied with the template) and using the word after \fa in the command for the icon you want - \icon{Globe}{12}{\href{https://joshuacoles.me}{joshuacoles.me}}\\ + \icon{Globe}{12}{\href{https://git.joshuacoles.me/explore/repos}{Personal Gitea}}\\ \icon{Github}{12}{\href{https://github.com/joshuacoles}{github.com/joshuacoles}}\\ + \icon{Linkedin}{12}{\href{https://www.linkedin.com/in/joshua-coles-a79498151/}{LinkedIn}}\\ \end{minipage} \vspace{0.5cm} @@ -69,21 +77,20 @@ \cvsect{Who Am I?} -\begin{minipage}[t]{0.5\textwidth} % 40% of the page width for the introduction text +\begin{minipage}[t]{0.6\textwidth} % 40% of the page width for the introduction text \vspace{-\baselineskip} % Required for vertically aligning minipages - Software Development is a profession and a hobby. I have been working on personal projects, and in a business context for over 10 years across a range of problems and technologies. I see the specific technologies as secondary to understanding the organisational context of the problem, not standing in the way of the correct solution. My recent work surrounding AI has shown me its use in solving otherwise intractable problems and providing insight into unstructured data and I am excited to explore its further applications in life and business. -\end{minipage} +Software Development is a profession and a hobby. I have been working with software for over 10 years across a range of problems and technologies. My drive is addressing real problems that I encounter with the tools to hand — treating specific technologies as secondary to understanding the organisational context of the problem, not having them stand in the way of a correct solution. In my work at the ONS, I was responsible for software delivery, helping to manage a large team of contributors under a tight timeframe. My recent work surrounding AI has shown me its use in solving otherwise intractable problems and providing insight into unstructured data and, I am excited to explore its further applications.\end{minipage} \hfill % Whitespace between -\begin{minipage}[t]{0.4\textwidth} % 50% of the page for the skills bar chart +\begin{minipage}[t]{0.35\textwidth} \vspace{-\baselineskip} % Required for vertically aligning minipages - \begin{barchart}{4.5} - \baritem{JavaScript}{60} - \baritem{PHP}{100} - \baritem{SASS/LESS}{70} - \baritem{Bootstrap}{70} - \baritem{Git}{40} - \baritem{LaTeX}{60} + \begin{barchart}{4} + \baritem{Typescript}{80} + \baritem{React}{70} + \baritem{Rust}{70} + \baritem{Python}{60} + \baritem{Git}{80} + \baritem{Ruby}{75} \end{barchart} \end{minipage} @@ -102,13 +109,18 @@ {Academic\,Year 2023/24} {Final Year Project, AI Applications in Lagrangian Physics} {University of Bath} - {My project has been on the applications of AI techniques to physical problems, specifically Lagrangian Mechanics. My work has focused on the building and testing of loss functions for the model based on the underlying physics.\\ \texttt{JAX}\slashsep\texttt{Numpy}\slashsep\texttt{Flax}\slashsep\texttt{Tensorflow}\slashsep\texttt{Python}} + {My project focuses on incorporating Lagrangian Mechanics into physics-informed neural networks. My key contributions include, + \begin{itemize}[itemsep=-2pt,topsep=5pt] + \item Creating and optimising physics informed loss functions for speed and utility in training. + \item Creating the data generation and model training infrastructure. + \end{itemize} + Technologies:\,\kwdlst{JAX, Neural Networks, Loss functions, Numpy, Flax, Tensorflow, Python}} \entry {Summer 2023} {AI Developer} {Amphora} {Worked to establish feasibility and applicability of AI to the main product of the business. The work mainly revolved around adapting the product to use a vector databases, building RAG pipelines, among other features.\\ - \texttt{Langchain}\slashsep\texttt{Weaviate}\slashsep\texttt{Python}} + \kwdlst{Langchain, Weaviate, Python}} \entry {2022 -- 2023\\\footnotesize{part time}} {Software Developer} @@ -119,21 +131,17 @@ {Software Developer} {Office for National Statistics} {For my placement I joined a team working on software for processing the results of the 2021 Census. We first took over the ownership and maintenance responsibility of contracted code, following which I developed key tools for debugging and observability in sensitive production environments, in addition to overhauling the test architecture of the application. Later, when we re-engaged the contracting firm, I took a leading role as release manager for the product and was heavily involved in requirements gathering for the new features \\\\ This placement year gave me an appreciation for how the interpersonal aspects of successful team are crucial for the overall success of a project. This was especially important when interfacing with the business side of the organisation on the direction of the project.\\ - \texttt{React}\slashsep\texttt{Express}\slashsep\texttt{Jest}\slashsep\texttt{Cypress}\slashsep\texttt{Redis}\slashsep\texttt{SQL}\slashsep\texttt{Postgres}\slashsep\texttt{HBase}\slashsep\texttt{Cloudera}\slashsep\texttt{Jenkins}\slashsep\texttt{Docker}\slashsep\texttt{Typescript}\slashsep\texttt{Javascript}\slashsep\texttt{Linux}\slashsep\texttt{Microservices} \slashsep\texttt{Agile} \slashsep\texttt{Scrum}} + \kwdlst{React, Express, Jest, Cypress, Redis, SQL, Postgres, HBase, Cloudera, Jenkins, Docker, Typescript, JavaScript, Linux, Microservices, Agile, Scrum}} \entry {2017 -- 2021\\\footnotesize{Holidays \& Part time}} {Software Developer} {Amphora} - {This involved exploration and investigation of new technologies on an individual basis to assess product worthiness. Reporting back to supervisor on state of the area, possible uses, and providing minimal viable product for further development. This included execution and delivery of medium sized software projects, deployed both as MVPs and production software, working individually and as a member team, across a range of technologies. Several projects were deployed to production and are still in use.\\\texttt{SAML}\slashsep\texttt{Ruby on Rails}\slashsep\texttt{Groovy}\slashsep\texttt{Java}\slashsep\texttt{Ruby}} + {This involved exploration and investigation of new technologies on an individual basis to assess product worthiness. Reporting back to supervisor on state of the area, possible uses, and providing minimal viable product for further development. This included execution and delivery of medium sized software projects, deployed both as MVPs and production software, working individually and as a member team, across a range of technologies. Several projects were deployed to production and are still in use.\\\kwdlst{SAML, Ruby on Rails, Groovy, Java, Ruby}} \entry {} {Ongoing Personal Projects} {} - {My personal projects of late mostly surround data analysis, data pipelines and warehouses to provide insight into my own life. A history of these is available on my GitHub or \href{https://git.joshuacoles.me/explore/repos}{personal gitea}.\\\texttt{Rust}\slashsep\texttt{CI/CD}\slashsep\texttt{Postgres}\slashsep\texttt{Caddy}\slashsep\texttt{Docker}\slashsep\texttt{System administration of internet connected servers} - - -} -} + {My personal projects of late mostly surround data analysis, data pipelines and warehouses to provide insight into my own life. A history of these is available on my GitHub or \href{https://git.joshuacoles.me/explore/repos}{personal gitea}.\\\kwdlst{Rust, CI/CD, Postgres, Caddy, Docker, System administration of internet connected servers}} \end{entrylist} %---------------------------------------------------------------------------------------- @@ -165,7 +173,7 @@ GCSEs: 1 A* with distinction, 8 A*s, 2 A’s, 1 B. Including A* with distinction \cvsect{ADDITIONAL QUALIFICATIONS AND TRAINING} - Better Conversations Clean Language Course — 2020 \\ + Better Conversations — 2022 \\ ISO9001 and ISO27001 training — 2018 \end{minipage} \hfill @@ -174,7 +182,7 @@ GCSEs: 1 A* with distinction, 8 A*s, 2 A’s, 1 B. Including A* with distinction \cvsect{Interests} - Long distance running, politics and governance and the applications of technology therein. + Long distance running; politics and governance and the applications of technology therein; committee member of Philosophy Society at University. \end{minipage} %\hfill %\begin{minipage}[t]{0.3\textwidth} @@ -194,18 +202,18 @@ GCSEs: 1 A* with distinction, 8 A*s, 2 A’s, 1 B. Including A* with distinction \entry {Employment\\Reference} {Mathew Cooke} - {} - {Director of Operations, Amphora Research Systems \\Email: mathewc@amphora-research.com\\ Contact Number: +44 1344 28863\\Address: Molly Millars Lane, Unit 6, Wokingham, RG4} + {Director of Operations, Amphora Research Systems} + {Email: \emailaddr{mathewc@amphora-research.com}\\ Contact Number: +44 1344 28863\\Address: Molly Millars Lane, Unit 6, Wokingham, RG4} \entry {Charater \\Reference} {Steve Gibbard} - {} - {Line manager while at Office for National Statistics \\Email: steve.gibbard@ons.gov.uk} + {DevOps Technical Lead, Office for National Statistics} + {Line manager and Tech Lead while at Office for National Statistics \\ DevOps Technical Lead, Office for National Statistics\\Email: \emailaddr{steve.gibbard@ons.gov.uk}} \entry {Academic \\Reference} {David Tsang} - {} - {Project Supervisor \\Email: dcwt21@bath.ac.uk} + {Senior Lecturer, Department of Physics, University of Bath} + {Project Supervisor \\Email: \emailaddr{dcwt21@bath.ac.uk}\\\href{https://researchportal.bath.ac.uk/en/persons/david-tsang}{Research Profile}} \end{entrylist} diff --git a/upload.sh b/upload.sh new file mode 100755 index 0000000..c67622b --- /dev/null +++ b/upload.sh @@ -0,0 +1,4 @@ +#! /bin/bash + +scp main.pdf cosmos:infrastructure/caddy/files/cv.pdf +