From 59260c4f7a265f1ad4db9e0ee5e469132cdef094 Mon Sep 17 00:00:00 2001 From: Matt Kosarek Date: Wed, 18 Feb 2026 17:03:06 -0500 Subject: minor: publishing from public with a Makefile instead of having everything at the toplevel --- public/download/build.js | 50 +++ public/download/cv.pdf | Bin 0 -> 1205212 bytes public/download/resume_dl.css | 28 ++ public/download/resume_dl.html | 681 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 759 insertions(+) create mode 100644 public/download/build.js create mode 100644 public/download/cv.pdf create mode 100644 public/download/resume_dl.css create mode 100644 public/download/resume_dl.html (limited to 'public/download') diff --git a/public/download/build.js b/public/download/build.js new file mode 100644 index 0000000..6c58162 --- /dev/null +++ b/public/download/build.js @@ -0,0 +1,50 @@ + + +const fs = require('fs'); +const childProcess = require('child_process'); + +const resumeHtml = fs.readFileSync('../resume.html').toString(); +const resumeCss = fs.readFileSync('../resume.css').toString(); +const resumeDlCss = fs.readFileSync('./resume_dl.css').toString(); + +function getRidofTagsBetween(start, end, html) { + let si = newHtml.indexOf(start); + let ei = newHtml.indexOf(end, si) + end.length; + return html.substring(0, si) + newHtml.substring(ei); +} + +const newHeader = ` + + + + + + + + + + + +` + +const startHead = resumeHtml.indexOf(''); +const endHead = resumeHtml.indexOf('') + ''.length; + +let newHtml = resumeHtml.substring(0, startHead) + newHeader + resumeHtml.substring(endHead); + +newHtml = getRidofTagsBetween('
', '
', newHtml); +newHtml = getRidofTagsBetween(`
`, '
', newHtml); + +fs.writeFileSync('./resume_dl.html', newHtml); + +childProcess.exec('wkhtmltopdf --encoding \'UTF-8\' ./resume_dl.html cv.pdf ') diff --git a/public/download/cv.pdf b/public/download/cv.pdf new file mode 100644 index 0000000..35e2f4d Binary files /dev/null and b/public/download/cv.pdf differ diff --git a/public/download/resume_dl.css b/public/download/resume_dl.css new file mode 100644 index 0000000..ac685e7 --- /dev/null +++ b/public/download/resume_dl.css @@ -0,0 +1,28 @@ +html { + overflow-y: overlay; + font-size: 15px; +} + +body { + margin-top: 64px; + padding-left: 48px; + padding-right: 48px; +} + +img.emoji { + height: 1em; + width: 1em; + margin: 0 .05em 0 .1em; + vertical-align: -0.1em; +} + +#resume { + font-family: "Open Sans", sans-serif !important; +} + +img.emoji { + height: 1em; + width: 1em; + margin: 0 .05em 0 .1em; + vertical-align: -0.1em; +} diff --git a/public/download/resume_dl.html b/public/download/resume_dl.html new file mode 100644 index 0000000..7413888 --- /dev/null +++ b/public/download/resume_dl.html @@ -0,0 +1,681 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+
+ Matthew
Kosarek
+ +
+ 🖥️ Software Developer + 🔗 matthewkosarek.xyz + + + github.com/mattkae + + 📧 mkosare1@gmail.com + 🇺🇸 United States Citizen +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Languages
JavaScript/ TypeScript5 yrs
C#2½ yrs
Python2½ yrs
C/C++1 yr
Java1 yr
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Technologies
React5 yrs
node.js2½ yrs
Unity2½ yrs
ASP.NET2½ yrs
OpenGL1 yr
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tools
Git5 yrs
Linux5 yrs
VSCode2½ yrs
Visual Studio2½ yrs
Webpack2½ yrs
Docker1 yr
+
+
+ +
+
+

Experience

+
+
+
+
+ Software Engineer II + Canonical +
+
+ July 2023 to Present + Philadelphia, PA +
+
+
+ +
+
    +
  • + Working on Mir, a Wayland compositor +
  • +
+
+
+
+
+ Software Team Lead for MachineApps + Vention +
+
+ July 2020 to July 2023 + Montreal, QC +
+
+
+ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
    +
  • + Developed industrial software applications including cobot palletizers, cartesian palletizers, and path following machines +
  • +
  • + Programmed, deployed, and supported several client projects valued over $100k+ USD each +
  • +
  • + Developed the core user-facing API for programming industrial machines in Python +
  • +
  • + Interfaced with both technical and non-technical teams on a daily basis +
  • +
  • + Planned and organized long-term projects and daily tasks via Asana and Github Projects +
  • +
  • + Programmed thousands of lines across the codebase, from the firmware running on a BeagleBone AI to the application layer running in the cloud +
  • +
  • + Onboarded and mentored new members of the team +
  • +
+
+
+
+
+ Software Engineer I + Big Huge Games +
+
+ January 2018 to June 2020 + Timonium, MD +
+
+
+ + + + + + + +
+
    +
  • + Developed and maintained the data pipeline - from data entry, to data validation, to data publication - for Arcane Showdown +
  • +
  • + Designed, built, and maintained a live operations scheduling and publishing web application for DomiNations +
  • +
  • + Implemented a localization system for Arcane Showdown which allowed the game to be released in different languages +
  • +
  • + Implemented game features on all parts of the stack, including tools, Unity client, and game servers +
  • +
+
+
+
+
+ Teaching Assistant for Intro to Video Game Design + Johns Hopkins University +
+
+ September 2017 to December 2017 + Baltimore, MD +
+
+
+ +
+
    +
  • + Assisted beginner programmers in the development of 2D game engines using SDL2 +
  • +
+
+
+
+
+ Software Engineering Intern + Big Huge Games +
+
+ May 2017 to August 2017 + Timonium, MD +
+
+
+ + + + +
+
    +
  • + Developed a tool using C# and GTK to improve the workflow of the quality assurance team for DomiNations +
  • +
  • + Wrote a comprehensive user manual that explains how the tool functions for both technical and non-technical users +
  • +
+
+
+
+
+ Software Engineering Intern + Sparkypants Studios +
+
+ May 2016 to August 2016 + Baltimore, MD +
+
+
+ +
+
    +
  • + Developed a profiling framework for the game systems of Dropzone +
  • +
+
+
+
+ +
+

Education

+
+
+
+
+ BSc Computer Engineering at Johns Hopkins University + Baltimore, MD +
+
+ September 2014 to December 2017 +
+
+
    +
  • + 3.53 GPA (Magna Cum Laude) +
  • +
  • + Relevant Coursework: Computer Graphics, Object Oriented Software Engineering, Linear Algebra, Video Game Engines and Design, Operating Systems, Data Structures +
  • +
+
+
+
+ +
+

Projects

+ +
+
+
+
+ + -- cgit v1.2.1