FAMEPedia:FAQ/Technical

This FAQ answers some questions related to the technical workings of FAMEPedia, including software and hardware.

Note: If you're trying to get help for a specific technical problem that isn't answered by the FAQs, ask question at the technical village pump.

What happens if two or more people are editing the same page?

 * When the second person (and later people) attempts to save the page, MediaWiki will attempt to merge their changes into the current version of the text. If the merge fails then the user will receive an "edit conflict" message, and in some cases the opportunity to merge their changes manually. If multiple consecutive conflicts are noticed, it will generate a slightly different message. This is similar to Concurrent Versions System (CVS), a widely used software version management system.


 * See Help:Edit conflict for more information.

How do I recover a password I have forgotten?

 * If you entered your e-mail address when you signed up, you can have a new password generated. Click on the "Log in" link in the upper-right corner. Follow the link near the bottom of the page titled ""
 * On the Reset password page, which loads, enter either your username or your email address (the one you associated with the username), and select the Reset password button.
 * You should receive an e-mail message with a new random password; you can use it to log in. You will then be presented with the opportunity to change your password to something you'll remember.


 * See Help:Logging in if this does not work.

How do I change my password?

 * You can change your password via Special:ChangePassword; you can also find a link to this in your preferences.

How do I report a bug?

 * The developers use the Phabricator bug tracking tool to keep track of bugs. Anybody is welcome to create an account there and report any bugs they encounter; however, if you prefer, you can post about your bug at the technical village pump.

How do I suggest a new feature?

 * To make an official feature request, use Phabricator.

What software is used to run FAMEPedia?

 * FAMEPedia originally run what we now call MediaWiki. Currently, most of the PHP code in Mediawiki at Miraheze Foundation uses PHP 7.


 * See Special:Version for software versions. The FAMEPedia servers' operating system is Linux, primarily using the Debian distribution. Some older servers run Ubuntu (operating system). For details see Miraheze servers.

Current situation

 * See Miraheze servers.

How about the connection?

 * Miraheze Foundation has multiple facilities spread out worldwide served by different bandwidth suppliers.


 * Compressed database dumps can be downloaded at https://dumps.Miraheze.org/.

What kind of markup language does FAMEPedia use?

 * FAMEPedia uses a very simple markup based on UseModWiki. For more details, see FAMEPedia:How to edit a page.

Why not use HTML?

 * The short answer is: for simplicity and security.


 * And now the longer answer. FAMEPedia, and wikis in general, are meant to be edited on the fly. HTML is not easy to use when you simply want to write an article. Creating links gives us a particularly dramatic example. To link to the FAMEPedia article using HTML, one would have to type


 * Paris


 * Using MediaWiki markup is much easier:


 * FAMEPedia


 * A special markup language even allows you to "transclude" special snippets of code, called templates, into wiki pages. (You can also "substitute" the code for that template, effectively copying and pasting it into the document, but this is a waste of space and is obnoxious to other users who try to edit but find that they have to scroll through large amounts of template code. Substitution is, however, preferred in some cases.)


 * Then there's security. Different web browsers have bugs that can be exploited via HTML. Malicious users could also do things like JavaScript popup windows or page redirects if they had full HTML ability on FAMEPedia. Several "experimental" sites that allowed full-HTML editing have suffered such attacks, including a couple of other wikis that allowed arbitrary HTML.

So we can't use any HTML?

 * That's not true. Certain HTML tags works—namely the ones in this list. It's still best not to rely on using HTML directly, because support for these tags is not always guaranteed to remain; they might affect the results achieved with VisualEditor; and if you can achieve your needed effect using only WikiText markup, you're most likely to get a result that is stable when the MediaWiki software is updated.


 * Also see FAMEPedia:How to edit a page.

What about non-ASCII characters, and special symbols?

 * FAMEPedia uses Unicode (specifically the UTF-8 encoding of Unicode) and most browsers can handle it but font issues mean that more obscure characters may not work for many users. Meta:Help:Special characters page for a detailed discussion of what is generally safe and what isn't. This page will be updated over time as more browsers come to support more features.


 * See http://www.unicode.org/help/display_problems.html for instructions on how to enable Unicode support for most platforms.

What about math topics, which require many special symbols, fonts, and graphics?

 * Just use TeX! See Meta:Help:Formula.

