Terms, definitions, and insight.

Early version



Better Markup Language. A website template system, which embeds perl. It is written in Perl using Apache and mod_perl.


Markup language commonly used for technical documentation, and used in this manual.


FotoBilder is an open source web application built on mod_perl & MySQL that lets users manage pictures. FotoBilder is a compound German word: “das Foto” (photo) & “die Bilder” (pictures).



Page view types. Lastn was the term used in the S1 style system; n is the quantity of last-posted entries to show. The view type displays the most recent entries in a journal. It is generally the “mainHTML page for the journal.


Abbreviated name of the site used as a variable value in the code. So, LJ is the abbreviated site name used by


Name of the site used as a variable value in the code. So, is the sitename used by


Shortened name of the site used as a variable value in the code. So, LiveJournal is the short site name used by


Maps files from set of different repositories to a single tree.

Key files

A script in the installation's bin directory to check things are setup correctly, such as whether required modules are installed.

This file (in the etc directory) contains the settings for a LiveJournal installation; site admins enable/disable/configure features here.

This file (in the bin directory) is a tool to run the MySQL interactive shell on your LiveJournal database.

This file (in the cgi-bin directory) contains LiveJournal installation default settings. It is similar to, but you don't make changes to this defaults file.

This file (in the cgi-bin directory) is for local LiveJournal server config overrides; this file gets loaded last, overriding any other configuration. It uses the same format as

This file loads new text, breadcrumbs, and their metadata, for the installation.

This file adds or adjusts tables in the MySQL database based on changes in the code.



All journal entries have 8 bits of randomness associated with them (the “anum”, or “access number”). In itemids that are shown to the public, the real jitemid (24 bits) is shifted 8 bits left, and the anum is in the low 8 bits. The advantage of “anums” over the original system is they make it harder for people to enumerate over the database with a simple script that counts up. This helps slow spammers down (by 256). They obscure the per-user sequential nature of jitemids, so people can't tell: “Oh, I can see 1, 2, 4, and 5. Where's 3? aren't I a good enough buddy?


[[aopts]] is used for a tags within translation strings. <a href="">community blogging</a> becomes < [[aopts]]>community blogging</a>. This makes it easier to change where a link points, add JavaScript, etc., so translators do not need to think about it. A translation string with more than one link may start at aopts1, continue with aopts2, etc.


The putting of a code change, such as one made in the trunk SVN repository, into a certain release branch of the repository for deployment to the live site.

Daughter sites

Sites running a LiveJournal code installation.


This is a variable. It is used to represent that something gets filled in where it is used. FOO and BAR are the most commonly used, although others you may see are BAZ, QUX, GIN, and TONIC.


In-Page–Pop-Up–Library. A library of common JavaScript snippets used in the LiveJournal/ code and other Six Apart Code[o] projects.


The post (entry) number. For instance, say the first entry in your journal has a jitemid of 1, the 50th post has a jitemid of 50, etc. jitemid never goes down; if you post 50 entries, then delete #50, and post another, that entry will have a jitemid of 51. The jitemid private sequential id is the whole-number part of the regular public itemid, divided by 256. (What this means is that itemid = jitemid*256 + anum, where anum is a random number between 0 and 255.) Consequently, with this information, you can see whether entries were deleted or not. The itemid for the entry, say 12456, is the number the user sees in the URL (http://exampleusername.http://www.lj-23-m.bulyon.local/12456.html (jitemid 48). Pre-clustering, entries were numbered sequentially. So for example a URI like, would indicate it was the 10,000,000th entry posted.


The comment facility available on journal entries. Nowadays just referred to as “comments”.


Portal boxes/widgets, only more cutely named.


A collection of BML templates that comprise a unique layout.


The base of a project on which development progresses, within a revision control system such as SVN.


Was the working title for OpenID™. Acronym of “Yet Another Distributed Identity System”.