Posts filed under ‘Paranoies’
Kikujiro no Natsu
Ahir vaig veure la pel·lícula “Kukjiro no Natsu” (l’estiu d’en Kikujiro). És bastant paranoica, surten coses rares, i és bastant lenta, però en general em va agradar. El que em va cridar més l’atenció va ser l’última escena de la pel·lícula. En ser una peli tan lenta em vaig poder fixar en els graffitis que hi havia escrits al ciment que hi havia al darrere dels protagonistes, i em va cridar l’atenció veure un nom escrit amb lletres del nostre alfabet, però no només això, sinó que estava escrit amb lletra lligada i mig cursiva, cosa que els japonesos no fan mai, ja que a dures penes escriuen amb lletra de pal. Fins aquí és si més no anecdòtic, però la cosa va més enllà, i és que el nom de què parlo és el meu i a més està escrit de la mateixa manera que jo l’escrivia a segon de primària, qua ens obligaven a fer lletra lligada i cursiva.
Us deixo un fotograma de la peli juntament amb una foto de la portada del meu llibre de lectura de segon de primària on hi tinc el nom escrit.


Hashegem les coses que ens fan sentir intranquils?
Si encara no sabeu què és un hash en informàtica i quina relació tenen amb la vida humana, llegiu primer el post “Hashegem els records?”.

Bé, fa temps que no escric, i és que estic d’exàmens, presentacions, pràctiques… I és precisament tenir tantes coses que em fan sentir intranquil al cap, el que m’ha fet veure una altra relació entre la informàtica i la vida mateixa. No us ha passat mai que no sabeu exactament què, però hi ha alguna cosa que no us deixa estar tranquils? De vegades potser és una tasca que heu de dur a terme i en aquell moment no la teniu al cap, però que us fa no estar satisfets, i sentir que alguna cosa falla. Altres vegades són coses que heu oblidat de fer però en aquell moment no recordeu que les heu oblidat de fer, tot i que recordeu que alguna cosa falla. La sensació a què em refereixo queda bastant ben plasmada a la pel·lícula “Home Alone” (Solo en Casa) a l’escena en què la família es dirigeix cap a París de vacances de Nadal en avió.
Us deixo un tros del diàleg a què em refereixo en versió original:
INT: AIRPLANE: DAY
Kay is asleep on Peter's shoulder. She suddenly awakes, then checks her
wallet.
"What's the matter," asks Peter.
"I have a terrible feeling," says Kay.
"About what?"
"That we didn't do something."
"No, you feel that way because we left in a hurry. We took care of
everything. Believe me we did."
"Did I turn off the coffee?"
"No. I did."
"Did you lock up?"
"yeah.
"Did you close the garage?"
"That's it. I forgot to close the garage. that's it."
"No, that's not it," says Kay.
"What else could we be forgetting?"
"KEVIN!!!" shouts Kay.
La mare del Kevin està tenint la sensació que alguna cosa no va bé, té un sentiment terrible. Aquí és on entra en joc el que anomenaríem hashing de sentiments terribles. El pare comença mitjançant una mena de força bruta, intentar trobar quin és l’origen d’aquesta terrible sensació, i a cada intent, fracassa. Hi ha un moment en què ella mateixa es pensa que la força bruta ha funcionat, però poc després s’adona que encara falla alguna cosa, fins que, finalment, i sense necessitat de la força bruta del pare, ho recorda: Kevin!!!
D’alguna manera codifiquem al nostre cervell aquestes notícies, tasques, objectes o esdeveniments que no volem recordar en un moment donat, però s’executen en segon pla, fent-nos sentir malament, potser perquè són importants i convé que no les oblidem, com si fos un mecanisme d’autodefensa. Per invocar-les posteriorment es necessiten de vegades diversos intents, però quan finalment recordes el que et feia sentir malament, ho saps sense cap mena de dubte.
En aquest moment és la documentació i presentació del Projecte d’Enginyeria del Software i Bases de Dades el sentiment que no em deixa tranquil, barrejat amb els cada cop més propers exàmens finals…
Accés seqüencial i aleatori a la memòria humana
Ahir creia que havia perdut els auriculars, i per intentar recordar quan els podia haver perdut, em va venir al cap que la manera en què intentem recordar on hem oblidat alguna cosa, o la manera en què pensem en una cosa que no hem oblidat és bastant diferent i de fet té certes similituts amb el que a la informàtica i més concretament al camp de les estructures de dades es coneix com “Accés Aleatori” i “Accés Seqüencial”.
Un accés aleatori és l’habilitat per a accedir a l’n-èssim element d’un llistat en temps constant, és a dir obtenint-lo directament sense haver de buscar-lo.
Un accés seqüencial en canvi no permet accedir a l’n-èssim element directament, sinó que ens obliga a passar pels n-1 elements anteriors abans d’arribar al que volem obtenir, i per tant s’efectua en un temps que depèn de la mida del llistat.
I quina es la relacio d’això amb la memòria humana?
A mi em dóna la sensació que tenim una espècie de memòria conscient “cache”, molt ràpida, on tenim emmagatzemats un cert nombre de records resumits, bàsicament aquells que estan relacionats amb accions que hem fet amb plena consciència. Aquesta memòria és infal·lible quant a obtenció dels continguts. És a dir, si vull recordar per què vaig llençar un boli a les escombraries, i el vaig llençar conscientment i voluntària, en poques mil·lèssimes de segon ho podré recordar. Aquesta memòria és d’accés aleatori, és a dir, puc recordar per què vaig tirar el boli a les escombraries, i també què vaig fer-me per dinar ahir sense haver de recordar res més, simplement evocant el record concret. El fet de recordar el “titular” de per què vaig tirar el boli a les escombraries, fa que probablement recordem també quina hora era, si feia fred, si feia bon temps, a quina escombraria el vaig tirar, de quina marca era, i fins i tot què havia fet abans i què després. Aquesta informació no estaria continguda a la “cache”, ja que allà només hi tenim el títol del record, si no a la memòria base del cervell.
L’analogia amb un vector com a estructura de dades seria el següent: Tindríem tots els records en el vector “records” i per recordar una situació en concret, per exemple el record 4, el nostre cervell automàticament accediria a records[4] i n’obtindria el contingut, que probablement seria el títol del record i una sèrie d’apuntadors i vincles a altres records relacionats de la mateixa “cache” així com de la memòria principal.

