feat: typst

Signed-off-by: jolheiser <john.olheiser@gmail.com>
main
jolheiser 2023-10-15 12:14:50 -05:00
parent d9d6af1dea
commit 8a7c3d32c1
Signed by: jolheiser
GPG Key ID: B853ADA5DA7BBF7A
5 changed files with 280 additions and 0 deletions

2
.gitignore vendored 100644
View File

@ -0,0 +1,2 @@
resume.pdf
resume.png

3
README.md 100644
View File

@ -0,0 +1,3 @@
My resume, built in both [LaTeX](https://www.latex-project.org/) and [Typst](https://typst.app/docs/).
Typst will be the most up-to-date as it supersedes LaTeX.

60
flake.lock 100644
View File

@ -0,0 +1,60 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1697383814,
"narHash": "sha256-NoGJsi8R4GyQX6GHJS9lIXyrbrybqyqA8v6HVixHs5E=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9606c209b83b772aea897eeb1468aec9d21033c3",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

46
flake.nix 100644
View File

@ -0,0 +1,46 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {
self,
flake-utils,
nixpkgs,
}:
flake-utils.lib.eachDefaultSystem (
system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
packages.default = pkgs.stdenv.mkDerivation {
pname = "resume";
version = "typst";
src = ./.;
nativeBuildInputs = with pkgs; [
typst
raleway
];
buildPhase = ''
runHook preBuild
mkdir -p $out/share
export TYPST_FONT_PATHS=${pkgs.raleway}/share/fonts
typst compile resume.typ $out/share/resume.pdf
typst compile resume.typ $out/share/resume.png
runHook postBuild
'';
};
devShells.default = pkgs.mkShell {
nativeBuildInputs = with pkgs; [
typst
raleway
];
shellHook = ''
export TYPST_FONT_PATHS=${pkgs.raleway}/share/fonts
'';
};
}
);
}

169
resume.typ 100644
View File

@ -0,0 +1,169 @@
#set page(paper: "us-letter", margin: .5in)
#set text(size: 10pt, font: ("raleway"))
#set table(
stroke: none,
inset: 3pt,
columns: (70%, 30%),
align: (x, y) => (left, right).at(x),
)
#set list(
spacing: 5pt,
indent: 15pt,
marker: strong[•],
)
// Header
#show heading: it => [
#set text(25pt)
#block(below: 5pt, it.body)
]
#align(
center,
)[
= #smallcaps[John Olheiser] \
#link(
"mailto:john.olheiser@gmail.com",
)[#underline(offset: 4pt)[john.olheiser\@gmail.com]]
$bar.v$ 701-425-6883$bar.v$
#link(
"https://www.linkedin.com/in/jolheiser/",
)[#underline(offset: 4pt)[linkedin.com/in/jolheiser]]
]
// Body
#show heading: it => [
#set text(13pt, weight: "regular")
#block(
height: 14pt,
width: 100%,
stroke: (bottom: 1pt),
above: 10pt,
below: 5pt,
smallcaps(it.body),
)
]
#show table: it => [
#block(below: 4pt, it)
]
== Education
<education>
#table(
[#strong[Bachelors of Science in Computer Information
Systems]],
[#align(right)[Graduated August 2014]],
[#emph[University of Mary]],
[#emph[Bismarck, ND]],
)
== Professional Experience
<professional-experience>
#table(
[#strong[North Dakota Legislative Assembly]],
[July 2021 - Current],
[#emph[Software Development Engineer]],
[#emph[Bismarck, ND]],
)
- Increased application resiliency by replacing
manual testing and deployment processes with
automated continual integration, testing, and
deployment pipelines.
- Enabled faster and safer development of new
features utilizing internal APIs through the
creation of API client wrappers in Java and
Python.
- Improved developer experience and iteration time
by creating new internal CLI tooling using Go.
#table(
[#emph[Programmer Analyst II]],
[#emph[September 2017 - July 2021]],
)
- Created legislative bill tracking system allowing
users to curate and track the status of bills from
mobile devices using Typescript, Angular, and
Java.
- Enabled legislative body to receive remote
testimony by creating new testimony web
application using Python, Django, and PostgreSQL.
- Coordinated migration of legacy Python 2
applications to Python 3 while maintaining
application support.
#table(
[#emph[Programmer Analyst I]],
[#emph[January 2014 - September 2017]],
)
- Improved the ability of state social workers to
provide assistance by building evaluation and note
taking application using Java, Spring, and MySQL.
- Lead effort to reduce vulnerabilities and improve
development velocity by upgrading critical
applications from Java 6 to Java 9.
- Modernized teams source control handling by
leading effort to migrate source code from
ClearCase and Subversion repositories to Git.
== Open Source Experience
<open-source-experience>
#table(
[#strong[Gitea]],
[January 2019 - Current],
[#emph[Technical Oversight Committee Member]],
[#emph[#link("https://gitea.com/")[gitea.com]]],
)
- Core maintainer of the Gitea project, a Go based
open source self hosted git frontend and tooling
ecosystem.
- Enhanced ability of users to listen for specific
event data when a repository changes through the
implementation of a webhook based event system.
- Resolved security vulnerabilities through
application of security patches and implementing
automated security checks on codebase.
#table(
[#strong[WoodpeckerCI]],
[October 2021 - Current],
[#emph[Contributor]],
[#emph[#link(
"https://woodpecker-ci.org/",
)[woodpecker-ci.org]]],
)
- Contributor to Woodpecker CI, an open source,
extensible, continuous integration tool for teams
to automate build, testing, and deployment
pipelines.
- Lead effort to allow clients to more accurately
track changes in their woodpecker instances
through refactoring of logging system.
- Improved end-user experience and onboarding by
creating and improving documentation for
woodpecker CLI
= Technical Skills
<technical-skills>
#block[
#strong[Languages:] Java, Go, C\#, Python, SQL,
Javascript, Typescript\
#strong[Technologies:] Git, Docker, S3, Angular\
#strong[Other Knowledge:] Continuous Integration,
Continuous Deployment, Debugging, Test Driven
Development, HTML, CSS, REST
]