Edward R. Powell

Powell photo

Contact information

Internet:
ted@psg.com
Voice:
+1 604 738 9000
Post:
#34126, 2405 Pine Street,
Vancouver Canada V6J 4M1

Personal

Expertise

Employment history

1971-present
President, Entropy Limited, Vancouver-based software consulting firm. This period included work from time to time on a personal contract/employee basis at various Vancouver-based companies, most recently TGI Technologies (1999-2002).
1970-1971
Vice-President, Entropy Limited.
1965-1971
Student.
Summer 1966
Programmer, Defence Research Establishment Pacific, Esquimalt, BC.
1958-1965
General List Officer, Royal Canadian Navy.
1947-1958
Student.

Education

1965-1971
PhD student, Mathematics/Computer Science, UBC. Did not complete, because of increased involvement with Entropy Limited.
1960-1962
BSc student, UBC, graduating with first class honours in mathematics and physics.
1958-1960
BSc student, Victoria College, Victoria BC.
1953-1958
University School (now St. Michael's University School), Victoria BC. Placed first in class each year.
1947-1953
Public schools in Duncan BC.

Selected projects

2006
Set up an HPC (High Performance Computing) cluster of 64-bit machines running Fedora Core 5, using release 5.0beta of the OSCAR (Open Source Cluster Application Resources) kit. Much of the kit content is in OS distribution specific directories, and at the beginning of this undertaking there were no Fedora Core 5 directories, making this more of a challenge than it might otherwise have been. Provided the client with detailed step-by-step instructions, enabling client staff to replicate the process.
2004-2006
Participated in a project to develop an infrastructure for vending machine management via the Internet. This began with analysis, and ultimate rejection, of an existing web-based application which the client had hoped to convert to this purpose. Following this, a new database schema was developed, and user interface screens for entering vending machine descriptions, product descriptions and multiple-currency pricing, status review, etc, were developed using PostgreSQL, Java, Java Servlets, Java Server Pages, and the Apache Tomcat web server. Work included enhancements to a previously-developed Java application for building SQL commands for constructing a schema from a database describing the required schema.
2004
Continued development work on the FIRE email system, adding management capability for groups of domains, upgrading from Exim version 3 to version 4, configuring LDAP server replication, configuring Exim and GNU Mailman for virtual-domain mailing lists.
2004
Developed a registration database for a convention, using XML, Relax NG, XSLT, and the xmloperator environment.
2004
Solved a problem with the "layers" feature in the Scribus open-source desktop-publishing program, and had the patch accepted by the author.
2003
Added LDAP authentication and a configuration file capability to the cucipop POP server.
2003
Maintenance work on the FIRE email system, migrating from OpenLDAP version 2 to version 3, and to a newer Perl LDAP API.
2002
Linux kernel programming, mainly USB driver software for PDAs using ARM family CPUs. In the course of this, developed a standalone build environment for drivers, and a methodology for non-recursive makes with automated dependency handling. Gained some experience with the Doxygen source code documentation facility.
2002
Worked on software tools for reconstructing IMAP mail folders.
2001
Redesigned the internals of the messaging library for a major internet application and implemented the new design. The new library required only minor modifications to the application layer, and could interoperate with hosts still using the old library. It provided enhanced capabilities through its use of the "OpenSSL" (Secure Sockets Layer) library. Interfacing to OpenSSL included designing and implementing two OpenSSL-compatible "BIO" modules, which support RMS (Record Marking Standard) and XDR (eXternal Data Representation), as required by the application.
1999
Database-backed GUI development in Java, using the Swing library and the JDBC interface to the PostgreSQL database system.
1998
Developed a forms package using Visual Basic on MS Windows NT. Forms display and user interaction were via a Wyse-60 ASCII terminal located remotely from the PC and connected to it via a serial line.
1998
Developed a web-based application using LDAP (Lightweight Directory Access Protocol) to allow administrators and users to manage email processing for multiple domains, including the creation of new domains.
1997
Participated in the development of a turnkey firewall/server package based on Linux.
1997
Set up, from scratch, and administered an office system with a Sun SPARCstation/Solaris mail and file server and multiple PC/Win95 machines.
1997
Software development, in Perl, interfacing to the CyberCash payment system.
1995-1996
Administered an installation including Sun SPARC systems, X terminals, and Intel systems, running SunOS, Solaris, SCO, and Windows NT/95/WfWG. In addition to the usual activities of managing user accounts, installing software upgrades, developing in-house applications, and the like, I was required on two occasions to recover from a catastrophic disk failure, necessitating building a replacement drive from backup tapes. In each case the system was restored with minimal loss of user data and availability. Implemented Direct Inward Dialling on the company's Norstar Meridian telephone system.
1993-1995
Software development for embedded 68HC11 processors in MPR Teltech's Flex/WAVE products, using a message-passing multitasking system.
1992-1993
Programming in support of MPR Teltech's ThinkLink project, in particular the set-top box and communications processors.
1992
Ported screen management software for an IBM 3270-like terminal, written in PL/360 (an Algol-ish mid-level language) for the OS/VS1 environment, to C for the UNIX environment.
1991
Participated in the design of an embedded controller for HF radios operating in a network.
1990
Extended UNIX System V accounting software to track usage by project, application program, and user.
1989-1990
Fortran software for Choleski decomposition of large (20,000 rows) sparse real symmetric positive definite matrices.
1988-1989
Software for MS-DOS computers to track usage by project, application program, and user. Consists of resident module (TSR) written in assembler, which traps EXEC function calls and invokes a transient C program. Similar software for Macintosh computers, a desk accessory written in Turbo Pascal.
1988-1989
Wrote a front end SCCS driver program for AT&T's Source Code Control System.
1988
Unix printer driver for PostScript printer, written in sh and PostScript.
1986-1987
Software for real time processing of stock market data arriving from multiple sources.
1986
Designed and implemented a server application for a store-and-forward wide area network (FidoNet). On receipt of messages addressed to it, it would-subject to authentication-carry out functions such as transmitting files and forwarding mail, and charge user accounts accordingly.
1984-1985
Participated in development of Modula-2 Compiler Validation Suite. Developed Modula-2 I/O library for the VAX/VMS environment.
1983
Ported the UCSD p-System to the Hewlett-Packard HP-150, beginning with an IBM-PC implementation.
1982
Ported the UCSD p-System to the NSC 32x32 processor family, beginning with a Z-80 implementation. This included writing a 32x32 assembler in UCSD Pascal.
1977-1980
Developed a full-screen text editor (together with an employee) and a general conversational programming environment, running under IBM's OS/VS1 (a batch environment) and using 3270 display terminals. This included usage accounting and billing software. The system was still in service as of 1994. During part of its lifetime it has run on a pair of CPUs (IBM 4341s) with common user and log files residing on shared disk. Written in IBM 370 assembler and PL/360. Unlikely as this might seem today, each user's session ran in a 256-kilobyte partition.
1978
Led a team building a completely new suite of forest inventory programs for Timberline forest inventory consultants, on the occasion of the BC Forest Service changing all the rules.
1978
Spent a month in Bhopal, India, doing forestry-related programming on an ICL 1901A. A critical shortage of magnetic tapes made it necessary to develop (without prior warning) a tape archiver program to permit more effective use of the few tapes that were available.
1976
Hardware and software for driving a Benson-Lehner drum plotter with a Fairchild F-8 microprocessor.
1972-1973
Designed and implemented (with employees) a high-level language with run-time support for retrieval and processing of data from a large hierarchically-structured data base. Written in Fortran for the CDC 6600 and subsequently ported to the CDC 3300.
1971
Mended DataGen Canada's core-resident real-time operating system (RTOS), which was severely non-functional as delivered, in the course of doing a project based on the Nova minicomputer.
1965
While seconded by the Royal Canadian Navy to the Defence Research Board, participated in an evaluation and comparison of two surface-to-air guided missile systems. Designed and implemented a Fortran program to do a detailed simulation of warding off air attacks with such a system.

References

On request.


Valid XHTML 1.0 Strict Home