Quan perds un objecte, ho fas inconscientment, perquè de fer-ho de manera conscient, ho recordaríem immediatament gràcies a la memòria “cache” i llavors no podríem considerar que l’hem perdut. Què passa llavors quan el nostre cervell intenta accedir a un record com per exemple “On he perdut els auriculars”, posem-li número 6, que no existeix a la memòria “cache”? Doncs que provoca un error, i ens obliga a nosaltres a intentar obtenir el record més proper a aquest record 6 que estigui emmagatzemat a la cache. Aquest record no té perquè ser el 5, podria ser qualsevol record contingut a la “cache” ja que aquests no tenen perquè estar ordenats cronològicament.
Començaríem doncs a pensar en una sèrie de records anteriors i posteriors al record 6 i hi aniríem donant voltes, afitant cada cop més el període de temps a què el record 6 pertanyaria.

Això seria clarament l’accés seqüencial a què em referia a l’inici del post. Hem de recordar un cert record X, que ens duu a recordar un record Y, que ens duu a recordar un record Z. Anem movent-nos seqüencialment per aquests records, obtenint més records entre cadascun d’ells, fins que, finalment, i si tenim sort, acabem recordant el que busquem, és a dir el record 6. Relacionat-lo amb l’estructura de dades “llista”, cada record seria un node, que contindria un apuntador al següent que recordem, i a l’anterior que recodem. El fet de navegar pels nodes, ens duria a recordar altres nodes, i per tant aquests serien afegits just a la posició que els pertoqués, fins a obtenir el que estem buscant.
Un cop recordat, i de manera automàtica, aquest record 6 passaria a copiar-se a la memòria “cache”, ja que el cervell es previsor i pensa que si hem invertit un temps en intentar recordar el record 6, potser seria prudent guardar-lo a la memòria d’accés aleatori per a posteriors usos. D’aquesta manera, si algun cop tornem a perdre els auriculars de manera similar, segurament aquest record aflorarà, i ràpidament sabrem on trobar-los.

