Clark Yennie


Clark K. Yennie (October 27, 1949 - ) is a computer scientist and programmer, with significant developments in database management systems and business application software.




Clark Yennie was born in 1949, the son of Kenneth Yennie and Olive Barr Yennie. He grew up in Wyckoff, New Jersey, a suburb of New York City. His father was an air conditioning contractor. Working with his father in his early youth, Clark learned A/C contracting skills ranging from accounting to engineering design and trade skills in the field. His father was a very early adopter of early computer systems which Clark programmed, launching his career in software development.


Clark was also heavily influenced in his early years by his uncle, Donald R. Yennie, a nuclear physicist. “Uncle Don” inspired Clark to study space-time physics, thermodynamics and logic. The combination of engineering, raw hands-on computer science and advanced computational physics converged into a career in software development at a time when there were few software developers and great demand for software.


From the early 1970s on Yennie studied numerous existing commercial software/database platforms and languages. Watching how these systems evolved and performed and applying the best of them to a wide range of applications contributed to Yennie's work.


Work History


In the early 1970s Yennie developed a disk operating system (DOS), written in assembler, for Wang series 700 desktop calculators, and associated applications for small businesses. In 1974 he developed database management systems and business applications on Wang 2200 series computers. He designed a disk multiplexor that was used to connect multiple Wang 2200 workstations to a single disk drive to allow them to share a common database. Wang built and marketed this device. The applications were all custom and were written for manufacturers, retailers, laboratories and distributors. A variety of database techniques were applied to these applications including bit-mapped indexes, hashed files and ISAM-like file systems.


In 1976 Yennie became one of the first independent software vendors (ISV) for Microdata Reality. Working as an ISV alongside Minicomputer Sales and Leasing (MSL), a Microdata Reality dealer, he developed an application suite for distributors. MSL acquired the non-exclusive rights to this product in 1978. Shortly thereafter both MSL and Microdata were acquired by McDonnell Douglas. According to one spokesperson at the time Results was marketed to about 1,000 small and medium sized businesses, but this is unverified. A number of other software developers used copies of Results to spinoff other products, however, including Prelude, the Systems House and Mark Systems. In the early 1990s a SHIMS user developed a system for distributors on top of SHIMS called DDI System.


Between 1978 and 1983 Yennie sold enhanced versions of Results directly to distributors. In 1981 he and Stu Fleishman, a former MSL salesperson, founded Vertical Applications, Inc (“VAI”) to market the product, which they then named “SHIMS” (Supply House Information Management System). Between mid 1981 and mid 1983 they sold SHIMS to about 25 distributors. In 1983, SHIMS was acquired by Ultimate Data Systems. Ultimate Data Systems was later acquired by The Ultimate Corp. The product changed hands several times over the next 15 years, eventually merging with a similar product and a UK based company called Infor. Today SHIMS is one of many products (and probably the oldest) owned and supported by Infor.


Between 1977 and 1983 Yennie also developed a system for medical laboratories. This system integrated machine interfaces and billing functions, so both could be accessed at the same time as a single documnet. It provided for tape archiving and retrieval. The system also included algorithms for detecting family relationships between patients to aid in billing (a very early application of AI). The system was originally called CATS (Clinical technology system). It was acquired by Roche Laboratories in the mid 1980s and renamed The Roche Laboratory Manager.


In the mid 1980s Yennie began working on a date-addressable method of storing transactional business data. This design was used to implement new applications for contractors, elementary schools, a county payroll and retirement system and a search system for the Registry of Deeds for Dukes County, Massachusetts (commonly known as Martha's Vineyard). These systems were used by the county for about ten years, handing payroll and retirement processing for county and regional school employees and retirees and providing public search facilities for land records.


In the late 1980s Yennie began working on an enhanced platform for application software for distributors. This included a new user interface built on 16 bit Intel PCs. The code was written in assembler and C. It was interrupt driven and employed a low level event loop. It provided windowing with hot key support and caching, and also instant messaging over low speed serial communications. In 1989 Yennie developed extensions to Pick Basic to support this interface, along with a number of other extensions designed to simplify programming applications for distributors and similar types of businesses. In 1990 he founded Eclipse, Inc. with partners David Berger, Steve Grundt and Rick Montegna. Yennie remained chairman of the board and head of R&D for Eclipse until 1997.


Eclipse incorporated Yennie's date-addressable database and windowing PC-based user interface. Yennie wrote the prototype application programs and about 85% of Eclipse code overall. He resigned and sold his Eclipse stock back to the company in 1997 and 1998. In the early 2000s Eclipse was acquired by Intuit, then Activant. Activant merged with Epicor in 2007 and took Epicor's name. Today Eclipse is considered a “high end” vertical and is used mostly by electrical, plumbing and industrial supply distributors, including a large percentage of very large distributors including Rexel, USESI, Hajoca and Johnstone Supply. In the early 2000s Eclipse developed a new graphical user interface written in Java, but today most Eclipse users still use the original interface.


In 1998 Yennie began working on a new platform with the goal of significantly reducing the amount of work required to develop and enhance new application software. Working with Java and Perl, he developed a database system that stored data in JSON-like documents. It employed a number of mechanisms to solve the transaction processing problem that plagued earlier systems. One of these was time-addressable versioning. Another key component was single-document transactions supported by RAM-based relational indexes. Versioning allows the database to support large read-only transactions (i.e. reporting functions) with consistency, without the need for locking, transaction buffering or data warehousing. Single-document transactions and RAM-based indexing allowed all update transaction processing to be done atomically. The combination makes the database inherently ACID.


The RAM-based indexes Yennie designed for Covestone are highly compressed and designed to work efficiently with CPU cache memory, providing better performance than off-the-shelf alternatives. This design increases the performance and scalability of the database, which has been benchmarked at 130,000 invoice-level transactions per minute. Covestone's unique combination of time addressability, versioning, document-based transaction processing and relational RAM indexes was patented in 2014. In 2010 the database was vetted by database expert Dan Weinreb for Common Angels, a tech-centered Angel Investment group, and ranked 2 - 4 years ahead of competing systems. However, the database has not been marketed as a standalone database product, Instead, it is used as part of a full-stack solution for distributors.


Between 2004 and 2014, Yennie built distribution applications on the new platform. Working with 11 investors from the distribution industry, he developed a full suite of applications that replace the functionality of high-end legacy systems like Eclipse, but with all new code. The Covestone application has 96% less code than the legacy systems it replaces, achieving the goal of 25x greater agility relative to those systems. It is also compatible with and supports mobile apps, tablet warehousing and e-commerce natively, with one database serving both ERP and B2B supply chain integration.


The Covestone application incorporates it's own hybrid HTTPS server, written in the Go language (aka “golang”). Golang handles SSL security and employs lightweight concurrency to support large numbers (> 10,000) of concurrent users on a single multi-core server. Backend business applications are written in a high-end object oriented extension of C++. They communicate with the golang server via simple FAST-CGI style sockets.


The user interface for Covestone is written in HTML5 and Javascript and uses the same technology for both mobile and workstation-based applications. APIs are used for interaction with cloud-based services. The UI also incorporates Google translate, speech recognition, mapping and route optimization.