Saturday, July 2, 2011

For English-only speakers

The previous comment is in Esperanto. You can just skip it and read what was before.

Ĉu Esperanto vere malvenkis?

Jen miaj kelkaj impresoj de la lasta usona esperanta kongreso en Emeryville. Inter la variaj programeroj, jen edifaj, jen amuzaj, jen nutraj, mi volas noti la diskutojn pri la pozicio de Esperanto en la moderna socio (gviditajn de profesoro Humphrey Tonkin) kaj la dokumanta filmo de Sam Green "The Universal Lanugage".

Profesoro Tonkin prave notis ke pro modernaj komunikiloj (la Interreto, retserĉiloj, sociaj retoj), la rolo de Espeanto profunde ŝanĝiĝis kaj la malnova modelo de hobiula rondeto ne plu sufiĉas, kaj novaj formoj de Esparantaj aktivecoj estas bezonataj kaj jam ekestas. Tamen li notis bedaŭre ke Esperanto estas malprestiĝa (kaj li pravas, almenaŭ rilate al sia propra medio de altrangaj akademiuloj -- sed antaŭ kelkaj jaroj juna esperantisto plendis pri alia kaŭzo de malprestiĝo de Esperanto inter liaj samlernejanoj: manko de rapmuziko en Esperanto; sed ĉi lastan efike malpruvis la filmo de Sam Green).

La filmo "The Universal Lanugage" (farita de neesperantisto) montras multajn sukcesojn de la lingvo sur variaj terenoj sed samtempe klarigas ke ĉio ĉi estas subtenata de kontraŭreala ESPERO: la lingvo jam malvenkis kaj la aspirata rolo de la internacia lingvo estas jam okupita de la angla lingvo. Sed antaŭ ol diskuti eblajn evoluojn de la situacio en la estonto mi demandu: ĉu vere Esperanto rivalas kontraŭ la angla lingvo? La celoj kaj la funkciado de tiuj du lingvoj estas malsamaj. Kaj ĉiu el ili helpas homan komunikadon sur sia tereno. Do la du lingvoj (kune kun ĉiuj aliaj) fakte kunlaboras anstataŭ rivali. Mi vere ne komprenas tiujn homojn kun la rivaleca mensinklino.

Ofte homoj ŝance aŭdantaj ion pri Esperanto ekopinias ke tio estas iu nova propono pri enkonduko de nova lingvo; sed vidante ke post kelkaj monatoj tio tamen ne okazas ili konkludas ke la ideo formortis. Sed ni scias ke tio ne estas afero de kelkaj monatoj aŭ jaroj. Dum la reala periodo de pli ol 120 jaroj Esperanto ne nur ne mortis sed atingis grandajn sukcesojn. Ĝi pluvivas malgraŭ profundaj ŝanĝoj en la socio kaj dominantaj ideoj, pluvias dum nuna monda globaliĝo. Ĝi ne pereis dum mondmilitoj kaj diversspecaj diktaturoj. Eĉ dum mia propra pli ol kvindekjara sperto mi vidas multajn ŝanĝojn. Multe malpli da fuŝa Esperanto kaj da malprofunda senimaga "poezio" en Esperanto. Mi ne plu aŭdas bigotajn asertojn de eksteruloj ke Esperanto estas denaske morta ĉar ĝi ne havas sian popolon kaj do estas nur artefarita skemo sen sia interna "animo". Multaj komputilaj softvaroj (ne faritaj speciale por esperantistoj), inkluzive tiun kiun mi uzas nun por tajpi ĉi mesaĝon, havas specialajn kapablojn por prezenti Esperantajn tekstojn kaj komuniki Esperante kun la uzanto. Kaj ĝia progreso ne ĉesis.

