about summary refs log tree commit diff stats
path: root/static
diff options
context:
space:
mode:
Diffstat (limited to 'static')
-rw-r--r--static/css/style.css75
-rw-r--r--static/cv/index.html348
-rw-r--r--static/keybase.txt55
-rw-r--r--static/robots.txt3
4 files changed, 348 insertions, 133 deletions
diff --git a/static/css/style.css b/static/css/style.css
deleted file mode 100644
index e605297..0000000
--- a/static/css/style.css
+++ /dev/null
@@ -1,75 +0,0 @@
-body {
-  font-family: sans-serif;
-  line-height: 1.5em;
-  margin: auto;
-  max-width: 800px;
-  padding: 1em;
-}
-
-/* header and footer areas */
-nav > ul { padding: 0; }
-nav > ul > li { display: inline-block; }
-article > header, nav > ul a {
-  background: #eee;
-  border-radius: 5px;
-  padding: 5px;
-  text-decoration: none;
-}
-.terms { font-size: .9em; }
-nav > ul, article > header, footer { text-align: center; }
-.title { font-size: 1.1em; }
-footer a { text-decoration: none; }
-hr {
-  border-style: dashed;
-  color: #ddd;
-}
-body > nav {
-  border-bottom: 1px solid #ddd;
-}
-body > footer {
-  border-top: 1px solid #ddd;
-}
-
-/* code */
-pre {
-  border: 1px solid #ddd;
-  overflow-x: auto;
-  padding: 1em;
-}
-code { background: #f9f9f9; }
-pre code { background: none; }
-
-/* misc elements */
-img, iframe, video { max-width: 100%; }
-main { hyphens: auto; }
-blockquote {
-  background: #f9f9f9;
-  border-left: 5px solid #ccc;
-  padding: 3px 1em 3px;
-}
-
-table thead th { border-bottom: 1px solid #ddd; }
-th, td { padding: 5px; }
-thead, tfoot, tr:nth-child(even) { background: #eee; }
-.hl { background-color: #ffc; }
-
-@media (prefers-color-scheme: dark) {
-	body {
-		background-color: #111;
-		color: white;
-	}
-	article > header, nav > ul a {
-		background: #222;
-	}
-	a {
-		color: #C4D4EE;
-	}
-	a:visited {
-		color: #CEDEE0;
-	}
-	code { background-color: #444; }
-	thead, tfoot, tr:nth-child(even) { background: #222; }
-	.hl {
-		background-color: #555;
-	}
-}
diff --git a/static/cv/index.html b/static/cv/index.html
new file mode 100644
index 0000000..4fef4cc
--- /dev/null
+++ b/static/cv/index.html
@@ -0,0 +1,348 @@
+<!doctype html>
+<html>
+  <head>
+    <title>Alan Pearce's Curriculum Vitae</title>
+    <style>
+      body {
+        font-family: Verdana, sans-serif;
+        font-size: small;
+        margin: auto;
+        padding: 1em;
+        max-width: 50rem;
+        text-align: left;
+        background-color: #fff;
+        word-wrap: break-word;
+        overflow-wrap: break-word;
+        line-height: 1.5;
+        color: #444;
+        height: 210mm;
+        width: 297mm;
+      }
+
+      @page {
+        size: A4 portrait;
+      }
+
+      h1,
+      h2,
+      h3,
+      h4,
+      h5,
+      h6,
+      strong,
+      b {
+        color: #222;
+        margin: unset;
+      }
+
+      a {
+        color: #3273dc;
+      }
+
+      .title {
+        color: #222;
+        text-decoration: none;
+        border: 0;
+      }
+
+      time {
+        font-style: italic;
+      }
+
+      nav a {
+        margin-right: 1ex;
+      }
+
+      .tags {
+        padding: unset;
+        font-size: smaller;
+      }
+
+      .tags > li {
+        list-style: none;
+        display: inline-block;
+        padding-right: 1ex;
+      }
+
+      textarea {
+        width: 100%;
+        font-size: 1rem;
+      }
+
+      input {
+        font-size: 1rem;
+      }
+
+      main,
+      article {
+        line-height: 1.6;
+      }
+
+      blockquote {
+        border-left: 1px solid #999;
+        color: #222;
+        padding-left: 20px;
+        font-style: italic;
+      }
+
+      footer {
+        padding: 25px;
+        text-align: center;
+      }
+
+      main {
+        column-count: 2;
+      }
+      main > section {
+        padding-right: 1rem;
+        padding: 1rem 0;
+        border-bottom: 2px solid #999;
+        break-inside: avoid;
+      }
+      section > header {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+      }
+      .timeperiod {
+        font-style: italic;
+        font-size: small;
+      }
+
+      ul {
+        padding-left: 0;
+        margin: unset;
+      }
+      ul > li {
+        display: inline-block;
+        font-size: smaller;
+      }
+
+      .links > li {
+        display: block;
+      }
+
+      @media (prefers-color-scheme: dark) {
+        body {
+          background-color: #333;
+          color: #ddd;
+        }
+
+        h1,
+        h2,
+        h3,
+        h4,
+        h5,
+        h6,
+        strong,
+        b,
+        .title {
+          color: #eee;
+        }
+
+        a {
+          color: #8cc2dd;
+        }
+        blockquote {
+          color: #ccc;
+        }
+        section {
+          border-bottom-color: #ccc;
+        }
+      }
+    </style>
+  </head>
+  <body>
+    <header>
+      <h1>Alan Pearce</h1>
+      <h2>Backend & Infrastructure Developer</h2>
+      <h3>Berlin, Germany</h3>
+    </header>
+    <hr />
+    <main>
+      <section>
+        <ul class="links">
+          <li>
+            Email: <a href="mailto:alan@alanpearce.eu">alan@alanpearce.eu</a>
+          </li>
+          <li>Website: <a href="https://alanpearce.eu">alanpearce.eu</a></li>
+          <li>
+            GitHub: <a href="https://github.com/alanpearce">@alanpearce</a>
+          </li>
+          <li>
+            Personal Projects:
+            <a href="https://git.alanpearce.eu">git.alanpearce.eu</a>
+          </li>
+        </ul>
+      </section>
+      <section>
+        <h4>Summary</h4>
+        <p>
+          I care about keeping code and UIs consistent and simple. I also have a
+          strong drive to learn and really enjoy being able to explore new
+          methodologies and languages.
+        </p>
+      </section>
+      <section>
+        <h4>Experience</h4>
+        <header>
+          <h5>Senior Fullstack Developer at SatoshiPay</h5>
+          <span class="timeperiod">2017—2023</span>
+        </header>
+        <ul>
+          <li>Helm</li>
+          <li>Kubernetes</li>
+          <li>GitLab</li>
+          <li>TypeScript</li>
+          <li>PostgreSQL</li>
+        </ul>
+        <p>
+          Principal worker for migration from Docker Cloud to Kubernetes,
+          alongside work on microservices interfacing with distributed ledger
+          APIs. Implemented and maintained GitLab CI/CD pipelines including
+          merge request previews and end-to-end testing. Migrated projects to
+          product-based monorepos.
+        </p>
+      </section>
+      <section>
+        <header>
+          <h5>Senior Fullstack Developer at SpotCap</h5>
+          <span class="timeperiod">2015–2017</span>
+        </header>
+        <ul>
+          <li>NodeJS</li>
+          <li>MySQL</li>
+          <li>Webpack</li>
+          <li>Sails.js</li>
+          <li>Mithril.js</li>
+        </ul>
+        <p>
+          Responsible for banking integration service, implemented parsers and
+          generators for custom text formats (MT940, MT942) using unit tests to
+          verify.
+          <br />
+          Worked on backend credit scoring admin panel, began migration from
+          Sails to SPA using Mithril
+        </p>
+      </section>
+      <section>
+        <header>
+          <h5>Senior Web Developer at StudentCrowd (Studio-40 spin-off)</h5>
+          <span class="timeperiod">2014–2015</span>
+        </header>
+        <ul>
+          <li>PHP</li>
+          <li>MySQL</li>
+          <li>ElasticSearch</li>
+          <li>Vagrant</li>
+          <li>Saltstack</li>
+        </ul>
+        <p>
+          Optimised database access and ORM usage. Simplified dev environment
+          setup using Vagrant and Salt. Attended ElasticSearch, LogStash &
+          Kibana training. Worked remotely (60% -> 100%)
+        </p>
+      </section>
+      <section>
+        <header>
+          <h5>Senior Developer at Studio-40</h5>
+          <span class="timeperiod">2014</span>
+        </header>
+        <ul>
+          <li>Symfony</li>
+          <li>Sylius</li>
+          <li>PHP</li>
+          <li>MySQL</li>
+          <li>Capistrano</li>
+        </ul>
+        <p>
+          Wrote product CSV importer for Sylius with streaming preview diff
+          feature. Fixed issues with integration of payment provider API
+          including false payment failures. Assisted front-end developers with
+          JavaScript.
+        </p>
+      </section>
+      <section>
+        <header>
+          <h5>Backend Web Developer at Bulb Studios</h5>
+          <span class="timeperiod">2013–2014</span>
+        </header>
+        <ul>
+          <li>Laravel</li>
+          <li>ExpressionEngine</li>
+          <li>Ansible</li>
+          <li>PHP</li>
+          <li>Capistrano</li>
+        </ul>
+        <p>
+          Suggested and implemented switch from Apache to Nginx, enabling a
+          1000x speedup in page loads. Suggested and implemented use of
+          configuration management for server provisioning. Introduced Vagrant
+          to reduce development environment variance and Capistrano for
+          deployment. Created time-basic competition entry API designed for 50k
+          RPM.
+        </p>
+      </section>
+      <section>
+        <header>
+          <h5>PHP Web Developer at Supplyant</h5>
+          <span class="timeperiod">2012-2013</span>
+        </header>
+        <ul>
+          <li>PHP</li>
+          <li>MySQL</li>
+          <li>Subversion</li>
+          <li>jQuery</li>
+          <li>HTML</li>
+          <li>CSS</li>
+        </ul>
+        <p>
+          Maintained e-commerce platform and worked on new product management
+          system. Made Entity-Attribute-Value system usable for other database
+          consumers using an SQL view. Recommended use of Mustache templates,
+          which the design team loved
+        </p>
+      </section>
+      <section>
+        <header>
+          <h5>Web Applications Programmer at ASL Holdings</h5>
+          <span class="timeperiod">2010-2011</span>
+        </header>
+        <ul>
+          <li>PHP</li>
+          <li>MySQL</li>
+          <p>Continued rewrite of SIM management web application</p>
+        </ul>
+      </section>
+      <section>
+        <h4>Relevant Education</h4>
+        <div>
+          <header>
+            <h5>CodeSchool</h5>
+            <span class="timeperiod">2014</span>
+          </header>
+          <ul>
+            <li>Ruby</li>
+            <li>JavaScript</li>
+            <li>CoffeeScript</li>
+            <li>EmberJS</li>
+            <li>BackboneJS</li>
+          </ul>
+        </div>
+        <div>
+          <header>
+            <h5>Computing A Level at Northampton College</h5>
+            <span class="timeperiod">2008-2010</span>
+          </header>
+        </div>
+        <ul>
+          <li>Pascal</li>
+          <li>PHP</li>
+          <li>SQL</li>
+          <li>HTML</li>
+          <li>CSS</li>
+        </ul>
+      </section>
+    </main>
+  </body>
+</html>
diff --git a/static/keybase.txt b/static/keybase.txt
deleted file mode 100644
index 71b773e..0000000
--- a/static/keybase.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-==================================================================
-https://keybase.io/alanpearce
---------------------------------------------------------------------
-
-I hereby claim:
-
-  * I am an admin of https://alanpearce.uk
-  * I am alanpearce (https://keybase.io/alanpearce) on keybase.
-  * I have a public key ASANiS-7NFF6vVEg-lRstl2tEXLNhUBc-uSTbc24v1rBhQo
-
-To do so, I am signing this object:
-
-{
-  "body": {
-    "key": {
-      "eldest_kid": "01200d892fbb34517abd5120fa546cb65dad1172cd85405cfae4936dcdb8bf5ac1850a",
-      "host": "keybase.io",
-      "kid": "01200d892fbb34517abd5120fa546cb65dad1172cd85405cfae4936dcdb8bf5ac1850a",
-      "uid": "91ae6da6b67277c6eded2451d6925919",
-      "username": "alanpearce"
-    },
-    "merkle_root": {
-      "ctime": 1528123072,
-      "hash": "e0815741a6d5837c8c4a3af6900f5921484ebc1a0c8931284247134587f5cb2a330840662e835ad3d21397c5617cfa3c6152777b5b643821f5e80cd00d107af3",
-      "hash_meta": "c92918ad06b58621eea19be246eff63e3a86d00c619c5457ae41cc090bbcfd70",
-      "seqno": 2990872
-    },
-    "service": {
-      "hostname": "alanpearce.uk",
-      "protocol": "https:"
-    },
-    "type": "web_service_binding",
-    "version": 1
-  },
-  "client": {
-    "name": "keybase.io go client",
-    "version": "1.0.44"
-  },
-  "ctime": 1528123107,
-  "expire_in": 504576000,
-  "prev": "7c22548954f852d481dec3c2f6ccefb4be4322e2cd51016e2beb4be359b65763",
-  "seqno": 6,
-  "tag": "signature"
-}
-
-which yields the signature:
-
-hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEgDYkvuzRRer1RIPpUbLZdrRFyzYVAXPrkk23NuL9awYUKp3BheWxvYWTFA0d7ImJvZHkiOnsia2V5Ijp7ImVsZGVzdF9raWQiOiIwMTIwMGQ4OTJmYmIzNDUxN2FiZDUxMjBmYTU0NmNiNjVkYWQxMTcyY2Q4NTQwNWNmYWU0OTM2ZGNkYjhiZjVhYzE4NTBhIiwiaG9zdCI6ImtleWJhc2UuaW8iLCJraWQiOiIwMTIwMGQ4OTJmYmIzNDUxN2FiZDUxMjBmYTU0NmNiNjVkYWQxMTcyY2Q4NTQwNWNmYWU0OTM2ZGNkYjhiZjVhYzE4NTBhIiwidWlkIjoiOTFhZTZkYTZiNjcyNzdjNmVkZWQyNDUxZDY5MjU5MTkiLCJ1c2VybmFtZSI6ImFsYW5wZWFyY2UifSwibWVya2xlX3Jvb3QiOnsiY3RpbWUiOjE1MjgxMjMwNzIsImhhc2giOiJlMDgxNTc0MWE2ZDU4MzdjOGM0YTNhZjY5MDBmNTkyMTQ4NGViYzFhMGM4OTMxMjg0MjQ3MTM0NTg3ZjVjYjJhMzMwODQwNjYyZTgzNWFkM2QyMTM5N2M1NjE3Y2ZhM2M2MTUyNzc3YjViNjQzODIxZjVlODBjZDAwZDEwN2FmMyIsImhhc2hfbWV0YSI6ImM5MjkxOGFkMDZiNTg2MjFlZWExOWJlMjQ2ZWZmNjNlM2E4NmQwMGM2MTljNTQ1N2FlNDFjYzA5MGJiY2ZkNzAiLCJzZXFubyI6Mjk5MDg3Mn0sInNlcnZpY2UiOnsiaG9zdG5hbWUiOiJhbGFucGVhcmNlLnVrIiwicHJvdG9jb2wiOiJodHRwczoifSwidHlwZSI6IndlYl9zZXJ2aWNlX2JpbmRpbmciLCJ2ZXJzaW9uIjoxfSwiY2xpZW50Ijp7Im5hbWUiOiJrZXliYXNlLmlvIGdvIGNsaWVudCIsInZlcnNpb24iOiIxLjAuNDQifSwiY3RpbWUiOjE1MjgxMjMxMDcsImV4cGlyZV9pbiI6NTA0NTc2MDAwLCJwcmV2IjoiN2MyMjU0ODk1NGY4NTJkNDgxZGVjM2MyZjZjY2VmYjRiZTQzMjJlMmNkNTEwMTZlMmJlYjRiZTM1OWI2NTc2MyIsInNlcW5vIjo2LCJ0YWciOiJzaWduYXR1cmUifaNzaWfEQLd80AcgXet5yGW0bL5y5IAf/rQ2R15NNRCk0T6qz/kQlf30JN810HcLoGrX3RcalgHbb8QbcgCWyd0kiep4CgWoc2lnX3R5cGUgpGhhc2iCpHR5cGUIpXZhbHVlxCB8OF/NBSFEq73lc0tGCM3gCNgr29QmOgZd9jvX68GNaKN0YWfNAgKndmVyc2lvbgE=
-
-And finally, I am proving ownership of this host by posting or
-appending to this document.
-
-View my publicly-auditable identity here: https://keybase.io/alanpearce
-
-==================================================================
diff --git a/static/robots.txt b/static/robots.txt
index ef30e6f..a0e9740 100644
--- a/static/robots.txt
+++ b/static/robots.txt
@@ -1,7 +1,4 @@
 User-agent: *
 Disallow:
 Host: alanpearce.eu
-Sitemap: https://alanpearce.eu/sitemap.xml
 
-User-agent: googlebot
-Disallow: /