Pages

Thursday, April 3, 2014

BIOS-salasanan poisto IBM ThinkPad T23 -kannettavassa tietokoneessa

Vastuuvapauslauseke: Tee tämä vain omalla riskilläsi! En ole vastuussa mikäli vahingossa rikot laitteesi tai jotakin pahempaa sattuu.
Tee aina asianmukaiset varotoimet työskennellessäsi sähkölaitteiden parissa estääksesi sähköiskun vaaran.
IBM on lyhenne sanoista "International Business Machines" (suomeksi kansainväliset liike-elämän laitteet) ja se on varsin osuva kuvaus ThinkPad-kannettavista, joita IBM alkujaan tuotti 13 vuotta (vuodesta 1992 vuoteen 2005) ja jonka oikeudet kiinalainen Lenovo sittemmin osti. Koska IBM:n ThinkPad-kannettavat ovat enemmän liike-elämän käyttöön suunniteltuja kuin tavalliset kannettavat tietokoneet, niissä on varsin hyvä suojaus. ThinkPad-kannettavassa voi olla jopa kolme erilaista salasanaa: käynnistyssalasana (englanniksi power-on password, lyhennetään POP), pääkäyttäjän/valvojan salasana (englanniksi supervisor password, lyhennetään SVP) ja kovalevyn salasana (englanniksi hard disk drive password, lyhennetään HDP). Vaikkakin kovalevyn salasanan voi "ohittaa" vaihtamalla kovalevyn toiseen, kaksi jäljelläolevaa salasanaa ovat huomattavasti vaikeampia murtaa.

Helmikuussa 2012 en omistanut ainuttakaan ThinkPadia (nykyään omistan kolme, joista yksi on päivittäisessä käytössä oleva kannettavani). Olin kuullut monia hyviä asioita ThinkPadeista ja todellakin se, että ne ovat "ainoita kannettavia, jotka on hyväksytty Kansainvälisen avaruusaseman käyttöön" (englanninkielisen Wikipedian ThinkPad-artikkelin mukaan) on ehdottomasti jotakin. Onnistuin nappaamaan käytetyn IBM ThinkPad T23 -kannettavan alle 30€:n hintaan (postikuluineen) Huuto.netistä myöhäis-helmikuussa 2012. Se oli melko hyväkuntoinen, varsinkin alhaisen hinnan huomioon ottaen; jopa akku näytti toimivan kauemmin kuin viisi minuuttia! Ainoa varjopuoli oli kammottavan valvojan salasanan (SVP) olemassaolo.

Jos etsit lempihakukoneellasi Internetistä ohjeita valvojan salasanan poistoon IBM ThinkPad -kannettavasta, törmäät todennäköisesti yhteen näistä kolmesta asiasta:
  1. Tekopyhiin ihmisiin, jotka syyttävät sinua varkaaksi ja kertovat, että BIOS-salasanojen poisto-ohjeiden kysyminen on laitonta/sivuston sääntöjä rikkovaa/molempia
  2. Idiootteihin, jotka väittävät sen olevan mahdotonta
  3. SoDoItYourself.com:in äärettömän monimutkaisiin ohjeisiin, joihin lukeutuu tinaamista ja muita pelottavia asioita


#1 ja #2 ovat ilmiselvästikin hevonpaskaa ja #3 on erittäin monimutkainen ja riskialtis mikäli et ole sähköinsinööri koulutukseltasi.

Onneksi on olemassa yksinkertainen tapa poistaa vanhempien ThinkPadien valvojan salasana (SVP). Tämän tavan on kuvaillut Le Chameau (joka muuten on ranskaa ja tarkoittaa "kamelia") SoDoItYourself.com:in artikkelin kommenttiosiossa. On myös olemassa kokonainen (englanninkielinen) Blogspot-blogi, joka on omistettu samalle tavalle. Tähän tapaan ei kuulu ollenkaan tinaamista ja riski, että ThinkPadistasi tulee äärettömän kallis paperipaino, on huomattavasti pienempi; paras osa on se, ettei sinun tarvitse ostaa mitään!

Aloitetaanpas, eikö vain?

Vaihe #1: Poista akku ja varmista, että laturi ei ole kytkettynä.

Vaihe #2: Etsi ATMEL-siru; ThinkPad T23 -mallissa tarvitsee poistaa RAM-muistipiirien kansi ja yksi muistipiiri päästäkseen käsiksi tuohon pienenpieneen (0,5mm x 0,3mm) siruun.

