Entrades amb l'etiqueta ‘ASCII’

La paradoxa de la informació

divendres, 8/09/2017

La informació no té una definició única. La gran enciclopèdia catalana diu que informació és una “notícia o notícies que hom tracta de saber, que hom rep”, però que també és el “contingut d’una o més dades, tot fent abstracció de la representació concreta que adopta”. Coses que volem saber o que acabem sabent, i que podem extreure de les dades que rebem. La Wikipèdia, d’altra banda, la defineix com “tot allò que un ser humà és capaç de percebre, incloent-hi les comunicacions escrites i orals, les imatges, l’art o la música”, i com “el fet de processar, manipular i organitzar dades d’una forma que produeixin coneixement i esvaeixin el desordre”.

La informació és multifacètica. És el que percebem, el que incrementa el nostre coneixement. També, en paraules de Claude Shannon, informació és allò que redueix la incertesa. La frase “avui a la nit serà fosc” no és informativa perquè és quelcom que tots sabem. Però si dic “aquesta nit no vindré a sopar” estic concretant, disminueixo la incertesa, i per tant informo (vegeu la nota al final). Ara bé, a més d’aquest aspecte cultural i comunicatiu, la informació s’ha de transmetre, i aquí és on apareixen les dades, l’ordre i el substrat que la suporta. Les plantes informen amb les seves olors, les formigues amb els rastres i els ocells amb els seus cants. Els sons dels dofins o dels rossinyols, perfectament codificats, ordenats i seqüenciats, són útils als seus companys encara que nosaltres no els entenguem. Per això, podem dir que la informació requereix un determinat ordre en un cert substrat, a més d’un codi que li doni sentit i ens permeti llegir-ne el significat. Podem llegir un article a la pantalla de l’ordinador només quan el seu conjunt de més d’un milió de píxels s’ordena i ens mostra les lletres del text en negre sobre blanc, i tot seguit el podem recordar gràcies a l’ordre químic de les neurones del nostre cervell. Quan una persona parla en una llengua que desconeixem o escriu signes que no entenem, observem l’ordre sonor o gràfic del que fa, però no podem captar la semàntica dels seus missatges.

Què ens diu, la imatge de dalt? A primera vista, són 15 ametlles disposades en un ordre estrany damunt una pedra, formant set columnes amb 4, 3, 2, 1, 1, 2 i 2 fruits secs. Imagineu ara que tenim una quadrícula imaginària amb 4 files i 8 columnes, de manera que la primera columna és a l’esquerra i no té cap ametlla. L’ordre es fa més explícit, i ens presenta quatre files de 8 caselles, algunes plenes i altres buides. Ara ja veiem, en aquest substrat d’ametlles, una taula ordenada; però encara ens falta el descodificador. Però només cal que ens diguin que les hem disposat en files seguint el codi ASCII dels ordinadors, i ja podrem llegir el missatge: les quatre files codifiquen les quatre lletres de la paraula “Bits”.

En informàtica, tota la informació es codifica i representa amb seqüències de bits. Cada lletra dels texts que escrivim als missatges i correus electrònics i cada lletra dels articles i llibres que llegim i que trobem a la web, es guarda en un “byte“, que són 8 bits. Els sons, els missatges de veu, les fotos, la nostra agenda, els vídeos i tot el que tenim als ordinadors tenen el mateix aspecte: una llarga tirallonga de bits “1” i “0”. Els ordinadors funcionen gràcies a que apliquen el descodificador adequat a cada tipus d’informació, perquè si per exemple utilitzessin el codi ASCII per interpretar vídeos, no veuríem res. D’altra banda, els bits són també una eina de mesura: si codifiquem la informació de manera òptima i eliminant totes les possibles redundàncies, la quantitat d’informació es pot mesurar pel nombre de bits que ocupa. Però aquesta mesura acaba sent diferent pels humans i pels ordinadors, cosa que té conseqüències pràctiques molt concretes, per exemple quan l’ordinador o el mòbil ens demana que escollim i entrem una nova paraula clau (un nou “password“): tenim una falsa percepció d’allò que és indesxifrable (vegeu un cop més la nota al final).

