From b86f7ae9fac3d2e61bb8b01cc9c218e17a02f10c Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Fri, 13 Feb 2015 11:05:03 -0800 Subject: [PATCH] Move resume to a generated page --- app.moon | 4 +- controllers/resume.moon | 26 ++ nginx.conf | 4 - static/resume/index.html | 671 --------------------------------------- static/resume/resume.pdf | 16 - views/resume.moon | 10 + 6 files changed, 37 insertions(+), 694 deletions(-) create mode 100644 controllers/resume.moon delete mode 100644 static/resume/index.html delete mode 100644 static/resume/resume.pdf create mode 100644 views/resume.moon diff --git a/app.moon b/app.moon index 24ce2b0..63ee329 100644 --- a/app.moon +++ b/app.moon @@ -6,6 +6,7 @@ class extends lapis.Application @include "controllers.email" @include "controllers.projects" @include "controllers.go" + @include "controllers.resume" [index: "/"]: => render: true @@ -14,9 +15,6 @@ class extends lapis.Application @title = "Contact" render: true - "/resume": => - redirect_to: "/resume/" - [error: "/error"]: => render: true, status: 500 diff --git a/controllers/resume.moon b/controllers/resume.moon new file mode 100644 index 0000000..d042dfa --- /dev/null +++ b/controllers/resume.moon @@ -0,0 +1,26 @@ +discount = require "discount" +lapis = require "lapis" +oleg = require "lib/oleg" + +class Projects extends lapis.Application + [resume: "/resume"]: => + @title = "Resume" + + @doc, @err = oleg.get "resume", "cached" + + if @err + ngx.log ngx.NOTICE, "Need to cache resume HTML" + + local data + with io.open "static/resume/min/resume.md", "r" + data = \read "*a" + + @doc = discount data, "toc", "nopants", "autolink" + + oleg.set "resume", "cached", @doc + + elseif @err + @err = "OlegDB returned code #{@err}." + return render: "error", status_code: 500 + + render: true diff --git a/nginx.conf b/nginx.conf index f5d2837..e80f6f6 100644 --- a/nginx.conf +++ b/nginx.conf @@ -33,10 +33,6 @@ http { alias static/; } - location /resume/ { - alias static/resume/; - } - location /favicon.ico { alias static/favicon.ico; } diff --git a/static/resume/index.html b/static/resume/index.html deleted file mode 100644 index 0fa2d41..0000000 --- a/static/resume/index.html +++ /dev/null @@ -1,671 +0,0 @@ - - - - - - - -Christine Dodrill - - - - - - - - - - -
-

For a PDF version of this resume, click here.

-

For a plain text simplified version, click here.

-
- - -
- -
- -
-
-
- Email - -
-
- Phone -
+1 425.221.7761
-
-
-
-
-
- -
-

Christine is a Python and Go programmer and a capable Linux Systems Administrator. Her current specialty is in managing the creation and usage of dynamically scaling cluster computing systems using CoreOS and Fleet. Some links this references to may use her old name "Sam Dodrill".

-
-
-
- -
-
-
- - Github - -
-
- Xe -
-
-
-
- - Bitbucket - -
-
- Niichan -
-
-
- -
-
-
- -
- -
-
-
-

- VTCSecure - - 2014-10-27 — 2015-01-15 - -

- -
- Deis Consultant (Contract) -
-
-

VTCSecure is a company dedicated to helping with custom and standard audio/video confrencing solutions. They specialize in helping the deaf and blind communicate over today's infrastructure without any trouble on their end.

-
-

Highlights

-
    -
  • Started groundwork for a dynamically scalable infrastructure on a project for helping the blind see things
  • -
-
-
-

- Bravely Blue Media, LLC - - 2014-07-03 — - -

- -
- On-Site Technician -
-
-

Bravely Blue is an independent company dedicated to filming and streaming convention panels and concerts for people who cannot attend them. All recorded videos are archived on YouTube for convention staff or the general public to watch freely.

-
-

Highlights

-
    -
  • Managed a live audio/video stream of a music performance at a convention
  • -
  • Filmed interviews with celebrities
  • -
-
-
-

- Crowdflower - - 2014-09-10 — 2014-10-15 - -

- -
- Deis Consultant (Contract) -
-
-

Crowdflower is a company that uses crowdsourcing to have its customers submit tasks to be done, similar to Amazon's Mechanical Turk. CrowdFlower has over 50 labor channel partners, and its network has more than 5 million contributors worldwide.

-
-

Highlights

-
    -
  • Research and development on scalable Linux deployments via CoreOS and Docker
  • -
  • Development of in-house tools to speed instance creation
  • -
  • Laid groundwork on the creation and use of better tools for managing large clusters of CoreOS and Fleet machines
  • -
