Eric A. Myhre ------------------------------------------------------------------------ Addr: 1400 S 2nd St Apt B516 Minneapolis MN 55454 Cell: 320.226.5437 Email: hash@exultant.us Web: http://exultant.us 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, algorithms, and object-oriented software 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 Hackable 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 2015—present * 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. Echobit software engineer echobit.com 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 greystripe.com 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 researcher 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 researcher 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 Siphon (more ) * 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 . Flatsite (more ) * dead-simple templating system in under 200 SLOC. Uses golang templates. AHSlib (more ) * 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 (more ) * 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. Gosh (more ) * process launching in golang, sporting a shell-script-like interface, plus substantial improvements on thread friendliness over go builtins. MDM (more ) * 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. CraftBook (more ) * 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.