From 975529bcf47d2331c7847de333c9b9ed5f01bb4d Mon Sep 17 00:00:00 2001 From: Andrew Coleman Date: Thu, 12 Jan 2023 14:19:01 -0500 Subject: [PATCH] Update content pages and port juice templates to this site --- config.toml | 4 +- content/_index.md | 46 +++++--- content/about.md | 44 ++++++++ content/resume.md | 84 +++++++++++++++ content/resume/_index.md | 12 --- templates/_macros.html | 22 ++++ templates/index.html | 174 +++++++++++++++++++++++++----- templates/page.html | 18 +++- templates/shortcodes/capsule.html | 1 + 9 files changed, 345 insertions(+), 60 deletions(-) create mode 100644 content/about.md create mode 100644 content/resume.md delete mode 100644 content/resume/_index.md create mode 100644 templates/_macros.html create mode 100644 templates/shortcodes/capsule.html diff --git a/config.toml b/config.toml index 4301e1b..77a8548 100644 --- a/config.toml +++ b/config.toml @@ -7,8 +7,6 @@ compile_sass = true # Whether to build a search index to be used later on by a JavaScript library build_search_index = true -theme = "juice" - taxonomies = [ { name = "tags", paginate_by = 10 }, ] @@ -17,6 +15,7 @@ taxonomies = [ # Whether to do syntax highlighting # Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola highlight_code = true +highlight_theme = "inspired-github" [extra] juice_logo_name = "penguincoder" @@ -24,6 +23,5 @@ juice_logo_path = "tux.png" juice_exclude_menu = [] juice_extra_menu = [ { title = "Blog", link = "/blog" }, - { title = "Resume", link = "/resume" }, ] repository_url = "https://git.penguincoder.org/penguincoder/penguincoder-org" \ No newline at end of file diff --git a/content/_index.md b/content/_index.md index 6905d87..ebb40c9 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,25 +1,43 @@ +++ title = "penguincoder" description = "About me" +sort_by = "weight" +++ +This is my personal site. Check out my [resume](/resume) if you need an experienced software engineer. You can also read about the software and open-source licenses I used to produce this site on the [about](/about) page. + # Social Media -[{{ icon(name="git-alt") }}](https://git.penguincoder.org/penguincoder) -[{{ icon(name="github") }}](https://github.com/penguincoder) -[{{ icon(name="stack-overflow") }}](https://stackoverflow.com/users/812879/penguincoder) -[{{ icon(name="keybase") }}](https://keybase.io/penguincoder) -[{{ icon(name="reddit") }}](https://reddit.com/u/therealpenguincoder) -[{{ icon(name="twitter") }}](https://twitter.com/penguincoder) -[{{ icon(name="mastodon") }}](https://hachyderm.io/@penguincoder) -[{{ icon(name="linkedin") }}](https://www.linkedin.com/in/andrew-coleman-1238834/) -[{{ icon(name="instagram") }}](https://www.instagram.com/penguincoder) + # Github Activity ![Github Activity](https://github-readme-stats.vercel.app/api?username=penguincoder&count_private=true&theme=transparent&show_icons=true) - -# [Resume](/resume) - -# [Blog](/blog) - diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..fc587cb --- /dev/null +++ b/content/about.md @@ -0,0 +1,44 @@ ++++ +title = "About" +description = "About" +weight = 10 ++++ + +# Juice + +**[Juice](https://juice.huhu.io/)** is an intuitive, elegant, and responsive Zola theme for product sites. +Built by [Huhu.io](https://huhu.io), adopted by a several product sites. + +Juice is released under the MIT license. + +
+MIT License
+
+Copyright (c) 2020 Huhu
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+ +# Zola + +[Zola](https://www.getzola.org) is a fast static site generator in a single binary with everything built-in. + +# icons8 + +We use several [icons8](https://icons8.com) images throughout the site. \ No newline at end of file diff --git a/content/resume.md b/content/resume.md new file mode 100644 index 0000000..edf2e97 --- /dev/null +++ b/content/resume.md @@ -0,0 +1,84 @@ ++++ +title = "Resume" +description = "A history of professional, educational, and personal interests" +weight = 1 ++++ + +# Summary + +I am a polyglot developer with considerable experience in Ruby and Rails and bash. I excel at documenting critical technical processes for other engineers, being a force multiplier, and mentoring other developers. I am very passionate about finding new and creative ways to automate deployments in cloud environments so that business value can be delivered quickly and efficiently. + +# Work History + +## OysterHR, Remote + +### Tech Lead & Staff Software Engineer + +September 2021 - 20 January 2023 + +* Designed and implemented a reproducible and identical local stack across Linux and macOS using `nix`, `direnv`, `just`, and `supervisord` + * Single-handedly reduced new engineer onboarding time to about 2 hours +* Supported the entire engineering department with the local development environment in both Linux and macOS +* Rewrote the git-hosted markdown documentation into a complete tutorial and walkthrough to onboard new developers using Notion +* Designed complex data structures for use in all countries serviced by Oyster +* Developed policies and best practices for features across multiple teams and stakeholders, including product +* Participated in many technical interviews, resulting in hiring many new engineers including other Staff level engineers + +## Consolo Services / WellSky, Remote + +### Principal Software Architect + +June 2006 - August 2021 + +* Founding engineer of the team; one of four initial employees +* Led product from a tiny startup of about 7 customers to over 30 M requests / month +* Led migration of the core application from pre-beta Ruby on Rails all the way to Kubernetes deployments using Helm charts first in AWS and later in GCP +* Implemented one of the most sophisticated billing systems for hospice and Medicare +* Spearheaded a platform-wide documentation project to share knowledge +* Designed benchmarks to improve system response times across the entire platform +* Committed bug fixes to `vagrant`, the open source development tool +* We sold the Consolo IP to WellSky in 2019 at a $50M valuation +* Contributed in some way to each of the 20+ microservices +* Fostered new developers + +## Performance Support, Montgomery, AL + +### Systems Operator + +October 2004 - June 2006 + +* Maintained an interim Secret clearance +* Managed Department of Defense computer systems at Maxwell Air Force base +* Developed tools to automate system maintenance tasks and shift duties + * Reduced a process from 3 hours per shift to an automated email every 15 minutes +* Administered machines running HP-UX on PA-RISC processors + +# Technologies + +{{ capsule(item="Ruby") }} {{ capsule(item="Ruby-on-Rails") }} {{ capsule(item="Rust") }} {{ capsule(item="Kubernetes") }} {{ capsule(item="Helm") }} {{ capsule(item="Cloud infrastructure (AWS & GCP)") }} {{ capsule(item="Github Actions") }} {{ capsule(item="Google Cloud Build") }} {{ capsule(item="Heroku") }} {{ capsule(item="DataDog") }} {{ capsule(item="NewRelic") }} {{ capsule(item="Prometheus") }} {{ capsule(item="Alertmanager") }} {{ capsule(item="Grafana") }} {{ capsule(item="Nix") }} {{ capsule(item="Docker") }} {{ capsule(item="Podman") }} {{ capsule(item="Terraform") }} {{ capsule(item="Ansible") }} {{ capsule(item="bash / sh scripting") }} {{ capsule(item="JavaScript") }} {{ capsule(item="TypeScript") }} {{ capsule(item="Notion") }} {{ capsule(item="mdbook") }} {{ capsule(item="Erlang") }} {{ capsule(item="Elixir") }} {{ capsule(item="PostgreSQL") }} {{ capsule(item="SQLite") }} {{ capsule(item="Linux") }} {{ capsule(item="FreeBSD") }} {{ capsule(item="GNU Make") }} {{ capsule(item="just") }} {{ capsule(item="nginx") }} {{ capsule(item="caddy") }} {{ capsule(item="JSON") }} {{ capsule(item="YAML") }} {{ capsule(item="TOML") }} {{ capsule(item="REST") }} {{ capsule(item="GraphQL") }} {{ capsule(item="HTTP(S)") }} + +# Education + +## Tennessee Tech University + +### Computer Science, B.S. + +August 2001 - December 2009 + +# Personal + +* I am the cook of the house. + * I make most meals in the house and I can also make some killer baked goods. +* I enjoy overlanding, offroading, and camping. +* My family has a farm. + * A _real_ farm with more than 75 animals. +* I do not need a gym membership: I have a farm. It is hard work, but rewarding. +* My partner grows cut flowers professionally. +* My tractor is more expensive than my truck. +* I self-host most of the services I use online (but not email). +* I enjoy playing video games. +* I learn new programming languages that seem interesting. + * My favorite method is to use the [Advent of Code](https://adventofcode.com) puzzles. +* My family recently developed a shared interest in Pokemon TCG (Trading Card Game). +* My partner and I have travelled to Japan 5 times together. + * COVID has been hard on travel, hopefully the price of the tickets will come down now that the borders are open to tourists again (2023-01-12). \ No newline at end of file diff --git a/content/resume/_index.md b/content/resume/_index.md deleted file mode 100644 index f301e94..0000000 --- a/content/resume/_index.md +++ /dev/null @@ -1,12 +0,0 @@ -+++ -title = "Resume" -description = "A history of professional, educational, and personal interests" -+++ - -# Technical Skills - -# Work History - -# Education - -# Personal diff --git a/templates/_macros.html b/templates/_macros.html new file mode 100644 index 0000000..1304860 --- /dev/null +++ b/templates/_macros.html @@ -0,0 +1,22 @@ +{% macro render_header() %} +{% set section = get_section(path="_index.md") %} + + + + + +{% endmacro render_header %} diff --git a/templates/index.html b/templates/index.html index f7d63f3..4234f57 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,30 +1,152 @@ -{% extends "juice/templates/index.html" %} +{% import "_macros.html" as macros %} + + -{% block head %} - - -{% endblock head %} + + + {% block title %}{{ config.title }}{% endblock title %} + + {% block favicon %} + + + {% endblock favicon %} + {% include "_variables.html" %} + + + + + {% block head %} + {% endblock head %} + -{% block hero %} -
-

- Andrew Coleman -

-

- An experienced software engineer and architect.
Sometimes posting about hobbies and farming, too. -

-
+ + {% block header %} -
- Explore More ⇩ -
-{% endblock hero %} +
+ {{ macros::render_header() }} +
-{% block footer %} -