Nathan Keir Edel
Email: nate AT nkedel.com

This version of my resume is here for reference only. Thank you for your interest.  
Other versions and contact information are available via request by email.


Summary
* 8 years of software engineering experience, plus significant related
IT experience:
   * 5 years building web-centric enterprise applications in Java
   * 3 years working with storage-related software systems
* Nearly complete MSCS from UC Santa Cruz
* Strongest in Java; a versatile generalist and quick learner

Work Experience
Guidewire Software
March 2006 -
Software Engineer
* Completed the implementation of searching for contacts by proximity
 using Geocoding, and supported the feature through two release cycles and
 several point-releases.  Enhancements included substantially redesigning
 the underlying search for better performance.
* Implemented features for tracking and scoring vendor/service
 provider performance. Implementation included a substantial new SOAP
 integration between the servers.
* Technologies used: primarily Java; also SQL, XML, SOAP/WSDL

University of San Francisco
April 2005 - February 2006
Web Programmer/Application Administrator
* Mixed application administration/support and development
    position.
* Development tasks included web forms and business process
    automation.
* Technologies used: Perl, Java/JSP, Solaris, Linux

Panta Systems
August 2004 - April 2005
High Availability Software Engineer 
* Created Linux kernel VFS wrapper for active-active high
    availability on NFS.
* Wrote extensions in Python for the company.s cluster
    management package, supporting management and automatic 
    configuration of HA NFS and other storage technologies. 
* Evaluated, benchmarked and deployed various storage
    technologies and hardware.
* Technologies used: Python, C, Linux

University of California, Santa Cruz
September 2002 - June 2004
Regents Fellowship (2002 - 2003)
Graduate Student Researcher (2003 - 2004) 
* Research topics included file/storage systems applications
    for MRAM/other upcoming NVRAM technologies; two conference 
    papers accepted and published.
* Developed a novel scheme for compressing inodes, and
    developed prototype compressing in-memory file system first 
    in user space and then for the Linux VFS.
* Technologies used: C, Java, Linux kernel/VFS, shell scripts

Teaching Assistant (Winter 2003)
* TA for "Software Methodology" (CMPS115), a senior-level
    software engineering course. 

Kana Software
July 1999 - August 2002
Senior Software Engineer
* Developer for Kana Forms through five complete release cycles
* Created Java and Perl versions of Kana Forms, rewrote both
    web- and application-server components to support international/
    multi-lingual content.
* Rewrote the mail sender for Kana Response to support HTML and
    international content; replaced out of date proprietary code 
    with code that made use of a standard API (JavaMail).
* Enhancements and bug fixes in the Response application server
    and Visual Basic client. 
* Technologies used: Java, Perl, Servlets/JSP, Swing, Javamail,
    XML/DOM, Visual Basic
 
Education
University of California, Santa Cruz
Sept 2002 — 
* Work towards M.S. degree in Computer Science, on extended leave,
    one course to complete
* Courses: Operating Systems, Storage Systems, Archival Storage, 
    Multimedia Systems, Web Archaeology, Programming Languages,
    Computer Architecture, Artificial Intelligence

Dartmouth College
June 1999
* B.A. in Anthropology.  Computer Science Minor. 

Hunter College/City University of NY
1993 - 1994
* Non-degree coursework in Computer Science. 

Publications
Nathan K. Edel, Deepa Tuteja, Ethan L. Miller, and Scott A. Brandt,
"MRAMFS: A Compressing File System for Non-Volatile RAM," Proceedings
of the 12th IEEE/ACM International Symposium on Modeling, Analysis,
and Simulation of Computer and Telecommunication Systems (MASCOTS
2004), Volendam, Netherlands, Oct. 2004 

Nathan K. Edel, Ethan L. Miller, Karl S. Brandt, and Scott A. Brandt,
"Measuring the Compressibility of Metadata and Small Files for
Disk/NVRAM Hybrid Storage Systems," Proceedings of the 2004
International Symposium on Performance Evaluation of Computer and
Telecommunication Systems (SPECTS'04), San Jose, CA, Jul. 2004

Relevant Skills
Languages:
  (proficient) Java, Perl, C, C++ 
  (some familiarity) HTML, PHP, JavaScript, Assembly (x86, 68k), SQL, 
                     Visual Basic, Pascal, PL/SQL

Application/Web Server: Tomcat, Apache, mod_perl, some familiarity with IIS 

Technologies/APIs: Servlets/JSP, JavaMail, Java Swing, Linux kernel APIs
 (VFS especially), MIME, SMTP, HTTP, XML/DOM/SAX, perl modules, BSD Sockets,
 SOAP, J2EE, web services, some familiarity with AJAX

Development Tools: JBuilder, Eclipse, Visual J++, Netbeans.org, Linux/GNU
 tool chain, Visual Studio 6, KDevelop, Perforce, cvs, Subversion, Visual
 SourceSafe, Bugzilla

Operating Systems: Linux (10 years+), Solaris, NT/2000/2003 Server, Netware
 (through 4.x)

Databases: JDBC, Perl DBI, mysql, some familiarity with MS SQL Server 2000/2005

Other Networking: MIME, SMTP, IMAP, POP3, SSH, Postfix, spam/email virus
 scanning, some familiarity with Exchange server

Storage technologies: SCSI/SAS/SATA, RAID, Linux LVM, NAS/NFS/SMB, some
 familiarity with SAN, Fiber channel, Infiniband, Lustre

Academic Projects
* A design for data protection for large archives using
    cross-file erasure coding and fast mirror copy
* Benchmarking of commodity and linear flash memories as
    secondary storage for Linux
* Simulation of branch prediction techniques using perceptrons
* Survey of recent work in Aspect Oriented Programming (Java-related)
* Survey of work in Genetic Algorithms, with demonstration of
    their use in a Blackjack program (C on Linux)