Did you know ... | Search Documentation: |
Eat Your Own Dog Food |
This page presents a brief history of hosting and developing http://www.swi-prolog.org. The website runs SWI-Prolog and is basically `PlDoc, the SWI-Prolog source documentation system on steroids'. This site replaced a classic Apache server built from static documentation pages, a Twiki-based wiki and Bugzilla. The site was re-implemented as a SWI-Prolog-based HTTP server that extends PlDoc for the following reasons:
Eating our own dog food first of all faced us with stability and scalability issues. The most pressing stability issues encountered were memory and handle leaks on misbehaving clients and broken service handlers. Scalability issues have resulted in removing the maximum number of threads limit and adding thread pools (thread_pool_create/3).
Various new facilities were added and existing facilities were enhanced to deal with the site's requirements. Examples are the CGI facilities and HTTP authorization, including OpenID support. This website was a strong motivation to add quasi quotations for embedding long HTML and JavaScript fragments. The news and annotation facilities are the first components that use the new dict datatype.
The website was originally developed by Jan Wielemaker. In 2012, Anne Ogborn took the initiative to redesign the site. She analysed the structure and log data to redesign the contents of the home page, the menu, navigation aids, did you know, and download page. Jessica Chan did the visual design of the current website. She did not yet approve all details, so blame Jan Wielemaker for everything that looks out-of-place, ugly or both. Wouter Beek implemented the news and new annotation facility.