Welcome to my web page, which documents some of my work on web & related Internet standards, documents and their formats, and older work on AI and Lisp programming. See my my LinkedIn profile for additional details and my blog for essays on various topics.
This section lists some unfinished projects that I've been working on (or at least thinking about) lately.
- Apps and other software to support PWP (People With Parkinson's). It's a complex condition requiring management of medication and exercise to stay mobile. At a recent retreat I was encouraged by the progress that comes with focused exercise, and I'd like to build or adapt some apps to help manage. See Notes on Parkinson's Exercise and online aids for preliminary notes.
- Fixing up my web and social media presence. Initially I tried working with some web designers on fiverr.com to create a usable site that would work well on mobile, organized by topic. I've kept the use of bootstrap.js, but otherwise moved to using a bootstrap plugin for table-of-contents. I still have a lot of editing to do, and I want to link the blog and this site by relevant keywords. Comments & suggestions welcome: What do you think?
- Helping restore Interlisp-D to usability on modern OSes. I'm thinking of this as a kind of "vintage software" project, to try to recapture the sense of fluidity in the development cycle that I've not encountered since. I'd like to coordinate with the Computer History Museum and/or the Internet Archive.
- A paper on a theory of document formats with a focus on how formats evolve over time. It covers a lot of ground. Again, comments are welcome.
- Long-term archiving of documents. If we are going to live in an all-digital world, we have to have a way of keeping documents for hundreds of years with little risk of accidental or malicious destruction or unintended distribution.
- Along the way, I want to archive all my own stuff: papers, notes, memos, private documents, emails. Lots Of Copies Keeps Stuff Safe (LOCKSS) is my main guide: documents in DropBox, photos in iCloud, email in GMail; scan, save and then recycle all physical media.
- Internationalization of URLs: there are multiple, overlapping, incomplete, and incompatible standards published by organizations that don't coordinate well. One idea that I'd like to develop is an idea for a service that could tell someone thinking of creating a non-ASCII URL how currently deployed systems would treat the URL, taking into account how they display, compare or their users would transcribe the URL.
- Explaining the jokes of RFC 2324, HTCPCP (The “HyperText Coffee Pot Control Protocol”), and what exactly I was poking fun of, at the time.
- Working on Open Data and Open Documents. Documents are a means for communicating information to people. Communicating information to software, not as helpful. Is it possible to extend document formats so they can carry data in a more useful form?
A good chunk of my career has been around Standards, especially for the Web—“arguing about how the web should work”.
URL, URI, IRI, URN
The key invention of the web: using URLs for hypertext. You'd think the standards for URLs would be simple, but this fundamental part of he web still has problems.
- (2015) URL problem statement and directions
- (2015) Guidelines and Registration Procedures for New URI Schemes.
- (2011) masinter-dated-uri The "tdb" and "duri" URI schemes.
- (2010) ietf-iri-3987bis Internationalized Resource Identifiers (IRIs), in IRI working group (abandoned)
- RFC 6068 "The 'mailto' URI Scheme", M. Duerst, L. Masinter, J. Zawinski, 2010.
- RFC 4395 "Guidelines and Registration Procedures for New URI Schemes", Tony Hansen, Ted Hardie, Larry Masinter, 2006.
- RFC 3986 "Uniform Resource Identifier (URI): Generic Syntax", Tim Berners-Lee, Roy Fielding, Larry Masinter, 2005.
- RFC 3553 "An IETF URN Sub-namespace for Registered Protocol Parameters." Michael Mealling, Larry Masinter, Ted Hardie, Graham Klyne, 2003.
- (until 1995) chair URI working group, defining standards for locating, naming, and describing resources on the Internet.
- RFC 2972 "Context and Goals for Common Name Resolution", N. Popp, M. Mealling, L. Masinter, K. Sollins, 2000. Who owns a name? At the time, I was also on the technical advisory board of RealNames.
- RFC 2732 "Format for Literal IPv6 Addresses in URL's", R. Hinden, B. Carpenter, L. Masinter. December 1999.
- RFC 2718 "Guidelines for new URL Schemes". L. Masinter, H. Alvestrand, D. Zigmond, R. Petke. November 1999
- (1999 talk) Problems URIs don't solve. Presentation at TWIST 99, The Workshop on Internet-scale Software Technologies, Internet Scale Naming.
- RFC 2397 "The 'data' URL scheme." L. Masinter. August, 1998.
- RFC 2396 "Uniform Resource Identifiers (URI): Generic Syntax." T. Berners-Lee, R. Fielding, L. Masinter, August 1998.
- RFC 2368 "The mailto URL scheme." P. Hoffman, L. Masinter, J. Zawinski. July, 1998.
- RFC 1738 "Uniform Resource Locators (URL)." T. Berners-Lee, L. Masinter & M. McCahill. 1994.
- RFC 1737 "Functional Requirements for Uniform Resource Names." K. Sollins & L. Masinter. 1994.
- (2000) Internationalization of URLs, a summary for the Internationalized Domain Name working group.
- (1996) organizing committee for Web Internationalization and Multilingualism Symposium
- (1996) I18N issues in Web Standards
The primary way communication happens for the Web and many other applications:
- (2015) HTTPbis working group, trying to guide what happens after HTTP/2.
- (2012) HTTP: how we got here and where we should go, comments for HTTPbis working group at IETF 70, Vancouver, BC, Canada.
- (until 2000) chair HTTP working group which developed RFC 2616 HTTP/1.1, which improved the performance and reliability of the web significantly.
- (2000 talk) Issues using HTTP in Protocols, at Open meeting on XML in protocols.
- (2000 talk) HTTP Extensions (risks of reusing HTTP for non-web functions)
- RFC 2616 "Hypertext Transfer Protocol -- HTTP/1.1" R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. 1999.
- (1998/3/1) RFC 2324 "Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)." An April 1 joke with a serious purpose -- to spoof ways in which HTTP had been extended inappropriately.
- (2000) The Future of Web Standards and Technologies. "Engineering the Web" symposium at Sun and AT&T Web Week.
- (2000) Converging WAP and the Web, talk about eliminating divergence between Web and protocols for mobile devices (WAP at the time.)
- (2003) Introduction of Tim Berners-Lee for Computer History Museum award.
- (1998) Tutorial: Internet Standards for the Web, Part I and Part II, with notes, for 7th World Wide Web Conference.
- (1996) Standards and all that, talk at the IBM Almaden New Paradigms for Using Computers workshop.
- (1996) Document Images on the Internet for 1/96 SPIE conference.
- (1995) PARC Forum, "Document Management and the Net".
- (1996) Tutorial, The State of Web Standards, WWW5 conference
- (1998) Tutorial: Internet Technologies for Digital Libraries. (available as a directory of pdf files)
- (1996) Digital Libraries, Document management, and the World-Wide Web keynote for Multi-Media Japan.
- (1995) Document Management and Electronic Commerce for an International Conference on Electronic Commerce.
- (1995) INET'95: Document Management, Digital Libraries and the Web.
- (1995) Rich Interaction in the Digital Library. CACM
- (1994) Collaborative Information Retrieval: Gopher from MOO at INET'94. This application won coolest application at GopherCon '93; it was built in a text-based multi-player virtual world called LambdaMOO.
- (1994) Produced a video about the Internet
- (1989) System 33 notes
- (1999) Keynote Address: Building Internet Systems of Lasting Value.
- Evolution of the Web is an attempt to create a model of the standards development processes that are more evolutionary.
- (2004) Philosophy and the Web talk as part of panel at PhiloWeb 2012.
What is a file format? A lot of my work has been in defining file formats, standards around them, protocols for negotiating formats for subsequent communication.
PDF, the Portable Document Format, was invented by Adobe folks more than 25 years ago—older than the web. Perhaps there are things we'd design differently today, but PDF is solid, widely deployed, and actively maintained. For some purposes, there's nothing like it. I've helped with some related efforts:
- PDF and Open Data W3C Community Group established to document "best practices" for making data in PDF more accessible to simple processing using readily available tools.
- RFC8118: updated the registration of "application/pdf" primarily to show the "owner" is now ISO (International Standards Organization) and not Adobe. (also see GitHub repo).
- RFC7995: PDF Format for RFCs: The IETF is moving (slowly) to change its document format(s); IETF specs will be published in PDF and HTML (and XML), not just plain text. Note that the PDF file will include the XML as an attachment.
Metadata is data about data: e.g., for a phone call, who called whom when; for a library book, the card catalog information. There are different kinds of metadata, and different ways of associating metadata with the data it describes.
- (2006) Adobe Partner's Guide to XMP for Dynamic Media: (with Steve Deach) developed library for managing workflow metadata for compound objects and multimedia, including temporal metadata (describing video, audio), and the management of metadata through the creative process into production and distribution -- part of extensible Metadata Platform (XMP) support within Adobe Creative Suite. Now XMP: Introduction to Asset Relationships
Forms are an interesting component of file formats because they imply a request for information, and span the gap between User Interface and API.
- (2015) RFC 7578 "Returning Values from Forms: multipart/form-data". https://github.com/masinter/multipart-form-data includes test tools.
- XForms working group
- RFC 2388 "Returning Values from Forms: multipart/form-data." L. Masinter, 1998.
- RFC 1867 "Form-based File Upload in HTML." E. Nebel & L. Masinter. November 1995.
- RFC 3470 "Guidelines For The Use of Extensible Markup Language (XML) within IETF Protocols", S. Hollenbeck, M. Rose, L. Masinter, 2003.
- (2003) Position on the Binary Interchange of XML Infosets for the W3C workshop on Binary Interchange of XML Information Item Sets.
- RFC 3778 "The application/pdf Media Type", Ed Taft, Jim Pravetz, Steve Zilles, Larry Masinter, May 2004.
- RFC 2854 "The 'text/html' Media Type", L. Masinter, D. Connolly, 2000.
- (2002 presentation) Delivery Context in Internet Protocols, and Position Paper, for W3C Device Independence Workshop on Delivery Context.
- RFC 2938 "Identifying Composite Media Features", G. Klyne, L. Masinter, 2000.
Sometimes things don't work out or have more narrow applicability than expected.
- (1996) WebDAV working group
- RFC 2542 "Terminology and Goals for Internet Fax." L. Masinter. 1999.
- RFC 2534 "Media Features for Display, Print, and Fax." L. Masinter, D. Wing, A. Mutz, K. Holtman. 1999.
- RFC 2532 "Extended Facsimile Using Internet Mail." L. Masinter, D. Wing. 1999.
- Internet Printing
Standards Organizations & Processes
Computers around the world from different origins work with each other because everyone agrees how they should work. There's not a separate Internet for Google, Microsoft, Amazon, Adobe. But of course not everyone agrees; working out differences about the future is standards work.
- Internet Engineering Task Force. (See a list of IETF documents where I'm listed as an author.) I was at one point a member of the Applications Area Directorate
- RFC 7995: PDF Format for RFCs
- Thoughts on RFC format (Presentation)
- (2008-2012) W3C Technical Architecture Group (TAG)
- (2013) In a fit of hubris, I applied for a position on the IAB
- (1998-2001) W3C Advisory Board work on W3C process, including TAG charter.
- (2010) HTML.Next Panel talk W3C TPAC Plenary, November 2010. Overview of disagreements about what standards are for and how to write them.
- newtrk-interop-reports "Formalizing IETF Interoperability Reporting", Larry Masinter, October 2005.
Governance and the Internet
The primary value of the Internet comes from the fact there is only one, with everyone (and everything) connected. Governance (regulation, legislation) is local and hierarchical: city, state, region, country, with interactions relegated to treaties, negotiation, or worse (think "military"). How can anyone offer a global service and be subject to every constraint of every jurisdiction?
- (2014) Position Paper for STRINT Workshop ("Strengthening the Internet Against Pervasive Monitoring").
- (2013) Governance in Conflict: 3 minute presentation of Governance and Web Architecture document.
- (2013) Publishing and Linking on the Web (with W3C TAG): An example of some governance issues at the application layer.
- (2012) Governance and Web Architecture (W3C TAG Editor's draft). A framework for approaching the topic.
- (1997) 20 years ago (at Xerox), I led a 'documents.com' project which proposed a Software as a Service offering; see presentation. Any earlier 'clouds'? The important part was the plan to charge per 'click' (microservice), in the same way that Xerox made money per-page (selling supplies and service).
Internet of Things
- (2001) History of Internet Personal Appliances in IETF. Short talk at IETF IPAC (Internet Personal Appliance Control) session.
- RFC 2324, the "HyperText Coffeepot Control Protocol" (1998). A satire on the many bad API designs being proposed.
How do you save documents for a long time? Life insurance policies, plans for buildings, personal health records.
- (2006) A System for Long-Term Document Preservation took a different approach to removing single point of failure by spreading content around, not relying on encryption for confidentiality.
- (2005) Requirements for Data Validation and Certification Services, (presentation). A notary is someone who you can use to prove that a document existed, was signed, on a particular date.
40 years ago, it was said Lisp was the second oldest programming language in common use (FORTRAN being the oldest), but I'm not sure that's still true.
Through around 1986 I worked on an evolving code base for Interlisp, a integrated software development environment for (IDE) Lisp programming, written in Lisp.
- (1992) ACM Software System Award for our work on the Interlisp programming environment.
- (1986) CommonLoops: merging Lisp and object-oriented programming, OOPLSA '86. Conference proceedings on Object-oriented programming systems, languages and applications
- (1983) Interlisp Reference Manual (one of many editions)
- (1982) Richard P. Gabriel, Larry Masinter. Performance of Lisp Systems. ACM Symposium on LISP and Functional Programming.
- (1981) Warren Teitelman, Larry Masinter. The Interlisp Programming Environment. IEEE Computer, April 1981.
- (1980) Global Program Analysis in an Interactive Environment (PhD thesis).
- (1980) Overview and Status of DoradoLisp, 1980 Lisp conference.
- (1980) Larry Masinter, L. Peter Deutsch. Local Optimization in a Compiler for Stack-Based Lisp Machines. Lisp Conference. Stanford University.
- (1988) Common LISP Cleanup. A description of the process of "cleaning up" the Common Lisp standard. Did I invent the "Issue List" for standards? See Wikipedia article and cleanup proposal template.
- (1985) AI Systems and Technologies, (initial part of) a 2-day tutorial I gave on the topic. I think page 4 is still true: "AI is a goal, not a fact".
- Chief Scientist of Xerox Artificial Intelligence Systems
- DENDRAL project at Stanford
- (1973) H. Brown, L. Masinter, An Algorithm for the Construction of the Graphics of Organic Molecules, Stanford Computer Science Department, STAN-CS-73-361.
- (1972) H. Brown, L. Masinter, L. Hjelmeland, Constructive Graph Labeling Using Double Cosets, Stanford Computer Science Department, STAN-CS-72-318.