# -*- org-export-html-auto-postamble:nil -*-
#+TITLE:   Eric Schulte
#+OPTIONS: toc:t num:nil ^:nil
#+STARTUP: hideblocks
#+STYLE: <link rel="stylesheet" href="data/stylesheet.css" type="text/css">

# font
#+HTML: <link href='http://fonts.googleapis.com/css?family=Ubuntu' rel='stylesheet' type='text/css'/>

# me
#+HTML: <div id="me"><img src="data/dock.png" class="" alt="me" /></div>

# contact
#+HTML: <div id="contact"><tt>eschulte-at-cs.unm.edu</tt></div>

# PGP key
#+HTML: <div id="pgp"><a href="data/eschulte-key.txt"><tt>FA8D C2C3 E8A0 A749 34CD  9DCF 3C1B 8581 614C A05D</tt></a></div>

** Background
   :PROPERTIES:
   :CUSTOM_ID: background
   :END:

- I am currently enrolled as a doctoral student at the University of
  New Mexico where I am a member of Stephanie Forrest's Adaptive
  Computation Group.  I have previously taken classes in computer
  science at the University of Washington and George Mason University.
- For the five years previous to graduate school, I was employed by
  Mitre, a Federally Funded Research and Development Center.  During
  that time I was promoted to the position of /Senior AI Engineer/ and
  played a key technical role supporting project Argus(pdf).
- I completed my undergraduate studies at Kenyon College with a
  semester at the Budapest semester in Mathematics.  I graduated with
  a BA in mathematics and a minor in philosophy.

** Research
   :PROPERTIES:
   :CUSTOM_ID: research
   :END:

I am researching the parallels between /computational/ and /natural/
systems, with the goals of increasing the evolvability and robustness
of computational systems.  See my dissertation proposal for more.

** Publications
   :PROPERTIES:
   :CUSTOM_ID: publications
   :END:

# (pdf, Bibtex)

- Eric Schulte, Jonathan DiLorenzo, Westley Weimer, Stephanie
  Forrest. _Automated Repair of Binary and Assembly Programs for
  Cooperating Embedded Devices_ /Architectural Support for Programming
  Languages and Operating Systems (ASPLOS) 2013/ (pdf, Bibtex, slides)

- Eric Schulte, Zachary P. Fry, Ethan Fast, Westley Weimer, Stephanie
  Forrest.  _Software Mutational Robustness_ /unpublished/ (arXiv,
  pdf, Bibtex)

- Eric Schulte, Dan Davison, Tom Dye, Carsten Dominik.
  _A Multi-Language Computing Environment for
   Literate Programming and Reproducible Research_
  /Journal of Statistical Software/
  (JSS site (supplemental materials) pdf, Bibtex)

- Eric Schulte, Dan Davison.  _Active Documents with Org-Mode_
  /Computing in Science & Engineering 2011/ (pdf, Bibtex, source)

- Eric Schulte, David Ackley.  _Physical Evolutionary Computation_
  /University of New Mexico TR-CS-2011-01/ (pdf, Bibtex)

- Eric Schulte, Stephanie Forrest, Westley Weimer.  _Automated Program
  Repair through the Evolution of Assembly Code_ /Automated Software
  Engineering (ASE) Short Paper 2010/ (pdf, Bibtex).
  A summary is presented in the following presentation and poster.

- Paul Lehner, Charles Worrell, Chrissy Vu, Janet Mittel, Stephen
  Snyder, Eric Schulte, Warren Greiff, _An Application of Document
  Filtering in an Operational System_ /Information Processing &
  Management 2010/ (Bibtex)

** Open Source Projects
   :PROPERTIES:
   :CUSTOM_ID: projects
   :END:

I am currently or was the lead developer and maintainer of the
following open source projects.

- Babel adds /literate programming/ and /reproducible research/
  functionality to Org-mode, a major mode of the Emacs text editor.
- Emacs Starter Kit is a structured extensible default configuration
  for Emacs implemented using literate Org-mode files.
- Rinari is a /Ruby on Rails/ minor mode for Emacs.
- Manipulation of ELF files:
  - elf a CLOS based API for Elf file manipulation in Common Lisp
  - rw-elf a simpler C library for ELF file manipulation
- Manipulation of C-language Abstract Syntax Trees:
  - clang-mutate manipulates C-family ASTs with Clang
  - cil-mutate manipulates C Intermediate Language ASTs with CIL
- GRAPH is a Common Lisp library for graphs manipulation and analysis.
- data-wrapper wraps text data in a portable shell script enable
  sharing of both data and analysis
- ixm-collector allows IXM's to report back to central collector
- ixm-repl allows interaction with a tribe of IXM from within a
  Clojure repl

** Course Notes
   :PROPERTIES:
   :CUSTOM_ID: course-notes
   :END:

- Spring 2013
  - =biol517= Basic Graduate Evolution (notes)
- Spring 2011
  - =cs591= Cognitive and Comp Neuroscience (notes)
    - final ego-machine.pdf (code, video)
- Fall 2010
  - =cs547= Neural Networks (notes)
    - final paper cs547.schulte.final-project.pdf
- Comprehensive Exam (notes)
- Spring 2010
  - =cs500= Theory of Computation (notes)
  - =cs550= Programming Languages & Systems (notes)
    - final presentation schulte.non-von-neumann-computation.pdf
    - a concurrent propagator system implemented in Clojure
  - =cs691= Robust Physical Computation Seminar (notes)
  - =cs691= Adaptive Reading Group (notes)
- Fall 2009
  - =cs558= Software Foundations (notes)
  - =cs587= Advanced Operating Systems (notes)
    - final paper bfs-v-cfs_groves-knockel-schulte.pdf
  - =cs591= Robust Physical Computation (notes)
  - =cs691= Adaptive Reading Group (notes)

** Curriculum Vitae
   :PROPERTIES:
   :CUSTOM_ID: curriculum-vitae
   :END:

A recent (/as of August 2009/) copy of my CV is
available at eric-schulte-cv.pdf.