Carol Deihl - Resume

Areas of Technical Expertise
  • Secure Internet application hosting (web, email, sftp, custom)
  • Web site, web application, and traditional software development
  • Unix (especially FreeBSD) system and network administration
  • Privacy issues for online businesses
  • Internet technologies, utilities, protocols
  • Hand-crafted firewalls and Internet security for Unix-based systems
  • Object-oriented analysis and design
  • User interfaces and software tools
  • Graphic design, photography, video production
  • Documentation and desktop publishing
  • Object database theory and implementation
Unix Proficiencies
  • FreeBSD, MacOS, Apple iOS (iPhone/iPad), Apache/OpenSSL/nginx, postfix, dovecot, sendmail, bind and djbdns (DNS)
  • Elixir, Erlang, large system design
  • PostgreSQL, MySQL (schema design, SQL coding, and admin)
  • Ruby, Rails, PHP, HTML, CSS, JavaScript, Objective-C, C, Perl
  • Unix tools (sh, yacc, grep, emacs, awk, Pixelmator, GNU tools, etc.)
March 2004 - present: Principal, Shrier and Deihl, Ouray, Colorado.
July 1984 - March 2004: Principal, Shrier and Deihl, Dallas.

Current projects:

Design, implement, and manage virtual and dedicated FreeBSD Unix Internet servers for Westryn Internet Services (formerly known as Tinker Internet Services), a service of Shrier and Deihl. Design, configure, monitor security of servers (all use jails extensively). Install, configure, administer, and develop software. Configure kernels. Maintain DNS servers and domain name registrations. Manage secure SMTP and IMAP servers. Manage SSL certificates. Customer support.

Assist with system administration for ISP in a remote mountain locale. Includes hiking to microwave antenna installation cliffside at 10,000 feet (view from the antenna) in the snow to troubleshoot and repair equipment.

Analyze client requirements, design user experience, graphic design and production. Develop web sites with client and server side scripting (HTML, CSS, Phoenix, Elixir/Erlang, Ruby, Rails, Python, PHP, JavaScript, PhotoShop/Pixelmator, graphics), server applications and databases (SQLite, PostgreSQL, MySQL). Develop ecommerce sites with custom database-driven catalogs, shopping carts, and secure order processing.

Older large projects:

User interface design for several iOS (iPhone/iPod Touch) apps.

Design, develop, host, and operate complete software system to process daily sales data from a mainframe system (over 150 stores, 1 million transactions per day) and to manage the customer rewards "points" program (over 300,000 members) for a large specialty chain retailer. Analyze sales data and produce reports used daily by top corporate management, audit for fraud. Design, develop, host web-based system to support call center operators. (FreeBSD, PostgreSQL, Ruby, C, awk, various scripting).

Remote system administration and firewall management for clients (FreeBSD, IBM 390, Cisco PIX).

Further back:

