Author SHA1 Message Date
joshuacoles 4da253c8da Fix only matching single component tags
Render LaTeX and Publish Release / build (push) Successful in 18s
2024-06-05 20:25:07 +01:00
joshuacoles 392f1598a5 Final corrections 2024-06-05 20:22:01 +01:00
joshuacoles 104800d1ce Do what I am actually supposed to be doing and update my CV 2024-06-05 20:13:30 +01:00
joshuacoles e1ebf69d47 Ahhh I am starting to dislike gitea's approach to actions 2024-06-05 20:13:11 +01:00
joshuacoles 450c0b5cc6 Try a different action
Render LaTeX and Publish Release / build (push) Successful in 1m3s
2024-06-05 19:56:40 +01:00
joshuacoles b0d6a33fd4 Make it use ref_name over ref...
Render LaTeX and Publish Release / build (push) Failing after 56s
2024-06-05 19:51:07 +01:00
joshuacoles f7067f0491 It can't detemine the name, maybe this will work
Render LaTeX and Publish Release / build (push) Failing after 57s
2024-06-05 19:47:03 +01:00
joshuacoles 8c2a9622a4 Hopefully no longer need to do any dep work
Render LaTeX and Publish Release / build (push) Failing after 1m7s
2024-06-05 19:44:03 +01:00
joshuacoles 209b2e1e82 Move to apt-get over apt in a scripting context 2024-06-05 19:33:49 +01:00
joshuacoles 8163031f75 Lets try manually adding the openssl package
Render LaTeX and Publish Release / build (push) Failing after 16s
2024-06-05 19:31:27 +01:00
joshuacoles 9c845035cd Fix access token
Render LaTeX and Publish Release / build (push) Failing after 10s
2024-06-05 19:20:55 +01:00
joshuacoles 9ba05fade1 Fix master => main
Render LaTeX and Publish Release / build (push) Failing after 9s
2024-06-05 19:08:34 +01:00
joshuacoles 2a19c9d714 Move to own version of setup-tectonic
Render LaTeX and Publish Release / build (push) Failing after 8s
2024-06-05 19:06:23 +01:00
joshuacoles 1c5fab6d8c Revert "Try make it build"
This reverts commit c5a659f910.
2024-06-05 18:47:08 +01:00
joshuacoles c5a659f910 Try make it build
Render LaTeX and Publish Release / build (push) Failing after 14s
2024-06-05 18:45:39 +01:00
joshuacoles ae8ffba48f Split ONS role across two entries to fit on two sides
Render LaTeX and Publish Release / build (push) Failing after 1m4s
2024-06-05 18:30:26 +01:00
joshuacoles 6f230b173e Add a little verbiage 2024-06-05 18:28:46 +01:00
joshuacoles 5f403ec950 Make it all a little tighter 2024-06-05 18:26:38 +01:00
joshuacoles f62b26ddb2 Move to tectonic for local and CI/CD 2024-06-05 17:56:29 +01:00
6 changed files with 101 additions and 55 deletions
+42 -29
View File
@@ -3,7 +3,7 @@ name: Render LaTeX and Publish Release
on: on:
push: push:
tags: tags:
- '*' - "**"
jobs: jobs:
build: build:
@@ -12,36 +12,49 @@ jobs:
contents: write contents: write
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install LaTeX - uses: actions/cache@v3
run: | name: Tectonic Cache
sudo apt-get update with:
sudo apt-get install -y texlive-fonts-extra texlive-latex-base texlive-science texlive-latex-extra texlive-fonts-recommended latexmk texlive-luatex path: ~/.cache/Tectonic
key: ${{ runner.os }}-tectonic-${{ hashFiles('**/*.tex') }}
restore-keys: |
${{ runner.os }}-tectonic-
- name: Render LaTeX document - uses: joshuacoles/setup-tectonic@main
run: latexmk -pdflua cv.tex name: Setup Tectonic
with:
github-token: ${{ secrets.COM_DOT_GITHUB_TOKEN }}
- name: release - name: Run Tectonic
uses: actions/create-release@v1 run: tectonic cv.tex
id: create_release
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 }}
- name: Upload assembled CV - name: Release
uses: actions/upload-release-asset@v1 uses: softprops/action-gh-release@v2
env: with:
GITHUB_TOKEN: ${{ github.token }} files: |
with: cv.pdf
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./cv.pdf
asset_name: cv.pdf
asset_content_type: application/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
+1 -1
View File
@@ -1,7 +1,7 @@
*.docx *.docx
*.pages *.pages
*.pdf *.pdf
.env
### Latex gitignore ### Latex gitignore
+10 -3
View File
@@ -1,3 +1,12 @@
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: release name:
git tag {{name}} git tag {{name}}
git push origin --tags git push origin --tags
@@ -6,6 +15,4 @@ upload:
scp main.pdf cosmos:infrastructure/caddy/files/cv.pdf scp main.pdf cosmos:infrastructure/caddy/files/cv.pdf
build: build:
latexmk -pdf main.tex tectonic cv.tex
latexmk -c
+5
View File
@@ -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> 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
View File
@@ -48,7 +48,7 @@
\usepackage{geometry} % Required for adjusting page dimensions and margins \usepackage{geometry} % Required for adjusting page dimensions and margins
\geometry{ \geometry{
paper=a4paper, % Paper size, change to letterpaper for US letter size paper=a4paper,
top=1.75cm, % Top margin top=1.75cm, % Top margin
bottom=1.75cm, % Bottom margin bottom=1.75cm, % Bottom margin
left=2cm, % Left margin left=2cm, % Left margin
@@ -56,7 +56,7 @@
headheight=0.75cm, % Header height headheight=0.75cm, % Header height
footskip=1cm, % Space from the bottom margin to the baseline of the footer 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 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 % 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 % 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 \vcenteredhbox{\colorbox{Accent}{\makebox(#2, #2){\textcolor{white}{\large\csname fa#1\endcsname}}}}% Icon and box
\hspace{0.2cm}% Whitespace \hspace{0.2cm}% Whitespace
\vcenteredhbox{\textcolor{black}{#3}}% Text \vcenteredhbox{\textcolor{black}{#3}}% Text
@@ -209,7 +210,7 @@
% Customised Helpers % Customised Helpers
%%%%%%% %%%%%%%
\newcommand{\slashsep}{\hspace{3mm}/\hspace{3mm}} \newcommand{\slashsep}{\hspace{2mm}/\hspace{2mm}}
\newcommand{\emailaddr}[1]{\href{mailto:#1}{#1}} \newcommand{\emailaddr}[1]{\href{mailto:#1}{#1}}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox \usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
+34 -14
View File
@@ -1,13 +1,18 @@
\cvsect{Experience} \cvsect{Experience}
\begin{entrylist} \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 \entry
{Academic\,Year 2023/24} {Academic\,Year 2023/24}
{Final Year Project, AI Applications in Lagrangian Physics} {Final Year Project, AI Applications in Lagrangian Physics}
{University of Bath} {University of Bath}
{My project focused on incorporating Lagrangian Mechanics into physics-informed neural networks. My key contributions include, {My project focused on incorporating Lagrangian Mechanics into physics-informed neural networks. My key contributions include,
\begin{itemize}[itemsep=-2pt,topsep=3pt] \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 $10^4$. \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. \item Creating and optimising physics informed loss functions for speed and utility in training.
\end{itemize} \end{itemize}
The completed report can be found \href{https://files.joshuacoles.me/final-year-report.pdf}{\underline{here}}. 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}} \kwdlst{JAX, Neural Networks, Loss functions, Numpy, Flax, Tensorflow, Python}}
\entry \entry
{Summer 2023} {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} {Amphora}
{I lead efforts exploring the feasibility and application of AI based features in the main product. {I lead efforts exploring the feasibility and application of AI based features in the main product.
\begin{itemize}[itemsep=-2pt,topsep=3pt] \begin{itemize}[itemsep=-2pt,topsep=2pt]
\item Implementing vector based search and retrieval-augmented generation into the application in a non-intrusive manner. \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. \item Presenting work to customers and facilitating input on direction and feature fit.
\end{itemize} \end{itemize}
\kwdlst{Langchain, Weaviate, Python}} \kwdlst{Langchain, Weaviate, Python}}
@@ -27,22 +42,27 @@
{2022 -- 2023\\{\footnotesize{part time}} \\\\2021 -- 2022\\\footnotesize{placement year}} {2022 -- 2023\\{\footnotesize{part time}} \\\\2021 -- 2022\\\footnotesize{placement year}}
{Software Developer} {Software Developer}
{Office for National Statistics} {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, {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=3pt] \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 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 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 Restructuring a core service to decrease code duplication and increase test \& type coverage.
\item Designing solution architectures for future project development. \item Designing architectures for the next stage of the project to address additional business needs.
\end{itemize} \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.\\ % 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}} \kwdlst{React, Express, Jest, Cypress, Redis, SQL, Postgres, HBase, Cloudera, Jenkins, Docker, Typescript, JavaScript, Linux, Microservices, Agile, Scrum}}
\entry \entry
{2017 -- 2021\\\footnotesize{Holidays \& Part time}} {2017 -- 2021\\\footnotesize{Holidays \& Part time}}
{Software Developer} {Software Developer}
{Amphora} {Amphora}
{I focused on independent exploration and investigation of new technologies. {I worked independently to explore and investigate new technologies including and
\begin{itemize}[itemsep=-2pt,topsep=3pt] \begin{itemize}[itemsep=-2pt,topsep=2pt]
\item Implementing and maintaining SAML based customer access mechanism for confidential documentation. \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. \item Designing subscription management product using Wordpress as a Headless CMS for presentation under multiple service offering.
\end{itemize} \end{itemize}
\kwdlst{SAML, Groovy, Java, Ruby on Rails, Ruby}} \kwdlst{SAML, Groovy, Java, Ruby on Rails, Ruby}}
@@ -51,7 +71,7 @@
{Ongoing Personal Projects} {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 {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 Self hosted Gitea and CI/CD for development.
\item Centralised authentication. \item Centralised authentication.
\item Centralised database for cross-domain analytics. \item Centralised database for cross-domain analytics.