~hristoast/hristoast

7b81d50946c771d6b03bb542a37dcf6876b54b3b — Hristos N. Triantafillou a month ago 9e7a493
Tidy up a bit
7 files changed, 259 insertions(+), 9 deletions(-)

M Makefile
M site/about.html
D site/cv-resume.html
A site/cv-resume.html
A site/resume.html
M soupault.conf
M templates/main.html
M Makefile => Makefile +7 -5
@@ 1,19 1,18 @@
proj_dir := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))
SOUPAULT := soupault

.DEFAULT_GOAL:= rebuild-staging
local: prod-site local-web

prod-site:
	$(SOUPAULT) --profile live

staging-site:
	$(SOUPAULT)
	fish -c "time $(SOUPAULT)"

clean:
	rm -fr $(proj_dir)/build
	rm -fr build

deploy:
	rsync -aq --delete build/ hristoast@hristoast:~/html/
	echo rsync -aq --delete build/ hristoast@hristoast:~/html/

deploy-staging:
	rsync -aq --delete build/ hristoast@hristoast:~/staging/


@@ 22,3 21,6 @@ deploy-staging:
rebuild: clean prod-site deploy

rebuild-staging: clean staging-site deploy-staging

local-web:
	python3 -m http.server -d build

M site/about.html => site/about.html +11 -0
@@ 65,6 65,17 @@
  <li>For over 20 years and counting, <a href="http://jiihootabs.com/">JiiHoo Tabs</a> has been my go-to place for accurate, well-made NOFX tabs for guitar and bass. He does a few other bands - even trumpet parts too!</li>
</ul>

<h2>Code Forges</h2>

<p>Hacking here and there.</p>

<ul>
  <li><a href="https://codeberg.org/hristoast">Codeberg</a></li>
  <li><a href="https://github.com/hristoast">GitHub</a></li>
  <li><a href="https://gitlab.com/hristoast">GitLab</a></li>
  <li><a href="https://git.sr.ht/~hristoast">Sourcehut</a></li>
</ul>

<h2>Utoob channels I like</h2>

<ul>

D site/cv-resume.html => site/cv-resume.html +0 -3
@@ 1,3 0,0 @@
<h3 id="title">My CV/Resume</h3>

Please click <a href="/resume/">this link</a> to view my CV/Resume (PDF).

A site/cv-resume.html => site/cv-resume.html +1 -0
@@ 0,0 1,1 @@
resume.html
\ No newline at end of file

A site/resume.html => site/resume.html +238 -0
@@ 0,0 1,238 @@
<h1 id="title">Resume: Hristos N. Triantafillou</h1>
<p><a href="/resume/">Download in PDF format</a></p>
<div id="toc"></div>

<h2>Who Am I? What Do I Do?</h2>
<ul>
  <li>Senior DevOps, Build And Release Engineer</li>
  <li>A passion for automation as well as testable and repeatable systems leveraging:
    <ul>
      <li>Terraform, including work with the AWS, Artifactory, and GitLab providers</li>
      <li>Deployment tooling built upon Kubernetes and Docker Swarm</li>
      <li>AWS infrastructure</li>
      <li>Advanced Docker utilization, including multi-architecture images</li>
      <li>Ansible for complete management of my personal fleet of servers</li>
    </ul>
  </li>
  <li>Building and maintaining CI/CD systems and patterns
    <ul>
      <li>Jenkins CI – part of the DotCi team which built a yaml-based interface to jobs and leveraged Docker Swarm for build clusters</li>
      <li>Buildbot – built a custom DSL for personal and private jobs</li>
      <li>GitLab CI/CD – custom, extensible pipelines with a centralized backbone for an Enterprise CI/CD platform in AWS</li>
    </ul>
  </li>
  <li>Over 15 years of UNIX system experience and knowledge, specializing in Linux systems</li>
  <li>Extensive VCS experience; I’ve managed organization-wide installations of GitHub Enterprise as well as GitLab CI/CD systems</li>
  <li>Application development with: Python, Golang, Javascript, Lua, and more</li>
  <li>Application and script optimization
    <ul>
      <li>Game design demands highly optimized scripting in order to deliver the best performance to users</li>
      <li>I try to develop software as if it’s going to be used on a decades-old machine</li>
    </ul>
  </li>
  <li>Linux application deployment using the AppImage platform and Docker as a reproducible build environment</li>
  <li>Game design and scripting, including embedded Lua with C++ and Godot’s GDScript</li>
  <li>Build, manage, and maintain a popular Open Source software and community</li>
</ul>

