Eric A. Myhre
Addr: 1400 S 2nd St Apt B516 Minneapolis MN 55454
Cell: 320.226.5437

Primary Capacities

Specialities and Experiences

Software Architect

I produce creative, reusable solutions with solid documentation and an eye towards patterns and best practice.

  • core strength in data structures and algorithms, both object-oriented and functional design
  • experience constructing large projects with heavy resource requirements
  • practice interoperating with other protocols in the wild
  • drafting of technical specifications and test plans
  • construction of work delegation logic for high-efficiency threading and synchronization
  • performance profiling and targeted optimization

Web Designer

I enjoy composing graceful interfaces to online assets.

  • composition of UI using html, css (including generated, i.e. lesscss), javascript, AJAX
  • production of interactively generated content with multiple languages and web frameworks, both clientside and serverside.
  • deep working familiarity with W3C standards young and old alike, as well as proprietary browser extensions
  • familiar with threats in the browsable web (i.e. XSRF, XSS, SQL injection, etc) and defenses

Security Engineer

I am fascinated by the power and the challenge in distributed systems, and maintaining the security goals and reliability of services and infrastructure as business moves towards the cloud.

  • implementation of planned security boundaries, defense in depth, and applying principles of least privilege
  • application security: defensive programming, input validation, fail-safe design
  • cryptographic protocols: key management, protocol analysis, service deployment

System Administration

I demand stability from the technology I use every day.

  • expertise administrating Linux systems (primarily Ubuntu / Debian; also CentOS / Red Hat)
  • deployment of virtualization from full VM to lightweight cgroups-based containers to speed development iteration and ease system administration
  • preparation of init scripts to automate startup and provisioning scripts to regularize management of core services
  • administration of software RAID configurations, SQL databases, automated backup solutions, etc.

I like uniting these skills to produce and deploy high-performance software that can be accessible anywhere, reliably. My work has been referred to as "bulletproof", and I take pride in that.

I have a particular interest in applying myself to designing securely distributed high-reliability services that create value by resolving privacy questions in an increasingly networked world.

Languages, Protocols, and Tools
Skill Experience Comfort
Java 6 years Zen
Golang 1 years Mastery
HTML/CSS 11 years Mastery
JS + AJAX 4 years Experienced
coffeescript 1 years Experienced
python 2 years Experienced
bash 5 years Mastery
PHP 10 years Mastery
ruby 2 years Experienced
C/C++ 3 years Hackable
perl 2 years Hackable
SQL 4 years Hackable
Learning new skills ? years Never Satisfied
Tool Experience
git 3 years
ant 3 years
eclipse 5 years
firebug 6 years
svn 4 years
junit 3 years
maven 2 years
... office suites, vim, ssh, sftp, wireshark, play framework, jQuery, unison, gitosis, redmine, apache, nginx, spring framework, jconsole, jvisualvm, jip, json, xml, gnuplot, gdb, valgrind, IDApro, perforce, bugzilla, jira, ... and of course man pages are a hacker's best friend.

work experience

Event Horizon Consulting
Event Horizon is a small private consulting firm that offers solutions to a wide variety of technology needs:
  • training services for development methodology, collaboration strategies, advanced git usage, and the role of CI/CD in your enterprise.
  • gun-for-hire development and deployment of scalable, reliable backend services.
  • kubernetes, containers, and modern clusterization solutions: from devOps basics for standard webapps and services, to developing custom kubernetes integrations for massively parallel tasks, we can help connect the dots.
software engineer, senior
Oct 2013—Dec 2014
  • built data management and migration tools handling 100s of petabytes of consumer data safely and reliably
  • targetted benchmarking and profiling of data pipelines for integration with the next-gen product
  • enhancements to software build and management lifecycles, taking rebuild build/test iteration from minutes to seconds for >100 developers
  • added product features on short deadlines to land multi-million dollar contracts
  • built reporting and analytics around test coverage and code quality metrics
  • guided factoring apart of protocols and implementing projects, enabling teams to work with greater independence
software engineer
Jan 2013—April 2013
  • revamped a database with throughput issues to cache components of common queries in redis, increasing our supportable user count by an order of magnitude
  • built redis library integrating with company conventions and thread pool / event dispatch structures
  • created new UI features, from a DSL for dynamic news stories to client features structured as jQuery plugins
  • produced internal admin tools and analytics presentation system
  • updated legacy software to build in a consistent gem+bundler environment