Manage virtual and dedicated FreeBSD Unix and Windows NT servers for CreateTech, a web development and hosting company eventually acquired by (later acquired by Design, configure, monitor security of servers. Install, configure, administer, and develop software. Configure kernels. Maintain DNS servers and InterNIC registrations. Manage SSL certificates. Customer support. Develop secure Internet commerce website using PHP3, HTML, PostgreSQL, MySQL, Apache (Stronghold). Install, manage Real Audio/Video servers. Maintain Cisco router.

Co-design and implement scheme for secure, chrooted Apache virtual web servers and virtual mail servers (sendmail, smtpd) on FreeBSD. This was an original invention of Virtual Private Servers (before the name was coined). Develop web-based system to register domain names, configure DNS and virtual web servers in Perl, Shell, MSQL. System used daily by non-technical persons.

Montessori curriculum development for the Albanesi Educational Center, Dallas. Includes research of science subjects, writing, desktop publishing.

Design network topology for secure, agent-based internet commerce system. Modify FreeBSD kernel for additional security. Install and configure TIS firewall. Arrange Internet connectivity.

Develop high-level design for agent-based internet commerce system, based on inventor's ideas. Write 100+-page patent application, including 40+ diagrams. Patent 6,119,101, "Intelligent Agents for Electronic Commerce", issued on September 12, 2000.

November 1992 - August 1995: Software Architect, Multimedia Healthcare Systems, Irving TX (Dallas area)

Co-designer of proprietary Objectbase and Objective-C-inspired language, for NEXTSTEP. Design and implement an admin app and IB palettes to communicate with Objectbase, allowing drag-and-drop connections between interface objects and Objectbase business objects (similar to EOF). Classes, variables, methods, and data can all be manipulated from an IBEditor via a live connection to the Objectbase, as well as through the admin app. Apps use PDO to communicate with the Objectbase.

Design and implement business objects (in Objectbase language) and user interface (in Objective-C) for medical practice management system, under NEXTSTEP. Acquired extensive knowledge of medical business and office procedures.

Earlier Shrier and Deihl projects:

Design and implement prototype WYSIWYG forms management for real estate title company, in Objective-C on the NeXT.

Design and implement prototype for pay telephone management system, in Objective-C on the NeXT.

Design and implement a Type 1 PostScript font for proprietary use by a local business.

Co-author of C/Database Toolchest marketed by Mix Software: B+tree, ISAM, screen management subroutine libraries including the full-screen "Little Data Manager" database program. Authored 375 page tutorial manual, including user and programmer reference sections and internal "design decision" notes. Over 50,000 copies have been sold, and the source code was used in university programming courses. This product was conceived, designed, and implemented entirely by Shrier and Deihl.

Design and implement "troff" clone to produce PostScript output (before the days of PS support on PCs) to format the C/Database Toolchest manual; in C on IBM-PC.

Desktop publication of documentation and promotional materials for several local companies.

Design and implement a billing program for a local private school, in C for IBM-PC.

Implement a UNIX "curses" library for the IBM-PC.

Design and implement all controller software (communications and real-time database) for telco central office hybrid analog/digital switch, deployed in midwestern U.S. Written in C and Z80 assembly.

Design and implement database for automated credit collection system, on CP/M-68K in C.

Design and implement enhancements to Unix System V kernel for a parallel processing multicomputer.

Design and implement a one million record data base manager for real estate title records, with a menu system and character-based windows. Written for PC-DOS (IBM PC) in C.

June 1982 - July 1984: Lead Software Engineer, co-founder, Varix Corporation, Dallas.

Design and implement user interface, software tools, user manuals for the Omni-Programmer, a software-driven device programmer (proms, PALs, PLAs, etc.). CP/M-80, IBM PC, mostly in C, some Z80/8085/8088 assembly.

Port Unix shell scripts, C programs from V6 to System III. Communications between PDP-11 and HP-64000. User interface for 3780 emulator for CP/M-80 and MS-DOS, in C.

September 1981 - May 1982: Software Engineer, Tandy Corporation, Fort Worth.

Install, support Unix V7, Berkeley 4.1, VMS, cross-compilers on Vax. Develop tools for TRSDOS and Unix (Z80 assembly and C).

December 1979 - September 1981: Software Systems Programmer, Rockwell CCSSD, Dallas.

Design and implement front-end of self-compiling compiler and language enhancements for Rockwell proprietary language. Mostly in C, on Unix V6 and RSX. One of the early commercial uses of yacc.

September 1977 - December 1979: Systems Programmer, Harris Data Communications, Dallas.

Design language, self-compiling cross compiler on IBM 370, for Interdata 7/16. Develop, install, support Superwylbur, other tools, on 370. Design and implement disk compression utility.

September 1975 - August 1977: University of Texas at Dallas.

Scientific programmer for geophysics, solar energy, space sciences departments, mostly in FORTRAN. Remote Job Entry operator with responsibility for computer center. Assist students and faculty with writing and debugging programs in multiple languages.


1992: Audit Montessori teacher training for Preschool and Elementary levels, including classroom internship, Contemporary Montessori Education program of the Albanesi Educational Center, Dallas.

1979: Nine hours graduate courses (Computer Science and Astrophysics), University of Texas at Dallas.

1977: Bachelor of Science (Physics), University of Texas at Dallas, cum laude. R.A. Welch Fellowship, Amelia Lundell Scholarship.

1977: Associate of Arts (Physics), Eastfield College, Mesquite, Texas.

Personal Data

Interests include hiking the Colorado San Juan mountains, climbing 14ers, renaissance and medieval music (specializing in viola da gamba), structure of systems by interactions of emergent entities, application of emergent entity theory to software architecture, cognitive science and neural networks, Objectivist philosophy, Montessori education, and reading non-fiction.

Founding member of the Dallas Consort of Viols and the Random Consort, Renaissance music performance groups.

Summary of Computer Languages
Current and recent:
  • Elixir/Erlang
  • Go
  • Ruby, Rails
  • C, Objective-C
  • PHP
  • HTML, JavaScript, CSS
  • SQL
  • Shell, awk, etc.
  • Perl
  • PostScript
Way back there:
  • Logo
  • Pascal
  • Lisp
  • various assembly languages from micros to mainframes
  • many proprietary, specialized languages
Summary of Hardware and Operating Systems
Current and recent:
  • FreeBSD
  • MacOS, iOS
  • Linux
Way back there:
  • NEXTSTEP on NeXT, Intel, HP
  • Windows NT
  • Windows 95/98
  • Interactive Systems V 3.2 Unix
  • 80x86 (UNIX/MS-DOS)
  • Z80/8080/8085 (CP/M-80)
  • Vax (UNIX, VMS)
  • Apple II
  • PDP-11 (UNIX, RSX)
  • PDP-15
  • DEC-10
  • IBM 360/370 (OS/MVT, OS/VS1)
  • Interdata 7/16

Comments, questions, problems with this site? webmaster at
Site Design, Development, and Hosting provided by: Westryn Internet Services