<h2>Project Portfolio</h2>
<ul>
  <li>I have written open source applications that are hosted on several popular code forges:
    <ul>
      <li><a href="https://gitlab.com/hristoast/">GitLab</a></li>
      <li><a href="https://git.sr.ht/~hristoast/">Sourcehut</a></li>
      <li><a href="https://github.com/hristoast">GitHub</a></li>
    </ul>
  </li>
  <li><a href="https://gitlab.com/modding-openmw">The Modding-OpenMW GitLab organization</a> is an open source project containing dozens of Lua scripts and other modifications for the OpenMW game engine
    <ul>
      <li>I’m developing a CI/CD system that is a powerful platform for experienced programmers and casual content creators alike to share their works <a href="https://stats.gitlab.modding-openmw.com/">with the world</a></li>
      <li>This org is the home of <a href="https://modding-openmw.com/">Modding-OpenMW.com</a>, a website viewed by over 3 million users each year (started as a for fun project, now recognized <a href="https://stats.modding-openmw.com/">all over the world</a>)</li>
    </ul>
  </li>
</ul>

<h2>Work History</h2>

<h3>November 2022-Present: Senior Build and Release Engineer, Availity</h3>
<ul>
  <li>Implemented a repeatable and scalable deployment for a self-hosted GitLab CI/CD platform using Terraform and AWS resources</li>
  <li>Developed a modular, extensible Enterprise CI/CD system that heavily utilizes Docker and Terraform</li>
  <li>Leveraged Artifactory for artifact storage and promotion</li>
  <li>Created documentation-as-code workflows with D2lang</li>
  <li>Hire, mentor and guide junior team members
    <ul>
      <li>Onboard them into our systems</li>
      <li>Help them develop advanced skills</li>
    </ul>
  </li>
</ul>

<h3>October 2015-November 2022: Release and Production Tools, Groupon</h3>
<ul>
  <li>Developed an internal deployment tool
    <ul>
      <li>Automated various checks and gates for a smooth developer UX</li>
      <li>Written with Golang</li>
      <li>Ported the codebase backend from Docker Swarm to Kubernetes</li>
    </ul>
  </li>
  <li>Built out a very high volume (10k+ jobs per day at its height) Jenkins CI system backed by Docker Swarm clusters for clean, repeatable build environments</li>
  <li>Drove Ansible adoption on my team and in my organization in general</li>
  <li>Owned tooling that were vital to the core workflow of every developer
    <ul>
      <li>GitHub Enterprise</li>
      <li>Gitosis</li>
      <li>Artifactory (across three geographical regions)</li>
    </ul>
  </li>
</ul>

<h3>October 2014-October 2015: Application and Developer Support, onShore Development</h3>
<ul>
  <li>Handled the deployment, upgrading, and general support of a complex asset management software written in Common Lisp with PostgreSQL</li>
  <li>Turned a manual release and package process into an automated one with Python, Ansible, and Jira (as a source of truth for data about client installations)</li>
  <li>Worked with the development team to troubleshoot customer issues in the field</li>
</ul>

<h3>January 2014-October 2014: Contract Application Development and IT Services</h3>
<ul>
  <li>Leveraged Django and related libraries to create complex web applications
    <ul>
      <li>E-commerce</li>
      <li>Blog engine</li>
      <li>Coaching services</li>
      <li>User management systems</li>
      <li>Inventory/Asset Control</li>
    </ul>
  </li>
  <li>Application configuration and deployment via Ansible</li>
  <li>Created custom .deb packages for application distribution as needed</li>
</ul>

<h3>March 2013-December 2013: NOC Manager & Infra Lead, Sleepy Giant Entertainment</h3>
<ul>
  <li>Created roadmaps for new and existing projects</li>
  <li>Managed infrastructure teams</li>
  <li>Guided DevOps engineers in their day to day tasks</li>
  <li>Coordinated directly with clients to identify and meet their needs of the infrastructure department</li>
  <li>Oversaw all infra department operations</li>
  <li>Interviewed, hired, and managed engineers for the tier one support department</li>
  <li>Built an onboarding process for new employees</li>
  <li>Solidified and documented an off-boarding process for departing employees</li>
  <li>Prepared NOC runbooks for each project
    <ul>
      <li>Outlined all relevant procedures including: DR, maintenance, load testing, and more</li>
    </ul>
  </li>
  <li>Worked with project managers to gather details about each project
    <ul>
      <li>Organized and streamlined processes</li>
    </ul>
  </li>
  <li>Created a 24x7 support schedule</li>
  <li>Managed a team of 24x7 NOC support specialists</li>
  <li>Built a dashboard system for reporting key metrics using Graphite, collectd, Kibana, and more</li>
  <li>Developed config management using Chef
    <ul>
      <li>Wrote and tested various cookbooks</li>
      <li>Worked with and supplemented community cookbooks</li>
    </ul>
  </li>