Aquest post i el de “Hashegem els records?” m’estan fent veure que el cervell funciona d’una manera molt similar a les computadores, amb la diferència que el factor biològic sembla donar-nos moltíssimes eines per a realitzar cerques eficients al nostre cervell.
Seguiré buscant…
PS. Finalment no els havia perdut, si no que els duia a una butxaca que no faig servir mai… El mètode de cerca seqüencial em va dur a recordar quin havia estat el darrer cop que els havia utilitzat, i a partir d’allà vaig anar rescatant records fins que vaig recordar el moment exacte en què sense pensar-ho havia guardat els auriculars a la butxaca.
iLogClock
Després de parlar sobre el sistema per contrarrestar l’avorriment d’algunes classes, aquí podeu descarregar (els usuaris de Mac), una implementació que he fet del rellotge per la Dashboard.

Es tracta d’un rellotge amb les agulles de les hores separades de les agulles dels minuts, que aplica la funció mencionada en l’anterior post, i que opcionalment permet desactivar la distorsió temporal. A més, també mostra l’hora en format digital.
[UPDATE: Ja està disponible per a descarregar des de la web oficial d'Apple! ]
Rellotge compensador de la percepció d’avorriment
Tic, tac, tic, tac, tic…
“Deuen haver passat com a mínim tres quarts d’hora…” – mira l’hora
“No m’ho puc creure! Només han passat 25 minuts!”
Quants cops us ha passat una cosa similar quan ereu a una reunió, classe, conferència, curs, dinar… Generalment quan comença un esdeveniment avorrit o que no ens interessa i encara estem frescos, el temps ens passa una mica més ràpid, però a mida que passen els minuts, sembla que el temps es col·lapsi i no avanci ni a patades. Això expressat gràficament podria ser una cosa així.

L’eix “temps percebut” seria el temps que hom creu que ha passat, i “temps real” és el temps que en realitat ha passat. En aquest exemple veiem com coincideix amb el del diàleg inicial, en què la persona creia que havien passat 45 minuts, quan realment només n’havien passat 25. Aquesta línia vermella segueix una funció exponencial.
Quin seria l’ideal? És a dir, quin seria el gràfic que es correspondria a la percepció natural real del temps? Doncs seria aquell que seguís la funció y = x, és a dir tot valor de “temps percebut” hauria de ser igual que “temps real”, i per tant es representaria amb una recta.

Seria ideal doncs que també les classes avorrides les poguessim percebre d’aquesta manera no? Què podem fer perquè aquella línia vermella s’aplani per convertir-se en aquesta línia recta amb la qual quan creiem que hagi passat mitja hora, realment haurà passat mitja hora?
La solució rau en fixar-nos en quina és l’única font d’informació que ens proporcina coneixement sobre el temps real. Si aconseguim que aquesta font ens proporcioni la informació de manera que contrarresti l’efecte negatiu de la percepció exponencial, haurem aconseguit si més no convertir la línia vermella en una recta. Òbviament aquesta font d’informació és un rellotge (de vegades algun company que ens diu l’hora, tot i que també existeixen els companys que fan l’efecte que busquem, és a dir ens menteixen sobre l’hora real per després donar-nos una alegria quan s’acaba l’hora). Quan mirem el rellotge, aquest ens informa de la crua realitat, i el que obtenim no acostuma a ser satisfactori. Hem d’aconseguir que el rellotge “ens enganyi” favorablement de manera que l’efecte negatiu de la línia vermella sigui atenuat per l’efecte positiu de mirar l’hora (fictícia). Durant els primers minuts d’una classe avorrida, aquest rellotge fictici pot anar més a poc a poc, perquè encara no estem avorrits, i normalment no mirem l’hora durant els primers minuts. Però quan més ho necessitem, els minuts haurien de passar més de pressa provocant-nos una sensació positiva del flux temporal.
La funció que contrarresta una exponencial és el logaritme i per tant és lògic pensar en què aplicant una funció logarítimica a l’hora real possiblement aconseguirem aquest efecte.

En aquest gràfic l’efecte està molt exagerat, però la idea seria que quan realment haguessin passat 40 minuts, el nostre rellotge marqués que només n’han passat 15, amb la qual cosa, el temps podria córrer molt més de pressa els següents minuts, donant una sensació agradable de pas del temps.

I quina és la funció logarítmica que comença al 0 i passa per 60? Recordem que hem de fer quadrar la funció amb els 60 minuts que té una hora. Doncs obtenir-la no és trivial, però tampoc difícil, si voleu veure’n detalls us podeu descarregar els càlculs (escrits a mà fa 5 anys) d’aquí.
La funció i el gràfic que obtenim finalment són:


El següent pas seria simplement crear un rellotge que a l’hora calculada li apliqués aquesta funció, i ens donés una alegria.
Aquest tema el tenia aparcat des de segon de batxillerat, quan se’m va acudir per primer cop. En aquella època no tenia blog així que simplement vaig fer els càlculs i ho vaig arxivar, ara ho publico aquí i aviam si d’aquesta manera algú s’anima a fer un rellotge que puguis seleccionar si vols l’hora deformada o l’hora real depenent de si el que se’t tira a sobre és una classe molt avorrida…
Jo en vull un!
Close your eyes
Què veieu quan tanqueu els ulls? Quina pregunta més extranya direu… Em refereixo a que quan tanques els ulls no veus res del que tens davant, però de fet alguna cosa veus, i he intentat fer un dibuixet del que jo veig quan tanco els ulls. És una imatge gens definida que quan la intento enfocar es desenfoca, i quan no la miro s’enfoca, quan la segueixo s’escapa i quan no la segueixo la veig millor. És la que teniu a continuació.
Veieu alguna cosa similar vosaltres? O aconseguiu no veure absolutament res i estar en la foscor absoluta?
[Update] http://en.wikipedia.org/wiki/Closed-eye_hallucination Thanks Jen!
Catalonia is not Spain (demostració formal)
A continuació us escric una desmostració formal del famós “Catalonia is not Spain” sense interpretar significats profunds, simplement interpretant literalment la frase.
Volem demostrar "Catalonia is not Spain", és a dir Catalonia ≠ Spain.
Suposem "Catalonia is Spain", Catalonia = Spain. Llavors hem de demostrar que Catalonia ⊆ Spain i Spain ⊆ Catalonia.
És cert que Catalonia ⊆ Spain, almenys geogràficament parlant (per no generar polèmica), però {∃w, w="Andalucía"| w ∈ Spain ∧ w ∉ Catalonia}, i per tant Spain ⊄ Catalonia, amb la qual cosa Catalonia ≠ Spain ==> "Catalonia is not Spain" que és el que volíem demostrar. q.e.d
Entre la consciència i la inconsciència
Avui m’agradaria dedicar el post a aquest estat en què entrem quan anem a dormir i encara no estem del tot adormits. Suposo que hi deu haver estudis i coses sobre aquest estat i deu estar totalment catalogat concretat i explicat, però sense haver-ho buscat ni estudiat i de manera empírica m’agradaria plasmar la manera com jo ho visc.
La veritat és que és un post que se’m va acudir escriure un cop mentre estava en aquest estat de preincosciència, i per raons que explicaré posteriorment i que tenen relació amb aquest estat, m’ha estat molt difícil recordar què era exactament el que volia escriure.
Quan anem a dormir i no estem prou cansats com per caure fulminats, anem pensant en diferents coses, el que hem fet avui, el que volem fer l’endemà, etc… Aquestes idees i pensaments es van encadenant un rere l’altre, i en qualsevol moment puc recordar què és la primera cosa que he pensat, quina és la següent, i per què. Es podria dir que es crea una connexió entre els pensaments i tal i com ens passa durant el dia, podem recordar com hem anat encadenant-los.

Quan portem una estona en aquest estat, arriba un moment, però com si algú estigués abaixant el volum molt gradualment, que seguim pensant en coses i idees, però sembla que no som nosaltres els qui ho controlem, i aquí ja entra la meva part subjectiva i que no sé si a tothom li passa el mateix, però en aquest estat pots arribar a tenir una bona idea, i seguidament un altra, però un cop pensades aquestes coses, difícilment pots recordar quines són les que havies pensat mentre encara eres despert, i quan intentes recordar quines eren aquestes coses i t’adones que no pots, intentes tornar al fil mental d’on havies marxat precisament per recordar coses passades, i t’adones que tampoc aconsegueixes recordar-ho. És un estat en què tot el que penses es barreja, i deixa de ser recordable un cop deixem de pensar-hi. És per això que m’ha costat tant de temps aconseguir recordar que volia escriure un post sobre aquest estat!
És un estat molt curiós, un estat en què jo he arribat a sentir que algú em xiuxiuejava el meu nom a l’orella, d’una manera molt realista, fins i tot he notat l’aire de les paraules a l’orella i he arribat a obrir els ulls i a interpretar com a persones ombres projectades a les parets o pilons de roba. En aquest moment se surt una mica d’aquest estat, es torna enrere, però de seguida s’hi torna a entrar, i posteriorment t’adorms.
Un cop adormit pots quedar-te directament adormit fins al dia següent, o també pots tornar a l’estat de semiconsciència, per exemple quan rius d’algun somni, o quan has de tossir, o simplement quan et gires i canvies de posició.
Com veieu aquest estat vosaltres? De semiinconsciència o de semiconsciència? Algun cop heu intentat comptar fins a adormir-vos i després heu aconseguit recordar fins a quin número vau aconseguir comptar?
Vivim enganyats II – Doraemon Opening
Aquest cop analitzaré l’opening del Doraemon, que ja per començar li diuen “Doraimon”. La “i” de què? De que és més fàcil pronunciar-ho així perquè és un diftong comú a la llengua catalana?
Escoltem la versió japonesa, i tot seguit posaré la lletra en català i l’original traduïda.
Lletra en català:
Tant de bo els meus somnis es fessin en realitat,
es fessin realitat perquè en tinc un bon munt.
En Doraemon ho pot fer,
de recursos en té molts.
A la butxaca màgica trobarà invents per tots.
Voldria poder volar, pel cel blau
(Això és el casquet volador!)
Ah ah ah , tu sempre guanyes Doraemon.
Ah ah ah , tu sempre guanyes Doraemon.
Lletra original traduïda:
Està bé això, tant de bo ho pogués fer,
Tinc molts somnis, aquests, aquells, però...
Tots, tots, tots
Ens els concedirà,
Amb la butxaca misteriosa!
Pel cel lliurement
m'agradaria poder volar!
(Això és, el bambú-còpter!)
Ah! Ah! Ah! T'estimem molt! Doraemon!
Ah! Ah! Ah! T'estimem molt! Doraemon!
Cal dir que en aquest cas no es veu que hi hagi una inventada tan exagerada com en el cas de l’ending de l’Arale, però déu n’hi do les llicències que s’han permès! El cel blau? El cel blau de què? Potser vola de nit i no es veu de color blau! I què vol dir que “Tu sempres guanyes”? Ni que fos un joc la vida, per què canviar l’amor pel joc? I bé, probablement butxaca màgica quedava més “màgic” i menys sinistre que no pas “butxaca misteriosa”… o butxaca “curiosa”.
Buscant el video de l’opening en català, l’he trobat en mallorquí i també en castellà, us deixo el link per si els voleu escoltar:
Doraemon Opening en Castellà
Doraemon Opening en Balear (Doraemon, es moix còsmic)
Conclusió després de sentir les tres versions? (catalana, castellana i mallorquina) Està claríssimament claríssim que es copien entre ells. No se qui va ser el primer, però les llestres gairebé no canvien entre elles, sobre tot la catalana i la mallorquina, que són pastadetes. La castellana i la catalana canvien una mica més, però es nota que hi ha còpia, perquè en castella també voldrien “volar por el cielo azul, y me saco el azul de la manga para que cuadre todo”, i en Doraemon también “Siempre gana” en castellà.
Qui deuria ser el primer, l’ou o la gallina? I per què no tradueixen directament de l’original per mantenir més fidelitat? Només ho han fet amb les cançons? O també amb els diàlegs? Perquè llavors estaríem parlant de “Lost in a double translation”…
Fi de l’anàlisi!
Hashegem els records?
Quan dic “hashegem” em refereixo a si el nostre cervell els hi aplica alguna mena de funció de Hash.
Una funció de hash és una funció per a resumir o identificar probabilíticament un gran conjunt d’informació, donant com a resultat un conjunt imatge finit generalment menor.
Traduït de Wikipedia en castellà

Aquestes funcions es fan servir en l’informàtica per exemple a l’hora d’emmagatzemar les contrasenyes dels usuaris quan es registren a un fòrum, a una web, etc… L’usuari introdueix la seva contrasenya, per exemple “pilota” i la funció de hash genera una sèrie de caràcters de l’estil “58228b98f45e6f1bde9c573ea438e5ce“. Aquesta llarga cadena i no pas “pilota” és el que es guarda a la base de dades que emmagatzema les contrasenyes, ja que la gràcia de les funcions de hash és que a partir del resultat no es pot obtenir teòricament i en un temps computable la paraula que l’ha originat. És a dir, a partir de “58228b98f45e6f1bde9c573ea438e5ce” no es podria arribar a deduir que la paraula que l’ha provocat és “pilota” ja que és unidireccional. Aquesta propietat fa que si la base de dades fos compromesa, el comprometedor no es podria quedar amb les contrasenyes de la gent, només amb el resultat de les funcions de hash.
I com és que quan introduïm el password i l’usuari, podem accedir a la web, o on sigui, si ni tan sols la web sap quina és la meva contrasenya? Doncs perquè el que fa la web per comprovar que és correcta és aplicar la funció de hash al password que acabes d’introduir, i comparar-lo amb el que te guardat a la base de dades. Si coincideixen, has introduït la contrasenya correcta.
I què té a veure tot això amb els records?
No us passa de vegades que esteu intentant recordar el nom d’un actor o d’algun personatge i no us surt? No sou capaços de dir quin és el seu nom, en canvi si us en diuen un que no és, sabeu perfectament que aquest no és, i de la mateixa manera, si us diuen el seu nom, llavors sabeu perfectament que aquest és el correcte.
És com si tinguessim el seu nom guardat a la memòria havent-hi aplicat una funció de hash, i per tant el nostre cap recorda “58228b98f45e6f1bde9c573ea438e5ce“. Quan ens van dient noms que no són, la nostra funció de hash els va convertint en llargues seqüències de números i lletres que no tenen res a veure amb la que recordem.
En canvi, per casualitat o perquè algú us ho recorda penseu: “pilota“, la vostra funció de hash ho tradueix a “58228b98f45e6f1bde9c573ea438e5ce” i veieu que efectivament això coincideix amb el vostre record.
Sembla com si del record que nosaltres tenim, no fossim capaços d’obtenir el nom que busquem, tal i com passa amb les funcions de hash, i que per tant, haguem d’anar dient noms en veu baixa fins que algun finalment coincideix amb el vostre record, que és precisament la manera que fan servir els crackers per obtenir les contrasenyes que originen el que hi ha emmagatzemat a les bases de dades, res més que la força bruta.


