Nathan Keir Edel
Email: nate AT nkedel.com
Voicemail: four-one-five nine-three-five zero-zero-one-zero
Thank you for your interest. PDF or DOC versions, and direct phone line
are available via request by email.
Summary
* 10 years of software engineering experience
* 7 years building enterprise applications in Java
* 3 years working with storage-related software systems
* Significant related IT/sysadmin experience
* Skills highlights:
* Strongest in Java, with some systems-level C experience.
* A versatile generalist and quick learner.
* Extensive experience with benchmarking.
* Nearly complete MSCS from UC Santa Cruz (degree expected Dec. 2010)
Work Experience
Guidewire Software
March 2006 - present
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 queries for better performance.
* Implemented features for tracking and scoring vendor/service
provider performance. Implementation included a substantial
new SOAP integration between the servers.
* Implemented new and enhanced existing information and
instrumentation pages tosupport internal benchmarking and
to allow customer support to collect data for analysis from
the field.
* Application and java platform benchmarking and tuning across
multiple release cycles.
* 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 and 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 — 2010
* M.S. degree in Computer Science, coursework complete 11/2009
* MS Thesis: "MRAMFS: A Compressing File System for Non-Volatile RAM"
in progress, defense expected March or June 2010
* Courses: Operating Systems, Storage Systems, Archival Storage,
Multimedia Systems, Web Archaeology, Programming Languages,
Computer Architecture, Artificial Intelligence, Algorithms
Dartmouth College
June 1999
* B.A. in Anthropology. Computer Science Minor.
Hunter College/City University of NY
1993 - 1994
* 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 (pdf)
(An earlier version of this work was presented as a
work-in-progress report at FAST 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 (pdf)
Relevant Skills
Languages:
(proficient) Java, Perl, C
(some familiarity) C++, HTML, PHP, JavaScript, x86 Assembly, SQL,
Visual Basic 6, bash
Application/Web Server: Tomcat, Apache, mod_perl, some familiarity with IIS
Technologies/APIs: Servlets/JSP, JavaMail, Linux kernel APIs
(VFS especially), MIME, SMTP, HTTP, XML/DOM/SAX, perl modules, Sockets,
SOAP/WSDL/web services, some familiarity with AJAX and with J2EE
technologies not mentioned individually.
Development Tools: IntelliJ IDEA, perforce, jira, Linux/GNU tool
chain, KDevelop, cvs, Subversion, Bugzilla (some familarity with Eclipse)
Operating Systems: Linux (15 years+), Solaris, Windows Server
Databases: some familiarity with JDBC, Perl DBI, mysql,
MS SQL Server and Oracle
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,
iSCSI, 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)
(See also conference papers above)