Ticket #1946: mixed_http_responses.har

File mixed_http_responses.har, 121.8 KB (added by christian.christianmoore.me@…, 5 years ago)

HAR file showing 4 requests. The first 3 responses are expected, the 4th is unexpected.

Line 
1{
2 "log": {
3 "version": "1.2",
4 "creator": {
5 "name": "Firefox",
6 "version": "75.0"
7 },
8 "browser": {
9 "name": "Firefox",
10 "version": "75.0"
11 },
12 "pages": [
13 {
14 "startedDateTime": "2020-04-04T09:41:02.557-04:00",
15 "id": "page_1",
16 "pageTimings": {
17 "onContentLoad": 75,
18 "onLoad": 306
19 }
20 }
21 ],
22 "entries": [
23 {
24 "pageref": "page_1",
25 "startedDateTime": "2020-04-04T09:41:02.557-04:00",
26 "request": {
27 "bodySize": 0,
28 "method": "GET",
29 "url": "https://christianmoore.me/",
30 "httpVersion": "HTTP/2",
31 "headers": [
32 {
33 "name": "Host",
34 "value": "christianmoore.me"
35 },
36 {
37 "name": "User-Agent",
38 "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
39 },
40 {
41 "name": "Accept",
42 "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
43 },
44 {
45 "name": "Accept-Language",
46 "value": "en-US,en;q=0.5"
47 },
48 {
49 "name": "Accept-Encoding",
50 "value": "gzip, deflate, br"
51 },
52 {
53 "name": "DNT",
54 "value": "1"
55 },
56 {
57 "name": "Connection",
58 "value": "keep-alive"
59 },
60 {
61 "name": "Cookie",
62 "value": "__cfduid=dffc89182199b3a252c9a90ea331e8b221585915134"
63 },
64 {
65 "name": "Upgrade-Insecure-Requests",
66 "value": "1"
67 },
68 {
69 "name": "Pragma",
70 "value": "no-cache"
71 },
72 {
73 "name": "Cache-Control",
74 "value": "no-cache"
75 },
76 {
77 "name": "TE",
78 "value": "Trailers"
79 }
80 ],
81 "cookies": [
82 {
83 "name": "__cfduid",
84 "value": "dffc89182199b3a252c9a90ea331e8b221585915134"
85 }
86 ],
87 "queryString": [],
88 "headersSize": 455
89 },
90 "response": {
91 "status": 200,
92 "statusText": "OK",
93 "httpVersion": "HTTP/2",
94 "headers": [
95 {
96 "name": "server",
97 "value": "nginx"
98 },
99 {
100 "name": "date",
101 "value": "Sat, 04 Apr 2020 13:41:01 GMT"
102 },
103 {
104 "name": "content-type",
105 "value": "text/html; charset=utf-8"
106 },
107 {
108 "name": "x-dns-prefetch-control",
109 "value": "off"
110 },
111 {
112 "name": "x-frame-options",
113 "value": "DENY"
114 },
115 {
116 "name": "strict-transport-security",
117 "value": "max-age=31536000; includeSubDomains; preload"
118 },
119 {
120 "name": "x-download-options",
121 "value": "noopen"
122 },
123 {
124 "name": "x-content-type-options",
125 "value": "nosniff"
126 },
127 {
128 "name": "x-xss-protection",
129 "value": "1; mode=block"
130 },
131 {
132 "name": "referrer-policy",
133 "value": "strict-origin-when-cross-origin"
134 },
135 {
136 "name": "expect-ct",
137 "value": "enforce, max-age=31536000"
138 },
139 {
140 "name": "x-permitted-cross-domain-policies",
141 "value": "none"
142 },
143 {
144 "name": "content-security-policy",
145 "value": "default-src 'none'; connect-src 'self'; img-src 'self' https://cdn.christianmoore.me/; font-src 'self' data: https://fonts.gstatic.com/; style-src 'self' https://cdn.christianmoore.me/ https://fonts.googleapis.com/; script-src 'self' https://cdn.christianmoore.me/; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
146 },
147 {
148 "name": "tk",
149 "value": "D"
150 },
151 {
152 "name": "feature-policy",
153 "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
154 },
155 {
156 "name": "random-bytes",
157 "value": "708f02529792a4eeeb6cd61b14f3613b2b0710a9ac1efb79be65e44c73cd06f337a221757b1fd835555be7a7ec6f5dc54dcc6d42ef3cb0042ea81eda3665a0e8"
158 },
159 {
160 "name": "etag",
161 "value": "W/\"6b31-RbtNJ6f+cOKywcaPcP0ionwSjxU\""
162 },
163 {
164 "name": "cache-control",
165 "value": "public, max-age=1"
166 },
167 {
168 "name": "vary",
169 "value": "Accept-Encoding"
170 },
171 {
172 "name": "content-encoding",
173 "value": "gzip"
174 },
175 {
176 "name": "x-cache-status",
177 "value": "EXPIRED"
178 },
179 {
180 "name": "X-Firefox-Spdy",
181 "value": "h2"
182 }
183 ],
184 "cookies": [],
185 "content": {
186 "mimeType": "text/html; charset=utf-8",
187 "size": 27441,
188 "text": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"Christian Moore | IT Professional Extraordinaire\"><meta name=\"author\" content=\"Christian Moore &lt;https://christianmoore.me&gt;\"><meta name=\"theme-color\" content=\"##00d1b2\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\".//af9c3eaedb787f0627d19e7bad775378.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\".//18331fb3381617590f629baa6a81e0ce.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\".//04f43b3e53f964d1a44bf381009e901e.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\".//38d2b1f5bb19942d5d66fc9bc66ff6d2.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\".//80fee4c94f94f29fe36971109bfed650.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\".//aefc6b0925e3f1fa50c7880c66196af9.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\".//bc7403b65215ffedfbcea63874c324ee.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\".//6f8af21ccd45d6e9286ad66333456d9c.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\".//b35fd58e3766ea3efe64f4dd626feaee.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\".//c23313a8e02a613d159f7ac8f3aed7da.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\".//be9858f217c30d7bab7904fa164f9a2b.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\".//1c1567c64bb1d1881315d70772dbfa3e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>Christian Moore</title><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//f2c920903fe86b600e53a01c4e49c611.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//d012bbadec37aeacba8bb70afe4e610d.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//bff7faac4e3c03639d30c36ec50e7105.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//3205a8b6fcb292bc79e0d89aedc1679f.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//194c969a166a4486362fe1cb17a4b3ee.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//52297efd0c45945afdf03f55f4a6ddcb.css\"></head><body><div class=\"page-container\"><section class=\"hero is-primary\"><div class=\"hero-body\"><div class=\"container\"><div class=\"columns is-mobile\"><div class=\"column is-narrow\"><img class=\"profile-pic\" src=\".//89c8ad062b8783b6ea9222eaea8ddbf1.png\" alt=\"avatar\"></div><div class=\"column\"><h1 class=\"title\">C<span class=\"is-hidden-mobile\">hristian</span><span class=\"is-hidden-tablet\">.</span>\nMoore</h1><h2 class=\"subtitle\">Cloud<span class=\"is-hidden-mobile\">\nGeneralist</span><span>\nSuperstar</span></h2></div></div></div></div></section><div class=\"main-content\"><section class=\"section is-topless\"><div class=\"container\"><div class=\"columns is-mobile is-variable is-1 has-text-centered\"><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-aws has-text-it4\"></i><span class=\"is-hidden-mobile\">&nbsp;\nCloud</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-docker has-text-vistaprint\"></i><span class=\"is-hidden-mobile\">&nbsp;\nContainers</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-code-merge has-text-cimpress\"></i><span class=\"is-hidden-mobile\">&nbsp;\nCI/CD</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-lock-alt\"></i><span class=\"is-hidden-mobile\">&nbsp;\nSecurity</span></p></div></div></div></div><div class=\"is-divider\" data-content=\"Mission\"></div><div class=\"content\"><p>Technology is my passion. I've shaped my life, and 16 years of professional experience around it. AWS is my playground. I seek to ensure software engineers take full advantage of everything it has to offer.</p><p>The cloud is a superpower that a driven man can use to make his impact on the world. Applying cutting edge information technology in clever and intuitive ways is what I do.</p><p>I work every day to move the needle on cloud compliance for efficiency, security, and cost optimization using the latest in containers, serverless, and automation.</p></div><div class=\"is-divider\" data-content=\"Career\"></div><div class=\"timeline\"><header class=\"timeline-header\"><span class=\"tag is-large is-cimpress is-tooltip-right tooltip is-tooltip-multiline is-tooltip-cimpress has-text-centered\" data-tooltip=\"Cimpress is the world leader in mass customized printed materials.\">2014-20</span></header><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-cloud fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead Cloud Security Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i>&nbsp;<small>Analyzed and addressed security and spending risks across hundreds of AWS accounts, and millions of dollars in infrastructure spending.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i>&nbsp;<small>Learned wide array of AWS services, cloud security & cost control implementations, actively exploited vulnerabilities, and secure coding practices.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i>&nbsp;<small>Developed education, detection, and mitigation strategies that enabled software engineers to build secure applications in the cloud without overspending.</small></p></div></div><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-code fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead DevOps Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i>&nbsp;<small>Organized migration to robust CI/CD infrastructure and provided complete platform upon which software engineers can review, build, test, deploy, and monitor.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i>&nbsp;<small>Learned configuration management and infrastructure automation, logging and monitoring, IT project management, SDLC, containers, and Linux administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i>&nbsp;<small>Improved SCM, CI/CD, and artifact management uptime and reliability. Provided path forward, removing dependencies on legacy and outdated platforms.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-vistaprint has-text-centered\" data-tooltip=\"Vistaprint is an e-commerce brand that produces physical and digital marketing products for small and micro businesses.\">2008-13</span></header><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-lightbulb fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Problem Manager, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i>&nbsp;<small>Analyzed, prioritized, & managed the resolution of a wide variety of costly business problems during both business hours and 24x7 on-call.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i>&nbsp;<small>Learned emergency problem triage and analysis, global communication and efficient problem management, and cost & postmortem analysis.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i>&nbsp;<small>Minimized the impact of ongoing production issues, saving tens of thousands of dollars each week. Prevented re-occurrence of problems through accurate and complete analysis. Briefed executives with summaries of high-impact business problems.</small></p></div></div><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-server fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Systems Administrator, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i>&nbsp;<small>Performed maintenance, monitoring, and code deployments on global production infrastructure. Developed tools for systematizing manual tasks.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i>&nbsp;<small>Learned e-commerce IT operations, web development, change & work management, and Windows domain administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i>&nbsp;<small>Increased site uptime and reliability. Enabled consistent work tracking and site health historical analysis through tooling.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-it4 is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-it4 has-text-centered\" data-tooltip=\"IT4 is a local managed IT services company serving small businesses in the greater Boston area.\">2004-07</span></header><div class=\"timeline-item is-it4\"><div class=\"timeline-marker is-it4 is-icon\"><i class=\"fal fa-wrench fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Systems Engineer, IT4</strong><p><i class=\"fal fa-keyboard fa-fw has-text-it4\"></i>&nbsp;<small>Designed and assembled desktop and portable computer systems for use by law enforcement during forensic collection of computer crimes evidence.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-it4\"></i>&nbsp;<small>Learned system design, customer service, vendor management, quality assurance, and on-site technical skills.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-it4\"></i>&nbsp;<small>Increased product quality baseline and lowered frequency of repair and warranty returns.</small></p></div></div></div><div class=\"is-divider\" data-content=\"Knowledge\"></div><div class=\"columns\"><div class=\"column\"><table class=\"table is-fullwidth\"><tbody><tr><td class=\"is-size-7 is-narrow\">Cloud Solutions Architect</td><td><progress class=\"progress is-primary\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">DevOps Engineer</td><td><progress class=\"progress is-warning\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">IT Problem Manager</td><td><progress class=\"progress is-dark\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Security Engineer</td><td><progress class=\"progress is-danger\" value=\"90\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Software Engineer</td><td><progress class=\"progress is-info\" value=\"80\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Network Administrator</td><td><progress class=\"progress is-link\" value=\"70\" max=\"100\"></progress></td></tr></tbody></table></div><div class=\"column\"><div class=\"field is-grouped is-grouped-multiline\"><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"EC2, ECS, Lambda, Elastic Beanstalk\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Compute</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Trusted Advisor\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Management</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RDS, DynamoDB, ElastiCache\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Database</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"S3, EFS, Glacier\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Storage</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, Cognito, GuardDuty, Macie, Certificate Manager, WAF &amp; Shield\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip\" data-tooltip=\"Ubuntu, Debian, Alpine\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-linux\"></i>&nbsp;\nLinux</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"macOS Sierra/High Sierra\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-apple\"></i>&nbsp;\nMac</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Windows 7/8/10, Windows Server 2008/2012/2016\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-windows\"></i>&nbsp;\nWindows</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A platform for running lightweight, self-contained images of software\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-docker fa-fw\"></i></span><span class=\"tag is-dark\">Docker</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-wrench fa-fw\"></i></span><span class=\"tag is-dark\">Terraform</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-git fa-fw\"></i></span><span class=\"tag is-dark\">Git</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-code-merge fa-fw\"></i></span><span class=\"tag is-dark\">CI/CD</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, WAF, Shield, GuardDuty, Security Hub\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CIS, PCI, HIPAA\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Compliance</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Certificates, Cipher Suites, Diffie-Hellman\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">TLS</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RSA, DH, ECC, bcrypt, OpenSSL, Tor\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Crypto</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A weakly typed, prototype-based, object-oriented, client &amp; server scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">JavaScript</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Google's statically typed, concurrent, compiled language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Go</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"An interpreted, reflective, object-oriented, general-purpose scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Ruby</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsofts general-purpose object-oriented programming language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">C#</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsoft's task automation and configuration management framework\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-terminal fa-fw\"></i></span><span class=\"tag is-dark\">PowerShell</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"VPC, CloudFront, VPN, Direct Connect, Route 53\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">AWS Networking</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"BIND\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">DNS/DHCP</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Site-to-Site, Client\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">VPN</span></div></div></div></div></div><div class=\"is-divider\" data-content=\"Recent Work\"></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Raising Compliance and Lowering Cost</div><div class=\"message-body\"><p>Cimpress needed a simple way for our hundreds of engineers to stay on top of the security and control the costs of their cloud infrastructure.</p><br><p>I created an intuitive web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudsploit.com\">CloudSploit</a> and saw drastic improvement in our security compliance.</p><br><p>Next, I built a web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudability.com\">Cloudability</a> to provide actionable, cost-saving insight to engineers, directors, and leadership. This empowered significant cost savings in a self-service way.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Doing Enterprise AWS Right</div><div class=\"message-body\"><p>Cimpress needed a way for the enterprise at large to use AWS effectively and securely. I spearheaded the company's strategy around adopting SSO for the cloud, for login and for API key generation.</p><br><p>This was achieved through partnership with <a rel=\"noopener\" target=\"_new\" href=\"https://auth0.com\">Auth0</a>, and the creation of several supporting tools in <a rel=\"noopener\" target=\"_new\" href=\"https://www.ruby-lang.org/en/\">Ruby</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://docs.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-core-60?view=powershell-6\">PowerShell</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://golang.org/\">Golang</a>.</p><br><p>I also developed a methodology for measuring the true cost of our microservices, even in cases where infrastructure is shared amongst several services.</p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Making Docker in AWS Easy</div><div class=\"message-body\"><p>Recognizing a CI/CD usability gap in AWS ECS for software engineers using <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a>, I created two tools around <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/ecs/\">AWS ECS</a> - one for building and deploying, and another for optimizing infrastructure.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> packages made available to the open source community for use by myself and my peers, as well as the public at large.</p><br><p>Available on <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/~shamelesscookie\">npmjs.com</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Building My Own Solutions</div><div class=\"message-body\"><p>When I first started using Firefox, there was no way to strictly enforce HTTPS for all requests made by the browser (only add-ons to softly attempt HTTPS, with a fall back to HTTP).</p><br><p>So I built and published an add-on for Firefox called <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">NoHTTP</a> to accomplish this, and I use it every day to ensure my web browsing is always secure.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">addons.mozilla.org</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Practicing What I Preach</div><div class=\"message-body\"><p>This site, <a rel=\"noopener\" target=\"_new\" href=\"https://christianmoore.me\">christianmoore.me</a>, is a living testament to my experience.</p><br><p>I boast A+'s across the board on <a rel=\"noopener\" target=\"_new\" href=\"https://observatory.mozilla.org/analyze/christianmoore.me\">Mozilla Observatory</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://securityheaders.com/?followRedirects=on&hide=on&q=christianmoore.me\">securityheaders.com</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://tls.imirhil.fr/https/christianmoore.me\">CryptCheck</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://www.ssllabs.com/ssltest/analyze.html?d=christianmoore.me&s=18.215.201.130&hideResults=on\">SSL Labs</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://gtmetrix.com/reports/christianmoore.me/qUuYMf6a\">GTmetrix</a>.</p><br><p>I deploy with CI/CD through <a rel=\"noopener\" target=\"_new\" href=\"https://gitlab.com\">GitLab.com</a>, scanning for vulnerabilities at build time using both <a rel=\"noopener\" target=\"_new\" href=\"https://docs.npmjs.com/cli/audit\">npm audit</a>, using an AWS ECS IaC tool I wrote called <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/package/@cimpresscloud/ecs-publish\">ecs-publish</a>, running on Docker in AWS, with DNS from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudflare.com\">CloudFlare</a>.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Applying Machine Learning in New Ways</div><div class=\"message-body\"><p>To gain a deeper understanding of streaming video quality and practicality, I applied Netflix machine learning technology to the video standards used on Twitch.tv.</p><br><p>This was achieved by Dockerizing <a rel=\"noopener\" target=\"_new\" href=\"https://hub.docker.com/r/shamelesscookie/vmaf\">Netflix VMAF</a> and collecting measurements from video encoded to Twitch's guidelines.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://streamquality.report\">streamquality.report</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Clever Use of Multi-Region Serverless</div><div class=\"message-body\"><p>To better understand global HTTP latency, I deployed a <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> script to several locations around the world that connect to my site every 60 minutes and report how long each phase of the connection process takes.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> deployed through <a rel=\"noopener\" target=\"_new\" href=\"https://serverless.com/\">serverless framework</a>, executing <a rel=\"noopener\" target=\"_new\" href=\"https://github.com/adieuadieu/serverless-chrome/releases\">headless chrome built for Amazon Linux</a>, and aggregating data using <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/\">sitespeed.io</a>'s <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/documentation/browsertime/introduction/\">browsertime</a> tool, storing results in <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/elasticache/\">AWS ElastiCache</a>.</p><br><p>Inspired by <a rel=\"noopener\" target=\"_new\" href=\"https://updown.io/ezxm\">updown.io</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Shedding Light on TLS</div><div class=\"message-body\"><p>To learn more about TLS protocols, cipher suites, and named groups, I implemented a proxy that injects details about the current TLS session as request headers, along with the client's declared supported groups and suites.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nginx.org/\">nginx</a> built with <a rel=\"noopener\" target=\"_new\" href=\"https://www.openssl.org\">openssl</a> 1.1.1 for <a rel=\"noopener\" target=\"_new\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a> support, and cross-referencing data with <a rel=\"noopener\" target=\"_new\" href=\"http://ciphersuite.info/\">ciphersuite.info</a> and <a rel=\"noopener\" target=\"_new\" href=\"https://safecurves.cr.yp.to/\">safecurves.cr.yp.to</a> to understand differences between them.</p><br><p>Deployed as <a rel=\"noopener\" target=\"_new\" href=\"https://ifconfig.lol\">ifconfig.lol</a></p></div></article></div></div></div></section></div><footer class=\"footer\"><div class=\"container\"><div class=\"columns\"><div class=\"column has-text-centered is-hidden-mobile\"><strong>Location</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"https://www.google.com/maps/place/Nashua,+NH/\" target=\"_blank\">Nashua, New Hampshire USA</a></p></div><div class=\"column has-text-centered\"><strong>E-mail</strong><p><a class=\"has-text-dark\" href=\"mailto:christian@christianmoore.me\">christian@christianmoore.me</a></p></div><div class=\"column has-text-centered is-hidden-mobile\"><strong>Darknet</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"http://christian42gxn67.onion/\" target=\"_blank\">christian42gxn67.onion</a></p></div></div></div></footer></div><script defer src=\"https://cdn.christianmoore.me//b10eebbc2664d052c3bddb0e09c2377a.js\" data-auto-add-css=\"false\"></script><script defer src=\"https://cdn.christianmoore.me//16ea15b095fdb907a6ca9e6c6af5e3ca.js\"></script><script defer src=\"https://cdn.christianmoore.me//6476c8226d00b49d068029873af937f3.js\"></script><script defer src=\"https://cdn.christianmoore.me//66630822ced7ea474f4b67f244ee4246.js\"></script><script defer src=\"https://cdn.christianmoore.me//7de4b9a83b960faf05b9b5fa2c9c6681.js\"></script></body></html>"
189 },
190 "redirectURL": "",
191 "headersSize": 1590,
192 "bodySize": 8563
193 },
194 "cache": {},
195 "timings": {
196 "blocked": 0,
197 "dns": 0,
198 "connect": 0,
199 "ssl": 0,
200 "send": 0,
201 "wait": 33,
202 "receive": 0
203 },
204 "time": 33,
205 "_securityState": "secure",
206 "serverIPAddress": "18.215.201.130",
207 "connection": "443"
208 },
209 {
210 "pageref": "page_1",
211 "startedDateTime": "2020-04-04T09:41:03.712-04:00",
212 "request": {
213 "bodySize": 0,
214 "method": "GET",
215 "url": "https://ifconfig.lol/",
216 "httpVersion": "HTTP/2",
217 "headers": [
218 {
219 "name": "Host",
220 "value": "ifconfig.lol"
221 },
222 {
223 "name": "User-Agent",
224 "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
225 },
226 {
227 "name": "Accept",
228 "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
229 },
230 {
231 "name": "Accept-Language",
232 "value": "en-US,en;q=0.5"
233 },
234 {
235 "name": "Accept-Encoding",
236 "value": "gzip, deflate, br"
237 },
238 {
239 "name": "DNT",
240 "value": "1"
241 },
242 {
243 "name": "Connection",
244 "value": "keep-alive"
245 },
246 {
247 "name": "Upgrade-Insecure-Requests",
248 "value": "1"
249 },
250 {
251 "name": "Pragma",
252 "value": "no-cache"
253 },
254 {
255 "name": "Cache-Control",
256 "value": "no-cache"
257 },
258 {
259 "name": "TE",
260 "value": "Trailers"
261 }
262 ],
263 "cookies": [],
264 "queryString": [],
265 "headersSize": 388
266 },
267 "response": {
268 "status": 200,
269 "statusText": "OK",
270 "httpVersion": "HTTP/2",
271 "headers": [
272 {
273 "name": "server",
274 "value": "nginx"
275 },
276 {
277 "name": "date",
278 "value": "Sat, 04 Apr 2020 13:41:03 GMT"
279 },
280 {
281 "name": "content-type",
282 "value": "text/html; charset=utf-8"
283 },
284 {
285 "name": "content-length",
286 "value": "15455"
287 },
288 {
289 "name": "x-dns-prefetch-control",
290 "value": "off"
291 },
292 {
293 "name": "x-frame-options",
294 "value": "DENY"
295 },
296 {
297 "name": "strict-transport-security",
298 "value": "max-age=31536000; includeSubDomains; preload"
299 },
300 {
301 "name": "x-download-options",
302 "value": "noopen"
303 },
304 {
305 "name": "x-content-type-options",
306 "value": "nosniff"
307 },
308 {
309 "name": "x-xss-protection",
310 "value": "1; mode=block"
311 },
312 {
313 "name": "referrer-policy",
314 "value": "strict-origin-when-cross-origin"
315 },
316 {
317 "name": "expect-ct",
318 "value": "enforce, max-age=31536000"
319 },
320 {
321 "name": "x-permitted-cross-domain-policies",
322 "value": "none"
323 },
324 {
325 "name": "content-security-policy",
326 "value": "default-src 'none'; connect-src 'self'; img-src 'self'; font-src 'self'; style-src 'self'; script-src 'self'; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; prefetch-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script style; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
327 },
328 {
329 "name": "tk",
330 "value": "D"
331 },
332 {
333 "name": "feature-policy",
334 "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
335 },
336 {
337 "name": "etag",
338 "value": "W/\"3c5f-634eguYt5dOrScTRtPWT5WjNr6I\""
339 },
340 {
341 "name": "cache-control",
342 "value": "no-store"
343 },
344 {
345 "name": "x-cache-status",
346 "value": "EXPIRED"
347 },
348 {
349 "name": "X-Firefox-Spdy",
350 "value": "h2"
351 }
352 ],
353 "cookies": [],
354 "content": {
355 "mimeType": "text/html; charset=utf-8",
356 "size": 15455,
357 "text": "<!DOCTYPE html><html class=\"has-navbar-fixed-top\" lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"ifconfig.lol | I tell you where you're from\"><meta name=\"author\" content=\"Christian Moore &lt;https://christianmoore.me&gt;\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"/e551c7c7b726e1e915d7d55193fc41d5.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"/54f5ccd1c07ef5387d709b6bc70e9864.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"/ec9ff6a73fce94e55ee4ab4a399fcbb1.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"/1b2138ea855090be7f11c487b0b88d71.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"/84218c88fbf9d662be280a88434db6bd.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"/902faf706ee409a48f6d2d62a13eed84.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"/cac793e9c3b238b85c4d5ded0223ff40.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"/3b4119c187c890274b0451f8b97dc7c3.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/69eb43bc095b6b8f4644dbd5e54c2ac3.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/a28658bbab8b46cad450768e07a7f40f.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/3a870b4af44b99934a35efdcb798b103.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\"/718c2c09363caa1c41df373b910f69d2.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/99b8a9a30d3f361168f8f0ef19023e6e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\"/cac793e9c3b238b85c4d5ded0223ff40.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>ifconfig.lol</title><link rel=\"stylesheet\" href=\"/495473a8da8f3022bbac8d60ba566ea2.css\"><link rel=\"stylesheet\" href=\"/f77d1ae86768b5b5192e144550c1f2db.css\"></head><body><div><div class=\"site-body\"><div class=\"col background-black\"><div class=\"cell\"><div><h1><br>ifconfig.lol<h2><small>I show you where you're from.</small></h2><br><br></h1></div></div></div><div class=\"col\"><div class=\"cell\"><div class=\"col width-1of5\"><div class=\"cell panel\"><div class=\"header background-black\">IP Address</div><div class=\"body gradient\"><div class=\"cell\"><span id=\"serverDetectedIp\">174.63.88.125</span><span id=\"webRtcIps\"></span></div></div></div></div><div class=\"col width-2of5\"><div class=\"cell panel\"><div class=\"header background-black\">Reverse DNS</div><div class=\"body gradient\"><div class=\"cell\">c-174-63-88-125.hsd1.nh.comcast.net</div></div></div></div><div class=\"col width-fill\"><div class=\"cell panel\"><div class=\"header background-black\">Location</div><div class=\"body gradient\"><div class=\"cell\"><a class=\"has-no-text-decoration\" target=\"_new\" rel=\"noopener\" href=\"https://maps.google.com/?q=42.765369,-71.467567\">Nashua, New Hampshire, US</a></div></div></div></div><div class=\"col\"><div class=\"cell panel\"><div class=\"header background-black\">Proxy</div><div class=\"body gradient\"><div class=\"cell\">You do not appear to be using a proxy</div></div></div></div><div class=\"col\"><div class=\"cell panel\"><div class=\"header background-black\">Device</div><div class=\"body gradient\"><div class=\"cell\"><p>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0</p></div></div></div></div><div class=\"col width-1of2\"><div class=\"cell panel\"><div class=\"header background-black\">TLS Negotiation</div><div class=\"body\"><div class=\"cell menu\"><h4>This Session:</h4><ul class=\"stat left nav\"><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">TLS_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">0x1302</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li></ul><br><h4>Your Supported Groups:</h4><ul class=\"stat left nav\"><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">x25519</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">prime256v1</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/4d85dd5a74485382147eeca06591905d.png\" alt=\"Potentially weak\" title=\"Potentially weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">secp384r1</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/4d85dd5a74485382147eeca06591905d.png\" alt=\"Potentially weak\" title=\"Potentially weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">secp521r1</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">0x0100</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://safecurves.cr.yp.to/\">0x0101</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li></ul><br><h4>Your Supported Ciphers:</h4><ul class=\"stat left nav\"><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_128_GCM_SHA256\">TLS_AES_128_GCM_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_128_GCM_SHA256\">0x1301</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_CHACHA20_POLY1305_SHA256\">TLS_CHACHA20_POLY1305_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_CHACHA20_POLY1305_SHA256\">0x1303</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">TLS_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_AES_256_GCM_SHA384\">0x1302</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\">TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\">0xc02b</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\">TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\">0xc02f</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\">TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\">0xcca9</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\">TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256\">0xcca8</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\">TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\">0xc02c</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li><li><p class=\"has-overflow-hidden\"><small class=\"phone-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</a></small><small class=\"tablet-hidden desktop-hidden\"><a class=\"has-padding-6 has-no-text-decoration has-text-dark\" target=\"_new\" rel=\"noopener\" href=\"https://ciphersuite.info/search/?q=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\">0xc030</a></small></p><span class=\"has-padding-6 background-white data\"><img class=\"right icon icon-16\" src=\"/33fa5ee2f83130920a3e34f1d97184af.png\" alt=\"Not known to be weak\" title=\"Not known to be weak\"></span></li></ul></div></div></div></div><div class=\"col width-fill\"><div class=\"cell panel\"><pre class=\"background-black\">$ curl ifconfig.lol\n174.63.88.125\n\n$ curl ifconfig.lol/reverse\nc-174-63-88-125.hsd1.nh.comcast.net\n\n$ wget -qO- ifconfig.lol/location\nNashua, New Hampshire, US\n42.765369, -71.467567\n\n$ http -b ifconfig.lol/json\n{\n &quot;public_ip&quot;: &quot;174.63.88.125&quot;,\n &quot;country&quot;: &quot;US&quot;,\n &quot;region&quot;: &quot;New Hampshire&quot;,\n &quot;city&quot;: &quot;Nashua&quot;,\n &quot;latitude&quot;: 42.765369,\n &quot;longitude&quot;: -71.467567,\n &quot;proxy&quot;: &quot;-&quot;,\n &quot;user_agent&quot;: &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0&quot;,\n &quot;device&quot;: {\n &quot;browser&quot;: {\n &quot;name&quot;: &quot;Firefox&quot;,\n &quot;version&quot;: &quot;75.0&quot;\n },\n &quot;os&quot;: {\n &quot;name&quot;: &quot;Windows&quot;,\n &quot;version&quot;: &quot;NT 10.0&quot;,\n &quot;versionName&quot;: &quot;10&quot;\n },\n &quot;platform&quot;: {\n &quot;type&quot;: &quot;desktop&quot;\n },\n &quot;engine&quot;: {\n &quot;name&quot;: &quot;Gecko&quot;,\n &quot;version&quot;: &quot;20100101&quot;\n }\n }\n}\n\n$ http -b https://ifconfig.lol/ciphers\n[\n &quot;TLS_AES_128_GCM_SHA256&quot;,\n &quot;TLS_CHACHA20_POLY1305_SHA256&quot;,\n &quot;TLS_AES_256_GCM_SHA384&quot;,\n &quot;TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256&quot;,\n &quot;TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256&quot;,\n &quot;TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256&quot;,\n &quot;TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256&quot;,\n &quot;TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384&quot;,\n &quot;TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384&quot;\n]</pre></div></div></div></div></div><div class=\"site-footer\"><div class=\"col\"><div class=\"cell is-centered\"><a rel=\"noopener\" href=\"https://shameless.gg\"><img class=\"is-centered\" src=\"/0d2be2acb38452b4c09b02842ff54eff.png\"></a></div></div></div></div><script defer src=\"/310a47c68be0e79d9fca110bb4a40490.js\"></script></body></html>"
358 },
359 "redirectURL": "",
360 "headersSize": 1284,
361 "bodySize": 16739
362 },
363 "cache": {},
364 "timings": {
365 "blocked": 0,
366 "dns": 0,
367 "connect": 0,
368 "ssl": 0,
369 "send": 0,
370 "wait": 34,
371 "receive": 25
372 },
373 "time": 59,
374 "_securityState": "secure",
375 "serverIPAddress": "18.215.201.130",
376 "connection": "443"
377 },
378 {
379 "pageref": "page_1",
380 "startedDateTime": "2020-04-04T09:41:06.538-04:00",
381 "request": {
382 "bodySize": 0,
383 "method": "GET",
384 "url": "https://christianmoore.me/",
385 "httpVersion": "HTTP/2",
386 "headers": [
387 {
388 "name": "Host",
389 "value": "christianmoore.me"
390 },
391 {
392 "name": "User-Agent",
393 "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
394 },
395 {
396 "name": "Accept",
397 "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
398 },
399 {
400 "name": "Accept-Language",
401 "value": "en-US,en;q=0.5"
402 },
403 {
404 "name": "Accept-Encoding",
405 "value": "gzip, deflate, br"
406 },
407 {
408 "name": "DNT",
409 "value": "1"
410 },
411 {
412 "name": "Connection",
413 "value": "keep-alive"
414 },
415 {
416 "name": "Cookie",
417 "value": "__cfduid=dffc89182199b3a252c9a90ea331e8b221585915134"
418 },
419 {
420 "name": "Upgrade-Insecure-Requests",
421 "value": "1"
422 },
423 {
424 "name": "Pragma",
425 "value": "no-cache"
426 },
427 {
428 "name": "Cache-Control",
429 "value": "no-cache"
430 },
431 {
432 "name": "TE",
433 "value": "Trailers"
434 }
435 ],
436 "cookies": [
437 {
438 "name": "__cfduid",
439 "value": "dffc89182199b3a252c9a90ea331e8b221585915134"
440 }
441 ],
442 "queryString": [],
443 "headersSize": 455
444 },
445 "response": {
446 "status": 200,
447 "statusText": "OK",
448 "httpVersion": "HTTP/2",
449 "headers": [
450 {
451 "name": "server",
452 "value": "nginx"
453 },
454 {
455 "name": "date",
456 "value": "Sat, 04 Apr 2020 13:41:05 GMT"
457 },
458 {
459 "name": "content-type",
460 "value": "text/html; charset=utf-8"
461 },
462 {
463 "name": "x-dns-prefetch-control",
464 "value": "off"
465 },
466 {
467 "name": "x-frame-options",
468 "value": "DENY"
469 },
470 {
471 "name": "strict-transport-security",
472 "value": "max-age=31536000; includeSubDomains; preload"
473 },
474 {
475 "name": "x-download-options",
476 "value": "noopen"
477 },
478 {
479 "name": "x-content-type-options",
480 "value": "nosniff"
481 },
482 {
483 "name": "x-xss-protection",
484 "value": "1; mode=block"
485 },
486 {
487 "name": "referrer-policy",
488 "value": "strict-origin-when-cross-origin"
489 },
490 {
491 "name": "expect-ct",
492 "value": "enforce, max-age=31536000"
493 },
494 {
495 "name": "x-permitted-cross-domain-policies",
496 "value": "none"
497 },
498 {
499 "name": "content-security-policy",
500 "value": "default-src 'none'; connect-src 'self'; img-src 'self' https://cdn.christianmoore.me/; font-src 'self' data: https://fonts.gstatic.com/; style-src 'self' https://cdn.christianmoore.me/ https://fonts.googleapis.com/; script-src 'self' https://cdn.christianmoore.me/; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
501 },
502 {
503 "name": "tk",
504 "value": "D"
505 },
506 {
507 "name": "feature-policy",
508 "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
509 },
510 {
511 "name": "random-bytes",
512 "value": "019632fff719f10abfaa3955084ed064d10fcf71bee4401efe1bc7cf36299e6d3c9f1ae5f4db98dba16177ed0dadb3bc9a3d1570e6e086b123f7e22e7adff997"
513 },
514 {
515 "name": "etag",
516 "value": "W/\"6b31-RbtNJ6f+cOKywcaPcP0ionwSjxU\""
517 },
518 {
519 "name": "cache-control",
520 "value": "public, max-age=1"
521 },
522 {
523 "name": "vary",
524 "value": "Accept-Encoding"
525 },
526 {
527 "name": "content-encoding",
528 "value": "gzip"
529 },
530 {
531 "name": "x-cache-status",
532 "value": "EXPIRED"
533 },
534 {
535 "name": "X-Firefox-Spdy",
536 "value": "h2"
537 }
538 ],
539 "cookies": [],
540 "content": {
541 "mimeType": "text/html; charset=utf-8",
542 "size": 27441,
543 "text": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"Christian Moore | IT Professional Extraordinaire\"><meta name=\"author\" content=\"Christian Moore &lt;https://christianmoore.me&gt;\"><meta name=\"theme-color\" content=\"##00d1b2\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\".//af9c3eaedb787f0627d19e7bad775378.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\".//18331fb3381617590f629baa6a81e0ce.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\".//04f43b3e53f964d1a44bf381009e901e.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\".//38d2b1f5bb19942d5d66fc9bc66ff6d2.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\".//80fee4c94f94f29fe36971109bfed650.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\".//aefc6b0925e3f1fa50c7880c66196af9.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\".//bc7403b65215ffedfbcea63874c324ee.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\".//6f8af21ccd45d6e9286ad66333456d9c.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\".//b35fd58e3766ea3efe64f4dd626feaee.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\".//c23313a8e02a613d159f7ac8f3aed7da.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\".//be9858f217c30d7bab7904fa164f9a2b.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\".//1c1567c64bb1d1881315d70772dbfa3e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>Christian Moore</title><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//f2c920903fe86b600e53a01c4e49c611.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//d012bbadec37aeacba8bb70afe4e610d.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//bff7faac4e3c03639d30c36ec50e7105.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//3205a8b6fcb292bc79e0d89aedc1679f.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//194c969a166a4486362fe1cb17a4b3ee.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//52297efd0c45945afdf03f55f4a6ddcb.css\"></head><body><div class=\"page-container\"><section class=\"hero is-primary\"><div class=\"hero-body\"><div class=\"container\"><div class=\"columns is-mobile\"><div class=\"column is-narrow\"><img class=\"profile-pic\" src=\".//89c8ad062b8783b6ea9222eaea8ddbf1.png\" alt=\"avatar\"></div><div class=\"column\"><h1 class=\"title\">C<span class=\"is-hidden-mobile\">hristian</span><span class=\"is-hidden-tablet\">.</span>\nMoore</h1><h2 class=\"subtitle\">Cloud<span class=\"is-hidden-mobile\">\nGeneralist</span><span>\nSuperstar</span></h2></div></div></div></div></section><div class=\"main-content\"><section class=\"section is-topless\"><div class=\"container\"><div class=\"columns is-mobile is-variable is-1 has-text-centered\"><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-aws has-text-it4\"></i><span class=\"is-hidden-mobile\">&nbsp;\nCloud</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-docker has-text-vistaprint\"></i><span class=\"is-hidden-mobile\">&nbsp;\nContainers</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-code-merge has-text-cimpress\"></i><span class=\"is-hidden-mobile\">&nbsp;\nCI/CD</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-lock-alt\"></i><span class=\"is-hidden-mobile\">&nbsp;\nSecurity</span></p></div></div></div></div><div class=\"is-divider\" data-content=\"Mission\"></div><div class=\"content\"><p>Technology is my passion. I've shaped my life, and 16 years of professional experience around it. AWS is my playground. I seek to ensure software engineers take full advantage of everything it has to offer.</p><p>The cloud is a superpower that a driven man can use to make his impact on the world. Applying cutting edge information technology in clever and intuitive ways is what I do.</p><p>I work every day to move the needle on cloud compliance for efficiency, security, and cost optimization using the latest in containers, serverless, and automation.</p></div><div class=\"is-divider\" data-content=\"Career\"></div><div class=\"timeline\"><header class=\"timeline-header\"><span class=\"tag is-large is-cimpress is-tooltip-right tooltip is-tooltip-multiline is-tooltip-cimpress has-text-centered\" data-tooltip=\"Cimpress is the world leader in mass customized printed materials.\">2014-20</span></header><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-cloud fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead Cloud Security Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i>&nbsp;<small>Analyzed and addressed security and spending risks across hundreds of AWS accounts, and millions of dollars in infrastructure spending.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i>&nbsp;<small>Learned wide array of AWS services, cloud security & cost control implementations, actively exploited vulnerabilities, and secure coding practices.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i>&nbsp;<small>Developed education, detection, and mitigation strategies that enabled software engineers to build secure applications in the cloud without overspending.</small></p></div></div><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-code fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead DevOps Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i>&nbsp;<small>Organized migration to robust CI/CD infrastructure and provided complete platform upon which software engineers can review, build, test, deploy, and monitor.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i>&nbsp;<small>Learned configuration management and infrastructure automation, logging and monitoring, IT project management, SDLC, containers, and Linux administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i>&nbsp;<small>Improved SCM, CI/CD, and artifact management uptime and reliability. Provided path forward, removing dependencies on legacy and outdated platforms.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-vistaprint has-text-centered\" data-tooltip=\"Vistaprint is an e-commerce brand that produces physical and digital marketing products for small and micro businesses.\">2008-13</span></header><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-lightbulb fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Problem Manager, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i>&nbsp;<small>Analyzed, prioritized, & managed the resolution of a wide variety of costly business problems during both business hours and 24x7 on-call.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i>&nbsp;<small>Learned emergency problem triage and analysis, global communication and efficient problem management, and cost & postmortem analysis.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i>&nbsp;<small>Minimized the impact of ongoing production issues, saving tens of thousands of dollars each week. Prevented re-occurrence of problems through accurate and complete analysis. Briefed executives with summaries of high-impact business problems.</small></p></div></div><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-server fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Systems Administrator, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i>&nbsp;<small>Performed maintenance, monitoring, and code deployments on global production infrastructure. Developed tools for systematizing manual tasks.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i>&nbsp;<small>Learned e-commerce IT operations, web development, change & work management, and Windows domain administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i>&nbsp;<small>Increased site uptime and reliability. Enabled consistent work tracking and site health historical analysis through tooling.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-it4 is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-it4 has-text-centered\" data-tooltip=\"IT4 is a local managed IT services company serving small businesses in the greater Boston area.\">2004-07</span></header><div class=\"timeline-item is-it4\"><div class=\"timeline-marker is-it4 is-icon\"><i class=\"fal fa-wrench fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Systems Engineer, IT4</strong><p><i class=\"fal fa-keyboard fa-fw has-text-it4\"></i>&nbsp;<small>Designed and assembled desktop and portable computer systems for use by law enforcement during forensic collection of computer crimes evidence.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-it4\"></i>&nbsp;<small>Learned system design, customer service, vendor management, quality assurance, and on-site technical skills.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-it4\"></i>&nbsp;<small>Increased product quality baseline and lowered frequency of repair and warranty returns.</small></p></div></div></div><div class=\"is-divider\" data-content=\"Knowledge\"></div><div class=\"columns\"><div class=\"column\"><table class=\"table is-fullwidth\"><tbody><tr><td class=\"is-size-7 is-narrow\">Cloud Solutions Architect</td><td><progress class=\"progress is-primary\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">DevOps Engineer</td><td><progress class=\"progress is-warning\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">IT Problem Manager</td><td><progress class=\"progress is-dark\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Security Engineer</td><td><progress class=\"progress is-danger\" value=\"90\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Software Engineer</td><td><progress class=\"progress is-info\" value=\"80\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Network Administrator</td><td><progress class=\"progress is-link\" value=\"70\" max=\"100\"></progress></td></tr></tbody></table></div><div class=\"column\"><div class=\"field is-grouped is-grouped-multiline\"><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"EC2, ECS, Lambda, Elastic Beanstalk\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Compute</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Trusted Advisor\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Management</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RDS, DynamoDB, ElastiCache\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Database</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"S3, EFS, Glacier\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Storage</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, Cognito, GuardDuty, Macie, Certificate Manager, WAF &amp; Shield\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip\" data-tooltip=\"Ubuntu, Debian, Alpine\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-linux\"></i>&nbsp;\nLinux</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"macOS Sierra/High Sierra\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-apple\"></i>&nbsp;\nMac</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Windows 7/8/10, Windows Server 2008/2012/2016\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-windows\"></i>&nbsp;\nWindows</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A platform for running lightweight, self-contained images of software\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-docker fa-fw\"></i></span><span class=\"tag is-dark\">Docker</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-wrench fa-fw\"></i></span><span class=\"tag is-dark\">Terraform</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-git fa-fw\"></i></span><span class=\"tag is-dark\">Git</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-code-merge fa-fw\"></i></span><span class=\"tag is-dark\">CI/CD</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, WAF, Shield, GuardDuty, Security Hub\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CIS, PCI, HIPAA\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Compliance</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Certificates, Cipher Suites, Diffie-Hellman\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">TLS</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RSA, DH, ECC, bcrypt, OpenSSL, Tor\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Crypto</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A weakly typed, prototype-based, object-oriented, client &amp; server scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">JavaScript</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Google's statically typed, concurrent, compiled language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Go</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"An interpreted, reflective, object-oriented, general-purpose scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Ruby</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsofts general-purpose object-oriented programming language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">C#</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsoft's task automation and configuration management framework\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-terminal fa-fw\"></i></span><span class=\"tag is-dark\">PowerShell</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"VPC, CloudFront, VPN, Direct Connect, Route 53\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">AWS Networking</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"BIND\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">DNS/DHCP</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Site-to-Site, Client\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">VPN</span></div></div></div></div></div><div class=\"is-divider\" data-content=\"Recent Work\"></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Raising Compliance and Lowering Cost</div><div class=\"message-body\"><p>Cimpress needed a simple way for our hundreds of engineers to stay on top of the security and control the costs of their cloud infrastructure.</p><br><p>I created an intuitive web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudsploit.com\">CloudSploit</a> and saw drastic improvement in our security compliance.</p><br><p>Next, I built a web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudability.com\">Cloudability</a> to provide actionable, cost-saving insight to engineers, directors, and leadership. This empowered significant cost savings in a self-service way.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Doing Enterprise AWS Right</div><div class=\"message-body\"><p>Cimpress needed a way for the enterprise at large to use AWS effectively and securely. I spearheaded the company's strategy around adopting SSO for the cloud, for login and for API key generation.</p><br><p>This was achieved through partnership with <a rel=\"noopener\" target=\"_new\" href=\"https://auth0.com\">Auth0</a>, and the creation of several supporting tools in <a rel=\"noopener\" target=\"_new\" href=\"https://www.ruby-lang.org/en/\">Ruby</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://docs.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-core-60?view=powershell-6\">PowerShell</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://golang.org/\">Golang</a>.</p><br><p>I also developed a methodology for measuring the true cost of our microservices, even in cases where infrastructure is shared amongst several services.</p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Making Docker in AWS Easy</div><div class=\"message-body\"><p>Recognizing a CI/CD usability gap in AWS ECS for software engineers using <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a>, I created two tools around <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/ecs/\">AWS ECS</a> - one for building and deploying, and another for optimizing infrastructure.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> packages made available to the open source community for use by myself and my peers, as well as the public at large.</p><br><p>Available on <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/~shamelesscookie\">npmjs.com</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Building My Own Solutions</div><div class=\"message-body\"><p>When I first started using Firefox, there was no way to strictly enforce HTTPS for all requests made by the browser (only add-ons to softly attempt HTTPS, with a fall back to HTTP).</p><br><p>So I built and published an add-on for Firefox called <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">NoHTTP</a> to accomplish this, and I use it every day to ensure my web browsing is always secure.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">addons.mozilla.org</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Practicing What I Preach</div><div class=\"message-body\"><p>This site, <a rel=\"noopener\" target=\"_new\" href=\"https://christianmoore.me\">christianmoore.me</a>, is a living testament to my experience.</p><br><p>I boast A+'s across the board on <a rel=\"noopener\" target=\"_new\" href=\"https://observatory.mozilla.org/analyze/christianmoore.me\">Mozilla Observatory</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://securityheaders.com/?followRedirects=on&hide=on&q=christianmoore.me\">securityheaders.com</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://tls.imirhil.fr/https/christianmoore.me\">CryptCheck</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://www.ssllabs.com/ssltest/analyze.html?d=christianmoore.me&s=18.215.201.130&hideResults=on\">SSL Labs</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://gtmetrix.com/reports/christianmoore.me/qUuYMf6a\">GTmetrix</a>.</p><br><p>I deploy with CI/CD through <a rel=\"noopener\" target=\"_new\" href=\"https://gitlab.com\">GitLab.com</a>, scanning for vulnerabilities at build time using both <a rel=\"noopener\" target=\"_new\" href=\"https://docs.npmjs.com/cli/audit\">npm audit</a>, using an AWS ECS IaC tool I wrote called <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/package/@cimpresscloud/ecs-publish\">ecs-publish</a>, running on Docker in AWS, with DNS from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudflare.com\">CloudFlare</a>.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Applying Machine Learning in New Ways</div><div class=\"message-body\"><p>To gain a deeper understanding of streaming video quality and practicality, I applied Netflix machine learning technology to the video standards used on Twitch.tv.</p><br><p>This was achieved by Dockerizing <a rel=\"noopener\" target=\"_new\" href=\"https://hub.docker.com/r/shamelesscookie/vmaf\">Netflix VMAF</a> and collecting measurements from video encoded to Twitch's guidelines.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://streamquality.report\">streamquality.report</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Clever Use of Multi-Region Serverless</div><div class=\"message-body\"><p>To better understand global HTTP latency, I deployed a <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> script to several locations around the world that connect to my site every 60 minutes and report how long each phase of the connection process takes.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> deployed through <a rel=\"noopener\" target=\"_new\" href=\"https://serverless.com/\">serverless framework</a>, executing <a rel=\"noopener\" target=\"_new\" href=\"https://github.com/adieuadieu/serverless-chrome/releases\">headless chrome built for Amazon Linux</a>, and aggregating data using <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/\">sitespeed.io</a>'s <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/documentation/browsertime/introduction/\">browsertime</a> tool, storing results in <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/elasticache/\">AWS ElastiCache</a>.</p><br><p>Inspired by <a rel=\"noopener\" target=\"_new\" href=\"https://updown.io/ezxm\">updown.io</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Shedding Light on TLS</div><div class=\"message-body\"><p>To learn more about TLS protocols, cipher suites, and named groups, I implemented a proxy that injects details about the current TLS session as request headers, along with the client's declared supported groups and suites.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nginx.org/\">nginx</a> built with <a rel=\"noopener\" target=\"_new\" href=\"https://www.openssl.org\">openssl</a> 1.1.1 for <a rel=\"noopener\" target=\"_new\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a> support, and cross-referencing data with <a rel=\"noopener\" target=\"_new\" href=\"http://ciphersuite.info/\">ciphersuite.info</a> and <a rel=\"noopener\" target=\"_new\" href=\"https://safecurves.cr.yp.to/\">safecurves.cr.yp.to</a> to understand differences between them.</p><br><p>Deployed as <a rel=\"noopener\" target=\"_new\" href=\"https://ifconfig.lol\">ifconfig.lol</a></p></div></article></div></div></div></section></div><footer class=\"footer\"><div class=\"container\"><div class=\"columns\"><div class=\"column has-text-centered is-hidden-mobile\"><strong>Location</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"https://www.google.com/maps/place/Nashua,+NH/\" target=\"_blank\">Nashua, New Hampshire USA</a></p></div><div class=\"column has-text-centered\"><strong>E-mail</strong><p><a class=\"has-text-dark\" href=\"mailto:christian@christianmoore.me\">christian@christianmoore.me</a></p></div><div class=\"column has-text-centered is-hidden-mobile\"><strong>Darknet</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"http://christian42gxn67.onion/\" target=\"_blank\">christian42gxn67.onion</a></p></div></div></div></footer></div><script defer src=\"https://cdn.christianmoore.me//b10eebbc2664d052c3bddb0e09c2377a.js\" data-auto-add-css=\"false\"></script><script defer src=\"https://cdn.christianmoore.me//16ea15b095fdb907a6ca9e6c6af5e3ca.js\"></script><script defer src=\"https://cdn.christianmoore.me//6476c8226d00b49d068029873af937f3.js\"></script><script defer src=\"https://cdn.christianmoore.me//66630822ced7ea474f4b67f244ee4246.js\"></script><script defer src=\"https://cdn.christianmoore.me//7de4b9a83b960faf05b9b5fa2c9c6681.js\"></script></body></html>"
544 },
545 "redirectURL": "",
546 "headersSize": 1590,
547 "bodySize": 8563
548 },
549 "cache": {},
550 "timings": {
551 "blocked": 1,
552 "dns": 0,
553 "connect": 0,
554 "ssl": 0,
555 "send": 0,
556 "wait": 35,
557 "receive": 0
558 },
559 "time": 36,
560 "_securityState": "secure",
561 "serverIPAddress": "18.215.201.130",
562 "connection": "443"
563 },
564 {
565 "pageref": "page_1",
566 "startedDateTime": "2020-04-04T09:41:07.446-04:00",
567 "request": {
568 "bodySize": 0,
569 "method": "GET",
570 "url": "https://ifconfig.lol/",
571 "httpVersion": "HTTP/2",
572 "headers": [
573 {
574 "name": "Host",
575 "value": "ifconfig.lol"
576 },
577 {
578 "name": "User-Agent",
579 "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
580 },
581 {
582 "name": "Accept",
583 "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
584 },
585 {
586 "name": "Accept-Language",
587 "value": "en-US,en;q=0.5"
588 },
589 {
590 "name": "Accept-Encoding",
591 "value": "gzip, deflate, br"
592 },
593 {
594 "name": "DNT",
595 "value": "1"
596 },
597 {
598 "name": "Connection",
599 "value": "keep-alive"
600 },
601 {
602 "name": "Upgrade-Insecure-Requests",
603 "value": "1"
604 },
605 {
606 "name": "Pragma",
607 "value": "no-cache"
608 },
609 {
610 "name": "Cache-Control",
611 "value": "no-cache"
612 },
613 {
614 "name": "TE",
615 "value": "Trailers"
616 }
617 ],
618 "cookies": [],
619 "queryString": [],
620 "headersSize": 388
621 },
622 "response": {
623 "status": 200,
624 "statusText": "OK",
625 "httpVersion": "HTTP/2",
626 "headers": [
627 {
628 "name": "server",
629 "value": "nginx"
630 },
631 {
632 "name": "date",
633 "value": "Sat, 04 Apr 2020 13:41:06 GMT"
634 },
635 {
636 "name": "content-type",
637 "value": "text/html; charset=utf-8"
638 },
639 {
640 "name": "x-dns-prefetch-control",
641 "value": "off"
642 },
643 {
644 "name": "x-frame-options",
645 "value": "DENY"
646 },
647 {
648 "name": "strict-transport-security",
649 "value": "max-age=31536000; includeSubDomains; preload"
650 },
651 {
652 "name": "x-download-options",
653 "value": "noopen"
654 },
655 {
656 "name": "x-content-type-options",
657 "value": "nosniff"
658 },
659 {
660 "name": "x-xss-protection",
661 "value": "1; mode=block"
662 },
663 {
664 "name": "referrer-policy",
665 "value": "strict-origin-when-cross-origin"
666 },
667 {
668 "name": "expect-ct",
669 "value": "enforce, max-age=31536000"
670 },
671 {
672 "name": "x-permitted-cross-domain-policies",
673 "value": "none"
674 },
675 {
676 "name": "content-security-policy",
677 "value": "default-src 'none'; connect-src 'self'; img-src 'self' https://cdn.christianmoore.me/; font-src 'self' data: https://fonts.gstatic.com/; style-src 'self' https://cdn.christianmoore.me/ https://fonts.googleapis.com/; script-src 'self' https://cdn.christianmoore.me/; object-src 'none'; frame-src 'none'; manifest-src 'none'; media-src 'none'; worker-src 'none'; frame-ancestors 'none'; form-action 'none'; require-sri-for script; base-uri 'none'; sandbox allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox; upgrade-insecure-requests; block-all-mixed-content; report-uri /report-violation; disown-opener"
678 },
679 {
680 "name": "tk",
681 "value": "D"
682 },
683 {
684 "name": "feature-policy",
685 "value": "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"
686 },
687 {
688 "name": "random-bytes",
689 "value": "019632fff719f10abfaa3955084ed064d10fcf71bee4401efe1bc7cf36299e6d3c9f1ae5f4db98dba16177ed0dadb3bc9a3d1570e6e086b123f7e22e7adff997"
690 },
691 {
692 "name": "etag",
693 "value": "W/\"6b31-RbtNJ6f+cOKywcaPcP0ionwSjxU\""
694 },
695 {
696 "name": "cache-control",
697 "value": "public, max-age=1"
698 },
699 {
700 "name": "vary",
701 "value": "Accept-Encoding"
702 },
703 {
704 "name": "content-encoding",
705 "value": "gzip"
706 },
707 {
708 "name": "x-cache-status",
709 "value": "HIT"
710 },
711 {
712 "name": "X-Firefox-Spdy",
713 "value": "h2"
714 }
715 ],
716 "cookies": [],
717 "content": {
718 "mimeType": "text/html; charset=utf-8",
719 "size": 27441,
720 "text": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"><meta name=\"description\" content=\"Christian Moore | IT Professional Extraordinaire\"><meta name=\"author\" content=\"Christian Moore &lt;https://christianmoore.me&gt;\"><meta name=\"theme-color\" content=\"##00d1b2\"><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\".//af9c3eaedb787f0627d19e7bad775378.png\"><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\".//18331fb3381617590f629baa6a81e0ce.png\"><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\".//04f43b3e53f964d1a44bf381009e901e.png\"><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\".//38d2b1f5bb19942d5d66fc9bc66ff6d2.png\"><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\".//80fee4c94f94f29fe36971109bfed650.png\"><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\".//aefc6b0925e3f1fa50c7880c66196af9.png\"><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\".//bc7403b65215ffedfbcea63874c324ee.png\"><link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\".//6f8af21ccd45d6e9286ad66333456d9c.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\".//b35fd58e3766ea3efe64f4dd626feaee.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\".//c23313a8e02a613d159f7ac8f3aed7da.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\".//be9858f217c30d7bab7904fa164f9a2b.png\"><link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\".//1c1567c64bb1d1881315d70772dbfa3e.png\"><meta name=\"msapplication-TileColor\" content=\"#ffffff\"><meta name=\"msapplication-TileImage\" content=\".//25ad8c4eaa015992581b1268d4cdeba2.png\"><meta name=\"theme-color\" content=\"#ffffff\"><title>Christian Moore</title><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//f2c920903fe86b600e53a01c4e49c611.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//d012bbadec37aeacba8bb70afe4e610d.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//bff7faac4e3c03639d30c36ec50e7105.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//3205a8b6fcb292bc79e0d89aedc1679f.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//194c969a166a4486362fe1cb17a4b3ee.css\"><link rel=\"stylesheet\" href=\"https://cdn.christianmoore.me//52297efd0c45945afdf03f55f4a6ddcb.css\"></head><body><div class=\"page-container\"><section class=\"hero is-primary\"><div class=\"hero-body\"><div class=\"container\"><div class=\"columns is-mobile\"><div class=\"column is-narrow\"><img class=\"profile-pic\" src=\".//89c8ad062b8783b6ea9222eaea8ddbf1.png\" alt=\"avatar\"></div><div class=\"column\"><h1 class=\"title\">C<span class=\"is-hidden-mobile\">hristian</span><span class=\"is-hidden-tablet\">.</span>\nMoore</h1><h2 class=\"subtitle\">Cloud<span class=\"is-hidden-mobile\">\nGeneralist</span><span>\nSuperstar</span></h2></div></div></div></div></section><div class=\"main-content\"><section class=\"section is-topless\"><div class=\"container\"><div class=\"columns is-mobile is-variable is-1 has-text-centered\"><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-aws has-text-it4\"></i><span class=\"is-hidden-mobile\">&nbsp;\nCloud</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fab fa-docker has-text-vistaprint\"></i><span class=\"is-hidden-mobile\">&nbsp;\nContainers</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-code-merge has-text-cimpress\"></i><span class=\"is-hidden-mobile\">&nbsp;\nCI/CD</span></p></div></div></div><div class=\"column is-size-5\"><div class=\"box\"><div class=\"content\"><p><i class=\"fas fa-lock-alt\"></i><span class=\"is-hidden-mobile\">&nbsp;\nSecurity</span></p></div></div></div></div><div class=\"is-divider\" data-content=\"Mission\"></div><div class=\"content\"><p>Technology is my passion. I've shaped my life, and 16 years of professional experience around it. AWS is my playground. I seek to ensure software engineers take full advantage of everything it has to offer.</p><p>The cloud is a superpower that a driven man can use to make his impact on the world. Applying cutting edge information technology in clever and intuitive ways is what I do.</p><p>I work every day to move the needle on cloud compliance for efficiency, security, and cost optimization using the latest in containers, serverless, and automation.</p></div><div class=\"is-divider\" data-content=\"Career\"></div><div class=\"timeline\"><header class=\"timeline-header\"><span class=\"tag is-large is-cimpress is-tooltip-right tooltip is-tooltip-multiline is-tooltip-cimpress has-text-centered\" data-tooltip=\"Cimpress is the world leader in mass customized printed materials.\">2014-20</span></header><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-cloud fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead Cloud Security Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i>&nbsp;<small>Analyzed and addressed security and spending risks across hundreds of AWS accounts, and millions of dollars in infrastructure spending.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i>&nbsp;<small>Learned wide array of AWS services, cloud security & cost control implementations, actively exploited vulnerabilities, and secure coding practices.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i>&nbsp;<small>Developed education, detection, and mitigation strategies that enabled software engineers to build secure applications in the cloud without overspending.</small></p></div></div><div class=\"timeline-item is-cimpress\"><div class=\"timeline-marker is-cimpress is-icon\"><i class=\"fal fa-code fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Lead DevOps Engineer, Cimpress</strong><p><i class=\"fal fa-keyboard fa-fw has-text-cimpress\"></i>&nbsp;<small>Organized migration to robust CI/CD infrastructure and provided complete platform upon which software engineers can review, build, test, deploy, and monitor.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-cimpress\"></i>&nbsp;<small>Learned configuration management and infrastructure automation, logging and monitoring, IT project management, SDLC, containers, and Linux administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-cimpress\"></i>&nbsp;<small>Improved SCM, CI/CD, and artifact management uptime and reliability. Provided path forward, removing dependencies on legacy and outdated platforms.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-vistaprint has-text-centered\" data-tooltip=\"Vistaprint is an e-commerce brand that produces physical and digital marketing products for small and micro businesses.\">2008-13</span></header><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-lightbulb fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Problem Manager, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i>&nbsp;<small>Analyzed, prioritized, & managed the resolution of a wide variety of costly business problems during both business hours and 24x7 on-call.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i>&nbsp;<small>Learned emergency problem triage and analysis, global communication and efficient problem management, and cost & postmortem analysis.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i>&nbsp;<small>Minimized the impact of ongoing production issues, saving tens of thousands of dollars each week. Prevented re-occurrence of problems through accurate and complete analysis. Briefed executives with summaries of high-impact business problems.</small></p></div></div><div class=\"timeline-item is-vistaprint\"><div class=\"timeline-marker is-vistaprint is-icon\"><i class=\"fal fa-server fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Sr. Systems Administrator, Vistaprint</strong><p><i class=\"fal fa-keyboard fa-fw has-text-vistaprint\"></i>&nbsp;<small>Performed maintenance, monitoring, and code deployments on global production infrastructure. Developed tools for systematizing manual tasks.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-vistaprint\"></i>&nbsp;<small>Learned e-commerce IT operations, web development, change & work management, and Windows domain administration.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-vistaprint\"></i>&nbsp;<small>Increased site uptime and reliability. Enabled consistent work tracking and site health historical analysis through tooling.</small></p></div></div><header class=\"timeline-header\"><span class=\"tag is-large is-it4 is-vistaprint tooltip is-tooltip-right is-tooltip-multiline is-tooltip-it4 has-text-centered\" data-tooltip=\"IT4 is a local managed IT services company serving small businesses in the greater Boston area.\">2004-07</span></header><div class=\"timeline-item is-it4\"><div class=\"timeline-marker is-it4 is-icon\"><i class=\"fal fa-wrench fa-2x fa-fw\"></i></div><div class=\"timeline-content\"><strong>Systems Engineer, IT4</strong><p><i class=\"fal fa-keyboard fa-fw has-text-it4\"></i>&nbsp;<small>Designed and assembled desktop and portable computer systems for use by law enforcement during forensic collection of computer crimes evidence.</small></p><p><i class=\"fal fa-graduation-cap fa-fw has-text-it4\"></i>&nbsp;<small>Learned system design, customer service, vendor management, quality assurance, and on-site technical skills.</small></p><p><i class=\"fal fa-thumbs-up fa-fw has-text-it4\"></i>&nbsp;<small>Increased product quality baseline and lowered frequency of repair and warranty returns.</small></p></div></div></div><div class=\"is-divider\" data-content=\"Knowledge\"></div><div class=\"columns\"><div class=\"column\"><table class=\"table is-fullwidth\"><tbody><tr><td class=\"is-size-7 is-narrow\">Cloud Solutions Architect</td><td><progress class=\"progress is-primary\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">DevOps Engineer</td><td><progress class=\"progress is-warning\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">IT Problem Manager</td><td><progress class=\"progress is-dark\" value=\"100\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Security Engineer</td><td><progress class=\"progress is-danger\" value=\"90\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Software Engineer</td><td><progress class=\"progress is-info\" value=\"80\" max=\"100\"></progress></td></tr><tr><td class=\"is-size-7\">Network Administrator</td><td><progress class=\"progress is-link\" value=\"70\" max=\"100\"></progress></td></tr></tbody></table></div><div class=\"column\"><div class=\"field is-grouped is-grouped-multiline\"><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"EC2, ECS, Lambda, Elastic Beanstalk\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Compute</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CloudWatch, Auto Scaling, CloudFormation, CloudTrail, Trusted Advisor\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Management</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RDS, DynamoDB, ElastiCache\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Database</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"S3, EFS, Glacier\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Storage</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, Cognito, GuardDuty, Macie, Certificate Manager, WAF &amp; Shield\"><div class=\"tags has-addons\"><span class=\"tag is-primary\"><i class=\"fab fa-aws fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip\" data-tooltip=\"Ubuntu, Debian, Alpine\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-linux\"></i>&nbsp;\nLinux</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"macOS Sierra/High Sierra\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-apple\"></i>&nbsp;\nMac</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Windows 7/8/10, Windows Server 2008/2012/2016\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-desktop fa-fw\"></i></span><span class=\"tag is-dark\"><i class=\"fab fa-windows\"></i>&nbsp;\nWindows</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A platform for running lightweight, self-contained images of software\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-docker fa-fw\"></i></span><span class=\"tag is-dark\">Docker</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-wrench fa-fw\"></i></span><span class=\"tag is-dark\">Terraform</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fab fa-git fa-fw\"></i></span><span class=\"tag is-dark\">Git</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Write, plan, and create infrastructure as code\"><div class=\"tags has-addons\"><span class=\"tag is-warning\"><i class=\"fas fa-code-merge fa-fw\"></i></span><span class=\"tag is-dark\">CI/CD</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"IAM, WAF, Shield, GuardDuty, Security Hub\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">AWS Security</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"CIS, PCI, HIPAA\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Compliance</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Certificates, Cipher Suites, Diffie-Hellman\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">TLS</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"RSA, DH, ECC, bcrypt, OpenSSL, Tor\"><div class=\"tags has-addons\"><span class=\"tag is-danger\"><i class=\"fal fa-lock fa-fw\"></i></span><span class=\"tag is-dark\">Crypto</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"A weakly typed, prototype-based, object-oriented, client &amp; server scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">JavaScript</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Google's statically typed, concurrent, compiled language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Go</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"An interpreted, reflective, object-oriented, general-purpose scripting language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">Ruby</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsofts general-purpose object-oriented programming language\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-code fa-fw\"></i></span><span class=\"tag is-dark\">C#</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Microsoft's task automation and configuration management framework\"><div class=\"tags has-addons\"><span class=\"tag is-info\"><i class=\"fal fa-terminal fa-fw\"></i></span><span class=\"tag is-dark\">PowerShell</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"VPC, CloudFront, VPN, Direct Connect, Route 53\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">AWS Networking</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"BIND\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">DNS/DHCP</span></div></div><div class=\"control tooltip is-tooltip-multiline has-text-centered\" data-tooltip=\"Site-to-Site, Client\"><div class=\"tags has-addons\"><span class=\"tag is-link\"><i class=\"fal fa-exchange fa-fw\"></i></span><span class=\"tag is-dark\">VPN</span></div></div></div></div></div><div class=\"is-divider\" data-content=\"Recent Work\"></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Raising Compliance and Lowering Cost</div><div class=\"message-body\"><p>Cimpress needed a simple way for our hundreds of engineers to stay on top of the security and control the costs of their cloud infrastructure.</p><br><p>I created an intuitive web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudsploit.com\">CloudSploit</a> and saw drastic improvement in our security compliance.</p><br><p>Next, I built a web app in <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> on <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> using data from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudability.com\">Cloudability</a> to provide actionable, cost-saving insight to engineers, directors, and leadership. This empowered significant cost savings in a self-service way.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Doing Enterprise AWS Right</div><div class=\"message-body\"><p>Cimpress needed a way for the enterprise at large to use AWS effectively and securely. I spearheaded the company's strategy around adopting SSO for the cloud, for login and for API key generation.</p><br><p>This was achieved through partnership with <a rel=\"noopener\" target=\"_new\" href=\"https://auth0.com\">Auth0</a>, and the creation of several supporting tools in <a rel=\"noopener\" target=\"_new\" href=\"https://www.ruby-lang.org/en/\">Ruby</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://docs.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-core-60?view=powershell-6\">PowerShell</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://golang.org/\">Golang</a>.</p><br><p>I also developed a methodology for measuring the true cost of our microservices, even in cases where infrastructure is shared amongst several services.</p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Making Docker in AWS Easy</div><div class=\"message-body\"><p>Recognizing a CI/CD usability gap in AWS ECS for software engineers using <a rel=\"noopener\" target=\"_new\" href=\"https://www.docker.com\">Docker</a>, I created two tools around <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/ecs/\">AWS ECS</a> - one for building and deploying, and another for optimizing infrastructure.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> packages made available to the open source community for use by myself and my peers, as well as the public at large.</p><br><p>Available on <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/~shamelesscookie\">npmjs.com</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Building My Own Solutions</div><div class=\"message-body\"><p>When I first started using Firefox, there was no way to strictly enforce HTTPS for all requests made by the browser (only add-ons to softly attempt HTTPS, with a fall back to HTTP).</p><br><p>So I built and published an add-on for Firefox called <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">NoHTTP</a> to accomplish this, and I use it every day to ensure my web browsing is always secure.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://addons.mozilla.org/en-US/firefox/addon/nohttp/\">addons.mozilla.org</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Practicing What I Preach</div><div class=\"message-body\"><p>This site, <a rel=\"noopener\" target=\"_new\" href=\"https://christianmoore.me\">christianmoore.me</a>, is a living testament to my experience.</p><br><p>I boast A+'s across the board on <a rel=\"noopener\" target=\"_new\" href=\"https://observatory.mozilla.org/analyze/christianmoore.me\">Mozilla Observatory</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://securityheaders.com/?followRedirects=on&hide=on&q=christianmoore.me\">securityheaders.com</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://tls.imirhil.fr/https/christianmoore.me\">CryptCheck</a>, <a rel=\"noopener\" target=\"_new\" href=\"https://www.ssllabs.com/ssltest/analyze.html?d=christianmoore.me&s=18.215.201.130&hideResults=on\">SSL Labs</a>, and <a rel=\"noopener\" target=\"_new\" href=\"https://gtmetrix.com/reports/christianmoore.me/qUuYMf6a\">GTmetrix</a>.</p><br><p>I deploy with CI/CD through <a rel=\"noopener\" target=\"_new\" href=\"https://gitlab.com\">GitLab.com</a>, scanning for vulnerabilities at build time using both <a rel=\"noopener\" target=\"_new\" href=\"https://docs.npmjs.com/cli/audit\">npm audit</a>, using an AWS ECS IaC tool I wrote called <a rel=\"noopener\" target=\"_new\" href=\"https://www.npmjs.com/package/@cimpresscloud/ecs-publish\">ecs-publish</a>, running on Docker in AWS, with DNS from <a rel=\"noopener\" target=\"_new\" href=\"https://cloudflare.com\">CloudFlare</a>.</p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Applying Machine Learning in New Ways</div><div class=\"message-body\"><p>To gain a deeper understanding of streaming video quality and practicality, I applied Netflix machine learning technology to the video standards used on Twitch.tv.</p><br><p>This was achieved by Dockerizing <a rel=\"noopener\" target=\"_new\" href=\"https://hub.docker.com/r/shamelesscookie/vmaf\">Netflix VMAF</a> and collecting measurements from video encoded to Twitch's guidelines.</p><br><p>Published to the world at <a rel=\"noopener\" target=\"_new\" href=\"https://streamquality.report\">streamquality.report</a></p></div></article></div></div><div class=\"columns\"><div class=\"column is-half\"><article class=\"message is-info\"><div class=\"message-header\">Clever Use of Multi-Region Serverless</div><div class=\"message-body\"><p>To better understand global HTTP latency, I deployed a <a rel=\"noopener\" target=\"_new\" href=\"https://nodejs.org/\">node.js</a> script to several locations around the world that connect to my site every 60 minutes and report how long each phase of the connection process takes.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/lambda/\">AWS Lambda</a> deployed through <a rel=\"noopener\" target=\"_new\" href=\"https://serverless.com/\">serverless framework</a>, executing <a rel=\"noopener\" target=\"_new\" href=\"https://github.com/adieuadieu/serverless-chrome/releases\">headless chrome built for Amazon Linux</a>, and aggregating data using <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/\">sitespeed.io</a>'s <a rel=\"noopener\" target=\"_new\" href=\"https://www.sitespeed.io/documentation/browsertime/introduction/\">browsertime</a> tool, storing results in <a rel=\"noopener\" target=\"_new\" href=\"https://aws.amazon.com/elasticache/\">AWS ElastiCache</a>.</p><br><p>Inspired by <a rel=\"noopener\" target=\"_new\" href=\"https://updown.io/ezxm\">updown.io</a></p></div></article></div><div class=\"column is-half\"><article class=\"message is-primary\"><div class=\"message-header\">Shedding Light on TLS</div><div class=\"message-body\"><p>To learn more about TLS protocols, cipher suites, and named groups, I implemented a proxy that injects details about the current TLS session as request headers, along with the client's declared supported groups and suites.</p><br><p>This was achieved with <a rel=\"noopener\" target=\"_new\" href=\"https://nginx.org/\">nginx</a> built with <a rel=\"noopener\" target=\"_new\" href=\"https://www.openssl.org\">openssl</a> 1.1.1 for <a rel=\"noopener\" target=\"_new\" href=\"https://en.wikipedia.org/wiki/TLSv1.3\">TLSv1.3</a> support, and cross-referencing data with <a rel=\"noopener\" target=\"_new\" href=\"http://ciphersuite.info/\">ciphersuite.info</a> and <a rel=\"noopener\" target=\"_new\" href=\"https://safecurves.cr.yp.to/\">safecurves.cr.yp.to</a> to understand differences between them.</p><br><p>Deployed as <a rel=\"noopener\" target=\"_new\" href=\"https://ifconfig.lol\">ifconfig.lol</a></p></div></article></div></div></div></section></div><footer class=\"footer\"><div class=\"container\"><div class=\"columns\"><div class=\"column has-text-centered is-hidden-mobile\"><strong>Location</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"https://www.google.com/maps/place/Nashua,+NH/\" target=\"_blank\">Nashua, New Hampshire USA</a></p></div><div class=\"column has-text-centered\"><strong>E-mail</strong><p><a class=\"has-text-dark\" href=\"mailto:christian@christianmoore.me\">christian@christianmoore.me</a></p></div><div class=\"column has-text-centered is-hidden-mobile\"><strong>Darknet</strong><p><a class=\"has-text-dark\" rel=\"noopener\" href=\"http://christian42gxn67.onion/\" target=\"_blank\">christian42gxn67.onion</a></p></div></div></div></footer></div><script defer src=\"https://cdn.christianmoore.me//b10eebbc2664d052c3bddb0e09c2377a.js\" data-auto-add-css=\"false\"></script><script defer src=\"https://cdn.christianmoore.me//16ea15b095fdb907a6ca9e6c6af5e3ca.js\"></script><script defer src=\"https://cdn.christianmoore.me//6476c8226d00b49d068029873af937f3.js\"></script><script defer src=\"https://cdn.christianmoore.me//66630822ced7ea474f4b67f244ee4246.js\"></script><script defer src=\"https://cdn.christianmoore.me//7de4b9a83b960faf05b9b5fa2c9c6681.js\"></script></body></html>"
721 },
722 "redirectURL": "",
723 "headersSize": 1586,
724 "bodySize": 8559
725 },
726 "cache": {},
727 "timings": {
728 "blocked": 1,
729 "dns": 0,
730 "connect": 0,
731 "ssl": 0,
732 "send": 0,
733 "wait": 28,
734 "receive": 0
735 },
736 "time": 29,
737 "_securityState": "secure",
738 "serverIPAddress": "18.215.201.130",
739 "connection": "443"
740 }
741 ]
742 }
743}