diff options
author | Aaron Ball <nullspoon@iohq.net> | 2016-10-29 17:02:15 -0600 |
---|---|---|
committer | Aaron Ball <nullspoon@iohq.net> | 2016-10-29 17:02:30 -0600 |
commit | 7dcc30e404c21e8721ab25823214ee96cfb5004c (patch) | |
tree | 528d79ebe7b053deea345602adcb6d86ee11f417 | |
parent | a8c2fa3bb15d37520dc3161c874eaaa66e0f09f1 (diff) | |
parent | fd5a2612b5ce7358f5178c0308a4c0cd861c94d0 (diff) | |
download | resume-7dcc30e404c21e8721ab25823214ee96cfb5004c.tar.gz resume-7dcc30e404c21e8721ab25823214ee96cfb5004c.tar.xz |
Merge branch 'asciidoc'
Converting from word document to asciidoc.
Signed-off-by: Aaron Ball <nullspoon@iohq.net>
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | Makefile | 44 | ||||
-rw-r--r-- | asciidoc.css | 160 | ||||
-rw-r--r-- | resume.asciidoc | 345 | ||||
-rw-r--r-- | resume.doc | bin | 47616 -> 0 bytes |
5 files changed, 553 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2236b61 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +out/* +*.pdf +*.html +*.doc diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..da11ca4 --- /dev/null +++ b/Makefile @@ -0,0 +1,44 @@ +src=resume.asciidoc + +outdir=out +pdf=$(outdir)/resume.pdf +odf=$(outdir)/resume.odf +html=$(outdir)/resume.html + +#safe = --safe + +.SILENT : help pdf odf + +all: + asciidoc $(safe) -b html5 -a linkcss -a stylesdir=${PWD} -o $(html) $(src) + +clean: + rm -rv $(outdir)/* + +xhtml: + asciidoc $(safe) -b xhtml11 -a linkcss -a stylesdir=${PWD} -o $(html) $(src) + +embed: + asciidoc $(safe) -b xhtml11 -a stylesdir=${PWD} -o $(html) $(src) + +odf: + echo "ERROR: Not implemented" + exit 1 + #asciidoc $(safe) -b odt -a stylesdir=${PWD} -o $(odf) $(src) + +pdf: + echo "ERROR: Not implemented" + exit 1 + # Generate html version + # make + # wkhtmltopdf -s Letter -B .5in -T .5in -R .5in -L .5in --minimum-font-size 16 $(html) $(pdf) + # rm $(html) + +help: + echo -e '\n'\ + 'Make options:\n' \ + 'all: Makes html5 document\n' \ + 'pdf: Makes pdf document\n' \ + 'odf: Makes pdf document\n' \ + 'xhtml: Make xhtml document\n' \ + 'embed: Make html document with embedded styles (more portable than xhtml)\n' diff --git a/asciidoc.css b/asciidoc.css new file mode 100644 index 0000000..2802643 --- /dev/null +++ b/asciidoc.css @@ -0,0 +1,160 @@ +body { + color:#333; + background:#fff; + background-color:#fff; + /*font-family:Arial;*/ + font-family: FiraSans; + font-size:13px; + text-align:left; + padding:0px; + margin:0px; + + /* For development */ + /** + * margin-top:60px; + * width:8.5in; + * padding:.5in; + * border:1px solid #aaa; + * box-shadow: 0px 0px 9px #999; + * margin-left:auto; + * margin-right:auto; + */ +} + +/* Link styles */ +a:link, a:visited { color:#444; } +a:hover { color:#999; } + +h2 { + text-align:right; + color:#555; + font-size:1.5em; + font-weight:800; + border-bottom:1px solid #777; + border-top:1px solid #777; + padding:3px; + margin-top:8px; +} + +/** + * Reset all tables + */ +table { border:none; } +table td { border:none; } +table td p.table { margin:0px; } + + +/** + * Bulleted list styles + */ +div.ulist ul { + padding-left:20px; + text-align:left; + list-style-position:outside; +} + +/* Bulleted list line spacing */ +li p { + margin:2px; + text-align:left; +} + + + +/** + * Resume author and author-details styles + */ +div.resume-author-sect { + width:100%; + vertical-align:middle; + margin-top:0px; + margin-bottom:10px; +} + +/* Author left side, containing author name */ +div.resume-author-name { + display:inline-block; + font-size:2.5em; + border-right:3px dotted #aaa; + text-align:right; + padding: 0px 30px 0px 0px; + width:47%; +} + +div.resume-author-name p { + margin:1px; +} + +/* Author right side, containing author email, phone, website, etc */ +div.resume-author-contact { + display:inline-block; + padding: 10px 0px 10px 25px; + display:inline-block; +} + +div.resume-author-contact ul{ + margin:0px; + padding-left:0px; + list-style-type:none; +} + + + +/** + * Jobs header styles + */ +div.job { + border-left:3px dotted #aaa; + padding-left:4px; + margin-top:20px; + margin-bottom:30px; +} + +div.job table { + margin-top:20px; +} + +div.job table td p { + margin:0px; +} + +/* Top left cell (company and location) */ +div.job table tr:first-child td:first-child { width:70%; } +div.job table tr:first-child td:first-child p { + color:#555; + font-size:1.2em; + font-weight:800; +} + +/* Top right cell (date) */ +div.job table tr:first-child td:last-child p { + text-align:right; +} + +/* Bottom left cell (job title) */ +div.job table tr:last-child td:first-child p { + font-size:1em; + font-style: italic; +} + +/* Bottom right cell (contract) */ +div.job table tr:last-child td:last-child p { + color:#555; + font-size:1em; + font-style:italic; + font-weight:800; + text-align:right; +} + +div.witty-remark { + color:#aaa; +} + +div#header, +div#header span#author, +div#header span#email, +div#footnotes, +div#footer, +div#footer div#footer-text { + display:none; +} diff --git a/resume.asciidoc b/resume.asciidoc new file mode 100644 index 0000000..50a2e17 --- /dev/null +++ b/resume.asciidoc @@ -0,0 +1,345 @@ +Resume +====== +:author: Aaron Ball +:email: aball@iohq.net +:website: https://oper.io +:sourcecode: https://oper.io/src +:mobile: +1 720-319-7799 +:no title: + +[role="resume-author-sect"] +____ +[role="resume-author-name"] +Aaron + +Ball + +[role="resume-author-contact"] +* {email} +* {mobile} +* {website} +* {sourcecode} +____ + + + +PROFILE +------- + +* *Languages*: Perl (4 years), Bash (6 years), Python (9 months), Ruby (7 + months), C (1.5 years), C++ (9 months), CSS and XHTML (7 years), PHP (versions 4 + and 5 – 7 years), JavaScript (2 years) + +* Proficient with Regular Expressions (Perl, PHP, and sed) + +* Linux (Crux, Arch, Gentoo, CentOS, RedHat, Debian, and Ubuntu) engineering + and administration (6 years) + +* Ansible development (1.5 years) and Chef 10 development (5 months) + +* Git (5 years) + +* Knowledgeable in object oriented theory and its application in infrastructure + design and code design + + +EMPLOYMENT +---------- + +[role="job"] +____ + +|==== +| Truven Health Analytics, Denver, Colorado | January 2016 - Present +| Senior Development Operations Engineer | +|==== + +* Worked as a liason between devops, configuration management, development, + production operations, and application operations teams + +* Created documented bash scripting framework to consistently automate builds, + deployments, and cluster switches. This reduced feature development time and + bug fix time. It also increased scalability, process visibility, and process + testability. + +* Created a command line Artifactory api wrapper for managing artifacts using + Perl. Wrapper could download, upload, and copy artifacts to alternate repos + (eg: for a promotion process). + +* Automated developer machine build process so developers would have consistent + environments in which to write, build, test, and deploy their code. This + reduced a per-employee 2 week setup time down to 15 minutes. + +* Wrote Ansible roles to deploy software such as MongoDB, Zabbix, Graylog, + Elasticsearch, Rsyslog, Tomcat, JDK, and others. + +* Automated migration of more than 3200 SVN repos to Git. + +* Established and documented Git development processes for the team. This + included release, branching, tagging, and peer-review processes. + +* Managed deployments using a combination of Ansible, Bash, Perl, and Jenkins. + +* Reduced Jenkins-triggered infrastructure deployment process from + over 300 hundred jobs down to five jobs. + +* Primary operating systems: Centos 5.9 - 6.7, RHEL 5 - 6 +____ + + + +[role="job"] +____ + +|==== +| Time Warner Cable, Denver, Colorado | March 2015 - January 2016 +| Senior DevOps Engineer | +|==== + +* Wrote a bash script to automatically upgrade the GitHub Enterprise cluster + with minimal human interraction. This also handled several workarounds to + unfixed bugs in the appliance software. + +* Wrote parallel processing C program to benchmark legacy VMWare network + against new OpenStack network + +* Wrote C program to parse 7.9 million firewall rules to determine how many + were actually needed by also parsing nginx access logs + +* Wrote a complex bash script to perform storage benchmarks on legacy VMWare + storage against the new OpenStack storage + +* Managed Puppet Enterprise 3.2 + +* Worked with r10k to perform dynamic environment deployments + +* Used Hieradata to support separation of data and modules + +* Assisted automating legacy VMWare infrastructure (54 hypervisors) to keep it + running smoothly until migration to OpenStack had been completed + +* Used Github Enterprise and Git for code versioning, with wiki functionality + for documentation, and pull request system for code review + +* Primary operating systems: Centos 6.5 and 6.6 +____ + + +[role="job"] +____ + +|==== +| CenturyLink, Inc., Denver, Colorado | August 2014 - February 2015 +| Linux Engineer | * Contract +|===== + +* Deployed and managed Mapr (Hadoop distribution) for the principle architects + for the development and test clusters + +* Wrote bash script to manage and synchronize users and their home directories, + detect and allocate unique uid/gid pairs, and perform various user-related + checks across a cluster of any size + +* Set up HAProxy for TCP forwarding of LDAPS traffic from corporate into the + lab (dev/test) network for authentication + +* Integrated LDAP into MediaWiki, Cacti, and GitLab + +* Performed various MediaWiki administrative tasks (backups, page management, + writing templates, etc). + +* Built a team Gitlab server and organized and established team version control + processes + +* Wrote Ansible playbooks to deploy and configure various types of servers + +* Wrote Python script to dump customized phpipam IP/DNS information to bind + zone files to consolidate to a single DNS update source (customizations were + additional database fields to handle CNAME records) + +* Worked primarily with CentOS 6.5, 6.6, 7 (a few hundred), as well a few + one-off Ubuntu servers +____ + + +[role="job"] +____ + +|===== +| Intelligent Software Solutions, Inc., Denver, Co | March 2014 - August 2014 +| DevOps Engineer | * Contract +|==== + +* Wrote chef (version 10) cookbooks (recipes, documentation, templates, + providers, resources, etc.) to deploy base tomcat instances and overlay any + combination of wars across any number of systems + +* Wrote recursive chef cookbook dependency enumeration script in Ruby (1.9) + +* All chef work done on CentOS 5.10 and RHEL 5 + +* Designed and built entire base chef cookbook infrastructure for + Windows-specific deployments + +* Wrote OS-independant classes to aid with being able to write general + cookbooks that worked on Linux and Windows + +* Built a local virtual chef development environment running on kvm and managed + with virsh, virt-install, qemu, and other libvirt tools. VMs could be created + from a template in about two to five seconds each. +____ + + +[role="job"] +____ + +|==== +| DaVita, Denver, Co | October 2012 - March 2014 +| Linux/Unix Systems Engineer | +|==== + +* Administered primarily AIX (5.3 and 6.1) and Linux (many versions of RedHat) + +* Standardized, consolidated, and converted the majority of the team's + documentation from a Sharepoint Shared Documents library to a MediaWiki + instance + +* Audited and remediated security holes to harden Linux and AIX servers + +* Implemented a new bug tracking system (Flyspray) to track team projects, + tasks, and on-call calls + +* Wrote and documented a Perl script to gather data and generate a report + detailing all of the local and Active Directory users with access to the + company-wide FTP site. Share data included a full list of shares, their + respective ownership groups, whether the group was local or Active Directory. + User data included username, uid, full name, daily login counts (log + scraping), and whether or not the account was local or Active Directory. + +* Wrote and documented a Perl script to generate a report for SOX compliance. + The script parsed the global sudoers file and queried Active Directory for + all users to determine exactly who had permissions to sudo run what commands + and on which systems across the environment + +* Implemented sudoers organization standards (one sudoers file was pushed to + the entire environment and access was limited to each system using Host_Alias + to group systems together) + +* Set up and managed a team git server for all scripts + +* Wrote a bash script to perform automated key changes every three months and + when an employee left + +* Aided in design and implementation of the Linux and AIX standards to allow + anonymization of workloads by installing all applications in userspace on a + generic system instance running under service accounts accessible only + through sudo + +* Built and deployed custom RPMs to force standards adherence on new system + builds for global service account uid, gid, naming, and pathing standards. +____ + + +[role="job"] +____ + +|==== +| Dish Network, Englewood, Co | January 2011 - October 2012 +| Tier II Analyst / Developer II | +|==== + +* Worked primarily with applications running on Unix/Solaris systems + +* Designed and programmed a central team information repository using PHP, + JavaScript, AJAX, and MySql + +* Designed and programmed an authentication web service for integration into + the team's various web applications + +* Managed middleware applications on over 1,100 servers + +* Worked closely with DBAs, developers, and data/networking teams to + troubleshoot and fix problems + +* Wrote Perl scripts/one-liners with Regular Expressions to process log files, + gather statistics, perform Wily agent upgrades, and manage rolling restarts + +* Administered WebMethods 5, 6.5, 7.1.2, and 8 servers and applications + +* Administered Weblogic 6.1, 8.1.4, 9.2, and 10.3 servers and applications + +* Used CA Wily Introscope 9.0.6.0 to monitor production and test environments + +* Performed a Wily agent upgrade across the entire middleware environment + (about 1,000 servers at the time) on Weblogic, WebMethods, and Tomcat +____ + + +[role="job"] +____ + +|==== +| USDA, Fort Collins, CO | August 2010 - December 2010 +| Windows Systems Administrator | * Contract +|==== + +* Built and configured Red Hat Enterprise Linux (version 5) web servers + tailored for each project + +* Analyzed test environment needs to designed scaled down test environments + based upon network architecture diagrams of the proposed production + environment + +* Constructed test clusters (one controller and two test agents each) for load + testing with Visual Studio +____ + + +[role="job"] +____ + +|==== +| AMG Creative, Inc., Fort Collins, CO | August 2009 - August 2010 +| Web Developer / Systems Administrator | +|==== + +* Programmed websites using PHP and JavaScript + +* Coded Joomla! and WordPress templates using HTML, CSS, PHP, and JavaScript + +* Built and managed five servers (one virtual [Domain controller, file server, + terminal server, backup server], another virtual [OpenVPN], one host [VMWare + Server], one print server [Ubuntu 10.04], one backup server [Ubuntu 10.04]) +____ + +[role="job"] +____ + +|==== +| CSU College of Business, Fort Collins, Co | August 2007 - October 2009 +| Web Developer / Systems Administrator | +|==== +____ + + +== EDUCATION + +[role="job"] +____ + +|==== +| Colorado State University, Fort Collins, CO | 2007-2010 +| Bachelors in Business Administration | +|==== + +_Concentration_: Computer information Systems + +Courses included Windows and Linux administration, Networking, SQL database +design and implementation, web application development (creating ASP.Net/C# and +Cold Fusion applications that accessed a database and used sessions), client +side application development (Visual Basic.Net), business math, marketing, +finance, accounting, and business communication. +____ + +[role="witty-remark"] +; //There's that missing semicolon! + diff --git a/resume.doc b/resume.doc Binary files differdeleted file mode 100644 index ed2c1a2..0000000 --- a/resume.doc +++ /dev/null |