2004-12-19

Motivacija, akronimi, i ostali nebitni detalji

Ana:
Moram priznat da poprilično dobro objašnjavaš pa ne kužim sve one rasprave na forumu o tvojim vježbama (brze i nerazumne...)?!?


Vrlo je jednostavno. Here, I have all the time in the world. Ne funkcioniram dobro u vremenskoj stisci, a na vježbama nažalost uvijek ima više gradiva nego što se dade ispredavati tempom koji bi meni odgovarao.

Druga stvar, individualno objašnjavanje mi puno bolje ide.
Prilično dobro mogu procijeniti nečiju math-stranu ličnosti, i ustanoviti koji stil objašnjavanja mu odgovara. Predavati tako da bude zanimljivo svoj 70orici ljudi, koji su došli iz školâ od srednje zdravstvene pa do matematičke gimnazije, nažalost ne znam.
(Zato cijelo vrijeme molim ljude da mi dolaze na konzultacije, ali oni to obično krivo shvate.)

Treće, kao posljedica raznih okolnosti, specijalizirao sam "digitalno" objašnjavanje. Newsgrupa, Forum, Email,... u tome sam dosta dugo, i vjerujem da sam to razvio bolje od većine ljudi koji još uvijek ne mogu odgovarajuće povezati objašnjavanje matha s digitalnim medijima.

Inace, sta tocno znaci HTH i RDTV?


HTH je standardna engleska Usenet-skraćenica, geslo mojeg objašnjavanja, "Hope This Helps".
RDTV je moj poluhumoristični hrvatski akronim "Recimo Da Ti Vjerujem".
Pogodi koje mu je intendirano značenje. ;-)

Ma nesto mi nije bas jasno... mozda ce ti se cinit cudnim ali ne kuzim zasto ti odgovaras svim ljudima na mail i rjesavas im zadatke?


Jesi li čitala priče o Sherlocku Holmesu? S razumijevanjem? :-) E, ako znaš odgovoriti zašto je on pomagao ljudima, na dobrom si tragu. ;-)
...
No dobro, da se više ne igramo lovice... Sherlock nije na to nikada gledao kao na prvenstveno pomaganje ljudima. To je bila nuspojava, protiv koje se nije bunio jer mu je osiguravala sredstva za život. No njegov primarni cilj nije bio dobrobit čovjeka, pa čak niti društva u cjelini - njegov primarni cilj bio je rješavanje zanimljivih slučajeva. Sva humanost i altruizam koju je pokazivao, bila je samo jednostavna posljedica neutažive želje njegovog neumornog logičkog uma za zanimljivim zadacima.

Zašto mi pišu neki hijeroglifi umjesto è, ž, š.... u mailovima svih ljudi koji koriste gmail?


Zato što Gmail koristi UTF-8 , jedini način da se konzistentno zapišu sva slova svih jezikâ svijeta. You see, tradicionalno je jedno slovo bilo jedan byte (8 bitova), i to je sasvim dovoljno za englesku abecedu i engleskogovorni način pisanja. Štoviše, primijećeno je da je čak 7 bitova dovoljno (128 mogućnosti), i tako je nastao ASCII -
standardni način za Amerikance da razmjenjuju slovne poruke preko kompjuterskih mreža. ("ASCII" znači "American Standard Code for Information Interchange" - primijeti "American".) Ostali narodi sa svojim pismima i jezicima, budući da su Amerikanci predvodili tehnološki razvoj kompjuterskih mrežâ, prilagođavali su se manje ili više ASCIIu. To prilagođavanje je išlo u više smjerova, ovisno o tome
koliko se dana abeceda razlikuje od engleske.

  1. Za par dodatnih znakova: neke od manje korištenih kombinacijâ bitova (od tih 128), zamijenjene su svojstvenim znakovima pojedine abecede. Tako je jedno vrijeme kod nas bio na snazi tzv. YUSCII, u kojem su npr. uglate i vitičaste zagrade zamijenjene velikim i malim slovima š i ć . Naravno, grozno rješenje, pogotovo kad čovjek u tom encodingu pokuša pročitati neki C-kôd. ;-o

  2. Za dosta novih znakova, ili za grupe jezikâ koje žele međusobno razmjenjivati informacije: iskoristi se 8. bit, jer se pretpostavlja da se znakovi ionako spremaju u byteove, pa osmi bit stoji neiskorišten. To daje novih 128 mogućnostî (ukupno 256), što se može činiti puno, ali i nije toliko. Npr. tako je nastao famozni Latin1 (poznat i pod službenim nazivom ISO-88591-1), proširenje ASCIIa, koji su stvorile zapadnoeuropske zemlje iznervirane nedostatkom naglašenih e-ova (Francuzi), prekriženih o-ova (Danci) i raznih umlauta (Nijemci)... Kasnije su se i ostale, ne baš tako zapadne ali ipak europske;-) zemlje sjetile da bi i one mogle tu uskočiti, no već je bilo prekasno - Latin1 , odnosno novih 128 znakova, već je bilo skoro
    popunjeno.
    Stvoren je Latin2 (ISO-88591-2), "alternativno" proširenje ASCIIa, koje je uključivalo između ostalog i hrvatska karakteristična slova, ali je naravno bilo nekompatibilno s Latin1 proširenjem. Kasnije se sva sila jezika sjetila upasti u shemu, pa tako danas imamo do Latin8 (IIRC). Naravno, to nije bilo baš dobro za razmjenu informacija (da stvar bude još gora, Latin2 je službeno prihvaćen tek _nakon_ što je Microsoft izdao verziju Windowsa98 za hrvatsko tržište, tako da je ona
    imala opet neki svoj ludi encoding, nazvan Win1250), i trebalo je nešto napraviti ako smo htjeli da Hrvati Francuzima šalju poruke, ili čak Hrvati s američkog Yahooa Hrvatima s hrvatskim Windowsima, ili... no dobro, shvatila si. Da bi se vidjelo što se može učiniti, dobro je pogledati i ostale opcije.

  3. Za totalno nove alfabete, koji nemaju veze s američkim (npr. rusi, ćirilica), ali imaju otprilike jednako slovâ, kompletan charset (128 ili 256 znakova) je zamijenjen novim slovima. Živi užas od "rješenja", jer ubija čak i kompatibilnost s osnovnim ASCIIem. Jedini način na koji ovo može poslužiti je kao loš primjer; kako _ne_ napraviti stvar - kakvo god univerzalno rješenje bilo, _ne dirati donjih 7 bitova_ u kojima leži ASCII.

  4. Za nove alfabete koji nemaju veze s američkim, ali imaju puno više slovâ (Japanci, Kinezi,...) - samih slovâ je više od 256, pa je očito da jedan byte nije dovoljan. Iskoristimo ih 2 ili više (čak do 6 uzastopnih)... no problem je u tome da mrežama i dalje putuju byteovi. Kad kompjuter dobije niz byteova preko mreže, on ne zna a priori gdje počinje i gdje završava pojedini znak. To je rješavano na razne čudne načine, ali nijedan nije bio baš zadovoljavajući.

