Dan Weston
2614 NE 17th Ave.
Portland, OR 97212
503-381-2364
dweston@nerdworks.com


What Can I Do for You?

My specialty is making cutting-edge technology accessible to everyday people. With more than twenty years of programming experience and strong communication skills, I can bring thoughtful design and solid implementation to any project, large or small.


Technology Skill Set


Software Engineering Experience


Critical Path Software, Portland, OR, 2007 - present- Consulting Senior Engineer

Currently working on iPhone application for eBay. Previous work included web-hosted clipart libraries and flex and flash Rich Internet Applications and video streaming. Also worked on blog printing service for popular blog software using Java-based server-side components to render html blogs to PDF.


Thetus Corporation, Portland, OR, 2003 - 2006- Consulting Senior Engineer

Ground-up design and implementation work on server infrastructure for Thetus, which provides collection and classification software for non-text data, allowing distributed collaboration and searching. My work focused on an architecture for a dynamic, plug-in task framework to allow users to extend the classification system to fit their data domain.


Netforest, Salem, OR, 2003 - Consulting Engineer

Helped build the web site for the Oregon Cultural Trust to allow donations over the web using a third-party credit card validation system.


currenex.com, Menlo Park, CA, 2001 - 2002 - Consulting Engineer

Design and implementation work on a distributed, highly-interactive foreign currency trading application accessible over the web. Application involved time-critical response requirements and fault-tolerant transaction semantics. Technologies used included EJB, RMI, raw sockets, Oracle database, and BEA Weblogic server.


WebGain, Portland, OR, 2001 - Consulting Engineer

Created a tutorial to help users learn to use WebGain Application Composer, a unique tool for creating applications from java components.The tutorial included using EJB components to build a medium-sized web application that modeled a mutual fund web site.


driveway.com, San Francisco, CA, 2000 - Consulting Engineer

Product planning and system design for driveway.com's business-to-business offerings. Product was implemented as a set of java servlets and JSP pages communicating with underlying Oracle database servers. Business-to-business communication was implemented with XML messaging over HTTP.


Sight and Sound Software, Portland, Oregon, 1999 - Consulting Engineer

Design and implementation of Fare Specials Manager, an application that allows employees inside American Airlines to manipulate and modify complex database relations that define airline pricing rules.


Intel Architecture Labs, Hillsboro, Oregon, 1995-2000 - Consulting Engineer

Design and implementation of application programs using Intel's Common Data Security Architecture (CDSA). The projects included an electronic checkbook demonstrating digital signatures on checks, a certificate manager for creation of X.509 certificates and certificate revocation lists, and software to utilize PKCS-11 smart cards for cryptographic services.


Flight TECH, Inc. Hillsboro, Oregon, 1996 - Consulting Engineer

Design and implementation work on Intelliflight, an in-flight information system for corporate aircraft, including GPS-driven moving maps and MPEG movie playback.


Intel Architecture Labs, Hillsboro, Oregon, 1994-1995 - Consulting Engineer

Design and implementation work on adaptation of existing UNIX-based content indexing tools to Windows 3.1 and Windows NT. Final products included both stand-alone applications and CGI/World Wide Web compatible modules.


CAChe Scientific, Beaverton, Oregon, 1993-1994 - Consulting Engineer

Design and implementation work on Windows 3.1 version of CAChe’s computer aided chemistry applications. Key member of overall design team. Specific duties included design of data server library to facilitate shared access to chemical data among several concurrent applications. Much of the work involved adapting existing Macintosh and UNIX code to the Windows operating environment and MFC class library.


CAChe Scientific, Beaverton, Oregon, 1991-1992 - Consulting Engineer

Designed and implemented various parts of a network-based client-server application suite for performing computationally intensive tasks on distributed processors, including Macintosh-hosted Motorola 88000 coprocessor cards and IBM RS-6000 workstations. System relied extensively on Apple Events and low-level network transport protocols for interprocess communication.


E-Machines,Inc, Beaverton, Oregon, 1991 - Consulting Engineer

Wrote an Ethernet diagnostic program for customer validation of E-Machines Macintosh ColorLink Ethernet board.


Nerdworks, Portland, Oregon, 1990 - Independent Software Developer

Developed a C++ application framework for Macintosh programming. The software is sold as a companion product to The Elements of C++ Macintosh Programming.


Cogent Research,Inc., Beaverton, Oregon, 1989 - Consulting Engineer

Wrote low-level system utilities to implement clipboard and sound services for QIX, a UNIX- like operating system for parallel-processing computers.


CAChe Scientific, Beaverton, Oregon, 1988-89 - Consulting Engineer

Provided design consultation and programming services for a group working on a computer- aided chemistry product for the Macintosh. Work included 3D color graphics firmware for Macintosh II and application software written in C++.


E-Machines,Inc., Beaverton, Oregon, 1987-88 - Software Engineer

Designed and implemented Nubus configuration firmware for Macintosh II video products, including monochrome, gray scale, and color display controllers. Work also included diagnostic and evaluation software.


Nerdworks, Portland, Oregon, 1987 - Independent Software Developer

Developed the MacApp Browser, a Smalltalk-like browsing tool for object-oriented programming on the Macintosh, now marketed by the MacApp Developers Association.


Technical Writing Experience


Developmentor, Torrance, CA, 1999-2000 - Contract Technical Writer

Wrote technical documentation for SOAP, the Simple Object Access Protocol, an HTTP/XML-based method for remote procedure calls over the internet. SOAP defines an XML encoding format for requests and responses between clients and servers. SOAP acts as the glue between heterogeneous distributed software components. In SOAP, clients and servers send these requests and responses back and forth using the HTTP transport mechanism.


Microsoft Corporation, Redmond, Washington, 1992 - Contract Technical Writer

Wrote technical documentation for Windows NT. Specific topics included interprocess communication mechanisms and virtual device drivers.


Microsoft Corporation, Redmond, Washington, 1990-91 - Contract Technical Writer

Wrote technical documentation for MFC version 1.0, an object-oriented class library for C++ programming in DOS and Windows. Wrote a tutorial, cookbook, and sample programs.


Cogent Research, Beaverton, Oregon, 1989 - Contract Technical Writer

Wrote technical documentation for parallel programming and PostScript graphics programming for Cogent's parallel workstations. Work included the creation of sample parallel programs in C++.


Microsoft Corporation, Redmond, Washington, 1988-89 - Contract Technical Writer

Wrote technical documentation for OS/2 Presentation Manager. Developed documentation and sample programs for software developers writing applications for OS/2.


Intel Corporation, Hillsboro, Oregon, 1987 - Staff technical writer

Wrote technical documentation of iRMX 386; a real-time, multiprocessor operating system based on the 80386 CPU. Duties included planning, research, writing, creating sample programs, illustrations, and layout.


Technical Training Experience


Developmentor, Torrance,CA 1995-current - Programming Instructor

Teacher for classes in java servlets, JSP, EJB, and Web Services. The classes last one week and include direct instruction and extensive lab experience. Classes are targeted at professional software engineers looking to gain competance in object-oriented programming.


Publications



Education