Ethan Miller

Art Technology

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

Oct 2012 - ongoing

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.


Jun 2009 - Sep 2012

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.


Jul 2007 - Jun 2009

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.)


Sep 2004 - Jul 2007

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


Jan 2004 - Jul 2004

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


May 1999 - Nov 2003

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

May 2010

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.

The Virtual State of Jefferson project description


Jun 2008

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

Urban Observatory Visualization project description


May 2008 - Jun 2008

Narrative Units
Electronic Literature Organization Conference, 2008 Visionary Landscapes Media Arts Show - Vancouver, WA
Bursary winner

Narrative Units project description


May 2008

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.


Apr 2008

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

Netbody V2 project description


Jun 2007 - Jul 2007

Surface with Sheau Ching Lee
MACLA, Gente, Casas y Barrios - San Jose

Surface project description


Aug 2006

Situated Digital Archaeology with James Morgan, Mike Weisert, Aaron Siegel, and Johnathan Brilliant
ZERO1 - San Jose, CA


Apr 2006

Symboler
Ars Virtua, The Real - Second Life

Symboler project description

Nov 2005

SxSW Visualization

  • Designed and created data visualization using XML file for data
  • Wrote visualization with Processing
visualcomplexity.com, originally for Switch, issue 20


Feb 2005

Structurally Open
San Jose State University, Black Gallery - San Jose

Structurally Open project description


Collaborative Projects and Exhibitions

May 2008 - Aug 2008

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


May 2008 - Aug 2008

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


Jun 2005 - Jul 2008

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
  • On Translation : Social Networks project description


Education

Sep 2004 - Jun 2008

CADRE Laboratory for New Media, San Jose State University - San Jose, CA
MFA Digital Media


Sep 1996 - Jun 1997

Pennsylvania Academy of Fine Art - Philadelphia, PA
Post-Baccalaureate Studies


Sep 1994 - Jun 1996

San Jose State University - San Jose, CA
BA Studio Art