summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile19
-rw-r--r--cv.html168
-rw-r--r--cv.pdfbin0 -> 549655 bytes
-rw-r--r--includes/icons/file-account.svg5
-rw-r--r--info.html9
5 files changed, 162 insertions, 39 deletions
diff --git a/Makefile b/Makefile
index 8df6ceb..b306956 100644
--- a/Makefile
+++ b/Makefile
@@ -7,9 +7,18 @@ INDEX_FOOT_T = templates/index_foot.html
RSS_HEAD_T = templates/rss_head.xml
RSS_FOOT_T = templates/rss_foot.xml
-.PHONY: serve post clean
+all: index.html rss.xml cv.pdf
+
+index.html: posts/*.html
+ @grep h1 $> | sort -r | sed 's#^\(posts/\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\)[^:]*\):[ \t]*<h1>\(.*\)</h1>#<li><a href="/\1">\3 <code>\2</code></a></li>#' | cat $(INDEX_HEAD_T) - $(INDEX_FOOT_T) > index.html
-all: index.html rss.xml
+rss.xml: posts/*.html
+ @grep h1 $> | sort -r | sed 's#^\(posts/[^:]*\):[ \t]*<h1>\(.*\)</h1>#<item><title>\2</title><link>https://www.53hor.net/posts/\1</link></item>#' | cat $(RSS_HEAD_T) - $(RSS_FOOT_T) > rss.xml
+
+cv.pdf: cv.html
+ @mutool convert -o cv.pdf cv.html
+
+.PHONY: serve post clean
serve:
python3.7 -m http.server 3000
@@ -24,11 +33,5 @@ post:
sed -i '' "s/{{ title }}/$$TITLE/g" $$FILENAME; \
$EDITOR $$FILENAME
-index.html: posts/*.html
- @grep h1 $> | sort -r | sed 's#^\(posts/\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\)[^:]*\):[ \t]*<h1>\(.*\)</h1>#<li><a href="/\1">\3 <code>\2</code></a></li>#' | cat $(INDEX_HEAD_T) - $(INDEX_FOOT_T) > index.html
-
-rss.xml: posts/*.html
- @grep h1 $> | sort -r | sed 's#^\(posts/[^:]*\):[ \t]*<h1>\(.*\)</h1>#<item><title>\2</title><link>https://www.53hor.net/posts/\1</link></item>#' | cat $(RSS_HEAD_T) - $(RSS_FOOT_T) > rss.xml
-
clean:
rm -f index.html rss.xml
diff --git a/cv.html b/cv.html
index fbb5561..ec4da87 100644
--- a/cv.html
+++ b/cv.html
@@ -20,54 +20,155 @@
<p>
I am a computer programmer who has been developing and maintaining native
- and web applications since 2018. I have also been providing system
+ and web applications since 2018. I have also been providing systems
administration services and technical mentoring since 2016. I aim to
- create simple, performant, and well-documented software with no surprises.
+ create simple, performant, and well-documented software that solves real
+ problems with no surprises.
</p>
<p>
I am fluent in Rust, C#, Python, JavaScript, Bourne Shell, and HTML+CSS. I
- am also familiar with Java, PHP, C, C++, TypeScript, and PowerShell.
+ am also familiar with Java, PHP, C, C++, TypeScript, and PowerShell. I
+ have used a variety of frameworks and libraries, as well as a myriad of
+ web servers, databases, and "DevOps" toolkits.
</p>
<hr />
<h2>Skills</h2>
<h3>Software Development</h3>
+
+ <ul>
+ <li>
+ Build performant, correct applications and services with a focus on
+ automating manual labor and making architects'/operators' lives easier.
+ </li>
+ <li>
+ Contribute to internal and client-facing front-end software that is
+ simple and easy to use.
+ </li>
+ <li>
+ Integrating with organizational build chains and DevOps pipelines for
+ deployments with zero surprises.
+ </li>
+ </ul>
+
<h3>Systems Administration</h3>
- <h3>Technical Mentoring and Leadership</h3>
+
+ <ul>
+ <li>
+ Architect and arrange physical machines and the servers that run on them
+ for minimal downtime and secure, speedy operation.
+ </li>
+ <li>
+ Administer container orchestration clusters with dozens of
+ "micro-services" that need to communicate together to achieve a common
+ goal. Apply zero-downtime upgrade practices as well as high-availability
+ horizontal replica scaling for high-use applications.
+ </li>
+ <li>
+ Self-host a variety of tools, applications, and web servers for the
+ purpose of learning and ownership of digital property.
+ </li>
+ </ul>
+
+ <h3>Technical Mentoring, Leadership</h3>
+
+ <ul>
+ <li>
+ Transfer knowledge and skills in a practical, enjoyable fashion in
+ language that is [hopefully] easy to comprehend.
+ </li>
+ <li>
+ Take a senior role in directing a flourishing new team of developers to
+ get started quickly and achieve a state of production in little time.
+ </li>
+ <li>
+ Co-host informal lectures and "lunch and learns" on a variety of topics,
+ especially but not limited to computing.
+ </li>
+ </ul>
<hr />
<h2>Experience</h2>
<ul>
<li>
- Automatic Data Processing | Application Developer | June 2018 to present
+ <h3>
+ Automatic Data Processing | Application Developer | June 2018 to
+ present
+ </h3>
<ul>
<li>
- Angelshark saved money (dial plan tool, password rotator, termed
- user cleanup, monitoring), got it open-sourced
+ Authored <em>Altruistic Angelshark</em>, an Avaya Communication
+ Manager automation daemon, to ease friction caused by existing,
+ interactive, and fragile tools and processes. This tool was used to
+ save the company tens of thousands of dollars per year by enabling
+ unused license cleanup with little operator input. It was deemed
+ appropriately useful to release as free and open source software. It
+ was written in Rust and operates over the SSH2 library using an
+ undocumented Avaya protocol.
+ </li>
+ <li>
+ Co-authored an authentication/authorization API to specifically
+ serve the needs of our team. This software interacted with Active
+ Directory over LDAP, presented users with JSON Web Tokens, and was
+ reworked be used as a reverse proxy in front of our container
+ services.
+ </li>
+ <li>
+ On-boarded and mentored team of six developers on organization
+ DevOps technology and practices. This included configuring and
+ knowledge-sharing a Jenkins CICD pipeline, local Docker Trusted
+ Registry, and IBM Cloud Private flavor of Kubernetes. This also
+ consisted of informal lectures on concepts such as continuous
+ deployment and delivery, the "12-factor" methodology, and
+ containerization.
+ </li>
+ <li>
+ For multiple years in a row I offered my services for on-site
+ training of new college hires. My responsibilities included
+ mentoring and knowledge sharing for typical industry tools,
+ languages, and frameworks, as well as the inner workings of the
+ company. Classes typically consisted of 20-30 new employees.
</li>
- <li>Narwhal reverse proxy for authentication, security</li>
- <li>Technical mentoring and knowledge sharing</li>
</ul>
</li>
+
<li>
- Freelance | Web Application Designer & Developer | July 2019 to present
+ <h3>
+ Freelance | Web Application Designer & Developer | Jul. 2019 to
+ present
+ </h3>
<ul>
- <li>Delivered results ahead of schedule</li>
- <li>Quickly adjusted course for shifting requirements</li>
+ <li>
+ Built a from-scratch art studio storefront to exactly fit the
+ customer's specifications. Site is a mobile-friendly art gallery
+ with a cart and checkout system. I used Rust and Vue JS for the
+ majority of this project. Functionality was delivered ahead of
+ schedule and I was able to quickly compensate for shifting
+ requirements.
+ </li>
+ <li>Built and maintained a variety of static sites.</li>
</ul>
</li>
+
<li>
- The College of William and Mary | Technology Support Specialist |
- February 2015 to May 2018
+ <h3>
+ The College of William and Mary | Technology Support Specialist | Feb.
+ 2015 to May 2018
+ </h3>
<ul>
<li>
Worked directly with customers to diagnose issues and install and
- configure software
+ configure software. Interactions were in-person and over the phone.
+ Responsibilities also included performing basic repairs to
+ enterprise laptops.
+ </li>
+ <li>
+ Maintained three to four public access labs at a time during the
+ Summer months, each with 20-30 machines.
</li>
- <li>Accepted requests in person and remotely</li>
</ul>
</li>
</ul>
@@ -75,20 +176,33 @@
<hr />
<h2>Academics</h2>
- <ul>
- <li>
- Bachelor of Science in Computer Science at The College of William and
- Mary (Aug. 2014 to May 2018)
- </li>
- <li>
- High School Diploma at Peninsula Catholic High School (Sep. 2010 to May
- 2014)
- </li>
- </ul>
+ <p>
+ I have a Bachelor of Science in Computer Science and graduated from the
+ College of William and Mary in May of 2018. While there, I participated in
+ several group software development projects such as hybrid Android
+ application testing and presided over the campus Game Design Club.
+ </p>
<hr />
<h2>About Me</h2>
- <p>...</p>
+ <p>
+ I wrote my first program on a TI-84 in BASIC to help finish my high school
+ math homework faster. I quickly transitioned to building more complicated
+ programs but have continued to enjoy finding the smallest amount of code
+ to solve a problem quickly, correctly, and securely.
+ </p>
+
+ <p>
+ I grew up in and still call Hampton Roads, Virginia my home. In my spare
+ time I drive and maintain a classic car, a 1953 Hudson Hornet. I enjoy
+ travelling and being at home with my wife and cocker spaniel. I also
+ self-host a web server in a closet in my home.
+ </p>
+
+ <p>
+ You can always find more on
+ <a href="https://www.53hor.net">my web site</a>.
+ </p>
</body>
</html>
diff --git a/cv.pdf b/cv.pdf
new file mode 100644
index 0000000..2470030
--- /dev/null
+++ b/cv.pdf
Binary files differ
diff --git a/includes/icons/file-account.svg b/includes/icons/file-account.svg
new file mode 100644
index 0000000..3466870
--- /dev/null
+++ b/includes/icons/file-account.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
+ <path fill="#ffffff" d="M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M14,20V19C14,17.67 11.33,17 10,17C8.67,17 6,17.67 6,19V20H14M10,12A2,2 0 0,0 8,14A2,2 0 0,0 10,16A2,2 0 0,0 12,14A2,2 0 0,0 10,12Z" />
+</svg>
diff --git a/info.html b/info.html
index 4f5cdb3..f6fe33a 100644
--- a/info.html
+++ b/info.html
@@ -85,6 +85,7 @@
<ul>
<li>Antique automobiles, esp. my Fabulous 1953 Hudson Hornet</li>
<li>Systems- and application-level programming</li>
+ <li>Retrocomputing, esp. the Commodore 64</li>
<li>Home servers and self-hosting</li>
<li>FreeBSD and other *BSDs or UNIX-like operating systems</li>
<li>Food: eating, baking, etc.</li>
@@ -94,8 +95,7 @@
<h3>Web Log</h3>
<p>
I run a web log on this site. It's index is at the
- <a href="/">site index</a> but you can find
- <a href="/posts/">detailed categories here</a>.
+ <a href="/">site index</a>.
</p>
<h3>Repos</h3>
@@ -105,11 +105,12 @@
<a href="https://git.53hor.net">access them here</a>.
</p>
- <h3>Self-Software Apps and Games</h3>
+ <h3>Software, Self-Hosted Apps and Games</h3>
<p>
I self-host a variety of applications and games. A few of them are
- public. You may <a href="/software.html">access them here</a>.
+ public. You may <a href="/software.html">access them here</a>. I also
+ maintain a couple of open source projects with homepages there as well.
</p>
<h2>Contacting Me</h2>