
Projects

Downloads

Resume

Photos

Pictures

Illustrations

3D

Videos
|
 |
David C. Morrill
|
 |
 |
901 Morning View Place
Round Rock, Texas 78665
|
Phone: (512) 536-0790
E-mail: david.morrill at gmail dot com
|
|
 |
 |
 |
 |
 |
Career Goals
|
 |
 |
Software engineer on a cutting edge application or project.
|
 |
 |
 |
 |
 |
Experience
|
 |
 |
 |
Enthought, Inc. |
 |
Senior Software Developer
Austin, Texas
|
December, 2001 - August, 2008
|
 |
 |
 |
 |
- Second technical employee of a small consulting start-up that focuses on
creating advanced scientific applications using Python. Hired the day
following the initial interview after the founding partners had already
reviewed over 400 applicants.
- Created several open source Python projects which are now the foundation
for all applications produced by Enthought:
- Traits: A powerful reactive programming and user interface
package.
- Chaco: A 2D plotting package oriented toward scientists and
engineers.
- Enable: A 2D graphics component model and library.
- Worked on the development of:
- Two seismic and geophysical simulation applications (ProAVA2 and
Converge).
- A computational fluid dynamics modeling/simulation application
(VMS).
- A ground penetrating radar simulation system (Tempo).
|
 |
 |
 |
 |
 |
Psionic Software |
 |
Senior Software Developer
Austin, Texas
|
June, 2000 - August, 2001
|
 |
 |
 |
 |
- Responsible for the design and implementation of a secure, cross-platform
mobile agent system for agent-based network intrusion detection, auditing and
forensic information gathering.
- Responsible for the complete design, implementation and testing of a
browser-based user interface to a cross-platform
intrusion detection security system.
|
 |
 |
 |
 |
 |
IBM Corporation |
 |
Senior Software Engineer
Austin, Texas
Yorktown Heights, New York
Boca Raton, Florida
Rochester, Minnesota
Kingston, New York
Poughkeepsie, New York
|
until February, 1999
|
 |
 |
 |
 |
- Designed and implemented Jester, an introspection based test tool for
Enterprise Java Beans.
- Created sample Java Servlet and JSP (Java Server Pages) based Enterprise
Java Bean applications for Websphere Application Server.
- Designed and implemented major portions of a Java Bean
component assembly tool and a distributed catalog for Java Bean
components.
- Technical lead for the SOM kernel, IBM's cross-platform, language
neutral system object model.
- Developed Avid compatible video import function for broadcast quality
non-linear video editing system on IBM PVS supercomputer.
- Created/developed DrDialog, a Visual
Basic-like programming environment for OS/2 REXX.
- Created/developed HOPE, an Oberon language programming environment for
OS/2.
- Created/developed ME/2, an OS/2 environment for building programming
environments.
- Created/developed WINK and EGAD, fast windowing libraries for PC DOS.
- Created/developed DCEMM, an EMM (Extended Memory Manager) emulator for
PC DOS.
- Created/developed QikCache, a disk caching program for PC DOS.
- Co-created/developed ACE, a C programming environment for PC DOS.
- Lead team that developed TopView, a window-based,
multi-tasking extension to PC DOS.
- Worked in advanced office systems technology group. Created/developed
prototypes of object-oriented, window-based systems for System/370 VM,
Apple II and original IBM PC.
- Lead team that developed System/34 BASIC language product.
- Lead team that developed System/34 MRJE remote job entry product.
- Lead team that developed System/32 1255 MICR (check reader) attachment
product.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
Key Technical Accomplishments
|
 |
 |
 |
 |
 |
 |
In six months, created a completely customizable browser based user
interface to a host based intrusion detection system.
The system is
completely database driven and consists of 360+ web pages and
database back-end processing pages, containing more than 87,000 lines
of DTML (an HTML extension language) and SQL (nearly 5 MB of source code).
The system, based on Zope (an Open Source web application server using
a powerful OO database) and the MySQL database, was developed in the
following stages:
- Created a tool (ZopeWatch) which enables standard tools
like CVS, EMACS, Fireworks
and Dreamweaver to seamlessly integrate with the Zope OO database
running across a network using an XML-RPC interface.
- Created a UI "scripting language" (DGen) which
allows a developer to describe
a database driven web page in terms of SQL queries, updates, fields and
high-level presentation styles (e.g. Report, Update, View, Query, and
so on). The script interpreter then automatically generates all
necessary HTML, DTML, Javascript, and server-side SQL processing code
needed to implement each web page. The generated pages are then
transparently uploaded to the Zope server using ZopeWatch. The generated pages
also have the side benefit of allowing
each user to modify the page's appearance through fully customizable
"themes".
- Defined a security system database schema that models the
capabilities of each component in the intrusion detection system, and
used the UI scripting language to implement a user interface that
allows each security expert to fully describe his or her components.
- Created higher-level scripts which extract "meta-data" from the security
database and automatically build and run the DGen UI scripts needed to create
the web pages that allow end users to configure the intrusion
detection system.
- Used DGen to create all remaining web pages for the
system (e.g. intrusion detection reports, new user registration, etc).
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
Major Skills
|
 |
 |
 |
Object oriented analysis and design |
 |
 |
Tool building |
 |
 |
Keen insight into how to structure and layer systems for maximum
efficiency and productivity |
 |
 |
Python, Ruby |
 |
 |
C, C++, C#, Java |
 |
 |
SQL |
 |
 |
Javascript, (D/X)HTML, CSS, DOM |
 |
 |
x86 Assembler |
 |
|
 |
 |
 |
 |
 |
Minor Skills
|
 |
 |
 |
Image (Photoshop, Illustrator) |
 |
 |
Video (After Effects, Combustion, Vegas) |
 |
 |
3D Graphics (Softimage XSI, Lightwave, Cinema 4D, Modo, Silo) |
 |
|
 |
 |
 |
 |
 |
Technology Interests
|
 |
 |
 |
AIR, Flex, Flash |
 |
 |
.Net |
 |
 |
Dynamic languages (ActionScript 3.0, (Iron)Python, (Iron)Ruby,
Boo, Groovy, Lua) |
 |
 |
Maximizing developer productivity and code quality |
 |
 |
Synthesizing designer and developer workflows |
 |
 |
Improving end user experiences |
 |
|
 |
 |
 |
 |
|