Vaihe #3: Aiheuta oikosulku kahden ATMEL-piirin "jalan" välille, riippuen ThinkPad-mallistasi, metalliesineen avulla (käytin itse erittäin pienen neulan tylppää päätä).
T23-mallissa oikosulku tulee aiheuttaa "jalkojen" 5 ja 6 välille, mutta malleissa, joissa on pienempi (8-jalkainen) siru, oikosulutettavat "jalat" ovat 3 ja 4! Tähän itse kompastuin; yritin epätoivoisesti aiheuttaa oikosulkua jalkojen 3 ja 4 välille, mutta se luonnollisestikaan ei tehnyt mitään. Katso tästä kaaviosta jalkojen numerointi.
Varmista myös, että pystyt turvallisesti poistamaan käyttämäsi metalliesineen "jalkojen" välistä, sillä joudut tekemään sen tietokoneen ollessa käynnissä.

Vaihe #4: Kytke kannettavaan tietokoneeseen virta.

Vaihe #5: Paina tarvittavaa näppäintä päästäksesi BIOS:iin; T23-mallissa oikea näppäin on F1. Yleisesti ottaen englanninkielinen teksti "Press <näppäimen nimigt; to access Setup" näkyy näytöllä samaan aikaan IBM:n logon kanssa tietokoneen käynnistyessä.

Vaihe #6: Huomaat, että BIOS:in lataaminen kestää tavallista kauemmin; tämä johtuu aiheuttamastasi oikosulusta. T23-mallisa näyttöön tulee virheilmoitus ("ERROR 0187: EAIA data access error"), jonka jälkeen F1-näppäintä tulee painaa kerran päästäkseen BIOS:iin oikeasti.

Vaihe #7: Nyt olet BIOS:issa, ja kahden "jalan" välillä on edelleen oikosulku. Mene "Password"-osioon (suom. Salasana) ja huomaat, että valvojan salasana on [Disabled] (suom. poistettu käytöstä). Älä hämäänny! Hankkiutuaksesi eroon tuntemattomasta valvojan salasanasta, sinun tulee antaa uusi salasana! Hullua mutta totta.
Käytä nuolinäppäimiä valitaksesi Supervisor Password -vaihtoehdon ja paina sitten Enter-näppäintä. Nyt sinua pyydetään antamaan uusi valvojan salasana. Anna jokin salasana — itse käytin salasanaa "1" — ja paina Enter-näppäintä valitaksesi "Re-enter password" -kentän (suom. Anna salasana uudelleen). Anna uusi valvojan salasana uudelleen ja ennen Enter-näppäimen painamista tallentaaksesi uuden valvojan salasanan, poista metalliesine, joka aiheuttaa oikosulun kahden ATMEL-piirin jalan välillä!
Tehtyäsi sen, paina Enter-näppäintä ja uusi valvojan salasana — jonka tiedät — tallentuu. Sitten paina F10 tallentaaksesi muutokset ja käynnistääksesi koneen uudelleen.

Vaihe #8: Nyt olet valmis! Jos olet kuten minä ja haluat hankkitua valvojan salasanasta lopullisesti eroon, käynnistä kannettava tietokone taas kerran (normaalisti, aiheuttamatta mitään oikosulkua minnekään), paina tarvittavaa näppäintä (F1 T23-mallissa) päästäksesi BIOS:iin, valitse "Password"-valikko ja valitse vaihtoehdon Supervisor Password -kohtaan vaihtoehto [Disabled] ja paina Enter-näppäintä. Voilà!

Pakollinen lisenssisonta: Tämä blogikirjoitus on julkaistu public domainiin siinä määrin kuin mahdollista. Tämä blogikirjoitus on kirjoitettu siinä toivossa, että se on hyödyllinen jollekin; kuitenkin, tekijä ei ota minkäänlaista vastuuta mikäli päädyt rikkomaan kannettavan tietokoneesi tai aiheutat fyysistä vahinkoa itsellesi tai toiselle ihmiselle tai olennolle.
Jos kuitekin toteat tämän blogikirjoituksen hyödylliseksi, harkitsethan lahjoittamista Uncyclopedialle, sisältövapaalle tietosanakirjalle, koska paljon hyvää huumoria tarvittiin mahdollistaman tämä useiden epäonnistuneiden valvojan salasanan purkuyritysten aiheuttaman turhautumisen johdosta huolimatta.


