Compare commits
1 Commits
master
...
alternativ
Author | SHA1 | Date | |
---|---|---|---|
f3976fa480 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -22,3 +22,4 @@
|
|||||||
.idea/
|
.idea/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
test.py
|
test.py
|
||||||
|
.~lock.*
|
||||||
|
18
cv.adoc
18
cv.adoc
@ -1,4 +1,4 @@
|
|||||||
= Brent Saner | Curriculum Vitae
|
= Brent Saner
|
||||||
ifeval::["{filetype}" == "pdf"]
|
ifeval::["{filetype}" == "pdf"]
|
||||||
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
endif::[]
|
endif::[]
|
||||||
@ -11,23 +11,17 @@ Last updated {localdatetime}
|
|||||||
:imagesdir: images
|
:imagesdir: images
|
||||||
:sectlinks:
|
:sectlinks:
|
||||||
ifeval::["{doctype}" != "article"]
|
ifeval::["{doctype}" != "article"]
|
||||||
ifeval::["{filetype}" != "pdf"]
|
|
||||||
:toc: preamble
|
:toc: preamble
|
||||||
:toc2: left
|
:toc2: left
|
||||||
endif::[]
|
endif::[]
|
||||||
endif::[]
|
|
||||||
:idprefix:
|
:idprefix:
|
||||||
:toclevels: 7
|
:toclevels: 7
|
||||||
|
:forceinclude:
|
||||||
:source-highlighter: highlightjs
|
:source-highlighter: highlightjs
|
||||||
:ftype: cv
|
|
||||||
:ftypef: CV
|
|
||||||
:techexp: cv.adoc[]#technical_experience
|
|
||||||
//:techexp: #technical_experience
|
|
||||||
|
|
||||||
//include::includes/header.adoc[]
|
|
||||||
|
|
||||||
include::includes/intro.adoc[]
|
include::includes/ext.intro.adoc[]
|
||||||
(If you are looking for my résumé instead, which is much more succinct, that can be found <<resume.adoc#, here>>.)
|
(This is my curriculum vitae. If you are looking for my résumé instead, which is much more succinct, that can be found <<resume.adoc#, here>>.)
|
||||||
|
|
||||||
include::includes/values.adoc[]
|
include::includes/values.adoc[]
|
||||||
|
|
||||||
@ -39,8 +33,8 @@ include::includes/exp2.adoc[]
|
|||||||
|
|
||||||
include::includes/samples.adoc[]
|
include::includes/samples.adoc[]
|
||||||
|
|
||||||
include::includes/personal.adoc[]
|
|
||||||
|
|
||||||
include::includes/refs.adoc[]
|
include::includes/refs.adoc[]
|
||||||
|
|
||||||
|
include::includes/contact.adoc[]
|
||||||
|
|
||||||
include::includes/lastupdate.adoc[]
|
include::includes/lastupdate.adoc[]
|
||||||
|
99
example/Sheets_Giggles_Resume_Template.xml
Normal file
99
example/Sheets_Giggles_Resume_Template.xml
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
|
||||||
|
<article lang="">
|
||||||
|
<para>Jobby McJobface</para>
|
||||||
|
<para>pillowtalk@sheetsgiggles.com (555) 555-5555 Denver, CO</para>
|
||||||
|
<para/>
|
||||||
|
<para>WORK EXPERIENCE </para>
|
||||||
|
<para/>
|
||||||
|
<para>Sheets & Giggles Oct. 2017 – Present</para>
|
||||||
|
<para>Founder & CEO Denver, CO</para>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>S&G is a pun-based, sustainable bedding empire making cooling eucalyptus lyocell sheets (<ulink url="https://sheetsgiggles.com/">SheetsGiggles.com</ulink>).</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>As Founder & CEO, I oversee our core strategies, product roadmap, ops, marketing, and fundraising.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #3. Pretend this is where they stop reading your resume. Whether Work or Education is your top section, the first 3 things they see better be your most impressive stuff, period.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #4. Bullets #1 and #2 are for high-level descriptions of the company and/or your role.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para> </para>
|
||||||
|
<para>Company Name Month Year – Month Year</para>
|
||||||
|
<para>Job Title City, ST</para>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #1.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #2.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #3.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para/>
|
||||||
|
<para>Company Name Month Year – Month Year</para>
|
||||||
|
<para>Job Title City, ST</para>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #1.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #2.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para/>
|
||||||
|
<para>Company Name Month Year – Month Year</para>
|
||||||
|
<para>Job Title City, ST </para>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #1.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para/>
|
||||||
|
<para>Company Name Month Year – Month Year</para>
|
||||||
|
<para>Job Title City, ST </para>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Core responsibility #1.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para/>
|
||||||
|
<para>EDUCATION </para>
|
||||||
|
<para> </para>
|
||||||
|
<para>University Name Graduation Month, Year </para>
|
||||||
|
<para>Degree (e.g., BS), Majors (e.g., Computer Science) City, ST</para>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>List your honors like summa cum laude or Economics Honors Society; 3.X/4.0 GPA (list only if GPA is over 3.3)</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Studied abroad in City, Country during spring/fall 20YY semester (University Name)</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Any other fun stuff like varsity sports, fraternity/sorority, or something that gives you a little color</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para/>
|
||||||
|
<para>SKILLS & INTERESTS</para>
|
||||||
|
<para/>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Skills (plug in your own): Strategic planning; strategic partnerships; revenue modeling & forecasting; retail partnerships, sales, & distro; contract negotiations; account management; Amazon marketing; channel marketing; crowdfunding; copywriting; content marketing; brand marketing; DTC; Shopify; supply chain management; Keynote / PPT presentation</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Interests (make your own): Puns; sleeping; sustainability; politics; yoga; traveling; fishing; Reddit; beer; Seinfeld</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<para>Made for you with love by <ulink url="https://goo.gl/R5wkno">Sheets & Giggles™</ulink> <ulink url="https://goo.gl/Xu7VW5">(</ulink><ulink url="https://goo.gl/Xu7VW5">/u/SheetsGiggles</ulink>). There’s more detailed resume advice on our bedding blog at <ulink url="http://bit.ly/SheetsGigglesResume">http://bit.ly/SheetsGigglesResume</ulink> </para>
|
||||||
|
<para>If you’re feeling grateful and need new sheets, try some of our sustainable, cooling, softer-than-cotton eucalyptus lyocell bed sheets at <ulink url="https://sheetsgiggles.com/">SheetsGiggles.com</ulink>. </para>
|
||||||
|
<para>You can also follow @SheetsGiggles on <ulink url="https://www.instagram.com/sheetsgiggles/">Insta</ulink>, <ulink url="https://www.facebook.com/sheetsgiggles/">FB</ulink>, and <ulink url="https://www.twitter.com/sheetsgiggles/">Twitter</ulink> for more useful posts like this and occasionally decent content.</para>
|
||||||
|
<para>Just delete this footer, plug in your info, and go get your dream job. If you share this resume template, please give S&G credit by linking to <ulink url="https://sheetsgiggles.com/">SheetsGiggles.com</ulink>.</para>
|
||||||
|
</article>
|
315
example/resume-theme.yml
Normal file
315
example/resume-theme.yml
Normal file
@ -0,0 +1,315 @@
|
|||||||
|
font:
|
||||||
|
catalog:
|
||||||
|
# Noto Serif supports Latin, Latin-1 Supplement, Latin Extended-A, Greek, Cyrillic, Vietnamese & an assortment of symbols
|
||||||
|
Noto Serif:
|
||||||
|
normal: notoserif-regular-subset.ttf
|
||||||
|
bold: notoserif-bold-subset.ttf
|
||||||
|
italic: notoserif-italic-subset.ttf
|
||||||
|
bold_italic: notoserif-bold_italic-subset.ttf
|
||||||
|
# M+ 1mn supports ASCII and the circled numbers used for conums
|
||||||
|
M+ 1mn:
|
||||||
|
normal: mplus1mn-regular-ascii-conums.ttf
|
||||||
|
bold: mplus1mn-bold-ascii.ttf
|
||||||
|
italic: mplus1mn-italic-ascii.ttf
|
||||||
|
bold_italic: mplus1mn-bold_italic-ascii.ttf
|
||||||
|
# M+ 1p supports Latin, Latin-1 Supplement, Latin Extended, Greek, Cyrillic, Vietnamese, Japanese & an assortment of symbols
|
||||||
|
# It also provides arrows for ->, <-, => and <= replacements in case these glyphs are missing from font
|
||||||
|
M+ 1p Fallback:
|
||||||
|
normal: mplus1p-regular-fallback.ttf
|
||||||
|
bold: mplus1p-regular-fallback.ttf
|
||||||
|
italic: mplus1p-regular-fallback.ttf
|
||||||
|
bold_italic: mplus1p-regular-fallback.ttf
|
||||||
|
fallbacks:
|
||||||
|
- M+ 1p Fallback
|
||||||
|
page:
|
||||||
|
background_color: ffffff
|
||||||
|
layout: portrait
|
||||||
|
margin: [0.5in, 0.5in, 0.5in, 0.5in]
|
||||||
|
# margin_inner and margin_outer keys are used for recto/verso print margins when media=prepress
|
||||||
|
margin_inner: 0.75in
|
||||||
|
margin_outer: 0.59in
|
||||||
|
size: A4
|
||||||
|
base:
|
||||||
|
align: justify
|
||||||
|
# color as hex string (leading # is optional)
|
||||||
|
font_color: 333333
|
||||||
|
# color as RGB array
|
||||||
|
#font_color: [51, 51, 51]
|
||||||
|
# color as CMYK array (approximated)
|
||||||
|
#font_color: [0, 0, 0, 0.92]
|
||||||
|
#font_color: [0, 0, 0, 92%]
|
||||||
|
font_family: Noto Serif
|
||||||
|
# choose one of these font_size/line_height_length combinations
|
||||||
|
#font_size: 14
|
||||||
|
#line_height_length: 20
|
||||||
|
#font_size: 11.25
|
||||||
|
#line_height_length: 18
|
||||||
|
#font_size: 11.2
|
||||||
|
#line_height_length: 16
|
||||||
|
font_size: 10
|
||||||
|
#line_height_length: 15
|
||||||
|
# correct line height for Noto Serif metrics
|
||||||
|
line_height_length: 11
|
||||||
|
#font_size: 11.25
|
||||||
|
#line_height_length: 18
|
||||||
|
line_height: $base_line_height_length / $base_font_size
|
||||||
|
font_size_large: round($base_font_size * 1.25)
|
||||||
|
font_size_small: round($base_font_size * 0.85)
|
||||||
|
font_size_min: $base_font_size * 0.75
|
||||||
|
font_style: normal
|
||||||
|
border_color: eeeeee
|
||||||
|
border_radius: 4
|
||||||
|
border_width: 0.5
|
||||||
|
# FIXME vertical_rhythm is weird; we should think in terms of ems
|
||||||
|
#vertical_rhythm: $base_line_height_length * 2 / 3
|
||||||
|
# correct line height for Noto Serif metrics (comes with built-in line height)
|
||||||
|
vertical_rhythm: $base_line_height_length
|
||||||
|
horizontal_rhythm: $base_line_height_length
|
||||||
|
# QUESTION should vertical_spacing be block_spacing instead?
|
||||||
|
vertical_spacing: $vertical_rhythm
|
||||||
|
link:
|
||||||
|
font_color: 428bca
|
||||||
|
# literal is currently used for inline monospaced in prose and table cells
|
||||||
|
literal:
|
||||||
|
font_color: b12146
|
||||||
|
font_family: M+ 1mn
|
||||||
|
menu_caret_content: " <font size=\"1.15em\"><color rgb=\"b12146\">\u203a</color></font> "
|
||||||
|
heading:
|
||||||
|
align: left
|
||||||
|
#font_color: 181818
|
||||||
|
font_color: $base_font_color
|
||||||
|
font_family: $base_font_family
|
||||||
|
font_style: bold
|
||||||
|
# h1 is used for part titles (book doctype only)
|
||||||
|
h1_font_size: floor($base_font_size * 2.6)
|
||||||
|
# h2 is used for chapter titles (book doctype only)
|
||||||
|
h2_font_size: floor($base_font_size * 2.15)
|
||||||
|
h3_font_size: round($base_font_size * 1.7)
|
||||||
|
h4_font_size: $base_font_size_large
|
||||||
|
h5_font_size: $base_font_size
|
||||||
|
h6_font_size: $base_font_size_small
|
||||||
|
#line_height: 1.4
|
||||||
|
# correct line height for Noto Serif metrics (comes with built-in line height)
|
||||||
|
line_height: 1
|
||||||
|
margin_top: $vertical_rhythm * 0.4
|
||||||
|
margin_bottom: $vertical_rhythm * 0.9
|
||||||
|
h3_align: center
|
||||||
|
h4_align: center
|
||||||
|
title_page:
|
||||||
|
align: right
|
||||||
|
logo:
|
||||||
|
top: 2%
|
||||||
|
title:
|
||||||
|
top: 55%
|
||||||
|
font_size: $heading_h1_font_size
|
||||||
|
font_color: DCDCDC
|
||||||
|
line_height: 0.9
|
||||||
|
subtitle:
|
||||||
|
font_size: $heading_h3_font_size
|
||||||
|
font_style: bold_italic
|
||||||
|
line_height: 1
|
||||||
|
authors:
|
||||||
|
margin_top: $base_font_size * 1.25
|
||||||
|
font_size: $base_font_size_large
|
||||||
|
font_color: 181818
|
||||||
|
revision:
|
||||||
|
margin_top: $base_font_size * 1.25
|
||||||
|
font_color: DCDCDC
|
||||||
|
block:
|
||||||
|
margin_top: 0
|
||||||
|
margin_bottom: $vertical_rhythm
|
||||||
|
caption:
|
||||||
|
align: left
|
||||||
|
font_size: $base_font_size * 0.95
|
||||||
|
font_style: italic
|
||||||
|
# FIXME perhaps set line_height instead of / in addition to margins?
|
||||||
|
margin_inside: $vertical_rhythm / 3
|
||||||
|
#margin_inside: $vertical_rhythm / 4
|
||||||
|
margin_outside: 0
|
||||||
|
lead:
|
||||||
|
font_size: $base_font_size_large
|
||||||
|
line_height: 1.4
|
||||||
|
abstract:
|
||||||
|
font_color: 5c6266
|
||||||
|
font_size: $lead_font_size
|
||||||
|
line_height: $lead_line_height
|
||||||
|
font_style: italic
|
||||||
|
first_line_font_style: bold
|
||||||
|
title:
|
||||||
|
align: center
|
||||||
|
font_color: $heading_font_color
|
||||||
|
font_family: $heading_font_family
|
||||||
|
font_size: $heading_h4_font_size
|
||||||
|
font_style: $heading_font_style
|
||||||
|
admonition:
|
||||||
|
column_rule_color: $base_border_color
|
||||||
|
column_rule_width: $base_border_width
|
||||||
|
padding: [0, $horizontal_rhythm, 0, $horizontal_rhythm]
|
||||||
|
#icon:
|
||||||
|
# tip:
|
||||||
|
# name: fa-lightbulb-o
|
||||||
|
# stroke_color: 111111
|
||||||
|
# size: 24
|
||||||
|
label:
|
||||||
|
text_transform: uppercase
|
||||||
|
font_style: bold
|
||||||
|
blockquote:
|
||||||
|
font_color: $base_font_color
|
||||||
|
font_size: $base_font_size_large
|
||||||
|
border_color: $base_border_color
|
||||||
|
border_width: 5
|
||||||
|
# FIXME disable negative padding bottom once margin collapsing is implemented
|
||||||
|
padding: [0, $horizontal_rhythm, $block_margin_bottom * -0.75, $horizontal_rhythm + $blockquote_border_width / 2]
|
||||||
|
cite_font_size: $base_font_size_small
|
||||||
|
cite_font_color: 999999
|
||||||
|
# code is used for source blocks (perhaps change to source or listing?)
|
||||||
|
code:
|
||||||
|
font_color: $base_font_color
|
||||||
|
font_family: $literal_font_family
|
||||||
|
font_size: ceil($base_font_size)
|
||||||
|
padding: $code_font_size
|
||||||
|
line_height: 1.25
|
||||||
|
# line_gap is an experimental property to control how a background color is applied to an inline block element
|
||||||
|
line_gap: 3.8
|
||||||
|
background_color: f5f5f5
|
||||||
|
border_color: cccccc
|
||||||
|
border_radius: $base_border_radius
|
||||||
|
border_width: 0.75
|
||||||
|
conum:
|
||||||
|
font_family: M+ 1mn
|
||||||
|
font_color: $literal_font_color
|
||||||
|
font_size: $base_font_size
|
||||||
|
line_height: 4 / 3
|
||||||
|
example:
|
||||||
|
border_color: $base_border_color
|
||||||
|
border_radius: $base_border_radius
|
||||||
|
border_width: 0.75
|
||||||
|
background_color: ffffff
|
||||||
|
# FIXME reenable padding bottom once margin collapsing is implemented
|
||||||
|
padding: [$vertical_rhythm, $horizontal_rhythm, 0, $horizontal_rhythm]
|
||||||
|
image:
|
||||||
|
align: left
|
||||||
|
prose:
|
||||||
|
margin_top: $block_margin_top
|
||||||
|
margin_bottom: $block_margin_bottom
|
||||||
|
sidebar:
|
||||||
|
background_color: eeeeee
|
||||||
|
border_color: e1e1e1
|
||||||
|
border_radius: $base_border_radius
|
||||||
|
border_width: $base_border_width
|
||||||
|
# FIXME reenable padding bottom once margin collapsing is implemented
|
||||||
|
padding: [$vertical_rhythm, $vertical_rhythm * 1.25, 0, $vertical_rhythm * 1.25]
|
||||||
|
title:
|
||||||
|
align: center
|
||||||
|
font_color: $heading_font_color
|
||||||
|
font_family: $heading_font_family
|
||||||
|
font_size: $heading_h4_font_size
|
||||||
|
font_style: $heading_font_style
|
||||||
|
thematic_break:
|
||||||
|
border_color: $base_border_color
|
||||||
|
border_style: solid
|
||||||
|
border_width: $base_border_width
|
||||||
|
margin_top: $vertical_rhythm * 0.5
|
||||||
|
margin_bottom: $vertical_rhythm * 1.5
|
||||||
|
description_list:
|
||||||
|
term_font_style: bold
|
||||||
|
term_spacing: $vertical_rhythm / 4
|
||||||
|
description_indent: $horizontal_rhythm * 1.25
|
||||||
|
outline_list:
|
||||||
|
indent: $horizontal_rhythm * 1.5
|
||||||
|
#marker_font_color: 404040
|
||||||
|
# NOTE outline_list_item_spacing applies to list items that do not have complex content
|
||||||
|
item_spacing: $vertical_rhythm / 2
|
||||||
|
table:
|
||||||
|
background_color: $page_background_color
|
||||||
|
#head_background_color: 838383
|
||||||
|
#head_font_color: $base_font_color
|
||||||
|
head_font_style: bold
|
||||||
|
#body_background_color: <hex value>
|
||||||
|
body_stripe_background_color: f9f9f9
|
||||||
|
foot_background_color: f0f0f0
|
||||||
|
border_color: dddddd
|
||||||
|
border_width: $base_border_width
|
||||||
|
cell_padding: 3
|
||||||
|
toc:
|
||||||
|
indent: $horizontal_rhythm
|
||||||
|
line_height: 1.4
|
||||||
|
dot_leader:
|
||||||
|
#content: ". "
|
||||||
|
font_color: a9a9a9
|
||||||
|
#levels: 2 3
|
||||||
|
# NOTE in addition to footer, header is also supported
|
||||||
|
#header:
|
||||||
|
# font_size: $base_font_size_small
|
||||||
|
# NOTE if background_color is set, background and border will span width of page
|
||||||
|
# border_color: dddddd
|
||||||
|
# border_width: 0.25
|
||||||
|
# height: $base_line_height_length * 2.5
|
||||||
|
# line_height: 1
|
||||||
|
# padding: [$base_line_height_length / 2, 1, 0, 1]
|
||||||
|
# vertical_align: top
|
||||||
|
# #image_vertical_align: <alignment> or <number>
|
||||||
|
# # additional attributes for content:
|
||||||
|
# * {page-count}
|
||||||
|
# * {page-number}
|
||||||
|
# * {document-title}
|
||||||
|
# * {document-subtitle}
|
||||||
|
# * {chapter-title}
|
||||||
|
# * {section-title}
|
||||||
|
# * {section-or-chapter-title}
|
||||||
|
# recto:
|
||||||
|
# #columns: "<50% =0% >50%"
|
||||||
|
# right:
|
||||||
|
# #content: '{page-number}'
|
||||||
|
# content: '{section-or-chapter-title}'
|
||||||
|
# #content: '{document-title} | {page-number}'
|
||||||
|
# left:
|
||||||
|
# content: '{document-title}'
|
||||||
|
# #center:
|
||||||
|
# # content: '{page-number}'
|
||||||
|
# verso:
|
||||||
|
# #columns: $footer_recto_columns
|
||||||
|
# right:
|
||||||
|
# content: '{section-or-chapter-title}'
|
||||||
|
# #content: '{chapter-title} | {page-number}'
|
||||||
|
# left:
|
||||||
|
# content: '{document-title}'
|
||||||
|
# #center:
|
||||||
|
# # content: '{page-number}'
|
||||||
|
footer:
|
||||||
|
font_size: $base_font_size_small
|
||||||
|
# NOTE if background_color is set, background and border will span width of page
|
||||||
|
border_color: dddddd
|
||||||
|
border_width: 0.25
|
||||||
|
height: $base_line_height_length * 2.5
|
||||||
|
line_height: 1
|
||||||
|
padding: [$base_line_height_length / 2, 1, 0, 1]
|
||||||
|
vertical_align: top
|
||||||
|
#image_vertical_align: <alignment> or <number>
|
||||||
|
# additional attributes for content:
|
||||||
|
# * {page-count}
|
||||||
|
# * {page-number}
|
||||||
|
# * {document-title}
|
||||||
|
# * {document-subtitle}
|
||||||
|
# * {chapter-title}
|
||||||
|
# * {section-title}
|
||||||
|
# * {section-or-chapter-title}
|
||||||
|
recto:
|
||||||
|
#columns: "<50% =0% >50%"
|
||||||
|
right:
|
||||||
|
content: '{page-number}'
|
||||||
|
#content: '{section-or-chapter-title} | {page-number}'
|
||||||
|
#content: '{document-title} | {page-number}'
|
||||||
|
left:
|
||||||
|
content: 'Fname M. Lname'
|
||||||
|
#center:
|
||||||
|
# content: '{page-number}'
|
||||||
|
verso:
|
||||||
|
#columns: $footer_recto_columns
|
||||||
|
right:
|
||||||
|
content: $footer_recto_right_content
|
||||||
|
#content: '{chapter-title} | {page-number}'
|
||||||
|
left:
|
||||||
|
content: 'Fname M. Lname'
|
||||||
|
#center:
|
||||||
|
# content: '{page-number}'
|
100
example/resume.adoc
Normal file
100
example/resume.adoc
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
:doctype: article
|
||||||
|
:pdf-stylesdir:
|
||||||
|
:pdf-style: resume
|
||||||
|
|
||||||
|
==== Fname M. Lname
|
||||||
|
|
||||||
|
[.text-center]
|
||||||
|
*Email:* mailto:somemail@isp.com[somemail@isp.com] | *LinkedIn:* https://www.linkedin.com[LinkedInProfileName] | *Phone:* (000)000-000 +
|
||||||
|
|
||||||
|
===== TITLE & HEADLINE
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum:
|
||||||
|
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
|
||||||
|
|
||||||
|
===== PROFESSIONAL EXPERIENCE
|
||||||
|
|
||||||
|
****
|
||||||
|
**Current Job Title** +
|
||||||
|
https://www.google.com[__Current Company__] +
|
||||||
|
__2019 - Present__
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate:
|
||||||
|
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
****
|
||||||
|
|
||||||
|
**Previous Job Title** +
|
||||||
|
https://www.google.com[__Previous Company__] +
|
||||||
|
__2011 - 2019__
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate:
|
||||||
|
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
|
||||||
|
****
|
||||||
|
**Previous Job Title 2** +
|
||||||
|
https://www.google.com[__Previous Company 2__] +
|
||||||
|
__2007 - 2011__
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate:
|
||||||
|
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
****
|
||||||
|
|
||||||
|
**Previous Job Title 3** +
|
||||||
|
https://www.google.com[__Previous Company 3__] +
|
||||||
|
__2000 - 2007__
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate:
|
||||||
|
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
|
||||||
|
|
||||||
|
===== SOFTWARE SKILLS
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget:
|
||||||
|
|
||||||
|
* **Skill Category One** - Specific Program A1, Specific Program B1, Specific Program C1, Specific Program D1,
|
||||||
|
* **Skill Category Two** - Specific Program A2, Specific Program B2, Specific Program C2, Specific Program D2,
|
||||||
|
* **Skill Category Three** - Specific Program A3, Specific Program B3, Specific Program C3, Specific Program D3,
|
||||||
|
|
||||||
|
===== EDUCATION
|
||||||
|
|
||||||
|
**Most Recent Certification/Degree** +
|
||||||
|
School/University Name – City, St
|
||||||
|
|
||||||
|
**Previous Certification/Degree** +
|
||||||
|
School/University Name – City, St
|
||||||
|
|
||||||
|
**Previous Certification/Degree 2** +
|
||||||
|
School/University Name – City, St
|
||||||
|
|
||||||
|
===== SAMPLES
|
||||||
|
|
||||||
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget:
|
||||||
|
|
||||||
|
* https://www.google.com[Document Sample 1]
|
||||||
|
* https://www.google.com[Document Sample 2]
|
||||||
|
* https://www.google.com[Document Sample 3]
|
||||||
|
* https://www.google.com[Document Sample 4]
|
BIN
example/systems-administrator-experienced.odt
Normal file
BIN
example/systems-administrator-experienced.odt
Normal file
Binary file not shown.
@ -1,10 +0,0 @@
|
|||||||
=== Community Involvement
|
|
||||||
|
|
||||||
* Hosts and runs a Systems Operations podcast, https://sysadministrivia.com[Sysadministrivia^], for 6 years ongoing
|
|
||||||
** Maintains accompanying community of other IT professionals
|
|
||||||
|
|
||||||
* Engineered, maintained NOC and designed firmware for a community/volunteer-driven city-wide WiFi project (Project.Phree) for 1 year (now defunct)
|
|
||||||
|
|
||||||
* Have volunteered for/participated in and raised funds for the https://www.extra-life.org/[Extra Life] children's health charity in 2013, 2015, 2016, 2017, and 2020.
|
|
||||||
|
|
||||||
* Have volunteed Systems Support for the https://tasgiving.org/[2020 TASGiving^] charity event (benefiting https://www.nami.org/Home[NAMI^])
|
|
@ -5,5 +5,7 @@ You can reach me via:
|
|||||||
. mailto:bts@square-r00t.net?subject=Resume/CV&body=I%20was%20reading%20your%20CV%20and...[Email]
|
. mailto:bts@square-r00t.net?subject=Resume/CV&body=I%20was%20reading%20your%20CV%20and...[Email]
|
||||||
ifeval::["{filetype}" == "pdf"]
|
ifeval::["{filetype}" == "pdf"]
|
||||||
. link:tel:+15043381513[Telephone] via *+1 (504) 338-1513* (US)
|
. link:tel:+15043381513[Telephone] via *+1 (504) 338-1513* (US)
|
||||||
|
.. Please be sure to leave a voicemail if I don't pick up; while I love the wilds of Pennsylvania, they unfortunately do
|
||||||
|
cause issues with reception sometimes.
|
||||||
endif::[]
|
endif::[]
|
||||||
. https://www.linkedin.com/in/brentsaner/[LinkedIn^] _(not frequently used)_
|
. https://www.linkedin.com/in/brentsaner/[LinkedIn^] _(not frequently used)_
|
||||||
|
@ -46,7 +46,6 @@ technologies as well.
|
|||||||
* Scripting _(Intermediate to Advanced)_
|
* Scripting _(Intermediate to Advanced)_
|
||||||
** Bash _(Intermediate)_
|
** Bash _(Intermediate)_
|
||||||
** Python _(Intermediate to Advanced)_
|
** Python _(Intermediate to Advanced)_
|
||||||
** Golang _(Beginner to Intermediate)_
|
|
||||||
* Linux _(Advanced)_
|
* Linux _(Advanced)_
|
||||||
** CentOS/Red Hat _(Advanced)_
|
** CentOS/Red Hat _(Advanced)_
|
||||||
** Debian _(Intermediate to Advanced)_
|
** Debian _(Intermediate to Advanced)_
|
||||||
@ -103,12 +102,3 @@ technologies as well.
|
|||||||
*** Traffic flow, policies, other concepts _(Advanced)_
|
*** Traffic flow, policies, other concepts _(Advanced)_
|
||||||
*** netfilter/iptables _(Intermediate)_
|
*** netfilter/iptables _(Intermediate)_
|
||||||
*** netfilter/ip6tables _(Intermediate)_
|
*** netfilter/ip6tables _(Intermediate)_
|
||||||
* Documentation
|
|
||||||
** MediaWiki _(Intermediate)_
|
|
||||||
** AsciiDoc/AsciiDoctor _(Intermediate to Advanced)_
|
|
||||||
** Markup _(Advanced)_
|
|
||||||
* Data
|
|
||||||
** XML (and XML Schema) _(Intermediate to Advanced)_
|
|
||||||
** JSON _(Advanced)_
|
|
||||||
** YAML _(Advanced)_
|
|
||||||
** INI _(Avanced)_
|
|
||||||
|
@ -1,30 +1,26 @@
|
|||||||
== Professional Experience Highlights
|
== Recent Professional Experience Highlights/Accomplishments
|
||||||
|
|
||||||
* https://getfoxyproxy.org/[Foxyproxy^] (Contractor; Linux Systems Administrator, Linux Systems Engineer) (Fully Remote), *_March 2014_ to _present_ (6.5+ years)*
|
* _Systems Administrator_, then _Systems Engineer_, for *https://getfoxyproxy.org/[Foxyproxy^]* as a consultant/independent
|
||||||
** Consolidated customer-facing server count from 1500+ to ~750 in underutilized clusters
|
contractor *since March 2014*
|
||||||
** Reduced infrastructure costs by ~75%
|
** *Consolidated* customer-facing server count *from 1500+ to ~750* in underutilized clusters
|
||||||
** Redesigned several platforms for GDPR compliance
|
** *Reduced* infrastructure *costs by ~75%*
|
||||||
** Designed a SSO (Single Sign-On) backend/architecture for customers
|
** *Redesigned* several platforms *for GDPR compliance*
|
||||||
** Re-architectured an authentication scheme for a global service to use centralized authentication with bandwidth accounting
|
** *Designed* a SSO (Single Sign-On) *backend/architecture* for customers
|
||||||
|
** *Re-architectured* an authentication scheme for a global service to use *centralized authentication* with *bandwidth accounting*
|
||||||
|
* _NOC engineer_ for a community/volunteer-driven city-wide WiFi project, *Project.Phree* for *1 year* (now defunct)
|
||||||
* https://asmallorange.com/[A Small Orange^] (Support Representative, Support Supervisor, Linux Systems Administrator) (Fully Remote), *_September 2011_ to _Feb 2014_ (~2.5 years)*
|
** *Designed* custom WAP firmware for *mesh networking*
|
||||||
** Redesigned PXE for dedicated server network:
|
** *Deployed* supporting *infrastructure*
|
||||||
*** Expanding operating system diversity
|
** *Incorporated* other *volunteers*
|
||||||
*** Implementing low-level hardware diagnostics
|
* *Systems Administrator* for *https://asmallorange.com/[A Small Orange^]* for *2.5 years*
|
||||||
*** improving existing install options
|
** *Maintained/managed* shared and managed-dedicated hosting servers (*400+ servers*)
|
||||||
*** Increasing service stability
|
** *Redesigned* PXE system for installs/deployments
|
||||||
** Proposed and deployed live phone customer support via SIP leading to increased responsiveness to customer requests
|
////
|
||||||
|
* _Hardware diagnostician_ for *https://www.linkedin.com/company/barrister-global-services-network/[Barrister Global Services Network^]* for *1 year*
|
||||||
|
** Remotely *triaged* user/consumer *hardware issues*
|
||||||
* https://www.linkedin.com/company/barrister-global-services-network/[Barrister Global Services Network^] (Hardware diagnostician), *_August 2010_ to _September 2011_ (~1 year)*
|
** Remotely *triaged* enterprice/corporate *office printer* issues
|
||||||
** Redesigned flow of call handling, allowing to handle an increased ~200% resolution volume in faster timeframes
|
* _Linux Systems Administrator_ for *http://www.tektonic.net/[Tektonic^]* for *1.5 years*
|
||||||
** Created bootable ISO for field technicians to quickly diagnose issues and report results to triage
|
** *Managed* OpenVZ/Virtuozzo containers (*~300 instances*) and supporting infrastructure
|
||||||
|
** Provided *support to clients*
|
||||||
* http://www.tektonic.net/[Tektonic^] (Linux Systems Administrator), *_June 2008_ to _October 2009_ (~1.3 years)*
|
* Support Technician and NOC Admin for https://www.acetechgroup.com/[ACE Technology Group^] for 1.5 years
|
||||||
** Managed, maintained, installed ~1000 OpenVZ and Virtuozzo containers
|
** Remotely *managed* point-of-presence *VPN bridges* and *client machines*
|
||||||
|
////
|
||||||
* https://www.acetechgroup.com/[ACE Technology Group^] (Support Technician, NOC Admin) *_August 2007_ to _November 2008_ (1.25 years)*
|
|
||||||
** Remotely supported ~150 offices
|
|
||||||
** Maintained in-house VoIP system (Asterisk)
|
|
||||||
** Maintained OpenVPN bridge between NOC and client offices
|
|
||||||
|
24
includes/ext.intro.adoc
Normal file
24
includes/ext.intro.adoc
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
== Introduction
|
||||||
|
|
||||||
|
Hello! My name is Brent Saner, and I have a passion for technology.
|
||||||
|
I don't mean I enjoy playing with the latest gadgets, I mean a *passion*.
|
||||||
|
|
||||||
|
I read RFCs and man pages for fun (so much so that
|
||||||
|
https://git.square-r00t.net/OpTools/tree/ref/rfc.py[I wrote an RFC client^].
|
||||||
|
I have a https://git.square-r00t.net/[large amount of projects^] I work on in my free time. I have a VM lab and
|
||||||
|
my home network is segmented into five different VLANs, on-site and remote backups, PXE-bootstrapped
|
||||||
|
https://ipxe.org/[iPXE^], with 10Gbps house backbone using 802.1X backed by RADIUS and LDAP, all with a
|
||||||
|
full x86_64 Linux 1U as my border device. For a home network.
|
||||||
|
|
||||||
|
With this, combined with my *18 years* of professional Linux/UNIX experience (*21 years* hobbyist), I've learned a few
|
||||||
|
tricks around the ol' rodeo. Because of my adherence to and knowledge of best practices, care for forward-thinking, and
|
||||||
|
sheer joy I take in solving potentially difficult problems, it is my goal (and particular knack) to get your company's
|
||||||
|
infrastructure and services smooth and stable while retaining flexibility for vast growth.
|
||||||
|
|
||||||
|
I have directly applicable experience with, and seek out opportunities in, systems operations in the following roles:
|
||||||
|
|
||||||
|
* Linux Systems Engineer
|
||||||
|
* Linux Systems Administrator
|
||||||
|
* Infrastructure Architect
|
||||||
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
|
|
||||||
[.center]
|
|
||||||
ifeval::["{filetype}" == "pdf"]
|
|
||||||
mailto:bts@square-r00t.net[bts@square-r00t.net,About your {ftypef}...] | +1 (504) 338-1513 | Lehigh Valley area, PA
|
|
||||||
endif::[]
|
|
||||||
ifeval::["{filetype}" != "pdf"]
|
|
||||||
mailto:bts@square-r00t.net[bts@square-r00t.net,About your {ftypef}...] | +1 (504) 338-1513 | Lehigh Valley area, PA
|
|
||||||
endif::[]
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
=== Hobbies
|
|
||||||
|
|
||||||
////
|
|
||||||
[quote, Ralph Wiggum, The Simpsons (Season 4 Episode 15)]
|
|
||||||
So... Do you like... stuff?
|
|
||||||
////
|
|
||||||
|
|
||||||
ifeval::["{ftype}" == "cv"]
|
|
||||||
_A list of interests and hobbies (*outside* of technology) in no particular order, should it make sifting through {ftypef}s more amusing for you._
|
|
||||||
endif::[]
|
|
||||||
|
|
||||||
* Music
|
|
||||||
** I'm all over the place with genres I listen to. Ask me about a major genre and I'll probably at least have one piece of work in it that I'm fond of.
|
|
||||||
** Playing instruments:
|
|
||||||
*** Banjo
|
|
||||||
*** Didgeridoo
|
|
||||||
* Reading
|
|
||||||
** Favourites include Horror/surrealism (Robert Shea, Marc Laidlaw) and sci-fi (Ray Bradbury)
|
|
||||||
* Games
|
|
||||||
** The classic PC FPSes: Unreal, Half-Life, Doom, Quake, etc. (Am I old?)
|
|
||||||
** The occasional tabletop RPG (Call of Cthulhu, Risus)
|
|
||||||
* Film
|
|
||||||
** Horror. The cheesier the better.
|
|
||||||
** Similarly, MST3K
|
|
@ -1,22 +1,15 @@
|
|||||||
== Introduction
|
== Introduction
|
||||||
|
|
||||||
Hello! My name is Brent Saner, and I have a passion for technology.
|
|
||||||
I don't mean I enjoy playing with the latest gadgets, I mean a *passion*.
|
|
||||||
|
|
||||||
ifeval::["{ftype}" == "cv"]
|
With my passion for tech combined with my *18 years* of professional Linux/UNIX experience (*21 years* hobbyist), I've learned a few
|
||||||
I read RFCs and man pages for fun (so much so that
|
|
||||||
https://git.square-r00t.net/OpTools/tree/ref/rfc.py[I wrote an RFC client^] - before I found out that the IETF already
|
|
||||||
https://tools.ietf.org/inventory/reading-tools.shtml[has several^], oops). I have a
|
|
||||||
https://git.square-r00t.net/[large amount of projects^] I work on in my free time. I have a VM lab (almost a necessity
|
|
||||||
if one works from home), and my home network is segmented into five different VLANs, four different WLANs tied to a
|
|
||||||
unique VLAN each, on-site and remote backups, PXE-bootstrapped https://ipxe.org/[iPXE^], with 10Gbps house backbone
|
|
||||||
using 802.1X backed by RADIUS and LDAP, all with a full x86_64 Linux 1U as my border device. For a home network.
|
|
||||||
|
|
||||||
When I say "passion", I mean it.
|
|
||||||
endif::[]
|
|
||||||
|
|
||||||
With this, combined with my 18 years of professional Linux/UNIX experience (21 years hobbyist), I've learned a few
|
|
||||||
tricks around the ol' rodeo. Because of my adherence to and knowledge of best practices, care for forward-thinking, and
|
tricks around the ol' rodeo. Because of my adherence to and knowledge of best practices, care for forward-thinking, and
|
||||||
sheer joy I take in solving potentially difficult problems, it is my goal (and particular knack) to get your company's
|
sheer joy I take in solving potentially difficult problems, it is my goal (and particular knack) to get your company's
|
||||||
infrastructure and services smooth and stable while retaining flexibility for vast growth.
|
infrastructure and services smooth and stable while retaining flexibility for vast growth.
|
||||||
|
|
||||||
|
I have directly applicable experience with, and seek out opportunities in, systems operations in the following roles:
|
||||||
|
|
||||||
|
* Linux Systems Engineer
|
||||||
|
* Linux Systems Administrator
|
||||||
|
* Infrastructure Architect
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
== Personal
|
|
||||||
|
|
||||||
ifeval::["{ftype}" == "cv"]
|
|
||||||
include::comm.involv.adoc[]
|
|
||||||
endif::[]
|
|
||||||
|
|
||||||
include::hobbies.adoc[]
|
|
||||||
|
|
||||||
ifeval::["{ftype}" == "cv"]
|
|
||||||
include::contact.adoc[]
|
|
||||||
endif::[]
|
|
@ -1,29 +1,9 @@
|
|||||||
== Professional Skills
|
== Professional Skills
|
||||||
ifeval::["{filetype}" == "pdf"]
|
|
||||||
ifeval::["{ftype}" == "resume"]
|
|
||||||
:explink: https://cv.r00t2.io/#technical_experience[technical experience^]
|
|
||||||
endif::[]
|
|
||||||
ifeval::["{ftype}" == "cv"]
|
|
||||||
:explink: <<cv.adoc#technical_experience, technical experience>>
|
|
||||||
endif::[]
|
|
||||||
endif::[]
|
|
||||||
ifeval::["{filetype}" != "pdf"]
|
|
||||||
ifeval::["{ftype}" == "resume"]
|
|
||||||
:explink: https://cv.r00t2.io/#technical_experience[technical experience^]
|
|
||||||
endif::[]
|
|
||||||
ifeval::["{ftype}" == "cv"]
|
|
||||||
:explink: <<cv.adoc#technical_experience, technical experience>>
|
|
||||||
endif::[]
|
|
||||||
endif::[]
|
|
||||||
|
|
||||||
As this is only a bird's-eye view, please instead review my {explink} if you wish
|
As this is only a bird's-eye view, please instead review my <<cv.adoc#technical_experience, technical experience>> if you wish
|
||||||
to see technical specifics.
|
to see technical specifics.
|
||||||
|
|
||||||
* Highly autonomous, self-motivated, experienced, and skilled in remote/telecommuting environment
|
* Well-versed in *nix server administration, maintenance, deployment
|
||||||
** 10+ consecutive years of telecommuting experience
|
|
||||||
** Strong written and verbal skills
|
|
||||||
** Dedicated home office and desire to maintain work/personal life separate
|
|
||||||
* Well-versed in *nix server administration, maintenance, deployment (18+ years professional experience)
|
|
||||||
* Documentation (Markdown, Asciidoc, etc.)
|
* Documentation (Markdown, Asciidoc, etc.)
|
||||||
* Architecture
|
* Architecture
|
||||||
** Deploying, designing, etc.
|
** Deploying, designing, etc.
|
||||||
@ -32,6 +12,3 @@ to see technical specifics.
|
|||||||
** Root cause determination
|
** Root cause determination
|
||||||
** Future mitigation design
|
** Future mitigation design
|
||||||
* Incorporating best practices to ensure interoperability, safety/security, stability
|
* Incorporating best practices to ensure interoperability, safety/security, stability
|
||||||
** Implementing RFC recommendations (e.g. `MUST` and `MAY` directives)
|
|
||||||
** Seeking current advisement from upstream documentation and notices
|
|
||||||
** Applying new security discoveries as applicable to already deployed projects
|
|
||||||
|
@ -1,30 +1,17 @@
|
|||||||
== Values
|
== Values
|
||||||
|
|
||||||
In my professional environment, I value and demonstrate the following:
|
In my professional environment, I value the following:
|
||||||
|
|
||||||
=== "SSP" ===
|
* Security, safety, privacy (for both employees/coworkers and customers)
|
||||||
*Security*, *safety*, and *privacy*.
|
* Accurate and followed deadlines
|
||||||
|
* Quality first, quantity second, "quickness" third
|
||||||
These concepts are paramount for both employees/coworkers/clients and customers. By holding these concepts in mind during all stages of a project or product's lifecycle, I believe that other areas (flexibility, economic growth, etc.) become much more achievable.
|
** Reduce/avoid technical debt
|
||||||
|
*** Deploy correctly the first time
|
||||||
=== Timing ===
|
*** Extensive planning
|
||||||
*Deadlines* should be _accurate_ and _followed_. This allows for a smoother development, deployment, and consumer satisfaction level.
|
*** Future-proofing
|
||||||
|
** Separate Dev, Test/Staging, Production environments
|
||||||
When determining deadlines and when developing or deploying *quality* comes first, *quantity* second, and *"quickness"* third. Efficiency is not efficient if it creates more work down the road at the cost of speed.
|
** Scalability
|
||||||
|
* Stability and availability over (individual) uptime
|
||||||
=== Do it Right, Do it Once ===
|
** Balancing
|
||||||
By following a procedure and policy that allow for *testing* during development and deployment and by implementing *automation* into that cycle, it allows for *reducing/avoiding technical debt* by paving the road for:
|
** Failover
|
||||||
|
* Clear communication with customers when affected
|
||||||
* Deploying correctly the first time
|
|
||||||
* Extensive planning
|
|
||||||
* Future-proofing
|
|
||||||
|
|
||||||
This is accomplished by a strong focus on:
|
|
||||||
|
|
||||||
* *Separate* _Dev_, _Test/Staging_, and _Production_ environments
|
|
||||||
** *Scalability*
|
|
||||||
|
|
||||||
=== Stability ===
|
|
||||||
In the modern technological world of failover and redundancy, *stability* and *availability* of a service hold priority over individual machines' uptime.
|
|
||||||
|
|
||||||
Because of this, I value *balancing* load/resources, deploying *strong failover procedures*, clear *priority levels/SLA* and *clear communication with consumers* when affected.
|
|
||||||
|
22
render.sh
22
render.sh
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
if [[ $(id -u) == 0 ]];
|
if [[ $(id -u) == 0 ]];
|
||||||
then
|
then
|
||||||
DESTDIR=/srv/http/resume
|
# asciidoctor -B /opt/dev/resume -D /tmp/resume -n /opt/dev/resume/cv.adoc
|
||||||
|
asciidoctor -D /srv/http/resume -n cv.adoc
|
||||||
|
asciidoctor -D /srv/http/resume -n resume.adoc
|
||||||
|
|
||||||
|
asciidoctor-pdf -D /srv/http/resume/pdf -n -d article cv.adoc
|
||||||
|
asciidoctor-pdf -D /srv/http/resume/pdf -n -d article resume.adoc
|
||||||
else
|
else
|
||||||
DESTDIR=/tmp/resume
|
asciidoctor -D /tmp/cv.html -n cv.adoc
|
||||||
|
asciidoctor -D /tmp/resume.html -n resume.adoc
|
||||||
|
|
||||||
|
asciidoctor-pdf -D /tmp -n -d article cv.adoc
|
||||||
|
asciidoctor-pdf -D /tmp -n -d article resume.adoc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use -n to number sections.
|
|
||||||
|
|
||||||
asciidoctor -D ${DESTDIR}/cv -n -o index.html cv.adoc
|
|
||||||
asciidoctor -D ${DESTDIR}/resume -n -o index.html resume.adoc
|
|
||||||
|
|
||||||
#asciidoctor-pdf -a filetype=pdf -D ${DESTDIR} -d article cv.adoc
|
|
||||||
asciidoctor-pdf -a filetype=pdf -D ${DESTDIR} cv.adoc
|
|
||||||
asciidoctor-pdf -a filetype=pdf -D ${DESTDIR} -d article resume.adoc
|
|
||||||
|
20
resume.adoc
20
resume.adoc
@ -1,4 +1,4 @@
|
|||||||
= Brent Saner | Résumé
|
= Brent Saner
|
||||||
ifeval::["{filetype}" == "pdf"]
|
ifeval::["{filetype}" == "pdf"]
|
||||||
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
endif::[]
|
endif::[]
|
||||||
@ -11,30 +11,28 @@ Last updated {localdatetime}
|
|||||||
:imagesdir: images
|
:imagesdir: images
|
||||||
:sectlinks:
|
:sectlinks:
|
||||||
ifeval::["{doctype}" != "article"]
|
ifeval::["{doctype}" != "article"]
|
||||||
ifeval::["{filetype}" != "pdf"]
|
|
||||||
:toc: preamble
|
:toc: preamble
|
||||||
:toc2: left
|
:toc2: left
|
||||||
endif::[]
|
endif::[]
|
||||||
endif::[]
|
|
||||||
:idprefix:
|
:idprefix:
|
||||||
:toclevels: 7
|
:toclevels: 7
|
||||||
|
:forceinclude:
|
||||||
:source-highlighter: highlightjs
|
:source-highlighter: highlightjs
|
||||||
:ftype: resume
|
|
||||||
:ftypef: résumé
|
|
||||||
:techexp: https://cv.r00t2.io/#technical_experience
|
|
||||||
|
|
||||||
include::includes/header.adoc[]
|
|
||||||
|
|
||||||
include::includes/intro.adoc[]
|
include::includes/intro.adoc[]
|
||||||
(If you are looking for my curriculum vitae (CV) instead, which contains much more detail, that can be found
|
(This is my résumé. If you are looking for my curriculum vitae (CV) instead, which contains
|
||||||
|
much more detail about my experiences and technologies I'm familiar with, that can be found
|
||||||
<<cv.adoc#, here>>.)
|
<<cv.adoc#, here>>.)
|
||||||
|
|
||||||
include::includes/skills.adoc[]
|
|
||||||
|
|
||||||
include::includes/exp2.adoc[]
|
include::includes/exp2.adoc[]
|
||||||
|
|
||||||
|
include::includes/skills.adoc[]
|
||||||
|
|
||||||
include::includes/samples.adoc[]
|
include::includes/samples.adoc[]
|
||||||
|
|
||||||
include::includes/personal.adoc[]
|
include::includes/refs.adoc[]
|
||||||
|
|
||||||
|
include::includes/contact.adoc[]
|
||||||
|
|
||||||
include::includes/lastupdate.adoc[]
|
include::includes/lastupdate.adoc[]
|
||||||
|
81
resume.xml
Normal file
81
resume.xml
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<portfolio xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns="https://resume.r00t2.io/"
|
||||||
|
xsi:schemaLocation="https://resume.r00t2.io/ http://schema.xml.r00t2.io/projects/resumegen.xsd">
|
||||||
|
|
||||||
|
<resume>
|
||||||
|
<name>
|
||||||
|
<firstName>Brent</firstName>
|
||||||
|
<middleName>Timothy</middleName>
|
||||||
|
<lastName>Saner</lastName>
|
||||||
|
</name>
|
||||||
|
<contact>
|
||||||
|
<email>r00t@r00t2.io</email>
|
||||||
|
<phoneNumber>+1 (504) 338-1513</phoneNumber>
|
||||||
|
</contact>
|
||||||
|
<location>
|
||||||
|
<locality>Lehigh Valley</locality>
|
||||||
|
<region>PA</region>
|
||||||
|
</location>
|
||||||
|
<workExperience>
|
||||||
|
<experience>
|
||||||
|
<companyName>FoxyProxy</companyName>
|
||||||
|
<positions>
|
||||||
|
<position>
|
||||||
|
<title>Systems Engineer Consultant</title>
|
||||||
|
<duration>
|
||||||
|
<start>2015-01</start>
|
||||||
|
</duration>
|
||||||
|
<role>
|
||||||
|
<responsibility>
|
||||||
|
<desc>Design and improve infrastructure and service operations</desc>
|
||||||
|
<accomplishments>
|
||||||
|
<accomplishment>Reduced infrastructure operatoinal costs by 75%</accomplishment>
|
||||||
|
<accomplishment>Designed Single Sign-On backend/architecture for customer services</accomplishment>
|
||||||
|
<accomplishment>Architectured centralized authentication with bandwidth accounting</accomplishment>
|
||||||
|
<accomplishment>Redesigned internal platforms for GDPR compliance</accomplishment>
|
||||||
|
</accomplishments>
|
||||||
|
</responsibility>
|
||||||
|
</role>
|
||||||
|
</position>
|
||||||
|
<position>
|
||||||
|
<title>Systems Administrator Consultant</title>
|
||||||
|
<duration>
|
||||||
|
<start>2014-03</start>
|
||||||
|
<end>2015-01</end>
|
||||||
|
</duration>
|
||||||
|
<role>
|
||||||
|
<responsibility>
|
||||||
|
<desc>Manage 3000+ proxy/VPN nodes</desc>
|
||||||
|
<accomplishments>
|
||||||
|
<accomplishment>Reduced underutilized number of 1500+ physical nodes to ~750 to reduce costs.
|
||||||
|
</accomplishment>
|
||||||
|
</accomplishments>
|
||||||
|
</responsibility>
|
||||||
|
</role>
|
||||||
|
</position>
|
||||||
|
</positions>
|
||||||
|
<desc>FoxyProxy offers HTTP, HTTPS, and VPN (various protocols) as a service.</desc>
|
||||||
|
</experience>
|
||||||
|
<experience>
|
||||||
|
<companyName>Project.Phree</companyName>
|
||||||
|
<positions>
|
||||||
|
<position>
|
||||||
|
<title>NOC Engineer</title>
|
||||||
|
<role>
|
||||||
|
<responsibility>
|
||||||
|
<desc></desc>
|
||||||
|
</responsibility>
|
||||||
|
</role>
|
||||||
|
</position>
|
||||||
|
</positions>
|
||||||
|
<desc>Project.Phree (now defunct) was a community-driven/volunteer initiative to bring city-wide free wireless Internet access to disadvantaged neighborhoods</desc>
|
||||||
|
</experience>
|
||||||
|
</workExperience>
|
||||||
|
</resume>
|
||||||
|
|
||||||
|
<cv>
|
||||||
|
|
||||||
|
</cv>
|
||||||
|
|
||||||
|
</portfolio>
|
Loading…
Reference in New Issue
Block a user