Per bé o per mal, som al segle de la informació. En Gérard Berry comenta que el segle XIX va ser el segle de la matèria, de la química i de la síntesi dels metalls i altres elements. El segle XX, en canvi, va ser el segle de l’energia, a més de la matèria: l’electricitat, el petroli, l’energia nuclear i fins i tot l’inici de les renovables. El segle passat va veure el naixement de la informàtica, però no ha estat fins el segle XXI que hem vist un creixement quasi explosiu de la quantitat informació que corre pel món. Recordo que, l’any 1992, el disc dur del meu ordinador era de 20 MB (un “MegaByte” és un milió de bytes, equivalent a 8 milions de bits). Ara, qualsevol targeta “MicroSD” de mòbil té 16 o 32 GB, més de mil vegades més que el que jo podia guardar fa tan sols 25 anys. No parem de generar, guardar i “compartir” informació.

La paradoxa del moment actual, però, ens l’explica molt bé en Renee Morad. Internet fa que la informació sigui més accessible que mai. Però molts dubten (dubtem) de la veracitat del que hi troben. Aquesta desconfiança (sobretot en fonts “llunyanes”, tal vegada esbiaixades i poc contrastades) alimenta una demanda de nova informació que és cada vegada més gran. En altres paraules: hi ha massa informació; però, en no saber quina és certa i quina és falsa i del tot il·lusòria, nosaltres en generem més. Com que moltes persones fan el mateix, es manté el creixement continu de la quantitat d’informació. Cada cop hi ha més informació que és menys fiable en mitjana i cada cop es farà més difícil filtrar-la. Incrementem la quantitat mentre reduïm la qualitat. Llegir és fàcil, entendre i comprendre serà cada vegada més difícil.

Per cert, en David Foster Wallace deia que ensenyar a pensar és ensenyar a ser una mica menys arrogant i a contemplar-nos nosaltres mateixos i les nostres certeses amb consciència crítica, perquè un gran percentatge del que tendim a donar per segur s’acaba demostrant que és fals i del tot il·lusòri.

———

NOTA: L’entropia de Shannon és una mesura del desordre que conté un missatge. És clau per a quantificar la informació que conté. En concret, la informació que conté un missatge es pot mesurar com la inversa de seva probabilitat (aquí, per exemple, en podeu veure una explicació senzilla i basada en exemples de predicció meteorològica). Quan ens parlen d’un fenomen rar, la seva probabilitat és baixa i per tant, la mesura de la informació que aporta és alta. En canvi, quan ens diuen una obvietat d’absoluta certesa (com que “la sang és vermella”), la probabilitat és màxima i la informació, nul·la. En tot cas, la novetat d’una certa informació depèn del receptor: la frase “la capital de Finlàndia és Hèlsinki” segurament no aporta cap nova informació a moltes persones mentre que, per algunes altres, pot ser quelcom nou i informatiu.

Com podeu veure en aquesta auca, la dificultat de les paraules clau que utilitzem (i la informació que contenen) és molt diferent pels humans i per les màquines. L’auca compara les paraules clau “Tr0ub4dor&3” i “correcthorsebatterystaple“. La primera es basa en escollir una paraula poc usada (en aquest cas podria ser “troubador” en anglès), posar o no la primera lletra en majúscules, fer un parell de substitucions, i afegir al final un signe de puntuació (“&” en aquest cas) i un dígit numèric. La segona consisteix simplement en concatenar quatre paraules més o menys corrents, “correct horse battery staple“.

L’entropia de la primera opció és de l’ordre de 28 bits, si pensem que el diccionari de paraules poc usades que utilitzem té unes 65 mil paraules (2 a la 16); la resta de bits són deguts a decisions sobre com hem de modificar aquesta paraula i quins són els darrers dos caràcters de la paraula clau. Una màquina que faci mil tests per segon pot provar totes les possibilitats (2 a la 28) en uns tres dies i per tant acabarà descobrint el nostre password. Però als humans se’ns fa molt difícil recordar la paraula inicial i tots els canvis i substitucions. Segur que al cap d’un temps no recordem el que havíem posat.