Napokon, učeći na greškama svojih prethodnikâ, stvoren je Unicode - ogromna potencijalno beskonačna mapa karaktera koja preslikava sve znakove svih stvarnih (i nekih izmišljenih, poput Tolkienovih:) jezikâ ikad izmišljenih o kojima postoji povijesni zapis, u proizvoljne binarne brojeve. Štoviše, prvih 127 tih brojeva upravo odgovara dobrom starom ASCIIu. I problem je riješen - bar teoretski.

Praktično, još uvijek postoji problem zapisivanja tih proizvoljnih binarnih brojeva u byteove koji idu preko mreže. Dugo su ljudi mozgali o tome, i napravljeno je dosta encodingâ, najuspješniji od kojih je bio genijalni UTF-8 -- koji je u punom smislu nadskup ASCIIa, odnosno mreže koje razmjenjuju čisti ASCII (otprilike 90% njih:) automatski su (UTF-8)-kompatibilne. Jedino će dodatni kodovi (u rješenju broj 2.)
nastradati, no to je ionako neminovno - oni su sami sebi iskopali jamu. Čak i da su (UTF-8)-dizajneri odlučili sačuvati npr. Latin1 , bili bi nekompatibilni s Latin2 -- a izgubili bi dragocjeni 8. bit, za kojeg je napokon nađena suvisla svrha.

Naime, sasvim je jasno da nam sad treba, kao u rješenju 4., više byteova za pojedini znak, no 8. bit možemo iskoristiti upravo u svrhu razgraničavanja znakova. (UTF-8)-sekvenca je proizvoljno konačni niz byteova, od kojih _prvi_ ima osmi bit 0 , a svi ostali imaju osmi bit 1 . Na taj način, em je trivijalno pregledavajući byteove grupirati ih u karaktere, em je ASCII ostao sačuvan -- niz byteova s vrijednostima
1..127 točno je isto što i niz jednočlanih nenul-sekvenci byteova u kojima svaki prvi u sekvenci (dakle svaki, jer su sekvence jednočlane:) ima osmi bit 0 . Weee...

Sad je još samo preostalo uvjeriti sve kompjuterske sustave na svijetu da je Unicode/UTF-8 pravi put u budućnost razmjene informacijâ, no naravno, to je najteži dio projekta. Mentalitet se teško mijenja, pogotovo mentalitet Amerikanaca koji još uvijek vode igru, a nemaju sami nikakve direktne koristi od (UTF-8)-sustava -- oni se i dalje mogu nastaviti dopisivati čistim ASCIIem, i ne primijetiti ništa.

Zato recimo Yahoo još uvijek koristi stari Latinx sustav, i kao takav čini apsolutno nemogućim Hrvatima razmjenjivati poruke s Francuzima, Rusima, Kinezima, Elfovima, pa čak i npr. Hrvatima s Windowsima 98.
Dok Gmail koristi UTF-8 , i njime ja mogu nekom Kinezu poslati svoje podatke bez bojazni da će moje prezime njemu izgledati kao psovka na njegovom jeziku. ;-))

1 komentar: