W3 Systems W3S Incorporated


CEO: David McCombs.  

I've been writing software for over 30 years.

In the early 90's, I saw the promise for HTML to be the user interface for nearly any interaction with users.  Developments since then have only affirmed this view.

Around 1996, as a developer consulting in Kansas City, I started doing web programming to collect usage data from telco central office switches for a major carrier.  The only web server available at that time was the NCSA web server.  (You would download source and compile it to get it running. )

At that time, there was only one way to write an application for a web server.  That was by using something called the Common Gateway Interface (CGI). 

CGI is still a great development environment.  It's greatest strength is that it protects the web server from harm caused by a web application crash.  CGI is still probably the best environment for the stability of a web server.  I have experienced servers running for several years unattended. 
So I bought Thomas Boutell's book on the subject "CGI Programming in C and Perl" and replaced the "C" code examples with C++.  The book was and is the seminal book on the subject, but now should be thought more of as a historical book. 

C++ was pretty primitive at the time, this was before STL was a part of the language.  The result of that effort was a C++ CGI library that had it's own collection classes, and string library.  Much of that library has been re-written to use STL, BOOST, and generics.   Data classes followed, with adapters for PostgreSQL, MyQSL, SQLite and ODBC.

The library has been in continuous use since that time on various projects.

What I am attempting to do now is take what I've learned from the library, and from other projects along the way, to write a modern framework that can be used in modern HTML5, CSS3, JavaScript, and IoT devices. The framework will enable a efficient, small footprint service layer for a distributed, cloud based Internet economy.

C++, HTML5, Javascript, and CSS3 make for a deep, rich, interesting playground. 

Image result for david mccombsOther areas of interest are data acquisition and control.

The Book

My last book has not worn well. Microsoft changed the driver model six months after the book was released in 1999.  That's one reason I try to stick to Linux development.  (Security is the major reason.)  The book also used the parallel port to mimic the General Purpose Interface Bus (GPIB) of a commercial controller.  The parallel port is hardly ubiquitous today.  I'd like to write a new book that might be called "Detecting and Controlling the World in C++."  It will describe drivers for serial interfaces, like USB, and will be written for the Linux operating system.