08 Sep 2024
This page shows web sites I have produced since 1994.
Since 2002, I have developed and used a web page implementation system called expandfile, available as open source on GitHub. expandfile supports creation of rich, stardards-compliant HTML that works well on desktops and mobile devices. It works well with automated site generation and deployment.
I guess I am a "full stack" developer. I created my sites' architecture, HTML, CSS, tools, JavaScript, CGIs, photos, graphics, and content. I've installed and configured Apache on real and virtual machines, and configured security features. I've configured email processing using DKIM and SPF, and built powerful and flexible spam filters. And I've documented how I did it.
My tools generate some pages automatically from private SQL databases; other pages that I deploy send XHR requests to custom online CGI programs (in Perl) that access runtime SQL databases.
The following sites are public and available to everyone.
The story of the Multics operating system, from 1965 to the present.
I first published the Multics web site in 1994 and have been the site editor and maintainer ever since. See About the Website for more information.
multicians.org contains many features that assist site visitors. See Multics Website Features (PDF) for more information.
expandfile has features I designed specifically to help build multicians.org, described in expandfile Features for Multicians.org.
This site is my personal home page. It has articles by me on quality and security, computer history, web development, and other topics of interest.
My advice for computer history sites lays out a systematic design approach for a particular kind of web site.
My home page also contains documentation for open source code for web page enhancements and utilities, including
The site For My Friends With Macs contains usage advice and feature explanation for Macintosh users, written by me.
I got tired of making the same suggestions and explanations to my friends and family, and wrote them down, starting in 2010.
Super Webtrax (SWT) reads web server logs and produces an HTML page containing a daily web site usage report, covering the previous day's usage. The report has multiple report sections and many options.
SWT loads web server logs into a local MySQL database and then generates the report, which consists of up to 50 report sections. The report output is highly customizable. Each section is created by expanding a section template with expandfile. Each section template executes several MySQL queries and formats the query output. Section outputs can be tables, stacked bar charts, pie charts, or formatted summaries.
I built SWT in 2006 to replace an earlier Perl-based reporting program. I have used SWT on web sites that have a few dozen hits per day, and ones that had a million hits per day. SWT can be extended for specialized sites with custom reports. SWT does not use web cookies or JavaScript or Flash code to distinguish visitors. It is available as open source on GitHub. For consulting clients, I created special reports analyzing visitor behavior.
I have produced web sites for client companies that present complex data in useful forms. These sites are not publicly available.
From 2007-2013 I worked full time remotely with one other person on e-commerce security and Internet web search for a Swiss company. We built a Java-based system that searched the World Wide Web monthly for unauthorized and counterfeit product sales and presented this activity to management. This included a JavaScript-based portal that allowed management to explore useful summaries of voluminous web data interactively.
For this company, I built an internal Security Dashboard website for display on a big TV near the break room. It included multiple status screens for different aspects of security. These came and went as the business changed strategies.
Many of these status screens were generated by a daily update run that queried third party vendor APIs, fetched data in JSON or other formats using curl, and then transformed into SQL and loaded into a local data base. Web pages were then generated using expandfile and templates that included SQL queries. For example,
I also created a company Security Portal web site, updated nightly. Its main screen listed security risk status, crucial future dates, incident counts, security tips, links to other company resources and external pages, and a security cartoon.
I have been an independent consultant for more than 17 years, working on
My résumé is available in HTML, PDF, and plain text.
I live in Ocean City, NJ and have worked remotely since the mid 90s, across time zones and continents.