Greystripe Mobile Advertising
software engineer
Oct 2011—Dec 2012
  • wrote and maintained software handling user requests on the scale of tens of millions every hour, and responsible for hundreds of thousands per day in revenue.
  • replaced aging systems that could not cope with the company's growing scale with solutions leveraging concurrent processing and distributed nonrelational data storage.
  • streamlined and automated build processes, increasing productivity for the entire server engineering team and raising the bar for quality control.
  • wrote enhancements to company internal software ranging from resolving user interface bugs to adding new APIs to interface with business partners.
  • optimized SQL queries and table layout for enhanced performance.
  • handled "big data" and Hadoop clusters.
  • responded to alerts and delivered fixes to live production issues.
  • participated in migrating company systems from Amazon cloud services into a private datacenter.
Security & Cryptography Lab
University of Minnesota
fall 2008—summer 2011
Advisors: Nicholas Hopper, Yongdae Kim
  • collected extensive experience in reading and synthesizing knowledge from academic publications, as well as drafting new scientific writing.
  • contributed to leading research in secure distributed systems for both communication and provably reliable storage.
  • administrated lab systems and servers.
Membership Concealing Overlay Network (MCON) Simulator
  • materialized extensive, functional cryptographic protocols.
  • constructed a large network simulation in Java with heavy resource requirements (handles hundreds of millions of messages across tens of thousands of links) and concurrent work delegation battle-tested up to 12 cores.
  • produced graphical interpretations of data using Gnuplot, including automated scripting to produce graphical interpretations on the fly for generated data.
BitTorrent Swarm Tracking
  • interacted with protocols of both BitTorrent clients and trackers in the wild.
  • optimized network operations for collecting data from tens of thousands of machines simultaneously.
Asprox Honeypot
  • observed network activity of malicious code.
  • handled decompilation of viral infection vectors in javascript.
Wright Biology Lab
University of Minnesota
Summer 2008
Advisor: Robin Wright
  • researched metabolic pathways for sterol production in genetically altered yeast — sequenced ribosomal genes, used sequence alignment tools and genetic databases to synthesize data, etc.
  • organized group of student researchers and coordinated data gathering.
  • gained experience in interdisciplinary communication.
Independent Projects & Open Source Collaboration
  • utility for hosting processes in a psuedoterminal, then attaching to them from other terminals. Works over sockets. Extremly helpful in managing container systems such as docker.
  • dead-simple templating system in under 200 SLOC. Uses golang templates.
  • an open-source library of reusable Java tools for rapid development of applications utilizing networking, serialization/persistence, high-performance concurrency control, and thread scheduling.
  • Beard conceals a sleek java core under a scruffy guise of an HTML5/CSS3/JS web-2.whatever app. It makes it possible to ship something to run both in a browser (powered by an applet and allowing powerful client-side computation) or a as standalone desktop program using the exact same UI.
  • process launching in golang, sporting a shell-script-like interface, plus substantial improvements on thread friendliness over go builtins.
  • MDM (Modern Dependency Management) tackles the problem of dependencies in software development by wielding advanced git features to provide strongly versioned and guaranteed repeatable builds, while still maintaining a repository that doesn't bloat over time. While the design pattern itself can be implemented manually with nothing but git and diligence, there's also a python program to make things easy and consistent.
  • a server-side modification to the popular creative game Minecraft; I'm one of the top three contributors.
  • vibrant collaborative community — 47 forks on Github at the time of writing.
  • large user base demanding backwards compatibility (over 75K downloads for the latest release).
  • requires agile development practices to match a rapidly advancing platform.

educational emphasis

University of Minnesota
3.07GPA   Spring 2011
Computer Science with an emphasis in Networking and Security
  • Studied of principles of security design.
  • Learned cryptographic protocols and how to apply them correctly in systems design.
  • Examined wide selection of network protocols at various layers of the OSI model.
  • Analyzed distributed systems and parallelization/concurrency.
  • Surveyed core concepts of machine learning.
The stylesheet applied to this resume should allow this page to be cleanly printed.

This resume is also available in two alternate forms:
(hide this message)