Kio do pri la estonto? Ni ne povas antaŭvidi la evoluojn, sed profundaj ŝanĝoj en lingvouzo kaŭzataj de novaj teknikoj pludaŭras, irante post la ŝanĝoj jam notitaj de Humphrey Tonkin. Jam ne sufiĉas nur transsendi diverlingvajn mesaĝojn laŭlitere. Pli kaj pli urĝa iĝas la bezono aŭtomate analizi la enhavon de la tekstoj kaj fari konkludojn aŭ decidojn surbaze de tiu enhavo. Jam multo estas farata por ebligi tian analizon sed bedaŭrinde la diverflankaj penoj (de lingvaj teoriuloj, de la "semantika TTT", de perfektigataj retserĉiloj, de "sentanalizo", t.e., distingo inter pozitivaj kaj negativaj rimarkoj pri produktoj de iu firmao en sociaj retoj) restas disaj kaj ne facile kunigeblaj. Tiuj procezoj nepre ŝanĝos nian lingvouzajn praktikojn eĉ kvankam ne estas klara kiel ĝuste. (Ne esperu tamen ke reguleco de Esperanta morfologio donos al ĝi avantaĝon en komputila prilaboro: listoj de ĉiuj neregulaj vortformoj estas facile memoreblaj en maŝinoj, kaj Esperanta gramatiko jam elkreskis de "16 reguloj" ĝis "kilogramatiko").

Kaj pli fora estonto? Kiam supozeble la tuta homaro parolos unu lingvon? Ĉu tio estos Esperanto? Apenaŭ. ĉu la angla? Nekredeble. Nun la angla lingvo superas, ĝi estas fakta internacia lingvo inter bone edukitaj homoj. Ankaŭ abundas fuŝa angla (kaj mi ne opinias ke denaskaj anglalingvanoj estas tre kontentaj pri la "internacia" versio de sia gepatra lingvo). Sed la supereco de la angla lingvo estas bazita sur la ekonomia potenco de Usono -- kaj tio povas ŝanĝiĝi, kaj pro la kresko de iam subevoluintaj ekonomioj, kaj pro la detruaj procezoj en Usono mem (kontraŭnovigaj politikoj de grandaj monopoloj, senprestiĝiĝo de persista laboro). Kaj politikistoj estas ĝuste rivalemaj homoj kiuj ne preterlasos ŝancon detronigi la anglan lingvon. Esperanto ja estas en pli sekura pozicio.

Alia demando estas ĉu iam venos la tempo de unulingveco. Grandaj teknikaj ŝanĝoj povas eĉ forigi la bezonon pri tio. Imagu ke, ekzemple, ĉiu parolos sian propran lingvon kaj aŭtomatoj tradukos tion por ĉiu alia. Aŭ ke venos aliplanedanoj kaj ŝanĝos ĉion. Prefere ne fantaziu sed faru nian laboron nun.

Mi volas citi interesajn notojn el latinlingva novaĵretejo "Nuntii Latini" (bazita en Finlanda radio). Foje ili diskutis multlingvecon en la Eŭropa Unio kaj kalkulis ke 506 partradukoj estas bezonataj inter ĉiuj el la oficialaj lingvoj. Kaj notis (4.2.2005):

"Quae cum ita sint, plerique magistratus in rebus Unionis agendis lingua Anglica, rarius Francica aut Germanica utuntur. Sed praesertim Franci superioritatem Anglicae linguae concedere nolunt. Sunt quidem qui censeant linguam Latinam in usum Unionis Europaeae resuscitandam esse, sed voluntas politica ad rem efficiendam deest."

(Tamen fakte plejparto de oficejoj por la uniaj aferoj uzas anglan lingvon, pli malofte francan aŭ germanan. Sed precipe francoj ne volas konsenti al supereco de angla lingvo. Estas iuj kiuj opinias ke necesas restarigi latinan lingvon por uzo de Eŭropa Unio, sed mankas politika volo por fari tion.)

Kio do pri Esperanto? Verŝajne la ĉefa obstaklo estas la pigreco de superaj oficistoj kiuj ne volas lerni novan lingvon (sed devigas pli malsupraj oficistoj en Luksemburgo lerni la luksemburgan lingvon).

