content commit
This commit is contained in:
parent
7bb0b183df
commit
f05f736214
37
cv.adoc
Normal file
37
cv.adoc
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
= Curriculum Vitae
|
||||||
|
ifeval::["{filetype}" == "pdf"]
|
||||||
|
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
|
endif::[]
|
||||||
|
ifeval::["{filetype}" != "pdf"]
|
||||||
|
Brent Saner <bts@square-r00t.net>
|
||||||
|
endif::[]
|
||||||
|
Last updated {localdatetime}
|
||||||
|
:doctype: book
|
||||||
|
:data-uri:
|
||||||
|
:imagesdir: images
|
||||||
|
:sectlinks:
|
||||||
|
ifeval::["{doctype}" != "article"]
|
||||||
|
:toc: preamble
|
||||||
|
:toc2: left
|
||||||
|
endif::[]
|
||||||
|
:idprefix:
|
||||||
|
:toclevels: 7
|
||||||
|
:source-highlighter: highlightjs
|
||||||
|
|
||||||
|
|
||||||
|
include::includes/intro.adoc[]
|
||||||
|
(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/accomplish.adoc[]
|
||||||
|
|
||||||
|
include::includes/exp.adoc[]
|
||||||
|
|
||||||
|
include::includes/exp2.adoc[]
|
||||||
|
|
||||||
|
include::includes/samples.adoc[]
|
||||||
|
|
||||||
|
include::includes/refs.adoc[]
|
||||||
|
|
||||||
|
include::includes/contact.adoc[]
|
11
includes/accomplish.adoc
Normal file
11
includes/accomplish.adoc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
== Professional Accomplishments
|
||||||
|
|
||||||
|
I have some milestones I'm particularly proud of.
|
||||||
|
|
||||||
|
For clients and companies past and present, I have...
|
||||||
|
|
||||||
|
* Consolidated server count from 1500+ to ~750 in underutilized clusters
|
||||||
|
* Reduced infrastructure costs by ~150%
|
||||||
|
* Redesigned several platforms for GDPR compliance
|
||||||
|
* Designed a SSO (Single-Sign-On) backend/architecture for customers
|
||||||
|
* Re-architectured an authentication scheme for a global service to use central authentication (with bandwidth accounting)
|
11
includes/contact.adoc
Normal file
11
includes/contact.adoc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
== Contact Information
|
||||||
|
|
||||||
|
You can reach me via:
|
||||||
|
|
||||||
|
. mailto:bts@square-r00t.net?subject=Resume/CV&body=I%20was%20reading%20your%20CV%20and...[Email]
|
||||||
|
ifeval::["{filetype}" == "pdf"]
|
||||||
|
. 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 unfortunaly do
|
||||||
|
cause issues with reception sometimes.
|
||||||
|
endif::[]
|
||||||
|
. https://www.linkedin.com/in/brentsaner/[LinkedIn^] _(not frequently used)_
|
98
includes/exp.adoc
Normal file
98
includes/exp.adoc
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
== Technical Experience
|
||||||
|
|
||||||
|
Below you will find various technologies I have experience with and, where applicable, specific
|
||||||
|
software/implementations/features I have used directly.
|
||||||
|
|
||||||
|
Both have signifiers denoting my level of experience and/or familiarity with them, classified as:
|
||||||
|
|
||||||
|
. _Beginner_, some/a marginal understanding/level of working experience with
|
||||||
|
. _Intermediate_, strong working knowledge
|
||||||
|
. _Advanced_, I could probably quote you some RFC/documentation details on it (or beyond)
|
||||||
|
|
||||||
|
This is, of course, by no means exhaustive. Anything below _Beginner_ is not listed.
|
||||||
|
|
||||||
|
* HTTP/HTTPS/HTTP2 _(Advanced)_
|
||||||
|
** Nginx _(Advanced)_
|
||||||
|
** Apache _(Intermediate to Advanced)_
|
||||||
|
* Mail _(Intermediate to Advanced)_
|
||||||
|
** SMTP/SMTPS/StartTLS SMTP _(Advanced)_
|
||||||
|
*** Postfix _(Intermediate)_
|
||||||
|
** IMAP/IMAPS/StartTLS IMAP _(Advanced)_
|
||||||
|
*** Dovecot _(Advanced)_
|
||||||
|
** DKIM _(Intermediate to Advanced)_
|
||||||
|
*** OpenDKIM _(Intermediate)_
|
||||||
|
** Spam Mitigation _(Intermediate to Advanced)_
|
||||||
|
*** SPF _(Advanced)_
|
||||||
|
*** RBL _(Advanced)_
|
||||||
|
*** SpamAssassin _(Intermediate to Advanced)_
|
||||||
|
* VoIP/Telephony _(Beginner to Intermediate)_
|
||||||
|
** SIP and POTS _(Beginner to Intermediate)_
|
||||||
|
*** Asterisk _(Intermediate)_
|
||||||
|
*** FreeSWITCH _(Beginner)_
|
||||||
|
* Database Management _(Intermediate)_
|
||||||
|
** MySQL _(Intermediate)_
|
||||||
|
** MariaDB _(Intermediate)_
|
||||||
|
** Postgres _(Beginner)_
|
||||||
|
** Sqlite _(Intermediate to Advanced)_
|
||||||
|
* Authentication/Identity _(Intermediate)_
|
||||||
|
** RADIUS _(Intemediate to Advanced)_
|
||||||
|
*** FreeRADIUS _(Intermediate to Advanced)_
|
||||||
|
** LDAP _(Intermediate to Advanced)_
|
||||||
|
*** OpenLDAP _(Intermediate to Advanced)_
|
||||||
|
**** OLC ("On-Line Configuration") _(Advanced)_
|
||||||
|
**** StartTLS _(Advanced; e.g. SSF and ACL tied to TLS status)_
|
||||||
|
**** "back-ldap" (internal LDAP proxying) _(Intermediate)_
|
||||||
|
* Scripting _(Intermediate to Advanced)_
|
||||||
|
** Bash _(Intermediate)_
|
||||||
|
** Python _(Intermediate to Advanced)_
|
||||||
|
* Linux _(Advanced)_
|
||||||
|
** CentOS/Red Hat _(Advanced)_
|
||||||
|
** Debian _(Intermediate to Advanced)_
|
||||||
|
** Arch Linux _(Advanced)_
|
||||||
|
* UNIX/UNIX-likes _(Intermediate to Advanced)_
|
||||||
|
** OpenBSD _(Intermediate)_
|
||||||
|
** FreeBSD _(Intermediate)_
|
||||||
|
** NetBSD _(Beginner)_
|
||||||
|
** OpenSolaris (and derivatives e.g. Illumos) _(Beginner)_
|
||||||
|
* Virtualization _(Intermediate to Advanced)_
|
||||||
|
** XEN _(Intermediate)_
|
||||||
|
** OpenVZ/Virtuozzo _(Intermediate)_
|
||||||
|
** Libvirt + KVM/QEMU _(Intermediate to Advanced)_
|
||||||
|
* Network Analysis _(Intermediate)_
|
||||||
|
** PCAP Format _(Intermediate)_
|
||||||
|
*** Tcpdump _(Intermediate to Advanced)_
|
||||||
|
*** Wireshark _(Intermediate)_
|
||||||
|
** NetFlow (via FlowTools) _(Beginner)_
|
||||||
|
* Hardware _(Intermediate to Advanced)_
|
||||||
|
** Assembly/Part Replacement _(Advanced)_
|
||||||
|
** Diagnostics _(Intermediate to Advanced)_
|
||||||
|
** Repair _(Intermediate to Advanced)_
|
||||||
|
* Configuration/Change Management _(Intermediate to Advanced)_
|
||||||
|
** Ansible _(Intermediate to Advanced)_
|
||||||
|
** SaltStack _(Advanced)_
|
||||||
|
* Networking Concepts _(Intermediate to Advanced)_
|
||||||
|
** VPN _(Intermediate to Advanced)_
|
||||||
|
*** IPsec (both IKEv1 and IKEv2) _(Intermediate to Advanced)_
|
||||||
|
**** StrongSwan _(Advanced)_
|
||||||
|
*** OpenVPN _(Advanced)_
|
||||||
|
*** PPTP _(Intermediate)_
|
||||||
|
** IPv4 _(Intermediate to Advanced)_
|
||||||
|
*** RFC 1918 subnetting/CIDR allocation _(Advanced)_
|
||||||
|
*** DHCP _(Intermediate to Advanced)_
|
||||||
|
*** ICMP _(Intermediate)_
|
||||||
|
** IPv6 _(Intermediate)_
|
||||||
|
*** ICMPv6 _(Intermediate)_
|
||||||
|
*** SLAAC _(Intermediate to Advanced)_
|
||||||
|
*** DHCPv6 _(Intermediate to Advanced)_
|
||||||
|
** PXE _(Advanced)_
|
||||||
|
*** iPXE _(Intermediate to Advanced)_
|
||||||
|
** QoS (Quality of Service) _(Beginner to Intermediate)_
|
||||||
|
** IEEE 802.1X _(Intemediate)_
|
||||||
|
** "Smart"/managed switching _(Intermediate to Advanced)_
|
||||||
|
*** VLAN tagging _(Intermediate to Advanced)_
|
||||||
|
*** Port Mirroring _(Intermediate)_
|
||||||
|
*** PoE Device Management _(Intermediate)_
|
||||||
|
** Firewalling _(Intermediate to Advanced)_
|
||||||
|
*** Traffic flow, policies, other concepts _(Advanced)_
|
||||||
|
*** netfilter/iptables _(Intermediate)_
|
||||||
|
*** netfilter/ip6tables _(Intermediate)_
|
14
includes/exp2.adoc
Normal file
14
includes/exp2.adoc
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
== Professional Experience Highlights
|
||||||
|
|
||||||
|
I...
|
||||||
|
|
||||||
|
* Served as Systems Administrator, then Systems Engineer, for https://getfoxyproxy.org/[Foxyproxy^] as a consultant/
|
||||||
|
independent contractor since March 2014
|
||||||
|
* Have served as NOC engineer for a community/volunteer-driven city-wide WiFi project, Project.Phree for 1 year (now
|
||||||
|
defunct)
|
||||||
|
* Have served as Support Representative, Support Supervisor, then Systems Administrator with
|
||||||
|
https://asmallorange.com/[A Small Orange^] for 2.5 years
|
||||||
|
* Have served as a hardware diagnostician for
|
||||||
|
https://www.linkedin.com/company/barrister-global-services-network/[Barrister Global Services Network^] for 1 year
|
||||||
|
* Served as a Linux Systems Administrator for http://www.tektonic.net/[Tektonic^] for 1.5 years
|
||||||
|
* Served as Support Technician and NOC Admin for https://www.acetechgroup.com/[ACE Technology Group^] for 1.5 years
|
20
includes/intro.adoc
Normal file
20
includes/intro.adoc
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
== 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^] - 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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
5
includes/refs.adoc
Normal file
5
includes/refs.adoc
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
== References
|
||||||
|
|
||||||
|
(As this document is publicly indexed, in order to protect the privacy of those I respect professionaly and care about
|
||||||
|
personally, references are *only* available <<contact_information, upon request>>. Thank you for your understanding in
|
||||||
|
this matter.)
|
23
includes/samples.adoc
Normal file
23
includes/samples.adoc
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
== Samples of Work
|
||||||
|
|
||||||
|
Since I focus more on operations/administration than development, most of my "samples" can be found via
|
||||||
|
administration *theory*. This is expounded upon a great deal in https://sysadministrivia.com/[my podcast^].
|
||||||
|
|
||||||
|
Occasionally, however, I also write documentation for our demographic (mostly other Linux sysadmins). Samples of these
|
||||||
|
can be found here:
|
||||||
|
|
||||||
|
* https://sysadministrivia.com/news/RSYNC[RSYNC^] (not RSYNC over SSH)
|
||||||
|
* https://sysadministrivia.com/news/howto-podcast[Podcast hosting^] (technical details)
|
||||||
|
* https://sysadministrivia.com/news/howto-borgserver[Deploying a backup server with privilege separation^]
|
||||||
|
* https://sysadministrivia.com/news/howto-grubrescue[Booting a rescue ISO directly from GRUB^]
|
||||||
|
|
||||||
|
However, I do have a lot of Python (and some Bash) written. Examples include:
|
||||||
|
|
||||||
|
* https://github.com/johnnybubonic/BDisk[A liveCD/liveUSB/iPXE image creator^] (in the process of a rewrite)
|
||||||
|
* https://github.com/johnnybubonic/aif-ng[A preseed/Kickstart-like facility for Arch Linux^] (in the process of a rewrite)
|
||||||
|
* https://github.com/johnnybubonic/vaultpass[A compatability wrapper between "Pass" password manager and Hashicorp's Vault^]
|
||||||
|
(in progress)
|
||||||
|
* https://github.com/johnnybubonic/OpTools[A collection of miscellaneous tools^]
|
||||||
|
|
||||||
|
Please note that I only use GitHub for mirroring of select repositories; a full collection of all of my public
|
||||||
|
repositories can be found https://git.square-r00t.net/[here ^].
|
14
includes/skills.adoc
Normal file
14
includes/skills.adoc
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
== Professional Skills
|
||||||
|
|
||||||
|
As this is only a bird's-eye view, please instead review my <<cv.adoc#experience, curriculum vitae (CV)>> if you wish
|
||||||
|
to see technical specifics.
|
||||||
|
|
||||||
|
* Well-versed in *nix server administration, maintenance, deployment
|
||||||
|
* Documentation (Markdown, Asciidoc, etc.)
|
||||||
|
* Architecture
|
||||||
|
** Deploying, designing, etc.
|
||||||
|
* Emergency Mitigation/Maintenance
|
||||||
|
** Downtime management
|
||||||
|
** Root cause determination
|
||||||
|
** Future mitigation design
|
||||||
|
* Incorporating best practices to ensure interoperability, safety/security, stability
|
17
includes/values.adoc
Normal file
17
includes/values.adoc
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
== Values
|
||||||
|
|
||||||
|
In my professional environment, I value the following:
|
||||||
|
|
||||||
|
* Security, safety, privacy (for both employees/coworkers and customers)
|
||||||
|
* Accurate and followed deadlines
|
||||||
|
* Quality first, quantity second, "quickness" third
|
||||||
|
** Reduce/avoid technical debt
|
||||||
|
*** Deploy correctly the first time
|
||||||
|
*** Have a plan, stick to the plan
|
||||||
|
*** Future-proofing
|
||||||
|
** Separate Dev, Test/Staging, Production environments
|
||||||
|
** Scalability
|
||||||
|
* Stability and availability over (individual) uptime
|
||||||
|
** Balancing
|
||||||
|
** Failover
|
||||||
|
* Clear communication with customers when affected
|
31
resume.adoc
Normal file
31
resume.adoc
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
= Résumé
|
||||||
|
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
|
Last updated {localdatetime}
|
||||||
|
:doctype: book
|
||||||
|
:data-uri:
|
||||||
|
:imagesdir: images
|
||||||
|
:sectlinks:
|
||||||
|
ifeval::["{doctype}" != "article"]
|
||||||
|
:toc: preamble
|
||||||
|
:toc2: left
|
||||||
|
endif::[]
|
||||||
|
:idprefix:
|
||||||
|
:toclevels: 7
|
||||||
|
:source-highlighter: highlightjs
|
||||||
|
|
||||||
|
|
||||||
|
include::includes/intro.adoc[]
|
||||||
|
(If you are looking for my curriculum vitae (CV) instead, which contains much more detail, that can be found
|
||||||
|
<<cv.adoc#, here>>.)
|
||||||
|
|
||||||
|
include::includes/accomplish.adoc[]
|
||||||
|
|
||||||
|
//include::includes/exp.adoc[]
|
||||||
|
|
||||||
|
include::includes/exp2.adoc[]
|
||||||
|
|
||||||
|
include::includes/samples.adoc[]
|
||||||
|
|
||||||
|
include::includes/refs.adoc[]
|
||||||
|
|
||||||
|
include::includes/contact.adoc[]
|
Loading…
Reference in New Issue
Block a user