Bio
Ethan Miller has been working professionally with web technology since 1999. Having spent most of those years as a developer, and then transitioning into an operations role has given him broad competencies with complete web application stacks. Concurrently Ethan pursued a degree in art and technology, which led to several code-based art projects that further broadened the scope his abilities. He has a driving curiosity and fascination with systems that keep him in a constant cycle of self-improvement.
Contact : e@ethanmiller.name
Skills Summary
Programming/Scripting: Python, Bash, PHP, Javascript, CSS, Java
Systems, Monitoring and Configuration: Puppet, Jenkins, Nagios/Icinga, Cacti, Ganglia, Logster, RHCE Certified
Libraries/Packages: Apache, Nginx, Django, Supervisor, Haproxy, PostgreSQL, MySQL, Git
Professional Experience
Eventbrite, San Francisco, CA
Senior Systems Engineer
- One of 6 operations staff responsible for engineering infrastructure development, support and maintenance.
- Managed EC2 based production/qa/stage environments using Puppet, Console, and Terraform.
- Participated in on-call rotations, typically used Icinga alert info, Splunk logs (and syslog logs), Grafana graphs & Sentry captures to diagnose issues.
- Mainly supported Linux/Mysql/HAProxy/Nginx/Python/Django based applications. Also provided support for numerous technologies including: Cassandra, Redis, Elasticsearch, Varnish, & others.
- Participated in a number of open source projects with issue creation or patch submission as we integrated them into our environments, see https://github.com/ethan-eb
- Aggressive documentation contributor, spearheaded runbook documentation with links to specific icinga alerts.
- Developed a wide range of tooling, primarily in Python or shell.
- At the simpler end were tools that checked metrics for Icinga alerts, or for submission to StatsD/Graphite, or for interacting with APIs (for example DYN, NS1, Fastly APIs).
- At the more complex end I developed an admin SPA for engineers to create feature flag "proposals." The tool used Mysql, Django, Backbone/Marionette and integrated with our Gargoyle based feature flags. It allowed operations staff to simply approve or deny a proposal without giving direct access to production feature flags.
- Also implemented an Errbot instance for Slack including a docker profile for developers to work on their plugins independently. Developed plugins for interactions with JIRA and for reporting on feature flag changes.
Energy Solutions, Oakland CA
Senior Software Engineer
- Primary systems administrator for production and in-house servers (3 Linux distributions, approximately 30 servers)
- Managed Maintenance and Operations project planning and budgeting to support multiple online applications.
- Automated deployments across multiple production servers using Rundeck and bash scripts.
- Created a pre-configured virtual appliance (Vagrant-like) as development environment for development staff
- Designed and implemented a test server deployment system in support of QA testing
- Managed group security audit, created Policy/Standards document, and led security brown-bag for staff education.
- Configured and maintained networked backups with RSnapshot
- Monitored health of multiple systems using Nagios, Cacti, Munin, and Unix utilities
- Configured and maintained department DNS server
- Installed Jenkins, and scripted application integration for various jobs (DB deployments, queued long-running tasks, etc.)
- Contractor coordination and direction
- Coordinated regular systems architecture discussion for development staff.
- Released OSS javascript project to web development community.
- Regular contributor to multiple codebases, both Django/Postgres and PHP/MySQL based.
Montalvo Arts Center, Saratoga, CA
Online Media Manager
- Gathered requirements, wrote specification, and developed institutional (Django based) website for the organization.
- Wrote integration code to keep static media in Amazon S3 storage
- Maintained Linux based server and automated database backup
- Developed new modules as organizational needs arose
- Ensured that site was W3C compliant, and offered modern data formats (RSS, Microformats, ICS event data)
- Monitored site performance and development through Google Webmaster Tools and Google Analytics.
- Maintained multiple websites, some based on the same Django platform, others using open source packages (Wordpress, Drupal, PHPList, etc.)
- Worked collaboratively with graphic designer to develop a functional and visually appealing web presence.
- Worked with other members of the marketing team to promote events through social networks, and make use of other 3rd party tools (Facebook, Ning, Google Apps, etc.)
SJSU, College of Business, San Jose, CA
Webmaster
- Redesigned College website, creating a standardized, modern design with consistent navigation
- Attended 503 compliance workshops, ensured compliance for College website, as well as w3c compliance
- Maintained a Linux based server for College graduate studies program. Installed, customized and extended Drupal to manage site
Dream Community, Taipei, Taiwan
Freelance Web Developer
- Redesigned website for Taiwanese Art Center, creating a minimal, flat-file, PHP based content management system
- Worked collaboratively with graphic designer to produce the web interface and navigation
Agris, Lathrop, CA
Web Developer
- Worked with small team of developers creating custom web based software for the agricultural industry
- Developed skills through a wide range of technologies: HTML, Javascript, ASP, and C# .NET
- Produced graphics and layouts for web and print marketing materials
Selected Exhibitions and Awards
Virtual State of Jefferson, with Ethan Ham
- Co-wrote script to alter text-based resources passing through a proxy
- Configured Squid as the proxy, and Nginx to serve altered content
- Shared a complete technical description with community.
Urban Observatory Visualization, with Bruce Gardner
Circle of Palms, ZERO1 - San Jose, CA
Supported by : ZERO1 for the 2nd Biennial 01SJ Global Festival of Art on the Edge with the support of the James L. Irvine Foundation. Additional support provided by Montalvo Arts Center.
- Developed interactive installation using four linux based computers and four projectors running a geographic visualization
- Wrote Python (Twisted) based code to keep processes on four computers coordinated
- Wrote code to work with the Panoramio API for grabbing images based on latitude/longitude
Narrative Units
Electronic Literature Organization Conference, 2008 Visionary Landscapes Media Arts Show - Vancouver, WA
Bursary winner
California-based, Emerging Artist Commission
ZERO1 for the 2nd Biennial 01SJ Global Festival of Art on the Edge with the support of the James L. Irvine Foundation. Additional support provided by Montalvo Arts Center.
Netbody
Intitute of Contemporary Art, LiftOff - San Jose, CA
- Developed project based on Python/PyCairo and several public API's (Flickr, Technorati, Delicious, and YouTube)
- Rendered project within an EC2 instance, and later compiled a film of the results
- Kept a log file during rendering, which was used later (with Processing) to generate the audio track for the visualization
Surface with Sheau Ching Lee
MACLA, Gente, Casas y Barrios - San Jose
Situated Digital Archaeology with James Morgan, Mike Weisert, Aaron Siegel, and Johnathan Brilliant
ZERO1 - San Jose, CA
Symboler
Ars Virtua, The Real - Second Life
SxSW Visualization
- Designed and created data visualization using XML file for data
- Wrote visualization with Processing
Structurally Open
San Jose State University, Black Gallery - San Jose
Collaborative Projects and Exhibitions
Tantalum Memorial, with Harwood, Wright, Yokokoji
San Jose Museum of Art, 01SJ Biennale: Superlight - San Jose CA
- Wrote perl scripts for extracting phone number and timing data from a MySQL database, then sending the numbers through the modem to activate the strowger switches, and displaying the activity on a terminal screen
- Automated the display computer start-up, script launch, and shutdown
- Collaborated with team members in London, and San Jose to automate retrieval of database updates on a nightly basis
- View installation photos at the San Jose Museum of Art
Tool Shed Days, with Red76
San Jose Museum of Art, 01SJ Biennale: Superlight - San Jose CA
- Developed Welcome to Second Home project website
- Installed and customized Wordpress instance for Welcome to Second Home Printshop
- Wrote integration code for delicious.com, blip.tv, and Yahoo Pipes to produce the Welcome to Second Home Archive
- Wrote Javascript and CSS for SecondHome website following aesthetic of Red76 projects
On Translation : Social Networks, with Antoni Muntadas
San Jose Convention Center, 01SJ - San Jose CA
Laboral Centro de Arte, Feedback - Gijon, Spain
Museo Nacional Centro de Arte Reina SofĂa, Maquinas y Almas - Madrid, Spain
- Coordinated development process between small group of students, and the artist in residence
- Oversaw code development for the visualization (written in PyGame), and developed server side code for data collection and storage (based on PostgreSQL, Django, Google API)
- Managed timelines and coordinated efforts between contractors (English and Spanish speaking) for the physical installation
- Installed the project in three venues, automated display computer for start-up/shut-down and retrieval of data from the server
Education
CADRE Laboratory for New Media, San Jose State University - San Jose, CA
MFA Digital Media
Pennsylvania Academy of Fine Art - Philadelphia, PA
Post-Baccalaureate Studies
San Jose State University - San Jose, CA
BA Studio Art