Compare commits
21
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4da253c8da | ||
|
|
392f1598a5 | ||
|
|
104800d1ce | ||
|
|
e1ebf69d47 | ||
|
|
450c0b5cc6 | ||
|
|
b0d6a33fd4 | ||
|
|
f7067f0491 | ||
|
|
8c2a9622a4 | ||
|
|
209b2e1e82 | ||
|
|
8163031f75 | ||
|
|
9c845035cd | ||
|
|
9ba05fade1 | ||
|
|
2a19c9d714 | ||
|
|
1c5fab6d8c | ||
|
|
c5a659f910 | ||
|
|
ae8ffba48f | ||
|
|
6f230b173e | ||
|
|
5f403ec950 | ||
|
|
f62b26ddb2 | ||
|
|
10eb8b14c4 | ||
|
|
8dd72aad26 |
+40
-27
@@ -3,7 +3,7 @@ name: Render LaTeX and Publish Release
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,33 +15,46 @@ jobs:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install LaTeX
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y texlive-fonts-extra texlive-latex-base texlive-science texlive-latex-extra texlive-fonts-recommended latexmk texlive-luatex
|
||||
|
||||
- name: Render LaTeX document
|
||||
run: latexmk -pdflua cv.tex
|
||||
|
||||
- name: release
|
||||
uses: actions/create-release@v1
|
||||
id: create_release
|
||||
- uses: actions/cache@v3
|
||||
name: Tectonic Cache
|
||||
with:
|
||||
draft: false
|
||||
prerelease: false
|
||||
# Ref will be tag in this context
|
||||
release_name: ${{ github.ref }}
|
||||
tag_name: ${{ github.ref }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
path: ~/.cache/Tectonic
|
||||
key: ${{ runner.os }}-tectonic-${{ hashFiles('**/*.tex') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-tectonic-
|
||||
|
||||
- name: Upload assembled CV
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
- uses: joshuacoles/setup-tectonic@main
|
||||
name: Setup Tectonic
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./cv.pdf
|
||||
asset_name: cv.pdf
|
||||
asset_content_type: application/pdf
|
||||
github-token: ${{ secrets.COM_DOT_GITHUB_TOKEN }}
|
||||
|
||||
- name: Run Tectonic
|
||||
run: tectonic cv.tex
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
cv.pdf
|
||||
|
||||
# - name: Create Release
|
||||
# uses: actions/create-release@v1
|
||||
# id: create_release
|
||||
# with:
|
||||
# draft: false
|
||||
# prerelease: false
|
||||
# # Ref will be tag in this context
|
||||
# release_name: ${{ github.ref_name }}
|
||||
# tag_name: ${{ github.ref_name }}
|
||||
# env:
|
||||
# GITHUB_TOKEN: ${{ github.token }}
|
||||
|
||||
# - name: Upload assembled CV
|
||||
# uses: actions/upload-release-asset@v1
|
||||
# env:
|
||||
# GITHUB_TOKEN: ${{ github.token }}
|
||||
# with:
|
||||
# upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
# asset_path: ./cv.pdf
|
||||
# asset_name: cv.pdf
|
||||
# asset_content_type: application/pdf
|
||||
|
||||
+313
@@ -0,0 +1,313 @@
|
||||
*.docx
|
||||
*.pages
|
||||
*.pdf
|
||||
.env
|
||||
|
||||
### Latex gitignore
|
||||
|
||||
## Core latex/pdflatex auxiliary files:
|
||||
*.aux
|
||||
*.lof
|
||||
*.log
|
||||
*.lot
|
||||
*.fls
|
||||
*.out
|
||||
*.toc
|
||||
*.fmt
|
||||
*.fot
|
||||
*.cb
|
||||
*.cb2
|
||||
.*.lb
|
||||
|
||||
## Intermediate documents:
|
||||
*.dvi
|
||||
*.xdv
|
||||
*-converted-to.*
|
||||
# these rules might exclude image files for figures etc.
|
||||
# *.ps
|
||||
# *.eps
|
||||
# *.pdf
|
||||
|
||||
## Generated if empty string is given at "Please type another file name for output:"
|
||||
.pdf
|
||||
|
||||
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||
*.bbl
|
||||
*.bcf
|
||||
*.blg
|
||||
*-blx.aux
|
||||
*-blx.bib
|
||||
*.run.xml
|
||||
|
||||
## Build tool auxiliary files:
|
||||
*.fdb_latexmk
|
||||
*.synctex
|
||||
*.synctex(busy)
|
||||
*.synctex.gz
|
||||
*.synctex.gz(busy)
|
||||
*.pdfsync
|
||||
*.rubbercache
|
||||
rubber.cache
|
||||
|
||||
## Build tool directories for auxiliary files
|
||||
# latexrun
|
||||
latex.out/
|
||||
|
||||
## Auxiliary and intermediate files from other packages:
|
||||
# algorithms
|
||||
*.alg
|
||||
*.loa
|
||||
|
||||
# achemso
|
||||
acs-*.bib
|
||||
|
||||
# amsthm
|
||||
*.thm
|
||||
|
||||
# beamer
|
||||
*.nav
|
||||
*.pre
|
||||
*.snm
|
||||
*.vrb
|
||||
|
||||
# changes
|
||||
*.soc
|
||||
|
||||
# comment
|
||||
*.cut
|
||||
|
||||
# cprotect
|
||||
*.cpt
|
||||
|
||||
# elsarticle (documentclass of Elsevier journals)
|
||||
*.spl
|
||||
|
||||
# endnotes
|
||||
*.ent
|
||||
|
||||
# fixme
|
||||
*.lox
|
||||
|
||||
# feynmf/feynmp
|
||||
*.mf
|
||||
*.mp
|
||||
*.t[1-9]
|
||||
*.t[1-9][0-9]
|
||||
*.tfm
|
||||
|
||||
#(r)(e)ledmac/(r)(e)ledpar
|
||||
*.end
|
||||
*.?end
|
||||
*.[1-9]
|
||||
*.[1-9][0-9]
|
||||
*.[1-9][0-9][0-9]
|
||||
*.[1-9]R
|
||||
*.[1-9][0-9]R
|
||||
*.[1-9][0-9][0-9]R
|
||||
*.eledsec[1-9]
|
||||
*.eledsec[1-9]R
|
||||
*.eledsec[1-9][0-9]
|
||||
*.eledsec[1-9][0-9]R
|
||||
*.eledsec[1-9][0-9][0-9]
|
||||
*.eledsec[1-9][0-9][0-9]R
|
||||
|
||||
# glossaries
|
||||
*.acn
|
||||
*.acr
|
||||
*.glg
|
||||
*.glo
|
||||
*.gls
|
||||
*.glsdefs
|
||||
*.lzo
|
||||
*.lzs
|
||||
*.slg
|
||||
*.slo
|
||||
*.sls
|
||||
|
||||
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
|
||||
# *.ist
|
||||
|
||||
# gnuplot
|
||||
*.gnuplot
|
||||
*.table
|
||||
|
||||
# gnuplottex
|
||||
*-gnuplottex-*
|
||||
|
||||
# gregoriotex
|
||||
*.gaux
|
||||
*.glog
|
||||
*.gtex
|
||||
|
||||
# htlatex
|
||||
*.4ct
|
||||
*.4tc
|
||||
*.idv
|
||||
*.lg
|
||||
*.trc
|
||||
*.xref
|
||||
|
||||
# hypdoc
|
||||
*.hd
|
||||
|
||||
# hyperref
|
||||
*.brf
|
||||
|
||||
# knitr
|
||||
*-concordance.tex
|
||||
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
|
||||
# *.tikz
|
||||
*-tikzDictionary
|
||||
|
||||
# listings
|
||||
*.lol
|
||||
|
||||
# luatexja-ruby
|
||||
*.ltjruby
|
||||
|
||||
# makeidx
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
|
||||
# minitoc
|
||||
*.maf
|
||||
*.mlf
|
||||
*.mlt
|
||||
*.mtc[0-9]*
|
||||
*.slf[0-9]*
|
||||
*.slt[0-9]*
|
||||
*.stc[0-9]*
|
||||
|
||||
# minted
|
||||
_minted*
|
||||
*.pyg
|
||||
|
||||
# morewrites
|
||||
*.mw
|
||||
|
||||
# newpax
|
||||
*.newpax
|
||||
|
||||
# nomencl
|
||||
*.nlg
|
||||
*.nlo
|
||||
*.nls
|
||||
|
||||
# pax
|
||||
*.pax
|
||||
|
||||
# pdfpcnotes
|
||||
*.pdfpc
|
||||
|
||||
# sagetex
|
||||
*.sagetex.sage
|
||||
*.sagetex.py
|
||||
*.sagetex.scmd
|
||||
|
||||
# scrwfile
|
||||
*.wrt
|
||||
|
||||
# svg
|
||||
svg-inkscape/
|
||||
|
||||
# sympy
|
||||
*.sout
|
||||
*.sympy
|
||||
sympy-plots-for-*.tex/
|
||||
|
||||
# pdfcomment
|
||||
*.upa
|
||||
*.upb
|
||||
|
||||
# pythontex
|
||||
*.pytxcode
|
||||
pythontex-files-*/
|
||||
|
||||
# tcolorbox
|
||||
*.listing
|
||||
|
||||
# thmtools
|
||||
*.loe
|
||||
|
||||
# TikZ & PGF
|
||||
*.dpth
|
||||
*.md5
|
||||
*.auxlock
|
||||
|
||||
# titletoc
|
||||
*.ptc
|
||||
|
||||
# todonotes
|
||||
*.tdo
|
||||
|
||||
# vhistory
|
||||
*.hst
|
||||
*.ver
|
||||
|
||||
# easy-todo
|
||||
*.lod
|
||||
|
||||
# xcolor
|
||||
*.xcp
|
||||
|
||||
# xmpincl
|
||||
*.xmpi
|
||||
|
||||
# xindy
|
||||
*.xdy
|
||||
|
||||
# xypic precompiled matrices and outlines
|
||||
*.xyc
|
||||
*.xyd
|
||||
|
||||
# endfloat
|
||||
*.ttt
|
||||
*.fff
|
||||
|
||||
# Latexian
|
||||
TSWLatexianTemp*
|
||||
|
||||
## Editors:
|
||||
# WinEdt
|
||||
*.bak
|
||||
*.sav
|
||||
|
||||
# Texpad
|
||||
.texpadtmp
|
||||
|
||||
# LyX
|
||||
*.lyx~
|
||||
|
||||
# Kile
|
||||
*.backup
|
||||
|
||||
# gummi
|
||||
.*.swp
|
||||
|
||||
# KBibTeX
|
||||
*~[0-9]*
|
||||
|
||||
# TeXnicCenter
|
||||
*.tps
|
||||
|
||||
# auto folder when using emacs and auctex
|
||||
./auto/*
|
||||
*.el
|
||||
|
||||
# expex forward references with \gathertags
|
||||
*-tags.tex
|
||||
|
||||
# standalone packages
|
||||
*.sta
|
||||
|
||||
# Makeindex log files
|
||||
*.lpz
|
||||
|
||||
# xwatermark package
|
||||
*.xwm
|
||||
|
||||
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
|
||||
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
|
||||
# Uncomment the next line to have this generated file ignored.
|
||||
#*Notes.bib
|
||||
@@ -1,7 +1,18 @@
|
||||
set dotenv-load := true
|
||||
|
||||
test-act:
|
||||
# We remove the github instance as this tries to pull the actions from my
|
||||
# private git server instead of github, whereas gitea will default to github.
|
||||
# Gitea is becoming frustrating...
|
||||
# act --github-instance git.joshuacoles.me -s GITEA_ACT_TOKEN -s COM_DOT_GITHUB_TOKEN="$(gh auth token)" --container-architecture linux/amd64
|
||||
act -s GITEA_ACT_TOKEN -s COM_DOT_GITHUB_TOKEN="$(gh auth token)" --container-architecture linux/amd64
|
||||
|
||||
release name:
|
||||
git tag {{name}}
|
||||
git push origin --tags
|
||||
|
||||
upload:
|
||||
scp main.pdf cosmos:infrastructure/caddy/files/cv.pdf
|
||||
|
||||
build:
|
||||
latexmk -pdf main.tex
|
||||
latexmk -c
|
||||
|
||||
tectonic cv.tex
|
||||
|
||||
@@ -4,3 +4,8 @@ My CV, for different applications slight alterations are made and releases cut w
|
||||
|
||||
A hosted version can be found at <https://files.joshuacoles.me/cv.pdf>
|
||||
|
||||
## Building
|
||||
|
||||
Currently the CV is built using [`tectonic`](https://tectonic-typesetting.github.io/en-US/) for a nicer build experience. This can be installed as described [here](https://tectonic-typesetting.github.io/en-US/install.html).
|
||||
|
||||
Commands are managed using the [Just runner](https://just.systems/).
|
||||
|
||||
+6
-5
@@ -48,7 +48,7 @@
|
||||
\usepackage{geometry} % Required for adjusting page dimensions and margins
|
||||
|
||||
\geometry{
|
||||
paper=a4paper, % Paper size, change to letterpaper for US letter size
|
||||
paper=a4paper,
|
||||
top=1.75cm, % Top margin
|
||||
bottom=1.75cm, % Bottom margin
|
||||
left=2cm, % Left margin
|
||||
@@ -56,7 +56,7 @@
|
||||
headheight=0.75cm, % Header height
|
||||
footskip=1cm, % Space from the bottom margin to the baseline of the footer
|
||||
headsep=0.5cm, % Space from the top margin to the baseline of the header
|
||||
%showframe, % Uncomment to show how the type block is set on the page
|
||||
% showframe, % Uncomment to show how the type block is set on the page
|
||||
}
|
||||
|
||||
%%%%%%%
|
||||
@@ -79,10 +79,11 @@
|
||||
% FontAwesome and Icon blocks
|
||||
%%%%%%%
|
||||
|
||||
\usepackage{fontawesome} % Required for FontAwesome icons
|
||||
\usepackage{fontawesome}
|
||||
|
||||
% 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
|
||||
% The first parameter is the FontAwesome icon name, the second is the box size and the third is the text
|
||||
\newcommand{\icon}[3]{%
|
||||
\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
|
||||
@@ -209,7 +210,7 @@
|
||||
% Customised Helpers
|
||||
%%%%%%%
|
||||
|
||||
\newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}}
|
||||
\newcommand{\slashsep}{\hspace{2mm}/\hspace{2mm}}
|
||||
\newcommand{\emailaddr}[1]{\href{mailto:#1}{#1}}
|
||||
|
||||
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
|
||||
|
||||
+34
-14
@@ -1,13 +1,18 @@
|
||||
\cvsect{Experience}
|
||||
|
||||
\begin{entrylist}
|
||||
\entry
|
||||
{Present}
|
||||
{Software Developer}
|
||||
{Better Conversations Foundation}
|
||||
{After I have completed my degree I intend to return to the Better Conversations Foundation to continue the work I started the previous year as I look for a longer term role.}
|
||||
\entry
|
||||
{Academic\,Year 2023/24}
|
||||
{Final Year Project, AI Applications in Lagrangian Physics}
|
||||
{University of Bath}
|
||||
{My project focused on incorporating Lagrangian Mechanics into physics-informed neural networks. My key contributions include,
|
||||
\begin{itemize}[itemsep=-2pt,topsep=3pt]
|
||||
\item Writing the core physics procedures in JAX to improve correctness and to allow for their use in loss functions and reducing runtimes by $10^4$.
|
||||
\begin{itemize}[itemsep=-2pt,topsep=2pt]
|
||||
\item Writing the core physics procedures in JAX to improve correctness and to allow for their use in loss functions and reducing runtimes by a factor of $10^4$.
|
||||
\item Creating and optimising physics informed loss functions for speed and utility in training.
|
||||
\end{itemize}
|
||||
The completed report can be found \href{https://files.joshuacoles.me/final-year-report.pdf}{\underline{here}}.
|
||||
@@ -15,11 +20,21 @@
|
||||
\kwdlst{JAX, Neural Networks, Loss functions, Numpy, Flax, Tensorflow, Python}}
|
||||
\entry
|
||||
{Summer 2023}
|
||||
{Developer}
|
||||
{Software Developer}
|
||||
{Better Conversations Foundation}
|
||||
{Once I completed my work with Amphora, I moved to work at a connected non-profit, Better Conversations Foundation, working on their e-commerce and scheduling systems and initiating development on a real-time coaching flight-plan solution.
|
||||
\begin{itemize}[itemsep=-2pt,topsep=2pt]
|
||||
\item Implementing key components of purchase flows, scheduling, and participant management.
|
||||
\item Prototyping real-time coaching flight-plans to allow coordination between Facilitators as sessions progress
|
||||
\end{itemize}
|
||||
\kwdlst{Ruby on Rails,Stripe}}
|
||||
\entry
|
||||
{Summer 2023}
|
||||
{Software Developer}
|
||||
{Amphora}
|
||||
{I lead efforts exploring the feasibility and application of AI based features in the main product.
|
||||
\begin{itemize}[itemsep=-2pt,topsep=3pt]
|
||||
\item Implementing vector based search and retrieval-augmented generation into the application in a non-intrusive manner.
|
||||
\begin{itemize}[itemsep=-2pt,topsep=2pt]
|
||||
\item Integrating vector based search and retrieval-augmented generation into the application in a non-intrusive manner.
|
||||
\item Presenting work to customers and facilitating input on direction and feature fit.
|
||||
\end{itemize}
|
||||
\kwdlst{Langchain, Weaviate, Python}}
|
||||
@@ -27,22 +42,27 @@
|
||||
{2022 -- 2023\\{\footnotesize{part time}} \\\\2021 -- 2022\\\footnotesize{placement year}}
|
||||
{Software Developer}
|
||||
{Office for National Statistics}
|
||||
{For my placement I joined a team working on software for processing the results of the 2021 Census. After the end of my placement I was kept on to assist with the next phase of product development and solution design. Key contributions include,
|
||||
\begin{itemize}[itemsep=-2.5pt,topsep=3pt]
|
||||
{For my placement I joined a team working on software for processing the results of the 2021 Census. After the end of my placement I was kept on to assist with the next phase of product development and solution design. In this role I worked with sensitive data from the Census in isolated production environments and thus obtained SC clearance. Key contributions include,
|
||||
\begin{itemize}[itemsep=-2.5pt,topsep=2pt]
|
||||
\item Taking a leading role as release manager for the product and was heavily involved in requirements gathering for the new features.
|
||||
\item Developing tools for debugging and observability in sensitive production environments.
|
||||
\item Restructuring a core service to decrease code duplication and increase test \& type coverage.
|
||||
\item Designing solution architectures for future project development.
|
||||
\end{itemize}
|
||||
This role 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.\\
|
||||
\item Designing architectures for the next stage of the project to address additional business needs.
|
||||
\end{itemize}}
|
||||
% Split of ONS entry to keep CV on two pages.
|
||||
\entry
|
||||
{}
|
||||
{}
|
||||
{}
|
||||
{This role 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.\\
|
||||
\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}
|
||||
{I focused on independent exploration and investigation of new technologies.
|
||||
\begin{itemize}[itemsep=-2pt,topsep=3pt]
|
||||
\item Implementing and maintaining SAML based customer access mechanism for confidential documentation.
|
||||
{I worked independently to explore and investigate new technologies including and
|
||||
\begin{itemize}[itemsep=-2pt,topsep=2pt]
|
||||
\item Creating and maintaining SAML based customer access mechanism for confidential documentation.
|
||||
\item Designing subscription management product using Wordpress as a Headless CMS for presentation under multiple service offering.
|
||||
\end{itemize}
|
||||
\kwdlst{SAML, Groovy, Java, Ruby on Rails, Ruby}}
|
||||
@@ -51,7 +71,7 @@
|
||||
{Ongoing Personal Projects}
|
||||
{}
|
||||
{My latest personal projects are focused on data analysis on different aspects of my life. This is done with a strong focus on self-hosting and privacy, giving me experience running services across a range of computers. Key components include
|
||||
\begin{itemize}[itemsep=-2pt,topsep=3pt]
|
||||
\begin{itemize}[itemsep=-2pt,topsep=2pt]
|
||||
\item Self hosted Gitea and CI/CD for development.
|
||||
\item Centralised authentication.
|
||||
\item Centralised database for cross-domain analytics.
|
||||
|
||||
Reference in New Issue
Block a user