Por konkludi mi notu unu gravan mankon en nia Esperanta agado: sciencteknika literaturo. Tio kion mi vidis plejparte estis de ekstreme malalta kvalito, kaj lingve kaj fake; nur unu fojon mi vidis seriozan libron en Esperanto, diversfakan kaj bone verkitan (bedaŭrinde mi ne plu havas ĝin). Oni sendube agnoskas la bezonon de fakaj terminaroj, produktas tiujn amasigante la terminoj, sed ili ne vivos sen reala uzo. Antaŭ kelkaj jaroj mi vane serĉis Esperantan vorton por tio kio angle nomiĝas "stem cell" (mi fine skribis "tigoĉelo"); eble oni jam aldonis la terminon ie. La kaŭzo estas klara: la internacia scienca komunumo plejparte uzas senprobleme la anglan lingvon. Kompreneble ni ne havas kapablon krei nun respektindan "egalul-recenzatan" fakan sciencan publikaĵon, sed eble mi povas celi altnivelan sciencan informilon ne por samfakuloj sed por diversfakuloj, seriozan kaj sen "beblingvaĵo". Ĉu tio eblas?

Tuesday, June 14, 2011

A TESTING CHALLENGE FOR DEDUPLICATION SOFTWARE

Deduplication is one of the relatively recent technologies
used for data backup in order to save space and data communication
bandwidth (see, for example,
www.usenix.org/event/fast08/tech/full_papers/zhu/zhu_html). The
idea is to split the file to be backed up into "chunks" at some
point defined by the contents (not by the offset from the start),
so in case of changes involving insertion or deletion of some
portions of the file the splitting points will move to preserve
the unaffected chunks from the changes. Then for each chunk we
compute the hash value, e.g., the 160-bit SHA-1 checksum which we
store along with the chunk and use as a key for chunk search. If
the same key value is found next time we will assume that the chunk
is the same and will not transmit or store the chunk again.

The risk is that the same hash code will come from a completely
different chunk, but with 160-bit well randomized code the probablility
is much smaller than of any other possible adversity. However, if that
happens we will fail to save the new chunk and on an attempt of
recovery the old chunk will be returned instead of the right data.

So, what will happen if a backup provider chooses a smaller key size,
e.g., 32 bits? The probability of hash collisions will be much higher,
and they will probably show up as the number of the stored chunks
increases. Let us assume that we already have 2**16 (i.e., 65536)
chunks. We want the keys to be all different. For the first key there
are 2**32 possibilities out of 2**32, for the second key to avoid
the collision there will be just 2**32-1, for the next key 2**32-2
out of 2**32, etc. The probability of avoiding collisions with n keys
will be the product of (1-i/2**32) with i ranging from 0 to n-1.

Let ua use logarithms. We know that ln(1-i/2**32) is less than
-i/2**32. The sum of the logarithms will be less than -n*(n-1)/2**33.
With n equal to 2**16 it will be about -1/2, giving the probablility
of no collision of exp(-1/2), i.e., about 0.606. This brings the
probability of at least one error to about 40% with as few as 64K
chunks.

Can the error be detected? Not certainly because apart from having
the colllision and not storing the right chunk the customer will
need to request the recovery of the file containing the chunk, and
it doesn't happen very often (in fact, depending on whether the customer
uses the backup for emergency recovery or just to put away files not
immediately needed).

So let us assume that someone deploys the deduplication system with
just 32-bit keys. The system will be tested but, most likely, the
number of the files backed up and reovered in the testing will be
much less than 2**16 chunks. So the tests will succeed and the system will
be possibly accepted. But then in real use the chunk count will quickly
reach and exceed this value eventually leading to a mass loss of stored
data.

One more question is whether someone is going to deploy a system with
such short keys. But, believe it or not, I saw a company contemplating
just that.

So the challenge is: what kind of testing can detect this type of fault?

Saturday, June 11, 2011

Hello

Hello! My name is Gregory Tseytin, and I am going to share my thoughts both about my profession (computer science/software engineering/computational linguistics) as well as about other matters of public interest. See you soon.