Monthly Archives: January 2007

Do you want your text plain or with furries

Bug 8521 was filed today. It is about an old problem: text escaping in MediaWiki. We dump some of our user interface strings (messages) without escaping to html output. Some of the messages are parsed as wikitext, rest are escaped and outputted as plain text.

Debugging view

There are various reasons why we try to get rid of the unescaped output. One of reasons is that any sysop can edit those messages to contain anything ranging from invalid html to some code exploiting some security holes in the browser. Latter isn’t that much of concern because sysops should be trusted enough not to do evil things, and there is always common.js where they can do it anyway. Invalid html, however, is bad. If we ever get to the point where we output xhtml or xml, the code must be 100% valid, or the site doesn’t work at all. We don’t want sysop to break whole site accidentally with no easy way to repair it.

Unfortunately fixing unescaped output isn’t that straightforward. Two main problems are backward compatibility and performance. Many people are actively using complex html-markup in some messages and consider it as a feature. I think we removed the worst one—we provided [[mediawiki:edittools]] to use instead of [[mediawiki:summary]], latter still unescaped. But there are many left. And from time to time when we “demote” message from html to wikitext or plain text where someone uses html, the user goes nuts and breeds squad of terrorists. And if we add a wikitext message, which is parsed by the parser on every page view, one of our fellow developers commits a suicide, which we don’t want to happen :). Actually, there is third type of messages (not counting unescaped), where we only parse brace-thingies, like magic words. Now imagine you being a translator or a sysop customizing some UI message. Which format should you use in that particular messages that you are currently modifying? I don’t have answer to that question, sorry.

It’s been a while since I last wrote longer pieces of English, if you didn’t notice already :)

Elämää after kurkkusalaatti

Vähän vaatetta, läppis ja muut elintärkeät tavarat mukana saavuin Helsinkiin maanantaina aamupäivällä. Soitto kaverille ja suunta kohti HYYn toimistoa, jossa maksoin jäsenmaksun (≈ 35 €) ja Lyyra-kortin. Sitten Asematunneliin lataamaan korttiin kolme kuukautta kautta (≈ 60 €), lupatoimistoon aktivoimaan tunnukset, Itäkeskukseen ottamaan passikuvat ja pyytämään passi ja henkilökortti (≈ 100 €). Sitten vähän kebabia, joka oli kyllä kovin paksua ja kuivaa, ja maito vaikutti vanhentuneelta ☹. Tiistaina sitten Messukeskukseen Lääkäripäiville – lähinnä tapaamaan SotLK:n tuttuja. Saaliksi jäi kyniä, kaularoikotin, brändätty hiirimatto ja naamioitu kasvishernekeitto.

Mainittakoon vielä, että MediaWiki 1.9 julkaistaan pian. Näkyvimpinä uudistuksina on kotoistetut toimintosivujen nimet (esim. Toiminnot:Tuoreet muutokset) ja Toiminnot:Version ulkoasu. Myöskin $wgAjaxWatch-asetus on ihan näpsäkkä. Päivitys saattaa kestää hetken, kun Järjestelmäviestit-nimiavaruudesta poistetaan turhat viestit.

TJ 0

Hip huraa, tai sitten ei. Lopun ajan kohokohdaksi jäi lähinnä syönti ulkona lääkintäeversin kanssa. Koko reissusta käsiin ei jäänyt oikein mitään muuta kuin muistoja. Ehkä pari kaveria. Eilinen ja tämä päivä olivat varmasti koko palvelusajan synkimmät päivät. Luultavasti suurinta osaa palvelustovereista en näe enää koskaan. Olin muuten varmaan viimeinen, joka tänään käveli tuosta portista ulos viimeisen kerran.