Toimiko tämä tapa sinulla? Vai eikö sittenkään? Onko sinulla kysymyksiä tai ajatuksia tähän ThinkPad-malliin liittyen, Lenovon ThinkPadeihin liittyen vaiko toisen valmistajan valmistamaan kannettavaan tietokoneeseen liittyen? Katso, mitä englanninkielinen Laptops Wiki tietää ja jaa parhaat BIOS-salasanojen poisto-ohjeet ja -vinkit sekä yleiset tietosi kannettaviin tietokoneisiin liittyen yhteisön kanssa! :-)
Saatat myös haluta jättää kommentin alapuolella sijaitsevaan kommenttiosioon.

How to remove the BIOS Supervisor Password (SVP) on an IBM ThinkPad T23

Disclaimer: Do this only at your own risk! I am not responsible if you accidentally break your device or worse.
Always take the appropriate safety precautions when working with electrical device to prevent the risk of electrocution.
IBM stands for "International Business Machines" and that's a relatively accurate description of the ThinkPad laptop series originally produced by IBM for 13 years (from 1992 to 2005) and then acquired by the Chinese Lenovo. As IBM's ThinkPad laptops are more business-oriented than your average, run-of-the-mill laptops, they have pretty good security. Namely, a ThinkPad laptop can have up to three different passwords: power-on password (POP), supervisor password (SVP) and a hard disk drive (HDD) password. Whereas the hard disk drive password can be "bypassed" by swapping out the HDD to a different HDD, the other two are much, much more difficult to crack.

In February 2012, I didn't own a single ThinkPad (nowadays I own three, of which one is my main laptop that I use daily). I had heard many good things about ThinkPads and truly, the fact that they're "the only laptop[s] certified for use on the International Space Station" (according to the Wikipedia ThinkPad article) certainly is something. I managed to grab a used IBM ThinkPad T23 for less than 30€ (postal fees included) from a local auction site back in late February 2012. It was relatively fancy, especially given the low price and all; even the battery seemed to work for longer than 5 minutes! The only drawback was the presence of the dreaded supervisor password (SVP).

If you search around the Internet with your favorite search engine for instructions on how to remove the supervisor password on an IBM ThinkPad laptop, you'll most likely encounter one of these three things:
  1. Hypocrites accusing you of being a thief and telling that asking for BIOS password removal instructions is illegal/against the site's rules/both
  2. Idiots telling you that it's not possible
  3. SoDoItYourself.com's overly complicated instructions involving soldering and other scary things


#1 and #2 are obviously bullshit and #3 is pretty complicated and risky if you're not an electrical engineer by training.

Thankfully, there is a simple way to remove the SVP of older ThinkPads. This method has been described by Le Chameau (which, by the way, is French for "the camel") on the comment section of that SoDoItYourself.com article. Likewise, there is an entire Blogspot blog dedicated to the same method. This method involves no soldering and the risk of bricking your ThinkPad is considerably smaller; the best part is that you don't need to buy anything!

Let's get started, shall we?

Step #1: Remove the battery and make sure that the AC adapter is not connected.

Step #2: Locate the ATMEL chip; on the ThinkPad T23, you'll need to remove the RAM cover and one RAM module to access that tiny (0,5mm x 0,3mm) chip.

Step #3: Short the two pins on the ATMEL chip, depending on your ThinkPad model, with a metal object (I used the "dull" end of a very small needle).
For the T23, you'll need to short pins 5 and 6, but for some other models using the smaller (the 8-legged) version, the pins you'll want to short out are pins 3 and 4! This is what got me; I desperately tried to short pins 3 and 4 on my T23, and that naturally did nothing. Take a look at this schematic for reference.
Also make sure that you're able to safely remove whatever metal object you're using to short out the two pins, as you'll need to do that with the laptop being powered on.

Step #4: Power on the laptop.

Step #5: Press whatever button you need to press to access BIOS; on T23, the correct button is the F1. There is usually a message like "Press <whatever key> to access Setup" on the IBM logo screen.

Step #6: You'll notice that loading the BIOS takes longer than usually; this is because you're shorting out the two pins. On the T23, an error message ("ERROR 0187: EAIA data access error") is displayed and after that, you need to press F1 once again to access BIOS for real.

Step #7: Now you're on BIOS, still shorting out the two pins. Go to the "Password" section and you'll notice that the supervisor password is [Disabled]. Don't be fooled! To get rid of the supervisor password that you don't know, you'll need to set a new one! Crazy but true.
Use the arrow keys to select the Supervisor Password, then press Enter. Now you're being prompted for a new supervisor password. Give it a password — I used "1" — and then press enter to select the "Re-enter password" field. Re-enter the new supervisor password and before pressing enter to actually save the new supervisor password, remove the metal object that is shorting the two pins on the ATMEL chip!
After you've done that, press Enter and the new supervisor password — the one that you now know — is saved. Then press F10 to save changes and reboot.