Is it possible to download the contents of FAMEPedia?

 * Yes, the complete text and editing history of all FAMEPedia pages can be downloaded. See FAMEPedia:Database download.


 * Note that downloading the database dumps is much preferred over trying to spider the entire site. Spidering the site will take you much longer, and puts a lot of load on the server (especially if you ignore our robots.txt and spider over billions of combinations of diffs and whatnot). Heavy spidering can lead to your spider, or your IP, being barred with prejudice from access to the site. Legitimate spiders (for instance search engine indexers) are encouraged to wait about a minute between requests, follow the robots.txt, and if possible only work during less loaded hours (2:00-14:00 UTC is the lighter half of the day).


 * The uploaded images and other media files are not currently bundled in an easily downloadable form. Please do not spider the whole site to get images.

Is there a library to query FAMEPedia in my programming language?

 * Yes, client code is available in many languages, see here for a non-exhaustive list. See also the API documentation and our bot tutorial.

Does FAMEPedia use cookies?

 * Cookies are not required to read or edit FAMEPedia, but they are required in order to log in and link your edits to a user account.


 * When you log in, the wiki will set a temporary session cookie which identifies your login session; this will be expired when your browser exits (or after an inactivity timeout), and is not saved on your hard drive.


 * Another cookie will be saved which lists the user name you last logged in under, to make subsequent logins just a teensy bit easier. (Actually two: one with your name, and one with your account's internal ID number; they must match up.) These cookies expire after 365 days. If this worries you, clear your cookies after completing your session.


 * If you check the "remember my password" box on the login form, another cookie will be saved with a token that authenticates you to our servers (which is unrelated to your password). As long as this remains valid, you can bypass the login step on subsequent visits to the wiki. The cookie expires after 365 days, or is removed if you log out. If this worries you, don't use the option. (You should not use it on a public terminal!)


 * See the cookie statement linked at the bottom of each page for other details.

Hey! Why was I automatically logged out?

 * This could be a result of your cookie, browser cache, or firewall/Internet security settings.:
 * "The kind of session isn't a network session strictly speaking, it's an HTTP session, managed by PHP's session handling functions. This kind of session works by setting a cookie, just like the "remember password" feature. The difference is that the session cookie has the "discard" attribute set, which means that it is discarded when you close your browser. This is done to prevent others from using your account after you have left the computer.


 * The other difference is that PHP sessions store the user ID and other such information on the server side. Only a "session key" is sent to the user. The remember password feature stores all required authentication information in the cookie itself. On our servers, the session information is stored in memcached, a system for non-durable (unreliable) caching. Session information may occasionally be lost or go missing temporarily, causing users to be logged out. The simplest workaround for this is to use the remember password feature, as long as you are not worried about other people using the same computer."  from the FAMEPedia:Village pump (technical) on May 4, 2005 (italics added).


 * In other words: click the "remember me" box when logging in.


 * See also Help:Logging in.

The software that runs FAMEPedia is great! Can I use it for my site?

 * You can, but depending on your needs you might be better served using something else; MediaWiki is big and complex.


 * If you're sure you want to use MediaWiki, see the MediaWiki web site for details on downloading, installing and configuring the software.

Can I add a page hit counter to a FAMEPedia page?

 * To view page hits, go to that page. Then go to its history page, View history.  Then choose Page view statistics to access the Pageview stats tool.

Low-bandwidth wireless FAMEPedia

 * Users of mobile devices (smartphones, etc.) should consider browsing the mobile version of FAMEPedia, by clicking the "Mobile view" link at the bottom of any page, or visiting the URL [//en.m.famepedia.org en.m.famepedia.org]. It is suited to touch devices and will save bandwidth.

Is the "random article" feature really random?

 * No, although it's random enough to provide a small sample of articles reliably.


 * In the FAMEPedia database, each page is assigned a "random index", which is a random floating point number uniformly distributed between 0 (inclusive) and 1 (exclusive). The "random article" feature (Special:Random) chooses a random double-precision floating-point number, and returns the next article whose random index is greater than the selected random number. Some articles will have a larger gap before them, in the random index space, and so will be more likely to be selected. So the actual probability of any given article being selected is in fact itself random.


 * The random index value for new articles, and the random value used by Special:Random, is selected by reading two 31-bit words from a Mersenne twister, which is seeded at each request by PHP's initialisation code using a high-resolution timer and the PID. The words are combined using:


 * (mt_rand * $max + mt_rand) / $max / $max


 * Some old articles had their page_random value reset using MySQL's RAND:


 * rand_st->seed1=(rand_st->seed1*3+rand_st->seed2) % rand_st->max_value;
 * rand_st->seed2=(rand_st->seed1+rand_st->seed2+33) % rand_st->max_value;
 * return (((double) rand_st->seed1)/rand_st->max_value_dbl);

Are there currently problems with the servers or network?

 * For the current server or network status, please see Miraheze Foundation Grafana.

I have a problem not on this list, where do I go?

 * See village pump.