En canvi, l’entropia de la segona opció és de l’ordre de 44 bits, si pensem que el diccionari de paraules que utilitzem té dues mil paraules (2 a la 11), perquè 11 per 4 és 44. A raó de 1000 tests per segon, una màquina necessitaria 550 anys per provar totes les possibilitats (2 a la 41 segons). En aquest cas tenim una paraula clau que ens és fàcil de recordar si pensem en alguna regla mnemotècnica o en alguna idea que ho lligui tot, però que en canvi les màquines i sistemes automàtics no la podran desxifrar.

Com diu l’auca, després de vint anys d’esforços, hem après a usar paraules clau que els humans no som capaços de recordar, però que les màquines poden desxifrar fàcilment. Un consell: si volem tenir paraules clau que siguin realment privades, millor que pensem en trucs que siguin complicats per les màquines i sistemes automàtics, encara que a nosaltres ens semblin fàcils…

Els noms de les fotos i dels documents

dimecres, 6/08/2014

Tots sabem que si posem noms clars a les fotos i als documents quan els guardem al nostre ordinador, després ens serà més fàcil trobar-los. Si més no, si ens fa mandra posar nom a totes i cada una de les fotos, sabem que el que sí és recomanable és repartir-les en carpetes o directoris que tinguin noms ben clars i informatius.

Però no tots els noms són bons. Alguns poden ser problemàtics. A molts llocs veureu avisos com aquest, que podeu trobar en una web de la Generalitat: “Es recomana evitar donar noms llargs als fitxers. També és important tenir en compte que els noms dels fitxers no han de contenir accents, caràcters especials (ç, %,…) o espais en blanc”. El problema dels espais en blanc és que no tots els Sistemes Operatius els tracten de la mateixa manera, i quan enviem fotos a d’altres persones (o si ens comprem un nou ordinador) pot ser que aquest nom esdevingui invàlid. I el mateix passa amb les vocals accentuades i amb els caràcters especials (vegeu nota al final).

Podem escriure amb molts caràcters o amb molts pocs, i podem fer-ho amb teclats senzills o complexes. Els primers ordinadors només entenien els dígits numèrics del 0 al 9, les lletres majúscules sense accent i molt pocs caràcters especials. I quasi no ho recordem, però nosaltres, quan només fa deu anys enviàvem missatges de text amb el telèfon mòbil, escrivíem amb teclats molt limitats. Aquí teniu un dels anomenats teclats “t9″ que utilitzàvem. Ho recordeu? Havíem de prémer diverses vegades una mateixa tecla, i així podíem anar seleccionant les lletres una a una. No sé vosaltres, però els meus primers missatges de text van ser en majúscules i sense accents.

La riquesa de caràcters en el conjunt de totes les llengües del món és immensa. Per això, els teclats dels dispositius mòbils es poden adaptar i personalitzar, com podeu veure a la imatge de dalt. En tot cas, és clar que els ordinadors han de poder codificar en bits tots i cada un dels caràcters i símbols que s’escriuen al món. No és una tasca fàcil. Des de l’any 1991 s’ha acordat internacionalment utilitzar la norma Unicode, que actualment ja permet codificar més de cinquanta mil símbols que inclouen tots els alfabets europeus i els ideogrames xinesos, japonesos i coreans junt amb moltes altres formes d’escriptura, així com més d’un miler de símbols especials. L’objectiu final d’Unicode és codificar tots els caràcters utilitzats al món. El Consorci Unicode inclou, amb diferent grau d’implicació, empreses com Microsoft, Apple, Adobe, IBM, Oracle, SAP, Google o Yahoo, institucions com la Universitat de Berkeley, i professionals i acadèmics a títol individual.