Step #8: Now you're done! If you're like me and you want to get rid of the supervisor password for good, boot up the laptop once again (normally, no need to short out anything anymore), press whatever key you need to (F1 on the T23) to enter BIOS, give it the supervisor password that you just set a moment ago, select the "Password" menu and set Supervisor Password to [Disabled] and press Enter. Voilà!

Mandatory licensing crap: This blog post is released to the public domain to the extent that it is possible. This blog post has been written in the hopes that it is useful to someone; however, the author accepts no responsibility whatsoever should you brick your laptop, cause physical injury to yourself or another person or being.
If you do, however, find this blog post useful, please consider donating to Uncyclopedia, the content-free encyclopedia, because a lot of good humor is what was needed to make this possible amidst all the frustration caused by numerous failed attempts at cracking the supervisor password.


Did this method work out for you? Did it not? Do you have questions or thoughts regarding this particular ThinkPad model, Lenovo-era ThinkPads or another laptop model by another manufacturer? Check out what the Laptops Wiki knows and share your best BIOS password removal tips and tricks with the community, as well as your laptop knowledge! :-)
You may also want to post a comment on the comment section below.

Tuesday, August 9, 2011

ArmchairGM is finally open source

Update on 28 August 2013: Wikia moved to GitHub from SVN in late 2012 and as of today, their SVN (at wikia-code.com) appears to be unreachable, so I've uploaded the full ArmchairGM source code to GitHub.
You can browse the source tree at https://github.com/mary-kate/ArmchairGM, but please make sure to read the README file before asking any questions about it.

August 1, 2011 was an important day in the history of open source software. That's when Wikia finally open-sourced the ArmchairGM codebase. You can browse the ArmchairGM codebase or even grab a copy of the ArmchairGM codebase, if you feel like it!

A bit of history


Over a year ago I tried open-sourcing the ArmchairGM codebase, but my idea was met with resistance and travelling to another country just to perform code cleanup — something you can do "online" by grabbing a copy of the codebase and then cleaning it up locally — was just not possible for me.

Later on, Sean Colombo, an awesome open source developer and the founder of LyricWiki, joined Wikia's technical team since LyricWiki moved to Wikia. On July 14th, I decided to e-mail Sean, just for the sake of it, to see if he'd be willing to help me out in making ArmchairGM's codebase open source.
You can believe that I was very surprised when I didn't receive the standard "sorry, can't do" reply that I've gotten used to getting from Wikia in response to my queries, but rather a sincere reply in which Sean stated that he'd be willing to help me out. Over the next two weeks, Sean worked hard to make sure that the ArmchairGM codebase would be ready to be released by removing private passwords and such things. And then, on August 1, it finally happened.
I was amazed that he took my original request — I had asked for a few ArmchairGM extensions and the skin — a couple steps further and open-sourced the entire codebase!

About the ArmchairGM codebase


The ArmchairGM codebase is based on MediaWiki 1.10alpha; the work on MediaWiki 1.10 started on 8 January 2007.
The current development version of MediaWiki is 1.19, the latest stable version is 1.17 and 1.18 will be released soon. So, as you can see, it's a bit old. After all, ArmchairGM was running on that 1.10alpha until early 2011, when it was upgraded to use the standard Wikia codebase.

Most of the interesting things can be found on the extensions and skins directories.

The extensions directory and its wikia subdirectory contain all the extensions used by ArmchairGM and/or created by Wikia developers — including ones that were short-lived, such as Challenge, or never enabled on ArmchairGM, such as LookupContribs.

The skins directory contains all the skins ever developed by the ArmchairGM staff, including the Sports skin used on ArmchairGM from 2007 to early 2011, its earlier incarnation, called simply ArmchairGM, the Halopedia skin and the Gamespot version of it, and plenty more. It should be noted that while this directory has plenty of PHP and CSS files (and even some JS files), most of the images used by custom skins are not there — some are accessible on Wikia's servers if you know where to look for them, some are permanently gone.