-
-
-

- OpDemand - - 2014-07-14 — 2014-08-27 - -

- -
- Software Engineering Intern -
-
-

OpDemand is the company behind the open source project Deis, a distributed platform-as-a-service (PaaS) designed from the ground up to emulate Heroku but on privately owned servers.

-
-

Highlights

-
    -
  • Built new base image for Deis components
  • -
  • Research and development on a new builder component
  • -
-
-
-

- Symplicity - - 2013-10-30 — 2014-01-04 - -

- -
- Junior Systems Administrator -
-
-

Symplicity specializes in database driven, web-based applications, enterprise information systems architecture and development, network design and management, systems and software engineering, network integration and management, information security and enterprise systems management.

-
-

Highlights

-
    -
  • Research on a new distributed taskrunner using Celery
  • -
  • Creation of a tool to automate server provisioning
  • -
  • CentOS administration
  • -
-
-
-

- Volt - - 2012-06-18 — 2013-09-20 - -

- -
- Quality Assurance -
-
-

Volt is a temporary workforce solution for larger companies to get temporary workers for a given task. Christine's contract was manual hardware QA testing of the Xbox line of consoles. Not much more can be said due to the Non-Disclosure Agreement.

-
-
-
-

- Eastern Washington University - - 2012-10-03 — 2012-12-15 - -

- -
- Paper Grader -
-
-

Graded assignments for the introductory class in Python programming. Also helped teach the students that were struggling with the course material and attended study sessions.

-
-
-
-
-
- - - - -
- -
-
-
-

- Flitter - - - -

-
- -
-
- Published by - -
-
-

Flitter was an experiment in building a simpler docker image builder with a git push deployment model that has evolved into its own full-fledged Platform-As-A-Service. It uses a pure Docker workflow and is right now is pre-alpha software. Parts of its design are based off the design of similar projects, but it strives to be as original as possible.

-
-
-
-

- Cod - - - -

-
- -
-
- Published by - -
-
-

Cod is an open source Python-based platform for IRC networks to create custom services that interact at the network level. It is designed to be easy to use and offer features that both administrators and end users will appreciate.

-
-
-
-

- Elemental-IRCd - - - -

-
- -
-
- Published by - -
-
-

Elemental-IRCd is a high performance, lightweight, and scalable IRC daemon. It is a fork of the now-defunct ShadowIRCD and seeks to continue in the direction ShadowIRCD was headed.

-
-
-
-

- Tetra - - - -

-
- -
-
- Published by - -
-
-

Tetra is a rewrite of Cod from the ground up using Lua and Moonscript for extensions while having the core be in Go.

-
-
-
-

- One-click IRC Network With Panamax - - 09-18-2014 - -

-
- -
-
- Published by - Medium -
-
-

An award-winning blog post on using Panamax by CenturyLink labs to manage the backing services needed for a simple IRC network for testing.

-
-
-
-
-
- -
- -
-
-
-
-

Python

-
-
-
-
-

Git

-
-
-
-
-

Docker

-
-
-
-
-

CoreOS

-
-
-
-
-

Cloud Computing

-
-
    -
  • AWS administration
  • -
  • GCE
  • -
-
-
-
-

Linux Administration

-
-
    -
  • Ubuntu
  • -
  • Gentoo
  • -
  • Debian
  • -
  • CentOS
  • -
-
-
-
-
- -
- -
-
-
-
- Python -
-
- Expert -
-
-
-
- Go -
-
- Expert -
-
-
-
- C -
-
- Proficient -
-
-
-
- Shell script -
-
- Expert -
-
-
-
-
- -
- -
-
-
-
-

Distributed Systems

-
-
    -
  • CoreOS
  • -
  • Docker
  • -
-
-
-
-

Computer Art (2d/vector)

-
-
-
-
-

Computer Animation

-
-
    -
  • Flash
  • -
-
-
-
-

Video Games

-
-
-
-
-
- - -
- - - diff --git a/static/resume/resume.pdf b/static/resume/resume.pdf deleted file mode 100644 index d5cb28f..0000000 --- a/static/resume/resume.pdf +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Application Error - - - - - \ No newline at end of file diff --git a/views/resume.moon b/views/resume.moon new file mode 100644 index 0000000..42f185c --- /dev/null +++ b/views/resume.moon @@ -0,0 +1,10 @@ +import Widget from require "lapis.html" + +class Resume extends Widget + content: => + raw @doc + + p -> + text "For a plain text version of this resume, click " + a href: "/static/resume/min/resume.md", "here" + text "."