Ian A. Storms (A.K.A. Dr. Clue) drclue@drclue.net Some twenty years ago I toggled in my first program, watched the lights blink and I was hooked for life. As machines and Operating systems came and went, they instilled a pattern of programing that made the differences in things like CPM,DOS, Unix and windows simply a matter of skimming some documentation. Around 1994 when gopher was still a popular way of getting around, I got my first taste of the internet , and never looked back. Since I already had been coding in C/C++ for years , I continued to do so for the internet , where I expanded my cross platform classes to support my work with Sockets, Server plug-ins, CGI, database interfaces etc. When Netscape came out with javascript I climbed on that band wagon as well, and today have one of the few frames friendly, cross browser (IE,NS,NS6 etc.) DHTML libraries available. A recent project was a basic-auth: authentication system, composed of a TCP/IP Server that acts as a middle-ware to mysql. Another component is a Netscape (nsapi) server plugin. This system allows for token, date and IP based subscriptions to on-line materials. It is my hope to find employment with a company seeking object orientated , reusable tools and infrastructure. IN THE NEWS Cited by mainstream publications such as ... The Washington Post P.C. Week San Jose Mercury Netscape World Magazine Published author of technical articles relating to my field. with over 20 years of information systems experience. Performed in the functional roles of... Software Engineer Web Developer Author/maintainer of a popular HTML/CGI Guide. Database Programmer Freelance Consultant Computer Store Owner WEB SERVERS Netscape NCSA Apache Formula_One I have installed and configured these and other httpd software. The latter one Formula_One, was actually a web server I wrote from scratch. I've also written loadable modules such as Netscape's NSAPI applied to tasks such as customized treatment of user logins, providing centralized user authentication to multiple http servers against a centralized back end. Another example would be the addition of internal parsing of new html file types. DATABASES My experience with relation database systems extends back for 15+ years and covers a wide range of products, platforms and protocols The scale has been from simple middle ware development to nationally marketed software. This has given me an excellent knowledge and conceptual understanding of the big picture of integrating multiple database systems. Informix Sybase mysql Interest in Oracle DBase DBXL Fox Base Clipper Fox Pro File Pro Flex PROGRAMMING LANGUAGES C/C++ ( Unix and Windows ) My C++ skills extend back to it's introduction on the PC, and have been honed to a fine edge developing a wide range of applications both commercial and contract. I would consider C++ to be my native programming language. Currently I have a large library of classes that I can build on both unix and windows, ranging from Sockets to HTML parsers ,CGI , Databases etc. JavaScript Here is another language that I sorta fell in love with. I write extensively about the subject, and have written at various times some fairly interesting applications, ranging from on-line video games to complex user interfaces. I also have one of the few frames friendly, cross browser DHTML libraries available (IE,NS,NS6 etc.). Another rare art is my use of co-operative CLIENT/SERVER dynamically generated JavaScript, including custom JavaScript http daemons written in C++. JAVA I am by no means a JAVA guru, but I have no problem coding with the language and have made some awt tools as well as some utilization of JAVA sockets. The similarities in syntax to my other favored languages makes it mostly a matter of reference materials. My last project with JAVA involved a ~56K applet to construct statistical queries. It involved multiple dynamic list boxes populated from a custom database via sockets, and x-browser javascript/JAVA communications. PROGRAMMING PROTOCOLS Making one process talk to another at a distance, has always fascinated me. In the BBS days , I crafted my own interrupt driven software (All in C with no assembler drops), and then did the file transfer protocols. Xmodem, Ymodem etc. When the net came along , I actually took the time to write my own PPP stack, just to see how it ticked. Since then it's all been internet. Having implemented and/or used many of the popular protocols in my development efforts. These efforts have included multi-threaded servers and context portable client code. Among my favorite activities is the development of infrastructure and middle ware as well as the design of the APIs and protocols to leverage all available resources via a consistent API. TCP/IP SMTP PPP HTTP CGI CGI/SQL (N-tier) FTP NSAPI/SQL DOS Most of my DOS time was spent in telecommunications and database applications of various forms , including commercial software. Interrupts Serial Communications. Xmodem, Ymodem etc. ANSI Interpreters. File Formats DBF, NDX, DBT OPERATING SYSTEMS After the first few operating systems , it's simply a matter of filling the conceptual slots with the native syntax. The OS's I've coded for include those listed below. Not all skills have been applied to all operating systems, but there is nothing that prevents me skill wise from applying concepts from one context to another, as it's simply a matter of looking up the appropriate documentation. Unix Flavors Windows PALM DOS OS/2 CPM HISTORY From 2002 To 2004 RJ Cooper Worked with MSAA (Micro Soft Active Access ) creating assistive technology for the blind and disabled. This involved the global interception of every event occurring within every application running on a windows system and translating same to useful spoken text. From 05 / 98 To 2002 Socio Metrics Nothing like getting invited back to do more work for a company. This particular project is grant funded and has involved... C++ parsing third party HTML into csv data JavaScript/DHTML/CSS UI and logic JAVA applet design , prototyping and coding Management of other team members Secure file vending tools basic-auth nsapi subscription system including SQL server middle-ware. From 08 / 97 To 05/98 Virage Coded UI for new Altavista search engine, and integrated multiple un-related libraries into a unified interface. My understanding is that this UI is being branded to Microsoft. Designed generic multi-platform data bridge protocol based on http standards. From 09 / 96 To 08/97 Freelance Contracting Authoring of net related magazine articles. NSAPI (Netscape Server API) Custom user auth, file-types etc. Informix ODBC Middle Daemons Informix ESQL Middle Daemons Sybase Middledeamons Various CGI's TCP/IP Clients/Servers From 03 / 96 To 09/96 Professional Business Solutions Inc. SOCKETS / CUSTOM SERVERS HTML PARSING/LAYOUT DOCUMENTATION Netscape Server API / SQL Porting code Software Tool Creation. CGI/SQL interfaces. From 09 / 92 To 03/96 TSI Computer Services Inc. Development of internet web tools. SOCKETS DYNAMIC HTML PARSERS Global Positioning Interfaces Auto cad File Converters Telecommunications client programs/ ANSI interpreters/Terminal programs Network Installation/Maintenance Hardware/Software Sales/Repair From 03 / 83 To 09/92 CLUE_SYSTEMS CLUE_SYSTEMS was my totally independent free-lance days. I spent my time doing small to medium custom projects, normally of a database management flavor, but I've also programmed CNC lathes and other rare at the time activities FAVORITE ACCOMPLISHMENTS NSAPI SERVER PLUG (URLvendor subscription system) The URLvendor involves a custom loadable library that, as a plugin to the web-server invokes a customized basic-authentication behavior for the standard pop-up login . The plug-in takes the user's login,password, and IP address and passes it via a socket to a custom middle-ware server, which then validates the user access against an SQL backend. The system supports subscriptions based on tokens, dates , ip ranges and such with the SQL middleware supporting not only an nsapi transaction but also an http subset for performing subscription maintenance tasks. FORMula_One.cgi F1 started out in 1994 as a state maintenance engine allowing