Eikä paljoa lohduta tulevakaan, pitäisi nimittäin hoitaa ainakin seuraavat asiat: osoitteen muutos, passin tai henkilöllisyystodistuksen hankkiminen, osakuntaan kirjautuminen, ilmoittautuminen opiskelijaksi, bussikortin uusiminen, kursseille ilmoittautuminen, autokoulussa käynti, (taas) uusien kavereiden löytäminen, opiskelijakortin uusiminen ja ties mitä muuta. Ja kaikki tämä ah niin ihanassa (ei) Helsingissä. Ja kun kaikki pitää tehdä tietyssä epäloogisessa järjestyksessään, niin ravaamista ja odottamista tulee varmasti vaikka millä mitalla (enemmän kuin viimeisen puolen vuoden aikana).

Mutta älkäämme suotta vaipuko epätoivoon, olenhan nyt käyny kaiken ja kattavan asepalvuksen, ja kenttäkelpoisuuteni on kuulemma hyvä, joten kaikesta tästä pitäisi selvitä. Mieltä rauhoittamaan esittelen teille nyt yhden runon, joka pulpahti päästäni eräänä aamuyönä.

Minuutista puolet

hajoon
mut en hajoo
syön sienen
se maistuu
mutta ei maistu
lennän
mutta en lennä
syön lennon
se maistuu sieneltä

Hyvää vuotta ja tulevaa, toivottavasti näemme vielä.

Akregator

Monta tuntia päivässä meneekin tämän ohjelman käyttöön (planet kde, gentoo, pvl). Olenkin kasvattanut siihen viha-riippuvuus-suhteen. Sillä nimittäin oli tapana korruptoida koko tietokantansa koneen kaatuessa (mitä vastaava tilanne tapahtuu kun prosessorin lämpötilamittari näyttää 100 astetta seesiusta). Tätä vikaa korjaamaan tein cron-skriptankomentosarjan, joka kopioi ”kanna” tunnin välein talteen. Puutteena tosin mainittakoon, että se kopioisi vioittuneen kannan toimivan päälle, ellen ensin kopioisi toimivaa vioittuneen päälle. Onneksi akregator ei käynnisty ollenkaan, jos se on hajoittanut kantansa, joten se on helppo muistaa. Noh… eipä ole viimeaikoina hajoitellut paikkoja.

Toisaalla, löysin asetus-dialogista mielenkiintoisen kontekstivihjeen:

Akregatorin asetus-dialogi

Suorastaan ristiriitaista. Tätä ohjelmaa en ole suomentanut, joten en voi syyttää tästä itseäni, joten otetaanpas selvää. Käännös löytyypi stablesta, kdepimin alta, ja sisältää seuraavaa:

msgid "Select this if you want to get notified when there are new articles."
msgstr ""
"Valitse tämä, jos et halua huomautuksia uusien artikkeleiden ilmestyessä."

Kääntäjälle sattunut pieni moka → korjataan. Ja aikaa kului:

  • Vian huomaaminen: ≈ vuosi
  • Vian löytäminen: ≈ minuutti
  • Vian korjaaminen: ≈ 15 sekuntia
  • Korjauksen saattaminen versionhallintaan: ≈ 6-48 tuntia (yhteyshenkilö, jolla on svn-oikeudet on hereillä, mutta humalassa)
  • Korjauksen näkyminen loppukäyttäjällä: ≈ 0/0 (riippuu seuraavasta KDE-julkaisusta)
  • Bloggaaminen: ≈ 30 minuuttia

Loppupäätelmä: Kaikki mitä voi muokata ei ole wiki.

Uusi vuosi

Uusi vuosi – uudet kujeet. Itse päätin julistaa sitä kotoistustyön parissa:

[00:00:35] CIA-7> nikerabbit * r18703 /trunk/phase3/languages/messages/MessagesLt.php:
[00:00:37] CIA-7> * (bug 8428) Update for Lithuanian language (lt)
[00:00:39] CIA-7> * Happy new year

Toisaalla otin käyttöön gnome-experimental-overlayn, kun siellä oli uusi pango. Tässä sitä odottelen uutta cairoa, josko se toisi luvattua nopeutusta firefoxiin. Lisäksi totesin kdbusin kuolleeksi, ei muutoksia kahdeksaan kuukauteen, eikä toimi uuden hald:n kanssa, joka muuten päivittyi samalla. TJ 5.

-- .