further pruning, rewording and consolidation
This commit is contained in:
+35
-39
@@ -17,8 +17,8 @@
|
||||
<section class="employment">
|
||||
<label>
|
||||
<div class="fit-content">
|
||||
<div class="bold">Employment</div>
|
||||
<div class="sm italic right">(Most recent first)</div>
|
||||
<span class="bold">Employment</span>
|
||||
<span class="sm italic right">(Most recent)</span>
|
||||
</div>
|
||||
</label>
|
||||
<div>
|
||||
@@ -33,40 +33,37 @@
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<!-- <li>
|
||||
Fixed/troubleshooted bugs and added features across multiple
|
||||
legacy codebases
|
||||
</li>
|
||||
<li>Consolidated cloud resources by using Kubernetes.</li>
|
||||
<li>Consolidated cloud resources by using Kubernetes.</li> -->
|
||||
<li>
|
||||
Successfully transitioned a top-level domain from a
|
||||
self-hosted legacy site frontend by Cloudflare and nginx, to
|
||||
one hosted by Vercel, while maintaining custom routes that
|
||||
were handled by nginx and keeping the legacy site online
|
||||
under a subdomain.
|
||||
Transitioned a legacy Cloudflare/nginx TLD site to Vercel,
|
||||
while maintaining custom nginx routes plus the entire legacy
|
||||
site under a subdomain.
|
||||
</li>
|
||||
<li>
|
||||
Setup CI/CD pipelines with DroneCI and Gitlab; in addition
|
||||
to locally-runnable deploy scripts which reduced
|
||||
time-to-deployment from 5 minutes to 15 seconds.
|
||||
Reduced time-to-deployment from 5 minutes to 15 seconds with
|
||||
locally-runnable deploy scripts; besides setting up
|
||||
Drone/Gitlab CI/CD pipelines.
|
||||
</li>
|
||||
<li>
|
||||
Setup Clickhouse for analytics and as a read-only copy of
|
||||
MySQL data. Reduced query times from minutes to fractions of
|
||||
a second.
|
||||
Architected custom analytics backend w/ Clickhouse. Reduced
|
||||
query times from minutes to milliseconds.
|
||||
</li>
|
||||
<li>
|
||||
Implemented a revamped phone system using a finite-state
|
||||
machine. Content from the site is available and browsable by
|
||||
phone, dynamically.
|
||||
Implemented a custom IVR phone system to dynamically browse
|
||||
content.
|
||||
</li>
|
||||
<li>
|
||||
Setup supporting services in Kubernetes, such as Gitlab,
|
||||
OpenTelemetry, a private Docker registry, a private NPM
|
||||
registry, Grafana, and others. Transcoder pipeline
|
||||
troubleshooting time was halved using OpenTelemetry tracing,
|
||||
with spans stored in self-hosted Clickhouse, visualized in
|
||||
Grafana.
|
||||
Setup various supporting/ancillary services in Kubernetes,
|
||||
including Gitlab, OpenTelemetry, private Docker & NPM
|
||||
registries, Grafana.
|
||||
</li>
|
||||
<li>
|
||||
Implemented OpenTelemetry tracing visualized in Grafana,
|
||||
decreasing transcoder troubleshooting by 50%.
|
||||
</li>
|
||||
<li>
|
||||
Worked with (in no particular order): Node.js, Redis, MySQL,
|
||||
@@ -140,7 +137,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<!-- <li>
|
||||
<div class="space-between">
|
||||
<div>
|
||||
<span class="bold">Representative,</span>
|
||||
@@ -160,7 +157,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</li> -->
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
@@ -221,26 +218,25 @@
|
||||
<div>
|
||||
<span class="bold">Custom Full-Stack eCommerce website</span>
|
||||
<span
|
||||
>Created custom e-commerce website, both front-end and
|
||||
back-end, from scratch; previously at piazzaoptical.com (code
|
||||
at
|
||||
>Both front-end and back-end from scratch; previously at
|
||||
piazzaoptical.com (code at
|
||||
<a href="https://git.sakal.us/avraham/piazzaoptical.com"
|
||||
>https://git.sakal.us/avraham/piazzaoptical.com</a
|
||||
>). Frontend was implemented in
|
||||
<a href="https://mithril.js.org/">mithril.js</a>. For the
|
||||
backend, nginx was setup as reverse proxy and TLS termination;
|
||||
but the application code was implemented with
|
||||
<a href="https://luajit.org/">LuaJIT</a> using
|
||||
>). Frontend in
|
||||
<a href="https://mithril.js.org/">mithril.js</a>. Backend w/
|
||||
nginx as reverse proxy and TLS termination; application code
|
||||
in
|
||||
<a href="https://daurnimator.github.io/lua-http/0.4/"
|
||||
>lua-http</a
|
||||
>. The database was an
|
||||
<a href="http://www.lmdb.tech/doc/">LMDB</a> KV store library
|
||||
running as part of the LuaJIT app server using
|
||||
>
|
||||
on <a href="https://luajit.org/">LuaJIT</a>. Database was an
|
||||
<a href="http://www.lmdb.tech/doc/">LMDB</a> KV store exposed
|
||||
with custom wrapper using
|
||||
<a href="https://github.com/shmul/lightningmdb"
|
||||
>lightningmdb</a
|
||||
>
|
||||
Lua bindings; rolled-my-own wrapper around this so as to store
|
||||
JSON objects (in the form of compressed Lua tables using
|
||||
Lua bindings; stored JSON objects w/ references (in the form
|
||||
of compressed Lua tables using
|
||||
<a href="https://github.com/gvx/bitser">bitser</a>).</span
|
||||
>
|
||||
</div>
|
||||
|
||||
+3
-2
@@ -68,10 +68,11 @@ section.sections {
|
||||
} */
|
||||
|
||||
section.sections > section > label {
|
||||
float: left;
|
||||
font-size: 1.4em;
|
||||
/* float: left;
|
||||
width: 8em;
|
||||
height: 2em;
|
||||
margin-right: 0.7em;
|
||||
margin-right: 0.7em; */
|
||||
/* border: 1px solid black; */
|
||||
/* padding-bottom: 0.5em; */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user