What about core hacks? Wikia has done and continues to do core hacks whenever they need to do something that MediaWiki doesn't support out-of-the-box. So far I've come across a few, relatively minor, yet unmarked core code hacks in the ArmchairGM codebase. I'm hoping that I'll have enough time later this year or the next year so that I can build a diff showing the differences between a standard MediaWiki 1.10alpha and the ArmchairGM version.
Needless to say that such a thing will be quite difficult to do, because "1.10alpha" can mean pretty much any version of MediaWiki between r18957 (committed on 8 January 2011) and r21732 (committed on 1 May 2007) — that's 2775 revisions of code, and the ArmchairGM codebase could've been forked from any of those revisions.

Update on 15 August 2011: I had totally forgotten about the existence of the RELEASE-NOTES file. Comparing the RELEASE-NOTES file of the ArmchairGM codebase to the RELEASE-NOTES of MediaWiki 1.10alpha at various points of development allowed me to track down the revision of MediaWiki that the ArmchairGM codebase is in. I believe that it's either r20138 or a revision very close to it.

To generate a patch file showing the differences between the standard MediaWiki codebase and the ArmchairGM codebase, first export a copy of MediaWiki at r20138:

svn export -r 20138 http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 MW-r20138

Then export a copy of the ArmchairGM codebase:

svn export https://svn.wikia-code.com/wikia/branches/wikia-ny/trunk NYC

And finally generate the patch:
diff -ur MW-r20138 NYC > diff-between-NYC-and-vanilla-MW-r20138.patch

Some changes are useless, like the change to includes/AjaxDispatcher.php, some are plain weird (like the various API changes to the files in the includes/api directory), and some changes (mostly the ones to OutputPage.php and SpecialPreferences.php) are a bit hard to read — but hey, there you have it, a file showing what changes were done to the core MediaWiki software by ArmchairGM's developers.
Most of the custom functionality that you once saw in ArmchairGM was done via extensions, thankfully, not via core changes; in addition to extensions, the skins also played a part — skins developed by ArmchairGM's developers usually implemented some custom handling for the main page of the wiki, for example, while a vanilla installation of MediaWiki with the default skin treats the wiki's main page the same way it would treat any other page.

For your viewing conveniece, here's a list of core MediaWiki files (81 in total) which differ between the ArmchairGM codebase and revision 20138 of MediaWiki:

extensions/README
includes/AjaxDispatcher.php
includes/AjaxFunctions.php
includes/api/ApiBase.php
includes/api/ApiFeedWatchlist.php
includes/api/ApiFormatBase.php
includes/api/ApiFormatJson.php
includes/api/ApiFormatPhp.php
includes/api/ApiFormatWddx.php
includes/api/ApiFormatXml.php
includes/api/ApiFormatYaml.php
includes/api/ApiHelp.php
includes/api/ApiLogin.php
includes/api/ApiMain.php
includes/api/ApiOpenSearch.php
includes/api/ApiPageSet.php
includes/api/ApiQueryAllpages.php
includes/api/ApiQueryBacklinks.php
includes/api/ApiQueryInfo.php
includes/api/ApiQueryLogEvents.php
includes/api/ApiQuery.php
includes/api/ApiQueryRecentChanges.php
includes/api/ApiQueryRevisions.php
includes/api/ApiQuerySiteinfo.php
includes/api/ApiQueryUserContributions.php
includes/api/ApiQueryWatchlist.php
includes/Article.php
includes/AutoLoader.php
includes/Database.php
includes/DefaultSettings.php
includes/DifferenceEngine.php
includes/EditPage.php
includes/Export.php
includes/GlobalFunctions.php
includes/Image.php
includes/LoadBalancer.php
includes/memcached-client.php
includes/MemcachedSessions.php
includes/MessageCache.php
includes/OutputPage.php
includes/ParserCache.php
includes/Parser.php
includes/QueryPage.php
includes/Sanitizer.php
includes/Skin.php
includes/SkinTemplate.php
includes/SpecialAllmessages.php
includes/SpecialConfirmemail.php
includes/SpecialContributions.php
includes/SpecialExport.php
includes/SpecialListusers.php
includes/SpecialLog.php
includes/SpecialMovepage.php
includes/SpecialNewpages.php
includes/SpecialPage.php
includes/SpecialPreferences.php
includes/SpecialRecentchanges.php
includes/SpecialSearch.php
includes/SpecialUndelete.php
includes/SpecialUpload.php
includes/SpecialUserlogin.php
includes/SpecialVersion.php
includes/SpecialWantedpages.php
includes/templates/Userlogin.php
includes/Title.php
includes/User.php
includes/WebStart.php
index.php
languages/messages/MessagesDe.php
languages/messages/MessagesEn.php
maintenance/deleteDefaultMessages.php
maintenance/dumpBackup.php
maintenance/generateSitemap.php
maintenance/postgres/tables.sql
maintenance/runJobs.php
skins/common/ajaxsearch.js
skins/common/common.css
skins/common/wikibits.js
skins/monobook/main.css
skins/monobook/rtl.css
skins/MonoBook.php