Tornem a la nostra pregunta. Per què no podem posar accents als noms de les fotos i documents? El cert és que tot va començar fa quasi cinquanta anys, l’any 1967. Inicialment els ordinadors treballaven només amb les majúscules de l’alfabet llatí més uns quants símbols auxiliars. Posteriorment s’hi van afegir les minúscules. L’any 1967 tot plegat es va normalitzar en un conjunt de 128 caràcters amb el nom d’American Standard Code for Information Interchange (ASCII), que és el que encara sobreviu. El codi ASCII és el nucli bàsic de caràcters que entenen i saben codificar tots els ordinadors i plataformes informàtiques. Només admet 128 caràcters perquè utilitza un octet o Byte per caràcter, vegeu la nota del final. Per això, si voleu tenir noms de fitxers que pugui entendre i descodificar bé qualsevol ordinador o telèfon mòbil, millor que només utilitzeu caràcters ASCII, aquest subconjunt bàsic de 128 símbols diferents.

Ara bé, fixeu-vos que el nom ja ho diu tot. ASCII són les sigles de “American Standard Code for Information Interchange“. El van implantar els americans, i s’ho van fer a mida. ASCII no codifica vocals accentuades perquè en anglès no hi ha accents. Els 128 caràcters ASCII són suficients per a les majúscules i minúscules de l’alfabet anglès, i més inclouen xifres, signes de puntuació i alguns caràcters de control. Però com podeu veure en aquesta web, ASCII no inclou ni els caràcters accentuats ni el punt volat que s’usa en català, ni molts altres símbols com els signes matemàtics i les lletres gregues.

En resum, és recomanable que els noms dels fitxers no continguin accents, espais en blanc o caràcters especials com els que teniu a la nota del final. De fet, ens ho diu ben clar la lletra “A” de les sigles ASCII. Pel que fa als espais en blanc, una solució pot ser separar les paraules amb el caràcter “_”, tot i que també podeu anar alternant majúscules i minúscules. Així, una foto de l’aniversari de la nostra filla Núria la podem anomenar Nuria_Aniversari_2014.jpg o NuriaAniversari2014.png, però millor que us oblideu de l’accent i dels espais en blanc.

Pot semblar sorprenent, però les nostres fotos i documents porten encara el rastre de l’hegemonia anglosaxona durant les primeres dècades de la història de la informàtica…

Per cert, Zygmunt Bauman diu que, per assolir una convivència pacífica, has de dialogar amb les persones que divergeixen de les teves idees, fins i tot amb les que odies. Continua dientque l’alternativa són les bales.

 

——

NOTA: A més de les lletres amb accent i dels espais en blanc, els caràcters no recomanables són bàsicament aquests: “ç”, “ñ”, “%”, “[“, “]”, “=”, “$”, “+”, “,”, “;”, “<“, “>”, “:”,  “\”, “/”, “|”, “*”, “?”, a més de les mateixes cometes “.

En la codificació ASCII, tots els caràcters ocupen un octet (vuit bits) i això facilita molt la seva manipulació. ASCII no pot codificar més de 128 símbols diferents perquè 128 és el nombre total de diferents configuracions que es poden aconseguir amb 7 dígits binaris o digitals. Això és perquè en ASCII, el vuitè dígit de cada octet, anomenat bit de paritat, es reservava per detectar possibles errors de transmissió.

En canvi, Unicode defineix tres formes de codificació amb el nom UTF (Format de Transformació Unicode, com podeu veure en aquesta web). El problema és que cada caràcter ja no ocupa un sol octet. En la codificació UTF-8, la majoria de caràcters ocupen un octet, però alguns necessiten dos, tres o més octets correlatius (la informació de si el caràcter en qüestió que estem analitzant ocupa només un octet o n’ocupa més d’un, és en el vuitè bit, en el bit que sobra quan codifiquem els 128 possibles caràcters en 7 bits). En la codificació UTF-16, els caràcters ocupen en general dos octets (16 bits) tot permetent representar l’anomenat pla bàsic multilingüe (BMP). Finalment, la UTF-32 codifica cada caràcter en 4 octets (32 bits) de longitud fixa. És la més senzilla de les tres, però qualsevol text acaba ocupant 4 vegades més memòria que la que ocuparia en codificació ASCII.