tag:blogger.com,1999:blog-58415367014387599192024-03-21T23:47:40.162+02:00Department of JusticeCommitted to justice and truth. Say NO to miscarriages of justice and abuses of power.Unknownnoreply@blogger.comBlogger17125tag:blogger.com,1999:blog-5841536701438759919.post-37684752587586213302014-04-03T05:32:00.001+03:002014-04-03T05:32:33.943+03:00BIOS-salasanan poisto IBM ThinkPad T23 -kannettavassa tietokoneessa<div style="background: #ffa07a; border-bottom: red 2px solid; border-left: red 2px solid; border-right: red 2px solid; border-top: red 2px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;"><b>Vastuuvapauslauseke:</b> Tee tämä <b><i><u>vain omalla riskilläsi</u></i></b>! En ole vastuussa mikäli vahingossa rikot laitteesi tai jotakin pahempaa sattuu.<br />
Tee aina asianmukaiset varotoimet työskennellessäsi sähkölaitteiden parissa estääksesi sähköiskun vaaran.</div><a href="http://laptops.shoutwiki.com/wiki/IBM">IBM</a> on lyhenne sanoista "International Business Machines" (suomeksi <i>kansainväliset liike-elämän laitteet</i>) ja se on varsin osuva kuvaus <a href="http://laptops.shoutwiki.com/wiki/ThinkPad">ThinkPad</a>-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 <i>power-on password</i>, lyhennetään POP), pääkäyttäjän/valvojan salasana (englanniksi <i>supervisor password</i>, lyhennetään SVP) ja kovalevyn salasana (englanniksi <i>hard disk drive password</i>, lyhennetään HDP). Vaikkakin kovalevyn salasanan voi "ohittaa" vaihtamalla kovalevyn toiseen, kaksi jäljelläolevaa salasanaa ovat huomattavasti vaikeampia murtaa.<br />
<br />
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 <a href="http://laptops.shoutwiki.com/wiki/IBM_ThinkPad_T23">IBM ThinkPad T23</a> -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. <br />
<br />
Jos etsit lempihakukoneellasi Internetistä ohjeita valvojan salasanan poistoon IBM ThinkPad -kannettavasta, törmäät todennäköisesti yhteen näistä kolmesta asiasta: <br />
<ol><li>Tekopyhiin ihmisiin, jotka syyttävät sinua varkaaksi ja kertovat, että BIOS-salasanojen poisto-ohjeiden kysyminen on laitonta/sivuston sääntöjä rikkovaa/molempia</li>
<li>Idiootteihin, jotka väittävät sen olevan mahdotonta</li>
<li><a href="http://web.archive.org/web/20120309185146/http://sodoityourself.com/hacking-ibm-thinkpad-bios-password">SoDoItYourself.com</a>:in äärettömän monimutkaisiin ohjeisiin, joihin lukeutuu tinaamista ja muita pelottavia asioita</li>
</ol><br />
<br />
#1 ja #2 ovat ilmiselvästikin hevonpaskaa ja #3 on erittäin monimutkainen ja riskialtis mikäli et ole sähköinsinööri koulutukseltasi.<br />
<br />
Onneksi <b><u>on olemassa yksinkertainen tapa poistaa vanhempien ThinkPadien valvojan salasana (SVP)</u></b>. Tämän tavan on kuvaillut <i>Le Chameau</i> (joka muuten on ranskaa ja tarkoittaa "kamelia") SoDoItYourself.com:in artikkelin kommenttiosiossa. On myös olemassa kokonainen (englanninkielinen) <a href="http://t41-password.blogspot.com/2012/05/ibm-thinkpad-t41-unlock-reset.html">Blogspot-blogi</a>, 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! <br />
<br />
Aloitetaanpas, eikö vain? <br />
<br />
<b>Vaihe #1:</b> Poista akku ja varmista, että laturi ei ole kytkettynä.<br />
<br />
<b>Vaihe #2:</b> 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. <br />
<br />
<b>Vaihe #3:</b> Aiheuta oikosulku kahden ATMEL-piirin "jalan" välille, <b>riippuen ThinkPad-mallistasi</b>, metalliesineen avulla (käytin itse erittäin pienen neulan tylppää päätä).<br />
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 <a href="http://t41-password.blogspot.com/2012/05/ibm-thinkpad-t41-unlock-reset.html">tästä kaaviosta</a> jalkojen numerointi.<br />
Varmista myös, että pystyt <b>turvallisesti</b> poistamaan käyttämäsi metalliesineen "jalkojen" välistä, sillä joudut tekemään sen tietokoneen ollessa käynnissä.<br />
<br />
<b>Vaihe #4:</b> Kytke kannettavaan tietokoneeseen virta. <br />
<br />
<b>Vaihe #5:</b> 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ä.<br />
<br />
<b>Vaihe #6:</b> 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. <br />
<br />
<b>Vaihe #7:</b> Nyt olet BIOS:issa, ja kahden "jalan" välillä on edelleen oikosulku. Mene "Password"-osioon (suom. <i>Salasana</i>) ja huomaat, että valvojan salasana on [Disabled] (suom. <i>poistettu käytöstä</i>). Älä hämäänny! <b><u>Hankkiutuaksesi eroon tuntemattomasta valvojan salasanasta, sinun tulee antaa uusi salasana!</u></b> Hullua mutta totta.<br />
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. <i>Anna salasana uudelleen</i>). Anna uusi valvojan salasana uudelleen ja <b>ennen Enter-näppäimen painamista tallentaaksesi uuden valvojan salasanan, poista metalliesine, joka aiheuttaa oikosulun kahden ATMEL-piirin jalan välillä!</b><br />
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. <br />
<br />
<b>Vaihe #8:</b> 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à! <br />
<br />
<div style="background: #ffa07a; border-bottom: red 2px solid; border-left: red 2px solid; border-right: red 2px solid; border-top: red 2px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;"><b>Pakollinen lisenssisonta:</b> Tämä blogikirjoitus on julkaistu <i><a href="http://fi.wikipedia.org/wiki/Public_domain">public domainiin</a></i> 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.<br />
Jos kuitekin toteat tämän blogikirjoituksen hyödylliseksi, harkitsethan <a href="http://en.uncyclopedia.co/wiki/Uncyclopedia:Donate">lahjoittamista Uncyclopedialle, sisältövapaalle tietosanakirjalle</a>, koska paljon hyvää huumoria tarvittiin mahdollistaman tämä useiden epäonnistuneiden valvojan salasanan purkuyritysten aiheuttaman turhautumisen johdosta huolimatta.</div><br />
<br />
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 <a href="http://laptops.shoutwiki.com/">Laptops Wiki</a> tietää ja jaa parhaat <a href="http://laptops.shoutwiki.com/wiki/BIOS#BIOS_passwords">BIOS-salasanojen poisto-ohjeet ja -vinkit</a> sekä yleiset tietosi kannettaviin tietokoneisiin liittyen yhteisön kanssa! :-)<br />
Saatat myös haluta jättää kommentin alapuolella sijaitsevaan kommenttiosioon. Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-28697274814895613342014-04-03T05:32:00.000+03:002014-04-03T05:32:19.928+03:00How to remove the BIOS Supervisor Password (SVP) on an IBM ThinkPad T23<div style="background: #ffa07a; border-bottom: red 2px solid; border-left: red 2px solid; border-right: red 2px solid; border-top: red 2px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;"><b>Disclaimer:</b> Do this only <b><i><u>at your own risk</u></i></b>! I am not responsible if you accidentally break your device or worse.<br />
Always take the appropriate safety precautions when working with electrical device to prevent the risk of electrocution.</div><a href="http://laptops.shoutwiki.com/wiki/IBM">IBM</a> stands for "International Business Machines" and that's a relatively accurate description of the <a href="http://laptops.shoutwiki.com/wiki/ThinkPad">ThinkPad</a> 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. <br />
<br />
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 <a href="http://laptops.shoutwiki.com/wiki/IBM_ThinkPad_T23">IBM ThinkPad T23</a> 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). <br />
<br />
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: <br />
<ol><li>Hypocrites accusing you of being a thief and telling that asking for BIOS password removal instructions is illegal/against the site's rules/both</li>
<li>Idiots telling you that it's not possible</li>
<li><a href="http://web.archive.org/web/20120309185146/http://sodoityourself.com/hacking-ibm-thinkpad-bios-password">SoDoItYourself.com</a>'s overly complicated instructions involving soldering and other scary things</li>
</ol><br />
<br />
#1 and #2 are obviously bullshit and #3 is pretty complicated and risky if you're not an electrical engineer by training. <br />
<br />
Thankfully, <b><u>there is a simple way to remove the SVP of older ThinkPads</u></b>. This method has been described by <i>Le Chameau</i> (which, by the way, is French for "the camel") on the comment section of that SoDoItYourself.com article. Likewise, there is an entire <a href="http://t41-password.blogspot.com/2012/05/ibm-thinkpad-t41-unlock-reset.html">Blogspot blog</a> 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! <br />
<br />
Let's get started, shall we? <br />
<br />
<b>Step #1:</b> Remove the battery and make sure that the AC adapter is not connected. <br />
<br />
<b>Step #2:</b> 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. <br />
<br />
<b>Step #3:</b> Short the two pins on the ATMEL chip, <b>depending on your ThinkPad model</b>, with a metal object (I used the "dull" end of a very small needle).<br />
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 <a href="http://t41-password.blogspot.com/2012/05/ibm-thinkpad-t41-unlock-reset.html">this schematic</a> for reference.<br />
Also make sure that you're able to <b>safely</b> 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. <br />
<br />
<b>Step #4:</b> Power on the laptop. <br />
<br />
<b>Step #5:</b> 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. <br />
<br />
<b>Step #6:</b> 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. <br />
<br />
<b>Step #7:</b> 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! <b><u>To get rid of the supervisor password that you don't know, you'll need to set a new one!</u></b> Crazy but true.<br />
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 <b>before pressing enter to actually save the new supervisor password, remove the metal object that is shorting the two pins on the ATMEL chip!</b><br />
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. <br />
<br />
<b>Step #8:</b> 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à! <br />
<br />
<div style="background: #ffa07a; border-bottom: red 2px solid; border-left: red 2px solid; border-right: red 2px solid; border-top: red 2px solid; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;"><b>Mandatory licensing crap:</b> This blog post is released to the <a href="http://en.wikipedia.org/wiki/Public_domain">public domain</a> 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.<br />
If you do, however, find this blog post useful, please consider <a href="http://en.uncyclopedia.co/wiki/Uncyclopedia:Donate">donating to Uncyclopedia, the content-free encyclopedia</a>, 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.</div><br />
<br />
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 <a href="http://laptops.shoutwiki.com/">Laptops Wiki</a> knows and share your best <a href="http://laptops.shoutwiki.com/wiki/BIOS#BIOS_passwords">BIOS password removal tips and tricks</a> with the community, as well as your laptop knowledge! :-)<br />
You may also want to post a comment on the comment section below.Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-5841536701438759919.post-57108874220243121402011-08-09T17:10:00.006+03:002013-08-28T19:34:22.372+03:00ArmchairGM is finally open source<div style="border:3px red dotted; margin: 5px; padding: 5px;"><b>Update on 28 August 2013:</b> Wikia <a href="http://dev.wikia.com/wiki/User_blog:Relwell/Wikia_is_moving_to_GitHub!">moved to GitHub from SVN</a> 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.<br />You can browse the source tree at <a href="https://github.com/mary-kate/ArmchairGM">https://github.com/mary-kate/ArmchairGM</a>, but please make sure to read the <a href="https://github.com/mary-kate/ArmchairGM/README.mediawiki">README file</a> before asking any questions about it.<br />
</div><br />
August 1, 2011 was an important day in the history of open source software. That's when Wikia finally open-sourced the <a href="http://en.wikipedia.org/wiki/Wikia#ArmchairGM">ArmchairGM</a> codebase. You can <a href="http://trac.wikia-code.com/browser/wikia/branches/wikia-ny">browse the ArmchairGM codebase</a> or even <a href="http://svn.wikia-code.com/wikia/branches/wikia-ny">grab a copy of the ArmchairGM codebase</a>, if you feel like it! <br />
<br />
<h2>A bit of history</h2><br />
Over <a href="http://ashleywiki.blogspot.com/2010/02/idealism-is-dead.html">a year ago</a> 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. <br />
<br />
Later on, <a href="http://www.seancolombo.com/">Sean Colombo</a>, an awesome open source developer and the founder of <a href="http://en.wikipedia.org/wiki/LyricWiki">LyricWiki</a>, 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. <br />
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. <br />
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! <br />
<br />
<h2>About the ArmchairGM codebase</h2><br />
The ArmchairGM codebase is based on MediaWiki 1.10alpha; the work on MediaWiki 1.10 started on <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/18957">8 January 2007</a>. <br />
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. <br />
<br />
Most of the interesting things can be found on the <tt>extensions</tt> and <tt>skins</tt> directories. <br />
<br />
The <tt>extensions</tt> directory and its <tt>wikia</tt> 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. <br />
<br />
The <tt>skins</tt> 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 <a href="http://www.halopedian.com/">Halopedia</a> 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 <b>not</b> there — some are accessible on Wikia's servers if you know where to look for them, some are permanently gone. <br />
<br />
<b>What about core hacks?</b> 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. <s>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. <br />
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 <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/18957">r18957</a> (committed on 8 January 2011) and <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/21732">r21732</a> (committed on 1 May 2007) — that's 2775 revisions of code, and the ArmchairGM codebase could've been forked from any of those revisions.</s> <br />
<b>Update on 15 August 2011:</b> 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 <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/20138">r20138</a> or a revision very close to it. <br />
<br />
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: <br />
<br />
<tt>svn export -r 20138 http://svn.wikimedia.org/svnroot/mediawiki/trunk/phase3 MW-r20138</tt> <br />
<br />
Then export a copy of the ArmchairGM codebase: <br />
<br />
<tt>svn export https://svn.wikia-code.com/wikia/branches/wikia-ny/trunk NYC</tt> <br />
<br />
And finally generate the patch: <br />
<tt>diff -ur MW-r20138 NYC > diff-between-NYC-and-vanilla-MW-r20138.patch</tt> <br />
<br />
Some changes are useless, like the change to <tt>includes/AjaxDispatcher.php</tt>, some are plain weird (like the various API changes to the files in the <tt>includes/api</tt> 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. <br />
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. <br />
<br />
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: <br />
<br />
<pre>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
</pre><br />
<br />
<h2>Ending Notes</h2><br />
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. <br />
That being said, I'm glad that the ArmchairGM codebase is now open source — better late than never, as they say.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-13083395125533464432011-03-31T17:34:00.005+03:002011-03-31T17:58:21.164+03:00Status update on SocialProfile for Q1/2011This is the first quarterly update about <a href="http://www.mediawiki.org/wiki/Extension:SocialProfile" title="SocialProfile">the SocialProfile extension</a> for <a href="http://www.mediawiki.org/wiki/MediaWiki" title="MediaWiki">MediaWiki</a>, from January 1, 2011 to March 31, 2011.<br /><br /><h3>Fixed bugs</h3><br /><ul><br /><li><a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=26588">Bug #26588</a> — image converting code should use $wgImageMagickConvertCommand instead of hardcoded "convert" (fixed in <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/79662">r79662</a>)</li><br /><li><a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=28251">Bug #28251</a> — SQL error in user profile pages (fixed in <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84806">r84806</a>)</li><br /><li><a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=27032">Bug #27032</a> — new EditProfile special page to edit other users' social profiles</li><br /></ul><br /><br /><h3>Other notable things</h3><br /><ul><br /><li>Work towards <a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=27732">bug #27732</a> has been made — see especially <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84803">r84803</a> and <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki/84804">r84804</a><br /></li><br /><li>Internationalization and localization updates, courtesy of <a href="http://www.translatewiki.net">translatewiki.net</a></li><br /><li>There <b><i>may</i></b> be a SocialProfile-related Google Summer of Code project, for which <a href="http://www.mediawiki.org/wiki/User:Jack_Phoenix">I</a> will be the mentor (see <a href="http://www.mediawiki.org/w/index.php?title=User:Zhenya&oldid=394418">my student's proposal</a> and the <a href="http://www.mediawiki.org/wiki/Summer_of_Code_2011">MediaWiki.org page about Summer of Code 2011</a>)</li><br /></ul><br /><br /><h3>Plans for the future</h3><br /><ul><br /><li>Fix <a href="https://bugzilla.wikimedia.org/buglist.cgi?query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=VERIFIED&component=SocialProfile&resolution=---&resolution=WONTFIX&resolution=LATER">all open SocialProfile bugs</a> — currently there are <b>6</b> open bugs; most of them aren't too complicated, so it should be possible to get them fixed by the end of the year</li><br /><li>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</li><br /></ul><br /><br />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.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-41121090676838899612010-09-06T23:37:00.005+03:002010-09-26T20:32:42.748+03:00Moving your wiki from Wikia to another host (off-Wikia)You've just started a new wiki at <a href="http://en.wikipedia.org/wiki/Wikia" title="Wikia">Wikia</a>. 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 <a href="http://community.wikia.com/wiki/User_blog:Sannse/Your_First_Look_at_the_New_Wikia">Wikia's New New Style</a>, 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.<br /><br />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 <b><i>community</i></b> 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.<br /><br />History knows of some fine examples. A Transformers-related wiki was started at <a href="http://transformers.wikia.com/wiki/">transformers.wikia.com</a> 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 <a href="http://tfwiki.net/wiki/Main_Page">TFWiki.net</a>. Autonomy and total control of the wiki and no problems, right? <u><b><i>Wrong.</i></b></u> Wikia refused to close down the Wikia site and as an added "bonus", a high-ranking Wikia staff member, along with another staff member, <a href="http://transformers.wikia.com/wiki/Special:Log/rights">removed the admins' and bureaucrats' rights on transformers.wikia.com</a>, 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.<br /><br />Another case study: <a href="http://gislewiki.com/wiki/Main_Page">GisleWiki</a>. 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 <a href="http://gislewiki.com/wiki/Main_Page">GisleWiki.com</a>. Wikia <a href="http://gisle.wikia.com/index.php?title=Gisle_Wiki&action=history">re-opened the Wikia site</a> 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 <a href="http://gisle.wikia.com/wiki/Special:Log/rights">not only removing the founders' rights on the Wikia site, but also calling him a <i>vandal</i></a>. That's right folks — administrating a community, if you're not doing it as Wikia wants, is <b>VANDALISM</b>!<br /><br />A more personal example is <a href="http://fi.starwars.shoutwiki.com/wiki/Etusivu">Jedipedia</a>, the Finnish-language <i>Star Wars</i> wiki. I'm the co-founder of Jedipedia, along with <a href="http://fi.starwars.shoutwiki.com/wiki/K%C3%A4ytt%C3%A4j%C3%A4:Ufsark">Ufsark</a>. In late July 2010, the wiki held <a href="http://fi.starwars.shoutwiki.com/wiki/Foorumi:YA:Muuttaminen">a vote</a> — at my initiative — to move to another <a href="http://www.shoutwiki.com/wiki/">wiki hosting service</a>. The vote passed with nine (that's right, 9) people supporting and <i>no-one opposing</i>. Pretty much every active community member voted in the vote. Tells you something, eh?<br />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 <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> code into the site's JS. This JS code redirected the old Wikia site to the new location.<br />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. <a href="http://fi.starwars.shoutwiki.com/wiki/K%C3%A4ytt%C3%A4j%C3%A4:JouMan206">JouMan206</a>, 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 <a href="http://en.wikipedia.org/wiki/Prague_Spring">Prague Spring</a>...<br /><br />Moving on, currently there are two Finnish-language <i>Star Wars</i> 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. <a href="http://en.wikipedia.org/wiki/Alexander_Dub%C4%8Dek">Dubček</a> 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.<br /><br />04:58, 2 September 2010 I was blocked on a Wikia-wide scale by another Wikia staff member for "malicious use of javascript"<sup>[sic]</sup>. 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:<br /><br /><pre><br />Jack, you were redirecting Wikia sites to your wiki farm, with code that<br />hid the effect from staff/helpers/vstf. I can (with effort) believe<br />that others using the code weren't aware that this was a problem, but<br />I'm sure you were aware of our likely reaction.<br /><br />It seems it's time for you to move on from Wikia.<br /></pre><br /><br />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 <b><i>there are no diffs</i></b> because <b><i>I never added any malicious JavaScript to any Wikia-hosted wiki</i></b>. 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.<br /><b>What do you think?</b> Please share your thoughts on this issue with me in the comments section.<br /><br />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:<br /><pre><br />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 ) {<br /> window.location = 'http://URLofYourNewWiki.example.com/wiki/' + wgPageName;<br />}<br /></pre>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-5841536701438759919.post-27470333115522022932010-02-28T14:59:00.006+02:002011-04-26T18:20:01.696+03:00The past, the present and the future of the social tools<b>Social tools</b> is a term which usually refers to <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>'s <a href="http://www.mediawiki.org/wiki/Extension:SocialProfile">SocialProfile</a> 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 <a href="http://www.mediawiki.org/wiki/Extension:UserWelcome">UserWelcome</a>, which provides the <tt><welcomeUser /></tt> tag. Here's a quick overview of SocialProfile's modules:<br /><br /><ul><br /><li>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).</li><br /><li>UserActivity — social activity feed on user profile pages.</li><br /><li>UserBoard — Facebook-like message boards on user profile pages.</li><br /><li>UserProfile — turns plain old User: pages into cool, social profiles!</li><br /><li>UserRelationship — friends and foes, which will be shown in your social profile.</li><br /><li>UserStats — statistics related to social actions (i.e. friending, sending a board message, etc.). UserStats also contains the <a href="http://www.mediawiki.org/wiki/Extension:SocialProfile#Points.2Frank_system">point system (User Levels)</a></li><br /><li>UserSystemMessages — required by UserActivity, stores when a user advanced to the next level</li><br /><li>UserWelcome — a parser hook extension which provides <tt><welcomeUser /></tt> tag, which can be used to display user-specific info to the current user (when used in combination with <a href="http://www.mediawiki.org/wiki/Extension:WikiTextLoggedInOut">WikiTextLoggedInOut</a> extension</li><br /><li>YUI — a very simple extension which loads the <a href="http://en.wikipedia.org/wiki/Yahoo!_UI_Library">Yahoo! User Interface</a> JavaScript library (version 2.7.0) on every page load, along with some custom functions.</li><br /></ul><br /><br />In addition to SocialProfile and its modules, some other social tools are also available in the <a href="http://svn.wikimedia.org/">official MediaWiki SVN repository</a>, namely:<br /><br /><ul><br /><li><a href="http://www.mediawiki.org/wiki/Extension:RandomUsersWithAvatars">RandomUsersWithAvatars</a> — adds <tt><randomuserswithavatars></tt> tag to show the avatars of randomly chosen wiki users who have set an avatar for themselves.</li><br /><li><a href="http://www.mediawiki.org/wiki/Extension:WikiTextLoggedInOut">WikiTextLoggedInOut</a> — adds <tt><loggedin></tt> and <tt><loggedout></tt> 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.</li><br /></ul><br /><br /><h2>The past of social tools</h2><br />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 <a href="http://community.wikia.com/index.php?title=Wikia_Magazines&oldid=103947">magazine-style wikis</a> 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.<br />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.<br /><br />However, the social tools saw a second coming: <a href="http://halopedian.com/">Halopedia</a>, a wiki about the popular <i>Halo</i> 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.<br /><br />In February 2008, <a href="http://lists.wikimedia.org/pipermail/wikitech-l/2008-February/036682.html">SocialProfile was released</a>, 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.<br /><br />After this, a couple other wikis also got the Halo treatment: <a href="http://gamergear.wikia.com/">GamerGear</a>, a wiki about PC and console gaming gear, <a href="http://grandtheftwiki.com/">Grand Theft Wiki</a>, a wiki about the <i>Grand Theft Auto</i> game series and <a href="http://wiki.ffxiclopedia.org/wiki/Main_Page">FFXIclopedia</a>, a wiki about the Final Fantasy XI massively multiplayer online role-playing game (MMORPG).<br /><br /><h2>The present of social tools</h2><br />The ArmchairGM developers have either left Wikia voluntarily or been <a href="http://armchairgm.wikia.com/Lockerroom:One_Year_Ago..._A_mistake_was_made.#comment-286956">laid off</a>, which, according to Wikia, means that there's nobody who knows the code.<br /><br />Halopedia, GamerGear, Grand Theft Wiki and FFXIclopedia are still running social tools. Halopedia held two important votes in this January. As a result, <a href="http://halopedian.com/Forum:Abolishing_the_Polls,_Quizzes_and_Picture_Games">polls, quizzes, picture games</a> and <a href="http://halopedian.com/Forum:Disabling_the_Userbox_feature">social userboxes</a> 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.<br /><br /><h2>The future of social tools</h2><br /><a href="http://www.mediawiki.org/wiki/User:Jack_Phoenix">I'm</a> 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 <a href="https://bugzilla.wikimedia.org/show_bug.cgi?id=22598">bug #22598</a> — now users using MediaWiki 1.16 or latest trunk can again upload their avatars.<br /><br />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.<br /><br />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 <a href="http://www.mediawiki.org/wiki/Extension_talk:SocialProfile">4 archives</a> of questions from users regarding this extension? :-)Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-5841536701438759919.post-19287910638745210462010-02-13T21:16:00.004+02:002010-02-14T22:20:31.900+02:00Idealism is deadBack in January, I had an idea. A good one, I thought. Wikia operates <a href="http://en.wikipedia.org/wiki/ArmchairGM">ArmchairGM</a>, a sports wiki where the <a href="http://www.mediawiki.org/wiki/Extension:SocialProfile">social tools</a> originated. My idea was to improve some of the unreleased tools, such as <a href="http://armchairgm.wikia.com/Special:TopNetworks">sports network tool</a>. To do that, I needed to access the source code. Here's the catch: these tools are unreleased. Thus they cannot be found on <a href="http://trac.wikia-code.com/">Wikia's SVN</a>.<br /><br />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 <a href="http://en.wikipedia.org/wiki/Non-disclosure_agreement">non-disclosure agreement (NDA)</a> 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.<br />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".<br /><br />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.<br /><br />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 <a href="http://www.mediawiki.org/wiki/User:Jack_Phoenix/SkinSystemRewrite">skin system rewrite project</a> then, too?<br /><br />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 <a href="http://en.wikipedia.org/wiki/Pozna%C5%84">Poznań</a> or <a href="http://en.wikipedia.org/wiki/San_Francisco">San Francisco</a> area is willing to negotiate with Wikia. Anyone up for a challenge?Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5841536701438759919.post-77722785230854299182010-02-07T20:46:00.011+02:002010-02-08T23:32:35.259+02:00BugsBugs. Bugs are annoying. And no, I'm not talking about the real life bugs that bug you when you're trying to write a blog about Wikia bugs.<br />What is the proper procedure when you find a bug on Wikia? Where do you report them? Wikia used to have a Bugzilla for tracking bugs... but a very smart person must have decided it wasn't needed back in 2007 or so. Currently only Wikia staff are able to use Wikia's bug tracking system, when in the past everyone was able to use the Bugzilla. Since July 2008, Wikia's <a href="http://community.wikia.com/wiki/Community_Central:Open_company_test">open company test</a> page has stated that Wikia doesn't have open bugtracking <b>yet</b>. Now, we have two options left:<br /><br />One of these options is <a href="http://community.wikia.com/wiki/Special:Contact">Special:Contact</a>, a feature I dislike using because it takes days before you finally get a reply and the reply you get usually says that they're looking into the problem and then you never hear from them again.<br /><br />The other option we have is IRC, #Wikia on <a href="http://freenode.net/">freenode</a> to be precise. And this is where we reported a bug that was caused by the recent move of Wikia Central to community.wikia.com. A number of users have userpage templates to for use all around Wikia, these templates are located on Central (now moved to community.wikia). These templates stopped working after the move. Once I found out they were no longer working, I went to the Wikia IRC channel and asked if anyone knew what the problem was. The first person to reply referred me to a <a href="http://community.wikia.com/wiki/Forum:Template_fetch_errors">Wikia forum</a><span style="font-weight: bold;">,</span> now, there is nothing wrong with that. But, on the forum it says my bug had been reported <span style="font-weight: bold;">4 days</span> before I reported it, and the forum also makes it very clear that Wikia does not care about fixing this bug. No, they are to busy moving Central around and creating bugs to actually consider fixing them. Now, I know it's more fun to play around while creating bugs and that fixing bugs is not really a fun thing to do, but, the normal users like me would surely appreciate it if bugs like that would be fixed as fast as possible.<br /><br />And this is when the conversation in #Wikia really picked up, more and more people started to have their say (nothing wrong with that, right?). Well, if you think like that you have clearly not been around #Wikia lately. We were kindly requested to take our conversation to #Wikia-social, and no, this request did not come from Wikia staff because they're not around during the weekend. It was another user who suggested we take <span style="font-weight: bold;">BUG REPORTS</span> to a <span style="font-weight: bold;">SOCIAL CHANNEL</span> because the main channel is not for "complaining" as he called it.<br /><br />The discussion then evolved into a heated argument about the fact that Wikia staff doesn't seems to care about bug reports. A shame really, cause all I was looking to find was the answer to a set of simple questions:<br /><br />1) There is a bug, has it been reported yet?<br />2) If it has been reported, what is being done to fix it? If it hasn't been reported yet, how soon can someone look at it?<br /><br />Although I did get an answer to both of my questions (1: yes 2: we don't care, so go bug someone else), I find the way I got them ridiculous. And what's even worse, another question has come to my mind: How the hell are we supposed to report bugs on Wikia?<br /><br />By the time someone replies to an email sent via Special:Contact the bug has probably already gotten bored and fixed itself. If you go to the IRC channel you'll be met with hostility and accused of "complaining". In the end we'll just have to realize that there is no way to report a bug on Wikia, and even if there is, Wikia does not care about bugs and they care even less about users. We will just have to wait for bugs to learn how to fix themselves.Zerohttp://www.blogger.com/profile/09517073957858955696noreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-27802351657300605352009-12-23T14:45:00.004+02:002009-12-23T15:00:41.851+02:00Answers, answers...answers?It seems that Wikia is not very willing to discuss <a href="http://answers.wikia.com/index.php?title=Will_you_release_the_full_source_code_of_answers.wikia_before_2010&action=history">when they will release the missing parts of answer.wikia codebase</a> — if ever. Wikia's <a href="http://www.wikia.com/wiki/Special:Contact">contact form a.k.a Special:Contact</a> is more or less of an alias to <a href="http://en.wikipedia.org/wiki//dev/null">/dev/null</a>. It's a shame, really. In my opinion, it's important to allow the users to participate if they want to do so. Now all the users can do is provide feedback and make suggestions. Surely it'd be better if the users could just take a look at the source code and fix the bugs they've found?<br /><br />I've probably said it before, but I'll say it again just to make sure: it's not my problem if you're running your site(s) on a collection of hacks and quick patches. I've already offered my help and I know when it's not wanted. I just thought that it would've been nice to have an open-source answers platform for MediaWiki (since <a href="http://wiki.answers.com">WikiAnswers</a> is not open source) and it would've helped Wikia too, allowing better internationalization and more bug fixes.<br /><br />Also, Merry Christmas to my readers — have an open-sourcey Christmas. ;-)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-12469848080970625752009-10-19T00:40:00.002+03:002009-10-19T00:46:16.439+03:00New editorsAs you may or may not have noticed, <a href="http://www.mediawiki.org/wiki/User:Jack_Phoenix">I</a> am a lazy blogger. And nobody likes to read a blog that hasn't been updated for ages.<br /><br />This is exactly why I decided to add a couple editors to this blog (and in the process removed the "rants of a MediaWiki developer" subtitle, as this is no longer my personal blog) - <a href="http://darth.wikia.com/wiki/User:StarNinja99">StarNinja99</a> (a.k.a Nina) and <a href="http://darth.wikia.com/wiki/User:Supergeeky1">supergeeky1</a> (a.k.a El Geeko).<br />Both are <a href="http://darth.wikia.com/wiki/Darthipedia:Administrators">administrators</a> on <a href="http://darth.wikia.com/">Darthipedia</a>, <b>the</b> Star Wars Humor Wiki.<br /><br />Welcome to the team, guys!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-8177536597237996042009-10-17T15:01:00.008+03:002009-10-19T22:14:06.084+03:00Wiki autonomy...or then notBack in 2007, I adopted a Wikia wiki named WarWiki. I revived it, imported a fair bunch of articles from English Wikipedia (with attribution, naturally) and so on. Then I moved on to work on other things (such as being a Wikia janitor, but that was quite a while ago) and didn't have so much time for that wiki.<br /><br />WarWiki was relatively quiet, only a couple edits per week, mostly from random anonymous users. I decided to clean the wiki up a bit, and started by disabling Wikia's Welcome Tool (HAWelcome extension); don't get me wrong, HAWelcome is very nice extension, at least from a technical point of view, but some wikis prefer to do welcomes "old-school" style — that is, to have <b>real</b> users welcome other users instead of bots. I find it quite annoying when the welcome bot leaves a "Hi, thanks for your edit" message to a <i>spambot</i>. No wiki needs any more of those!<br /><br />So, I disabled Welcome Tool, deleted some old IP talk pages, and also Welcome Tool's user page and its talk page. A couple of days after this, I gave sysop rights to a couple friends of mine, as I thought that they could help me revive this wiki. What a fool I was. The next day, a Wikia staff member undeleted Welcome Tool's user page and talk page and re-enabled the Welcome Tool. So much for that wiki autonomy.<br /><br />But wait! This story isn't over just yet...<br /><br />After this stunt, my fellow co-administrators disabled Welcome Tool <i>once again</i> and re-deleted its user and talk pages. Guess what this earned us? Mass-deoppings, that's what. I lost my bureaucrat and sysop rights, and all the people I had promoted to admin status a couple days earlier lost their sysop rights. For a while, WarWiki had only one (inactive) bureaucrat and two inactive admins. All active admins had lost their rights...and for what? Hmm, that's a good question. You see, we were never told the reason! Last time I checked, there was a box on Special:UserRights labeled "Reason for change".<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikDCXPoB2wjmkDrSAfpmb1DJ7szpTJdxUekuPOkxNUw30a7CbCZWp2tB6iCru_bdWINeLQRZXaENvsz7F1f9yWwwSYyyyfcWWMi0u5cL1jfYL9fIHuPGztVhY3-X3dW-BdoJORhAb29ej0/s1600-h/SpecialUserRights.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 306px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikDCXPoB2wjmkDrSAfpmb1DJ7szpTJdxUekuPOkxNUw30a7CbCZWp2tB6iCru_bdWINeLQRZXaENvsz7F1f9yWwwSYyyyfcWWMi0u5cL1jfYL9fIHuPGztVhY3-X3dW-BdoJORhAb29ej0/s320/SpecialUserRights.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5393541227608874898" /></a><br /><br />The above is a screenshot of Special:UserRights special page on <a href="http://www.mediawiki.org/" title="MediaWiki.org">MediaWiki.org</a>...do you see the box I'm talking about? Yeah, I see it there too.<br /><br />A page I had deleted earlier, related to Wikia's new "blog" feature, was also undeleted by the Wikia staff member in question. I don't feel that blogs are appropriate for every wiki, and that's exactly why I had deleted the page earlier on.<br /><br />After a relatively long and painful discussion with another Wikia staff member, I got my sysop rights back — of course, after I had been suspected of "doing a subtle troll". I haven't edited WarWiki since that, because I feel that their behavior towards me was at least highly questionable, if not more.<br /><br />What does this remind me of? It certainly reminds me of <a href="http://www.f-secure.com/weblog/archives/00001789.html">this blog post</a> by Mikko Hyppönen, the Chief Research Officer of <a href="http://www.f-secure.com/" title="F-Secure">F-Secure</a> (<a href="http://en.wikipedia.org/wiki/F-Secure">English Wikipedia's article on F-Secure</a>). His blog post has a link to Michael Krigsman's <a href="http://blogs.zdnet.com/projectfailures/?p=6327">Project Failures Analysis</a> regarding Mikko's problems with Twitter; I suggest checking it out. I think this quote sums it up nicely:<br /><br /><table cellpadding="10" align="center" style="border-collapse:collapse; background-color:transparent; border-style:none;"><tr><td style="vertical-align:top;padding-left: 3em; color: #B2B7F2; font-size: 40px; font-family: 'Times New Roman', serif; font-weight: bold; text-align: left;"> ”</td><td style="font:italic 0.95em monospace;"><blockquote style="margin-left:-.2.8em;">[...]this situation offers a case study example of immature customer service and suggests problems with the organization’s corporate culture.</blockquote></td><td style="vertical-align:bottom;color: #B2B7F2; font-size: 40px; font-family: 'Times New Roman', serif; font-weight: bold; text-align: left;"> ”</td></tr><tr><td colspan="3" style="padding-top: 5px; padding-right: 5em;"> <p style="font-size:small;line-height:1em;text-align: right;"><cite style="font:0.9em normal;">~Michael Krigsman <a href="http://blogs.zdnet.com/projectfailures/?p=6327"><sup>[source]</sup></a><i></cite></p></i></td></tr></table>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5841536701438759919.post-37030062994571636352009-10-03T20:06:00.003+03:002009-10-03T23:33:18.285+03:00Wiki autonomy<a href="http://en.wikipedia.org/wiki/Autonomy">English Wikipedia</a> says the following about autonomy: "<i><b>Autonomy</b> [...] is also used to refer to the self-governing of a people.</i>"<br />Now, what's one of the largest wiki hosts? Probably Wikia.<br /><br />Wikia's principles on wiki ownership are, to say the least, interesting. Their <a href="http://www.wikia.com/wiki/Wikia:Ownership">ownership page</a> states that "<i>The wikis are owned by the communities. No one user owns any wiki on Wikia. Founders are those who requested a wiki be created, but ownership of that wiki resides with the community as a whole, not only with the founder.</i>"<br />This comment, although not directly related to this issue, by a Wikia staff member is also interesting: "<i>we make those rules, we can break them for our own reasons</i>". (See <a href="http://www.wikia.com/wiki/Forum:Moving_ads">this page</a> for the source of the quote)<br /><br />All wikis on Wikia are somewhat autonomous, it's just that some wikis are more autonomous than the others. Like <a href="http://starwars.wikia.com">Wookieepedia</a>. It's one of Wikia's biggest wikis. It also has administrators, who block people on the "I don't like you" basis. People like me. See <a href="http://starwars.wikia.com/index.php?title=Special%3ALog&type=block&user=&page=User%3AJack+Phoenix&year=&month=-1&tagfilter=">my block log entry</a> there. Now, I admit that I may be a bit controversial sometimes, but if you know me or have read through my <a href="http://www.mediawiki.org/wiki/User:Jack_Phoenix">MediaWiki.org user page</a>, you're able to tell that I'm not a troll, vandal or spammer. I asked a Wikia staff member to help me with this issue; the person contacted a couple Wookieepedia admins, and after they refused to reply, gave up. To me, that felt like a slap in the face. Or even a punch. I did quite a lot for Wikia before I left the site — thus I believe that they could help me out here. But of course, that cannot be done since "this is a local issue". While my block is indeed unjustified, it's not the subject of this post, I'll be discussing more about it in another post later on.<br /><br /><a href="http://darth.wikia.com">Darthipedia</a> is one of the wikis where I'm an admin. It is also the largest wiki <sup><a href="http://darth.wikia.com/wiki/File:DestroyYourWiki.png">[source]</a></sup>. But some time ago, it was even larger than nowadays. This, naturally, caught Wikia's attention. They <a href="http://darth.wikia.com/wiki/Forum:The_Jax_Pavan_Experience">proposed a deal to Darthipedia</a> and Darthipedia accepted it (did they have any other choice, I wonder?). Then Wikia sends in their deletion script to delete the "excess" Jax Pavan pages. The bot targets the wrong pages. One of our admins blocks it. Does Wikia respect this? I think the following log excerpt answers that question nicely:<br /><br /><i>23:03, 10 October 2008 Toughpigs (Talk | contribs) unblocked TOR (Talk | contribs) (that was not part of the deal... we can talk about it in IRC or on the forum page.)<br /><br />22:05, 10 October 2008 Pinky49 (Talk | contribs) blocked TOR (Talk | contribs) with an expiry time of 2 hours (autoblock disabled) (Once you've gone through with your end of the deal, you can delete the articles, but until then, no)</i><br /><br />Or let's take a different example. <a href="http://whysoserious.wikia.com">Arkhampedia</a> is a wiki run by the same people behind Darthipedia. To Wikia, this apparently means that local policies can be overridden. Here's the proof, from Arkhampedia's block log:<br /><br /><i>19:44, 12 July 2009 Uberfuzzy (Talk | contribs) unblocked WikiaBot (Talk | contribs) (please do not block staff accounts)<br /><br />18:32, 12 July 2009 Madclaw (Talk | contribs) blocked WikiaBot (Talk | contribs) with an expiry time of 1 year (account creation disabled) (unwanted changes "invisible on the Recent Changes" without consulting/informing local community. Please contact administration for eventual unblock)</i><br /><br />A recent good example is a wiki where I <b>used</b> to be a bureaucrat until a Wikia staffer came along, deopped me and undid many of my administrative actions. I got my admin powers (but not my bureaucrat power) back after a long talk with another Wikia staff member about why I did such actions. Apparently using your bureaucrat powers or trying to opt-out of Wikia's great new features is a bad, bad thing and that makes you a (possible) troll.<br /><br />Yet another interesting situation where a small wiki has no autonomy is Gislewiki. Gislewiki is a wiki about Gisle Martens Meyer and its URL is <a href="http://www.gislewiki.com/wiki/Main_Page">Gislewiki.com</a>. Before that, it was hosted on Wikia. The community, however, decided to move off-Wikia at some point.<br />As you may know, Wikia rarely closes a wikia.com wiki. They didn't close that wiki either, though I'm not sure if it was ever requested. Before September 2009, Wikia's Gislewiki's main page was displaying a notice, telling people to use the new site instead of the old one. Most interface parts were also hidden with some CSS tricks. Then Wikia noticed this and reverted most of the changes. Keep in mind that the founder of Gislewiki did almost everything from content creation to interface customization all by himself, without much outside help. The community was pretty much the founder. So, anyway, back to the "two wikis" situation. The founder of Gislewiki.com noticed that Wikia tried to revive the Wikia site. He made some subtle changes, such as adding a normal link to the new site on the main page, to the Wikia site. To Wikia, that was vandalism so the founder got deopped — on the site he built all by himself! I wonder when they'll block him for vandalism...<br /><br />I'm not trying to speak against Wikia, I'm merely trying to show you the other side of the coin.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5841536701438759919.post-26836672263241599912009-08-23T01:59:00.003+03:002009-08-23T02:32:13.933+03:00Broken users<a href="http://www.mediawiki.org/wiki/Special:BrokenRedirects">Special:BrokenRedirects</a> is one of MediaWiki's most interesting - and, ironically enough, probably one of its most broken - special pages. It lists "broken" redirects - i.e. if the target doesn't exist but a page redirects there, the page is considered to be a broken redirect. What's interesting is that it considers interwiki redirects also "broken" in cases where interwiki redirecting isn't enabled.<br /><br />But interwiki redirects are not broken redirects. The software has no (easy) way of checking - or if it does, it's not used - whether the page on the target wiki exists or not, so it just assumes that it's a broken redirect. This is probably why people use silly <a href="http://www.mediawiki.org/wiki/Template:Softredirect">"soft redirect"</a> templates.<br /><br />Soft redirects are - at least in my opinion - pointless. Interwiki redirects are not broken redirects. If you, as an editor, cannot tell the difference between a redirect to a <b>nonexistent</b> page and a redirect to another wiki, then the only one who is broken is you. Not the software and most certainly not the redirect.<br /><br />So why do I even care? Because:<br /><ul><br /><li>soft redirects are pointless</li><br /><li>I used to use interwiki redirects <b>*a lot*</b> during my time at Wikia and I absolutely hate getting notifications about new messages on some random wiki I haven't edited more than once</li><br /></ul><br /><br />Seriously, just because you don't understand it doesn't mean that it's broken.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-77964043205384579102009-08-15T22:27:00.000+03:002009-08-16T00:41:49.694+03:00The unanswered questionsSome time ago Wikia relaunched answers.wikia, their questions & answers site. It looked (and still looks) quite nice, so I was wondering how they did it. I looked into <a href="http://trac.wikia-code.com/browser">their SVN</a> and found something related to the project. A skin, some extensions, some maintenance scripts...but one crucial thing was missing: a class called "Answers". The skin used functions provided by this missing class, which meant that the skin wouldn't work properly without the class.
<br />
<br />What should I do? I decided to <a href="http://answers.wikia.com/wiki/When_will_Wikianswers%27_source_code_be_released_in_its_current_state">ask Wikia</a> about the issue on their Q & A site. That's what it's for, right? The <a href="http://answers.wikia.com/index.php?title=When_will_Wikianswers%27_source_code_be_released_in_its_current_state&oldid=257725">original answer</a> to my question was quite vague. So I decided to <a href="http://answers.wikia.com/wiki/How_can_the_community_participate_in_the_technical_development_of_Wikianswers_if_source_code_isn%27t_available">reword my question</a> a bit. This time I got a better answer: I was told to contact Wikia if I wanted to develop the source code (ah, Special:Contact, how much I love thee!).
<br />
<br />Being the nice person I am, I sent in a polite request regarding the matter. I soon got a reply from a staff member who wrote that they'll be making sure that this report ends up to the right people. That was on May 21, 2009. I waited for over a month for something to happen regarding the matter, but nothng happened, so I decided to pay a visit to their IRC channel, #wikia. I was told that the IRC channel is not the place to get support (wtf?) and that the ticket -- my request -- has been forwarded to another person. The person I talked to refused to even tell who this "another person" in question is!
<br />
<br />On August 9, 2009 I sent in another request through Special:Contact. The request was short and sweet: "rt#15912 needs some love." The ticket in question, rt#15912, is the one I sent back in May. This time I got a reply from a different staff member and they told me who this mysterious "another person" in question is. I'm supposed to discuss with this person about the source code of answers.wikia project.
<br />
<br />But...why should I, really? There's nothing to discuss about, really. If Wikia is truly an open source project, then they should get a developer to commit those missing files. Typing "svn commit -m"adding missing files" file1.php file2.php fileN.php" in command line is not rocket science. Or then I'm a rocket scientist, as are my <a href="http://www.mediawiki.org/wiki/Developers">co-developers</a>.
<br />
<br />An anonymous user of answers.wikia (who, for the curious minds, isn't me) speculated that <a href="http://answers.wikia.com/wiki/When_will_Wikianswers%27_source_code_be_released_in_its_current_state">speculated that the delay in publishing the source code is intentional</a>, in order to prevent competitors. I bet that if someone wanted to set up a competiting site, they'd just buy <a href="http://www.answerscript.com/">AnswerScript</a> or something similar instead of using MediaWiki extensions and patches.
<br />
<br />People should stop thinking open source as a threat and start thinking it as an opportunity.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-5841536701438759919.post-78651416841224132332008-10-02T14:05:00.000+03:002008-10-02T14:41:16.166+03:00Code reviewing made easyServices such as <a href="http://code.google.com">Google Code</a> have offered code reviewing tools as a part of their service. Their code review tool is so great that even <a href="http://code.google.com/p/wikia">Wikia</a> uses it. Nothing like that has ever been available for MediaWiki...until now.<br /><br /><a href="http://www.mediawiki.org/wiki/Extension:CodeReview">CodeReview</a> is a MediaWiki extension by Brion Vibber, Aaron Schulz, Alexandre Emsenhuber and Chad Horohoe that provides a code review tool for MediaWikis. You can see a live demo on <a href="http://www.mediawiki.org/wiki/Special:Code/MediaWiki">MediaWiki.org</a>. Privileged users can "tag" commits as "ok", "fixme" and so on and (by default) everyone can comment on commits. Sure, it isn't as fancy as Google Code's (yet anyway ;-), but it's nice to have a "native" solution rather than having to use Google's or some other provider's services. Currently CodeReview extension seems to be requiring at least MediaWiki 1.13 or 1.14alpha and didn't work for me under 1.13alpha.<br /><br />If you find yourself emailing your fellow co-committers more than often and you just happen to operate a MediaWiki instance, maybe you'd want to check out this extension. Granted, CodeReview isn't perfect and there still are a <a href="http://www.mediawiki.org/wiki/CodeReview_todo_list">couple things</a> that the developers would like to see fixed. But trust me, it's quite good start for a code review tool for MediaWiki. I'd most certainly recommend trying it out if you have some moments, a MediaWiki and a SVN to spare.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-22489066405530557322008-09-07T00:37:00.000+03:002008-09-07T01:47:16.355+03:00The wonders of PHP programmingI decided to update my working copy of <a href="http://www.mediawiki.org/wiki/Extension:RegexBlock" title="regexBlock">regexBlock</a> extension and finish up some work I started doing a long time ago - integrating changes from Wikia's SVN.<br /><br />Everything looked nice until the update finished. I've got not only one but two files in conflicted state. I fix them and svn up again. Now I've got a clean-ish working copy and I can retry applying the <a href="http://trac.wikia-code.com/" title="Wikia modifications">Wikia modifications</a> to my local copy.<br /><br />One of the major annoyances of Wikia codebase is <a href="http://trac.wikia-code.com/browser/wikia/trunk/includes/wikia/EasyTemplate.php" title="EasyTemplate class">EasyTemplate class</a>. The class supposedly allows "for easy mixing [of] HTML/JavaScript/CSS/PHP code". If you've ever written code for MediaWiki or taken a look at MediaWiki's source code, you're aware of public function addHTML in <a href="http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/OutputPage.php?view=markup" title="OutputPage.php">OutputPage.php</a>. It does exactly what Wikia's EasyTemplate does, and even a bit easier IMO.<br /><br />So the first thing I had to do to get the new regexBlock code working was to kill the EasyTemplate dependency. Thankfully that's about the easiest task there can be. Just replace the code referring to EasyTemplate with $wgOut->addHTML( 'code goes here' ); and that's almost about it (not quite, but let's not get into <i>too</i> technical details). Now I've got a working version of the extension in front of me, yay! Time to test it, so I'll add the extension into the <a href="http://www.mediawiki.org/wiki/Manual:LocalSettings.php" title="LocalSettings.php">LocalSettings.php</a> of my local testing wiki, add the required tables to the database and go to the wiki to see any and all possible issues.<br /><br />Okay, the special page loads, although the interface looked like as if there was at least one unclosed <div> tag. And then there was something other noteworthy too: one PHP notice (E_NOTICE) and one PHP warning (E_WARNING). The notice was about an "invalid argument supplied to foreach() on line..." and the warning was about an error within a function that used PHP's <a href="http://www.php.net/manual/en/function.array-combine.php">array_combine</a> function. The warning related to array_combine function was actually very easy to fix, although I could've sworn that the first, obvious and correct fix didn't work the first time I tried it. After a while of trying, the error went away. That was the easy part of the upgrade...<br /><br />What was remaining was the notice about an invalid argument to some foreach loop. It sounds relatively easy now, doesn't it? It certainly wasn't such. The current code (which does <b>not</b> raise any notices or errors) looks like this:<br /><br /><pre><br /> $selected = htmlspecialchars( ($k == $this->mRegexBlockedExpire) ) ? 'selected="selected"' : '';<br /> foreach( $expiries as $k => $v ) {<br /> $wgOut->addHTML('<option value="'.$selected.'">'.htmlspecialchars($v).'</option>');<br /> }<br /></pre><br /><br /><br />But when I had moved the code to the main .php file from the template file, I had pretty much copy-pasted parts of the code and it looked like this:<br /><br /><pre><br /> foreach( $expiries as $k => $v ) {<br /> $wgOut->addHTML('<option value="'.htmlspecialchars( ($k == $this->mRegexBlockedExpire) ) ? 'selected="selected"' : ''.'">'.htmlspecialchars($v).';</option>');<br /> }<br /></pre><br /><br /><br />I do understand the people that hate PHP a bit better now. After I had fixed a couple errors like this, the interface worked relatively nicely.<br />Of course, I had to fix a couple message names - internationalization (i18n) support was added for regexBlock ages ago, but Wikia had added i18n on their own, which led to a new issue: a message containing some string, say, "permanent block" was called 'regexblock_permament_block' <sup><a href="http://en.wikipedia.org/wiki/Sic" title="(sic)">(sic)</a></sup> in Wikia's version and 'regexblock-view-block-infinite' in the official version.<br />Well, this was relatively easy task to be honest. After all, I only had to compare the two i18n files against each other and alter the message names in SpecialRegexBlock.php.<br /><br />So, now what? Now I had a working, improved version of regexBlock extension that is error-free. Or that's what I thought myself. I tested the actual blocking mechanism and whoops:<br /><br /><br /><pre>Expiry time invalid.</pre><br /><br />No wonder that there are comments like "Fuck you, PHP. Fuck you in the ear!" around the <a href="http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/GlobalFunctions.php?view=markup" title="MediaWiki codebase">MediaWiki codebase</a>.<br /><br />So, it's back to the drawing board for me, so to say. Maybe I'll have this extension upgrade finished before Christmas 2008, who knows.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5841536701438759919.post-32319691608308598902008-09-02T19:23:00.001+03:002009-08-25T22:44:35.208+03:00New blogIt's been a while since I've had a blog. Rather, a long while. I've never really understood the secret of blogging and why so many people keep their own blogs...well, maybe things would change now.<br /><br />Assuming you remember my old blog, I really didn't have the time or interest required in updating it. And I've always preferred <a href="http://www.mediawiki.org/wiki/MediaWiki" title="MediaWiki">MediaWiki</a>. Granted, I'm a MediaWiki developer nowadays and thus it's kinda obvious <i>why</i> I'm so biased towards MediaWiki than anything else.<br /><br />I've also enabled anonymous commenting on this blog. Nevertheless, I suppose that almost everyone has a Google account that they can use to comment. However, this is a privilege granted to you — please don't abuse it.<br /><br />If you need to contact me privately, feel free to email me at jack@countervandalism.net. You're free to post MediaWiki-related questions on my <a href="http://www.mediawiki.org/w/index.php?title=User_talk:Jack_Phoenix&action=edit§ion=new" title="MediaWiki.org user talk page">MediaWiki.org user talk page</a>. I'd strongly suggest asking on IRC & mediawiki-l / wikitech-l for help though, because many experienced developers and users monitor those.Unknownnoreply@blogger.com1