Kim Shrier - Resume

Areas of Technical Expertise
  • Internet development and security
  • Web hosting and administration
  • Database theory and implementation
  • Real time process control systems
  • Communications
  • Object-oriented analysis and design
  • OO, relational, and network data base management systems
  • Operating system enhancements, device drivers
  • Compilers and command processors using Yacc and Lex
  • Hardware diagnostics
Unix Proficiencies
  • FreeBSD, MacOS, Apple iOS (iPhone/iPad), Apache, Nginx, bind (DNS)
  • PostgreSQL, MySQL (schema design, SQL coding, and admin)
  • C, Objective-C, Go, Ruby, PHP, Python, Perl, Java, PostScript programming
  • Unix tools (sh, yacc, lex, grep, awk, emacs, GNU tools, etc.)
Experience
March 2004 - present: Principal, Shrier and Deihl, Ouray, Colorado.
July 1984 - February 2004: Principal, Shrier and Deihl, Dallas, Texas.

Current projects:

Write Go packages that interface to low-level C libraries on Illumos. Add missing Illumos/Solaris support routines to the standard Go packages.

Invent, design, and implement a copy-protection system to prevent theft of software from a multi-computer embedded Linux system. The system is a commercial product that controls an amusement park ride including audio and visual special effects. (Python on Ubuntu Linux).

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 secure DNS, SMTP, and IMAP servers. Manage SSL certificates.

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. Develop web sites with client and server side scripting (HTML, Ruby, Rails, PHP, JavaScript, CSS, graphics), server applications and databases (Ruby, C, PostgreSQL, MySQL). Develop ecommerce sites with custom database-driven catalogs, shopping carts, and secure order processing.

Recent larger projects:

Design and implement software for the prototype for the iPhone app for a major online dating service. (Objective-C on iOS).

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. Specify and purchase hardware, capacity planning. (FreeBSD, PostgreSQL, Ruby, C, awk, various scripting).

Teach Unix fundamentals, system/network administration, security classes.

Develop multi-threaded remote object messaging software for Delphi to run on Windows 98, Windows NT, and Windows 2000, for Lacerte Software (now owned by Intuit).

Install, configure, administer, and develop software for CreateTech, a web development and hosting company eventually acquired by Broadcast.com, which was eventually acquired by Yahoo.com. Develop secure Internet commerce websites using PHP3, HTML, Apache, PostgreSQL, MySQL, FreeBSD.

Co-design and implement scheme for secure, chrooted Apache virtual web servers and virtual mail servers on FreeBSD. This was an original invention of Virtual Private Servers (before the name was coined). Configure FreeBSD kernels for various hardware. Implement automatic remote monitoring of all servers. Configure web statistics software.

Co-develop Perl, Shell scripts, MSQL, and C programs to automatically register domain names and configure DNS and Web servers.

Configure Gauntlet firewall.

Research online Internet payment systems. Track current trends and issues in Internet security.

Develop tax form imaging objects, decompression code, and software fax capability in Delphi for deployment on Windows 95 and Windows NT, for Lacerte Software (now owned by Intuit).

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

Port the Portable Objective C compiler to BeOS.

Collaborate with early open source Internet project to port Java to the NeXT environment.

November 1995 - March 1996: Object Technologist, ObjectSpace, Dallas TX.

Analyze, design, and implement a prototype test system in Java. Participated in an intense analysis and design effort for an object oriented process control system. Analyze, design, and implement a prototype voice mail system in C and Smalltalk.

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

Co-designer of proprietary Objectbase and Objective-C-inspired language, for NEXTSTEP. Implementer of the Objectbase. The Objectbase supports the storing of both the data and the methods of an object. Provided an interactive interface to the Objectbase using PDO. Object storage and retrieval is accomplished using the IndexingKit. Converted the Objectbase to use the FoundationKit in order to make it ready for OPENSTEP.

Design and partially implement an EOF adaptor for the Objectbase.

