From 68c2ee03c12c3f934d9eb27a201144f48b328479 Mon Sep 17 00:00:00 2001 From: Andrew Woodlee Date: Fri, 4 Apr 2025 17:32:29 -0500 Subject: [PATCH] automatic deployment --- static/cv.html | 4 ++-- static/cv.pdf | Bin 32563 -> 29370 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/static/cv.html b/static/cv.html index 23138e4..7531bba 100644 --- a/static/cv.html +++ b/static/cv.html @@ -68,11 +68,11 @@
  • Setup Linux on a Raspberry Pi for a PX 100 Robotic Arm that went on a STEM bus
  • Skills

    -

    I use Linux daily, and have experience with C/C++, Go, and JavaScript. I administer servers daily, using Docker and Backy.

    +

    I use Linux daily, and have experience with C/C++, Go, and JavaScript. I administer servers daily, using Docker and Backy.

    I have extensive experience using Git, Git hosting, and CI/CD pipelines to develop software, host code, and automate deployments.

    My use of Embedded Systems platforms include ESP-32, Arduino, and MSP430.

    My web development experience includes using HTML templating using Pug, a JavaScript library. I also used NodeJS for backend development.

    -

    My time at UAH granted me time using IDA Pro and Ghidra for reverse engineering.

    +

    During my time at UAH, I used IDA Pro and Ghidra for reverse engineering.

    Certifications

    Security+ Certified

    Projects

    diff --git a/static/cv.pdf b/static/cv.pdf index f94342720b43a7a16a9858b0b9a4ab5d92bf7cb6..d2f0ced39926a7bc3873ce2ad63037ceb1d4e656 100644 GIT binary patch delta 11491 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 a6h|im2PZcNV-pkr4-f!Ap`#O5kobRhG5uly delta 14186 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�U6ZC2F0S)I<+U+M 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 X;<%2NtECkd7zhFKU@