Error message

  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/
  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in menu_set_active_trail() (line 2405 of /var/www/


For a long time now, development was focused on PPP5: the eventual successor to the current archives, which would include a brand-new crawler and database schema. For this reason, the old archives, running on Drupal 5 and hopelessly outdated custom code, were long left to vegetate.

The end of PPP4

PPP4 was codenamed "PPPX" for a long while, because it was intended to be open-ended. The era began early in 2007, and was the first to include continuous updates rather than a single run. The archive was kept up to date with the boards.

Well, one of the tasks of an archive is to assign a unique, permanent identifier for all content it retains. Ideally, the identifier is directly generated from the identifier that the original forum used for it.

Search shut-down

Two months ago, my host contacted me about the exceedingly heavy database load that the Pied Piper Project was placing on the MySQL server. This was triggered by the search feature, which in turn was made acute by my unfortunate idea of mashing PPP into the Blades Forge.

To put it bluntly, having the Blades Forge do a programmed search on PPP every time a scenario is viewed, which makes PPP perform a full text search on 500 MB and also trigger another programmed search on the Endeavor, is bloody stupid.

Signatures, an ancient evil.

Perhaps you are aware that the archive has a profound weakness in its database schema, which badly violates the rules of normalization. Not only are signatures not normalized over users and instead stored post-by-post, they are actually inseparable from the post.

The reason is insufficient delimiting security. A post can contain such text that part of it could conceivably be a signature even though it isn't. The signature itself can also contain text such that part of it could belong to the post.



Subscribe to Pied Piper Project RSS