Design and implement a compiler for the ACK language, used to write the schema for the Objectbase. Output of the compiler is in the interactive language of the Objectbase.

October 1988 - November 1992: Lead Software Engineer, Intellicall, Inc., Dallas.

Design and implement distributed real-time software to control and operate single-line and multi-line phone systems, on 68340 in C. Integrate VCS voice recognition software into call progress monitoring system. Re-engineer signal analysis board for private pay telephone. Design and implement credit card / calling card validation system for pay phones and hotel phones. Implement multi-tasking network software to control private pay telephones, under MS-DOS, in C and assembler.

Earlier Shrier and Deihl projects:

Design and implement serial line interface software for 911 dispatching system.

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

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 internal "design decision" notes for the reference manual. 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 graphics subroutine packages and object file format conversion utility for an MS-DOS C compiler.

Design and implement Management Interface Subsystem for a Unix-based telemarketing system.

Design and implement automated credit collection for a national credit corporation, on CP/M-68K in C. Modified CP/M 68K disk driver for significant performance improvement.

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

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.

April 1982 - July 1984: Director of Software Development, Lead Software Engineer, co-founder, Varix Corporation, Dallas.

Design and implement software personality modules, terminal emulator, file transfer utility for the Omni-Programmer, a universal prom programmer. Written for 8080/Z80 (CP/M) and IBM PC (MS-DOS).

Design, implement 3780 emulator in C for Televideo 910 (Turbodos) and IBM PC (MS-DOS).

September 1981 - April 1982: Software Engineer, Advanced Business Communications, Dallas.

Design and implement data base for call routing in a central office phone switch installed in Italy, in C for PDP 11/70, PDP 11/23 (UNIX v7).

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

Detailed design, implementation of network data base (1974 CODASYL data base standard) in PLEXUS for PDP 11/70 (RSX-11D).

Enhance, debug PLEXUS compiler (UNIX v6).

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

Design and implement 3278 emulation software for Harris Standard Terminal in Z80 assembly. Design and implement hardware diagnostics, utilities, remote batch terminal in assembly language for Interdata 7/16 minicomputer, Harris 1600.

January 1976 - May 1977: University of Texas at Dallas.
January 1974 - December 1975: University of Texas at Arlington.

Technical assistant in the computer center. Aided students and faculty with writing and debugging programs, mostly in FORTRAN. Remote Job Entry operator with responsibility for computer center.



Education

1981: Master of Science (Computer Science), University of Texas at Dallas.

1977: Bachelor of Science (Computer Science), University of Texas at Dallas, cum laude.



Personal Data

Interests include reading, cognitive science and neural networks, philosophy, renaissance and medieval music, and hiking the Colorado San Juan mountains.

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



Summary of Computer Languages
Current and recent:
  • C, Objective-C
  • Go
  • Ruby, Rails
  • Elixir/Erlang
  • PHP
  • Shell
  • Java
  • Perl
  • HTML
  • SQL
  • PostScript
Also:
  • C++
  • Python
  • FORTRAN
  • Smalltalk
  • Delphi, Pascal
  • Lisp
  • Prolog
  • various assembly languages from micros to mainframes
  • many proprietary, specialized languages
Summary of Hardware and Operating Systems
Current and recent:
  • FreeBSD
  • MacOS, iOS (iPhone/iPad)
  • Plan 9
  • Linux
  • Illumos/Open Solaris
Way back there:
  • Solaris 2.5.1, 2.6 on Sparc
  • BeOS on PowerPC
  • NEXTSTEP on NeXT, Intel, HP
  • Windows NT/XP
  • Windows 95/98
  • Interactive Systems V 3.2
  • AIX on RS6000
  • 80x86 (UNIX/MS-DOS)
  • Z80/8080/8085 (CP/M-80)
  • Vax (UNIX, VMS)
  • PDP-11 (UNIX, RSX, DOS-11)
  • DEC-10
  • IBM 360/370 (OS/MVT, OS/VS1)
  • Interdata 7/16 (ECOS, COS)


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