</ul>

<h3>April 2011-March 2013: IT Specialist, High Voltage Software</h3>
<ul>
  <li>Built workstation hardware (desktop PCs for designers, artists, and programmers)</li>
  <li>Deployment of software installations
    <ul>
      <li>Autodesk, Adobe, Microsoft tooling</li>
    </ul>
  </li>
  <li>Server setup and deployment
    <ul>
      <li>Samba, SVN, HTTP, FTP</li>
    </ul>
  </li>
  <li>Devkit provisioning and inventorying</li>
  <li>SVN workflow optimization</li>
  <li>
    <ul>
      <li>Implemented various performance improvements for internal Subversion infrastructure</li>
    </ul>
  </li>
  <li>Created a Python+Django-based inventory management system
    <ul>
      <li>Used to track and interact with our internal game library, hardware/dev kit inventory, and software licenses</li>
    </ul>
  </li>
</ul>

<h3>December 2009-April 2011: Server Provisioning and Support, WiredTree</h3>
<ul>
  <li>Fully-managed VPS and dedicated server hosting on a tier III support team
    <ul>
      <li>All aspects of the server OS and included software (cPanel) were supported</li>
    </ul>
  </li>
  <li>I specialized in customer migrations, moving sites and their data from other providers and platforms with little or no downtime</li>
  <li>Contributed to several process and technical how-to guides for custom installs</li>
  <li>Handled server provisioning, building, upgrading, and maintenance at our downtown Chicago data center</li>
</ul>

<h3>February 2008 – December 2009: Level 1, 3 Support, MidPhase</h3>
<ul>
  <li>Level one support for shared server hosting clients</li>
  <li>Simultaneously manage support phone calls, live chats, and support ticket queues</li>
  <li>Promoted to the tier III department within six months</li>
  <li>As a tier III tech I managed all VPS and dedicated server accounts</li>
  <li>Shared platform issues were escalated to my team</li>
  <li>Handled a myriad of spam/abuse issues, helped users deal with compromised systems</li>
  <li>Mostly Linux servers with a few Windows boxes in the mix</li>
</ul>

<h3>October 2005 – February 2008: Retail Representative, Nintendo of America</h3>
<ul>
  <li>Serviced over 140 major retail locations in the Metro-Chicago area</li>
  <li>Installed, repaired, and updated interactive display hardware units</li>
  <li>Cleaned and merchandised product on the selling floors</li>
  <li>Provided on-site training, product demonstrations, and special event appearances</li>
  <li>Worked at E3 2006 as a display tech demoing the Brain Age series of Nintendo DS games</li>
  <li>I was part of the setup and tear down crew for Nintendo’s area</li>
  <li>Offered a job in Redmond at Nintendo as a display support tech in their corporate call center</li>
</ul>

<h3>August 2003 – October 2005: Assistant Store Manager, EB Games</h3>
<ul>
  <li>Promoted to Assistant Store Manager within 10 months of joining their team</li>
  <li>Handled inventory control, scheduling, hiring, managing of bank transactions, and floor plan setup</li>
  <li>Offered my own store by October 2005</li>
</ul>

<h2>Education</h2>
<h3>January 2003 – June 2003: Waubonsee Community College</h3>
<ul>
  <li>Studied Music History and Theory, as well as Sociology</li>
</ul>

<h3>Yorkville High School</h3>
<ul>
  <li>High School Diploma</li>
  <li>Competed on the school Speech Team
    <ul>
      <li>Placed 6th at conference for Dramatic Interpretation</li>
      <li>Placed 4th at regionals for Humorous Interpretation</li>
    </ul>
  </li>
  <li>Played in various school bands
    <ul>
      <li>Concert band</li>
      <li>Marching band</li>
      <li>Jazz band</li>
      <li>Madrigal Brass</li>
      <li>Pep band</li>
      <li>Full Orchestra</li>
      <li>Competitive Duet</li>
    </ul>
  </li>
</ul>

M soupault.conf => soupault.conf +1 -0
@@ 190,6 190,7 @@ HTML.append_child(container, chapter_list)
  heading_link_text = "→ "
  heading_link_class = "here"
  min_level = 2
  max_level = 2
  numbered_list = false
  toc_list_class = "toc"
  toc_class_levels = false

M templates/main.html => templates/main.html +1 -1
@@ 40,7 40,7 @@
            <a href="/init.el/">init.el</a>
          </li>
          <li>
            <a href="/cv-resume/">CV/Resume</a>
            <a href="/resume/">Resume</a>
          </li>
          <li>
            <a href="/privacy/">Privacy</a>