Ending Notes


Sure, the ArmchairGM codebase is old and plenty of stuff needs to be rewritten so that it even runs, let alone works properly, on modern versions of MediaWiki.
That being said, I'm glad that the ArmchairGM codebase is now open source — better late than never, as they say.

Thursday, March 31, 2011

Status update on SocialProfile for Q1/2011

This is the first quarterly update about the SocialProfile extension for MediaWiki, from January 1, 2011 to March 31, 2011.

Fixed bugs



  • Bug #26588 — image converting code should use $wgImageMagickConvertCommand instead of hardcoded "convert" (fixed in r79662)

  • Bug #28251 — SQL error in user profile pages (fixed in r84806)

  • Bug #27032 — new EditProfile special page to edit other users' social profiles



Other notable things




Plans for the future



  • Fix all open SocialProfile bugs — currently there are 6 open bugs; most of them aren't too complicated, so it should be possible to get them fixed by the end of the year

  • Improve and release other social tools — Comments, QuizGame, PictureGame, Video...there are plenty of awesome social extensions that need to be cleaned up and released



Do you have a wiki running SocialProfile? What features would you like to see incorporated in SocialProfile? Have some other thoughts, ideas or comments? Please let me know in the comments section.

Monday, September 6, 2010

Moving your wiki from Wikia to another host (off-Wikia)

You've just started a new wiki at Wikia. Congratulations. After a while, the community grows and there will be many editors. The bigger the wiki, the better, right? Most likely so. But with great articles comes great problems. Wikia's many software updates — at least things like Wikia's New New Style, which are purely political and motivated by the need to gain more revenue — can cause problems. What's the solution? Well, Wikia most certainly isn't going to stop applying software updates and writing new code. Would your community like to have a bit more space? There is a solution for your problem(s) — moving to another wiki host.

But moving off-Wikia to another, non-Wikia host is everything but simple and straightforward. Wikia usually refuses to close down the existing Wikia wiki; while it's true that they have every legal right to keep the Wikia site open, it's just not very fair or courteous towards the editors and administrators — the community of the wiki. In the worst case, administrators of the Wikia site may lose their rights on the Wikia site and the Wikia site will still exist and be editable by the world.

History knows of some fine examples. A Transformers-related wiki was started at transformers.wikia.com a long time ago. When Wikia's New Style — that is, forcing the Monaco skin down the users' throats — was introduced over two years ago, many wikis considered moving off-Wikia. This wiki was one of them. The wiki moved to TFWiki.net. Autonomy and total control of the wiki and no problems, right? Wrong. Wikia refused to close down the Wikia site and as an added "bonus", a high-ranking Wikia staff member, along with another staff member, removed the admins' and bureaucrats' rights on transformers.wikia.com, the log reason stating that these people have "moved to tfwiki.net". Well, it's the truth, you can't doubt that. What's noteworthy is that Wikia has no problems using the content created by these people. Sure, free content, but the current transformers.wikia.com is basically an unwanted and outdated fork of TFWiki.net.

Another case study: GisleWiki. This wiki was started at Wikia, but the founder (who, btw, pretty much built the site all by himself) didn't like Wikia's way of doing things, so he moved the wiki to its own domain, at GisleWiki.com. Wikia re-opened the Wikia site and look at it now: no edits for a long period of time and GisleWiki.com has more articles, obviously, because that wiki is being actively maintained by its founder. This didn't stop Wikia staff members from not only removing the founders' rights on the Wikia site, but also calling him a vandal. That's right folks — administrating a community, if you're not doing it as Wikia wants, is VANDALISM!

A more personal example is Jedipedia, the Finnish-language Star Wars wiki. I'm the co-founder of Jedipedia, along with Ufsark. In late July 2010, the wiki held a vote — at my initiative — to move to another wiki hosting service. The vote passed with nine (that's right, 9) people supporting and no-one opposing. Pretty much every active community member voted in the vote. Tells you something, eh?
The Jedipedia community and the administration team knew that Wikia wouldn't let the wiki go just like that, so we inserted a piece of JavaScript code into the site's JS. This JS code redirected the old Wikia site to the new location.
But on August 31st, a Wikia staff member discovered that we had moved and were using JavaScript to redirect the old Wikia site. This said person then proceeded to remove the JS code from our site. JouMan206, a long-serving bureaucrat and administrator of Jedipedia who later resigned at his own free will, reverted the Wikia staff member's action. The next day this Wikia staff member removed JouMan206's bureaucrat and administrator rights on Jedipedia. I must say that this certainly reminds me of the real-life historical event known as Prague Spring...

