JOHN H. H. F. CORNELISON johnc@active-code.com • http://active-code.com 10506 SW 132nd Place, Vashon, WA 98070-3404 • 206.567.0010 Objective Interesting contract programming opportunities designing & developing server components, object based applications & operating system extensions in .NET & Win32 environments using XML, C++/C# or ASP.NET. Professional Experience Consultant (2001) SOFTrade International * Implemented a Microsoft Installer compatible installation package for Softrade’s Subtitling System using InstallShield Developer 7. * English and Japanese installations integrated 3rd party components (MDAC, DirectX & Sentinel) and custom DLLs in a script driven installation. * Developed complete build system with intuitive directory structure and thorough documentation, checklists and test matrices. Consultant (1998 - 2000) AccessVia * Designed & developed C++ IIS ISAPI filter + extension, integrated with the Windows NT/2000 native event logging, visual analyzer, system error stream, IIS web log & metabase. Create initial documentation site & InstallShield setup with JavaScript extensions for ADSI & metabase integration. Aided IIS component debugging with delayed, dynamically loaded DLL's, app to test DLL loading & display system debug stream. * Wrote thin ATL component to wrap existing API, efficiently exposing its functions (with minimal modifications) as COM methods & properties. Proper scaling the older client code for a server environment required use of a neutral threaded model & connection pooling. Custom VB & ASP programs served as test beds & illustrated source code for accessing the component. Designed for re-implementation by customers at a variety of sites, a premium was placed on documenting both external use & rebuilding/extending the component. Robust error detection eased support staff & downstream developer's effort. * Initial Site Server component design required familiarization with Ad, Personalization & Knowledge Managers & meeting with Microsoft staff on design issues. Consultant & Senior Software Engineer (1995 – 1999) Insightful Corporation (previously MathSoft, Inc. & StatSci) * Consulted with a variety of corporate clients on strategies for building ActiveX interfaces between their applications & S-PLUS. Conducted on-site installation & developer training on statistics server product in IIS environments. * Project lead for S-PLUS for ArcView GIS, an ATL based client accessing a late binding Automation server via COM, including development of 14 dialogs supported by over 200 Avenue scripts. This ActiveX component allowed ArcView users to transparently access the power of S-PLUS. * Designed extensions to GeoBrowse, a Java application to analyze hyper-spectral satellite images, identifying forest & crop types as well as human use. Incorporated audio feedback & access to MUTILS image processing library via CORBA. Reviewed object database systems for storing graphical & analysis data. * Senior developer on integration of C++ based technical graphics application (AXUM) with S-PLUS statistical engine, re-crafting dialogs, handling interfacing between the products using different compilers, using BoundsChecker, HeapAgent & Purify to reduce errors, adding ODBC support. * Responsible for Win32 port of S-PLUS (90 MB of source code, 300 MB build tree) changing calling conventions & preserving ability to load object code on the fly. * Helped develop API to access high-end statistical S-Language interpreter (using Lucent Technologies licensed core code) from a remote client. * Initiated & primary author of ~100 page corporate Intranet. * Supported system administration group with tougher NT networking & security issues. Staff Programmer (1993 – 1995) International Business Machines Corporation, Kirkland Programming Center * Port Windows NT to the PowerPC. Project lead for port of Setup, SDK/DDK, SQL Server, MFC & printing components, requiring intimate knowledge of NT loaders, hals/kernel/executive, drivers & external API source code. * Work at Microsoft with core NT team using SLM, build, VSlick, WinRaid & IDW tools to isolate/resolve bugs. * Course & material development of NT’s (public & internal) build/debug/development facilities. * Primary developer & marketing representative at IBM’s 1993 Comdex debut of NT on the PowerPC. Systems Engineer/Consultant (1991 – 1993) Seattle Lab, Inc. & elsewhere * Port UniVerse client-server database from UNIX to Windows NT. * Adapt 800 modules with 250,000 lines of code, using Win32 facilities: multi-process/thread creation messaging, server/client interaction over named pipes & telnet sockets, DLL entry point processing, exception handling using registration database & event logging. * Install, use & test Visual/Borland C++, Visual Basic, NT SDK & Server, PVCS, OLE, ODBC, Bourne shell. * Provide hardware & software recommendations, installation, user training, economic analysis & programming for manufacturing, service, retail, non-profit & governmental associations in Windows, Macintosh & UNIX environments. Executive Director (1987 – 1991) League of American Bicyclists * Directed 12 staff at national organization with 23,000 members, 2,000 volunteers & 500 clubs. * Piloted 280% growth of annual budget to $1,340,000, retiring half-year accounts payables backlog. * Initiated successful programs in membership (53% record membership growth reversed a previous 33% decline), fundraising ($70,000 new annually), volunteering, planning & budgeting. * Guided office automation: installed eight PCs, trained operators, converted to in-house accounting system, composed relational databases & created fiscal/marketing reports. Analytical Laboratory Specialist (1985 – 1986) Minnesota Department of Health * Led development of new billing & results reporting system for Public Health Laboratories. * Authored 175 page external design document assimilating suggestions from 106 scientists. * Evaluated six relational, SQL based, fourth generation database packages on DG mini. * Headed four-person team in modular design, prototyping, coding & system implementation. Software Engineer (1983 – 1984) Dimensional Medicine Incorporated * Conceived & implemented real time, interactive 3-D diagnostic graphics software for modeling skull & spinal surgery on Silicon Graphics & Adage graphic engines running UNIX. * Researched & implemented contour tracing, tessellation & shading algorithms in C. Analyst/Programmer (1982 – 1983) University of Minnesota Computer Center * Project leader supervising four programmers writing in C, FORTRAN & assembler. * Managed extensive, state of the art graphics systems on Cray, Sun & VAX computers. * Conceived & taught six computer courses to students, faculty & state agency personnel. Programmer/Analyst (1978 – 1981, ~40% time) Interactive Management Systems * Develop/maintain database & financial packages (A/P, A/R, GL, payroll) in Business BASIC/DG assembler. * Trained & troubleshot financial report problems for client Certified Public Accountants. Civic Leadership Founding Board Member; Secretary; Internet Special Interest Group Chair (1996 – 1998) BackOffice Professionals Association Patroller (1997 – Current) National Ski Patrol , Alpental Volunteer Ski Patrol Chairman of the Board; Fundraising Committee Chair; Board Member (1989 – 1992) American Trails MN Chapter President & Co-Founder; Washington, D.C. intern (1981 – 1986) Friends of the Earth Education & Certification Official Microsoft beta tester #126484 * OSSA, Visual InterDev, Visual J++, Merchant Server, Commerce Server 2000, Site Server Enterprise, NT 3.1 - 5.0, Win '95 & ME & XP, IIS, IE 3 - 5, IEAK 4 & 5, BackOffice Server 4.5, etc. Microsoft Certified Product Specialist -- Implementing & Supporting Windows NT 3.51, 1996 University of Colorado, University of Minnesota -- Graduate management & productivity courses The Colorado College -- BA Mathematics (Computer Science emphasis) 1981 Western Reserve Academy -- Graduated 1976 with National Merit Commendation Updates and Additional Formats to This Résumé Latest Version and Alternative Formats The latest copy of this résumé is available online at http://active-code.com/. Alternative formats, such as XML, HTML & plain text are also available.