Moving on, currently there are two Finnish-language Star Wars wikis named Jedipedia: one has a community and is not hosted by Wikia, and the another one which is hosted by Wikia is practically empty in terms of people and activity. But it's not over yet. Dubček was taken to Moscow when the Warsaw Pact forces entered Czechoslovakia and I was about to receive my punishment for...for...for being an innocent bystander who had a solution for the community's problems.

04:58, 2 September 2010 I was blocked on a Wikia-wide scale by another Wikia staff member for "malicious use of javascript"[sic]. I was naturally quite shocked as I hadn't done anything on Wikia for a rather long while. So I sent them a short message; copied and pasted my block message and added "Please explain." This is what Wikia replied to me:


Jack, you were redirecting Wikia sites to your wiki farm, with code that
hid the effect from staff/helpers/vstf. I can (with effort) believe
that others using the code weren't aware that this was a problem, but
I'm sure you were aware of our likely reaction.

It seems it's time for you to move on from Wikia.


Here's a challenge for you, my dear reader: can you find a diff where I added "malicious javascript" to a Wikia-hosted wiki? I tell you that you'll be having difficulties with that task, as there are no diffs because I never added any malicious JavaScript to any Wikia-hosted wiki. Nevertheless, I can say that I saw this coming. All Wikia needed was an excuse, and finally they found a suitable one. Still, this isn't the proper way to treat people who did a lot of volunteer work for you, at least in my humble opinion.
What do you think? Please share your thoughts on this issue with me in the comments section.

P.S. The JS that this post has mentioned a few times is posted here, in case you need to redirect your Wikia site to a different URL address:

if ( wgUserGroups === null || typeof( wgUserGroups ) != null && wgUserGroups.join(' ').indexOf( 'staff' ) == -1 && wgUserGroups.join(' ').indexOf( 'helper' ) == -1 && wgUserGroups.join(' ').indexOf( 'vstf' ) == -1 && wgUserGroups.join(' ').indexOf( 'sysop' ) == -1 && wgUserGroups.join(' ').indexOf( 'bureaucrat' ) == -1 ) {
window.location = 'http://URLofYourNewWiki.example.com/wiki/' + wgPageName;
}

Sunday, February 28, 2010

The past, the present and the future of the social tools

Social tools is a term which usually refers to MediaWiki's SocialProfile extension. SocialProfile consists of 10 "modules" (which actually used to be separate extensions at some point, ages ago), of which 9 are enabled by default. The only module not enabled by default is UserWelcome, which provides the <welcomeUser /> tag. Here's a quick overview of SocialProfile's modules:


  • SystemGifts — award functionality. Awards are automatically given out by the software once the user has reached the specified threshold (i.e. 5 edits, for example).

  • UserActivity — social activity feed on user profile pages.

  • UserBoard — Facebook-like message boards on user profile pages.

  • UserProfile — turns plain old User: pages into cool, social profiles!

  • UserRelationship — friends and foes, which will be shown in your social profile.

  • UserStats — statistics related to social actions (i.e. friending, sending a board message, etc.). UserStats also contains the point system (User Levels)

  • UserSystemMessages — required by UserActivity, stores when a user advanced to the next level

  • UserWelcome — a parser hook extension which provides <welcomeUser /> tag, which can be used to display user-specific info to the current user (when used in combination with WikiTextLoggedInOut extension

  • YUI — a very simple extension which loads the Yahoo! User Interface JavaScript library (version 2.7.0) on every page load, along with some custom functions.



In addition to SocialProfile and its modules, some other social tools are also available in the official MediaWiki SVN repository, namely:


  • RandomUsersWithAvatars — adds <randomuserswithavatars> tag to show the avatars of randomly chosen wiki users who have set an avatar for themselves.

  • WikiTextLoggedInOut — adds <loggedin> and <loggedout> parser tags to show different text to anonymous and logged-in users. Most commonly this is used to display random avatars (see RandomUsersWithAvatars extension) to anonymous users and UserWelcome info to registered users.



The past of social tools


Social tools were developed by the founders of ArmchairGM, Aaron Wright, David Pean, Dan Lewis and Rob Lefkowitz. Then Wikia bought ArmchairGM and hired its developers. Soon enough the magazine-style wikis were launched. Magazine wikis were wikis with social tools and each had its own, unique skin. Gaming.Wikia's was the best, no doubt — it was much like ArmchairGM's current default skin, only darker.
In late 2007, it seems that Wikia started pulling the plug on the magazine wikis. By 2008 there were no magazine wikis left, all of them had been converted into ordinary, plain Wikia wikis.

However, the social tools saw a second coming: Halopedia, a wiki about the popular Halo game series, was converted into a social wiki — complete with picture games, polls, quizzes and everything! I remember when that happened; I was helping the ArmchairGM developers in debugging the 'new' Halopedia.

In February 2008, SocialProfile was released, after I had requested it. At this point, it was lacking some essential features, such as the point system and the special page to remove other users' avatars (Special:RemoveAvatar). But...it was there. Completely open-source. You have to remember that back in 2008, Wikia wasn't an open-source project.

After this, a couple other wikis also got the Halo treatment: GamerGear, a wiki about PC and console gaming gear, Grand Theft Wiki, a wiki about the Grand Theft Auto game series and FFXIclopedia, a wiki about the Final Fantasy XI massively multiplayer online role-playing game (MMORPG).

The present of social tools


The ArmchairGM developers have either left Wikia voluntarily or been laid off, which, according to Wikia, means that there's nobody who knows the code.

Halopedia, GamerGear, Grand Theft Wiki and FFXIclopedia are still running social tools. Halopedia held two important votes in this January. As a result, polls, quizzes, picture games and social userboxes were turned off for Halopedia. Poll namespace extension is still enabled for Grand Theft Wiki, but it doesn't work — try clicking on one of the options of some poll and you'll see what I mean.

The future of social tools


I'm still the (un)official lead developer of SocialProfile extension, and I have no plans whatsoever to quit. Just yesterday Bryan, a fellow MediaWiki developer, fixed bug #22598 — now users using MediaWiki 1.16 or latest trunk can again upload their avatars.

I'm hoping to have more social features cleaned up by the end of the year. Namely, Comments, FanBoxes (social userboxes), LinkFilter, PictureGame, PollNY and QuizGame.

It will be a time-consuming task, I'm sure of that. But then again, I also believe in open source. I know that the social tools are a succeess, and so do the users. After all, what else explains that there are 4 archives of questions from users regarding this extension? :-)

Saturday, February 13, 2010

Idealism is dead

Back in January, I had an idea. A good one, I thought. Wikia operates ArmchairGM, a sports wiki where the social tools originated. My idea was to improve some of the unreleased tools, such as sports network tool. To do that, I needed to access the source code. Here's the catch: these tools are unreleased. Thus they cannot be found on Wikia's SVN.

What to do? On January 20, I emailed Jimmy Wales, the founder of Wikipedia and co-founder of Wikia, about this issue. My email was quickly forwarded to Gil Penchina, the CEO of Wikia, Inc. Long story short, I was asked to come to Wikia's office, either Poland or United States one, and sign a non-disclosure agreement (NDA) in order to gain access to the ArmchairGM source code and be allowed to clean it up. Wikia even offered to pay for the expenses and meals.
I wouldn't have minded signing a NDA, but flying to another country is just not possible for me, at least not anytime soon. I thought I had found a solution: I have a friend who lives in Poland and also is a programmer, so I thought that he could go to Wikia's office. I informed Wikia about this idea, and their reply to this was, "Sure". A few days later they inform us that "I can't let some "guy off the street" we've never met or built a relationship with get that sort of access to our internal systems".

Now, here's the thing: my friend's not just some guy off the street, but a smart programmer who's more experienced in programming than I'll probably ever be. He has a Master's degree and he's trusted in many different places, both offline and online. The major difference between him and me is that I once had global administrator rights on Wikia and he didn't. Big whoppin' deal.

My motive in this whole deal was to help out the greater community -- other users of MediaWiki and fellow MediaWiki developers. So that they'd have the largest possible pool of code to choose from. ArmchairGM's social tools are truly unique, as is its skin. I believed that I could change the world -- just a little, but for the better. Apparently that was a stupid idea. Should I just scrap my skin system rewrite project then, too?

Because Wikia thinks that ArmchairGM is a failed project, they aren't willing to clean up the code themselves. This means that a great skin and many great extensions have been lost forever...unless a developer in Poznań or San Francisco area is willing to negotiate with Wikia. Anyone up for a challenge?