Feedback loop

Posted in Regula 0 on December 7th, 2015 by Mihnea

O sa rup un pic tacerea aici ca sa va infrumusetez acest inceput de saptamina cu o noua isprava a tovarasului Ovidiu Cucu. In ultimul timp, vajnicul militian duce o lupta acerba cu botii de spam care au luat cu asalt ograda expertilor. Din pacate insa, cind iti petreci tineretea in comitetul disciplinar al unei uzine comuniste redactind autodenunturi, autocritici si compendii de reguli, iti distrugi iremediabil partea din centrul limbajului care ii ajuta pe oameni sa faca diferenta dintre un postac onest si unul cu intentii capitalist-antisociale.

In fapt: utilizatorul haleema, originar pare-se din Bistrita-Nasaud, cu fix un post la activ, lanseaza o intrebare: “Cum fac o aplicatie similara cu File Explorer-ul din Windows, care eventual sa aiba caracteristici noi ca de exemplu view-uri multiple, taburi, paneluri docabile etc.” Intrebarea zace fara raspuns vreme de 9 luni, pina o vede Ovidiu si o ia personal: Windows, multi-view, docking, MFC, FAQ! Daca nu el, atunci cine? Si unde mai pui ca are si raspunsul potrivit, caci intimplator a scris un articol pe blog despre asta, acum mai bine de un an?

haleema intreaba

 

Din pacate insa, imboldul raspundac pe care l-a simtit Ovidiu nu era izvorit doar din pasiunea pentru MFC. Familiaritatea cu subiectul merge mai adinc, deoarece cu vreo 4 luni inainte, Ovidiu insusi se intrebase pe sine, in aceeasi sectiune a site-ului: “Cum fac o aplicatie similara cu File Explorer-ul din Windows, care eventual sa aiba caracteristici noi ca de exemplu view-uri multiple, taburi, paneluri docabile etc.

cucu raspunde

Observati vreo similitudine? Sa fie haleema un bot care reproduce alte postari de pe forum, ca sa para ca spune ceva coerent, ca sa poata apoi sa bage un link la Viagra in semnatura, sau la homepage? Greu de spus. Nu e ca si cum ar mai exista exemple pe forum. Si in fond, Ovidiu are chiar un protejat care raspunde la intrebari pe care nu le intelege copiind chestii gasite pe internet, si despre el stim ca nu e un bot, nu?

Nea’ Ovidiu, daca auzi un tiuit puternic in urechi de citeva zile, nu-l baga in seama pe doctorul care-ti spune ca e tinitus. Se cheama feedback si e ca atunci cind pui un microfon linga boxa la care e conectat, doar ca la matale s-a inchis circuitul prin intermediul forumului.

Tags: , , , , , , , , , , , , , , ,

Sa ma fut in politete

Posted in Regula 0 on September 18th, 2013 by Mihnea

retard-baby2Cum pula mea s-a ajuns sa fie mai important sa fii politicos decit sa stii despre ce vorbesti?

Este o chestie pe care o tot vad pe forumuri, liste de discutii etc. Sa-i spunem sindromul Marius Bancila. Vine un prost – sa-i spunem Silviu Ardelean – si emite o timpenie. Ii arati ca-i prost si-l rogi sa nu mai posteze imbecilitati. Apare un moderator – sa-i spunem tot Marius Bancila, ca sa rimeze cu sindromul – si te avertizeaza sa nu-i mai spui lui Silviu Ardelean sa-si tina gura, ca nu-i frumos. CUM SLOBOZ BA? In loc sa-i spuna Silviului ca e inacceptabil sa vorbesti timpenii (sau sa-l baneze direct), Mariusul e preocupat de mentinerea atmosferei de voie buna si cooperare tovaraseasca. Ca si retardatii e oameni, si are si ei inteligenta lor emotionala, nu?

Da, stiu. Daca iti antagonizezi interlocutorul, comunicarea se duce pulii, asa ca daca vrei sa fii constructiv trebuie s-o iei cu frumosul. Problema cu aceasta regula de cacat este ca presupune existenta unui interlocutor. Eu nu vorbeam de cazurile in care cineva greseste pur si simplu si il corectezi, ci de situatiile in care e implicat un Silviu, unde e evident de la inceput ca n-ai cu cine sa discuti. Presupusul interlocutor e atit de prost incit nu numai ca nu poate, dar nici nu vrea sa inteleaga argumentele pe care le aduci. In mod normal, Mariusul ar trebui sa-i stearga aberatiile. Daca n-o face, ceilalti participanti la discutie au obligatia morala de a face misto de retardat, pentru a se asigura ca viitorii cititori ai thread-ului nu sint indusi in eroare. Eu asa vad lucrurile.

Dar sa lasam numele generice si sa trecem la un exemplu practic. Un domn de la Valve a propus ca VC++ sa dea warning-uri cind dai parametri aiurea la functii care accepta format string-uri, asa cum fac deja diverse alte compilatoare. VC++ da si el warning-uri d-astea, dar doar cind ii dai cu /analyze, ceea ce dureaza inacceptabil de mult IRL. Validarea asta nu e costisitoare (dupa cum ne dicteaza atit bunul simt, cit si faptul ca nu incetineste semnificativ compilarea acolo unde e implementata deja), deci ar putea fi mutata din analizorul static in compilator.

In acest moment se amesteca in discutie Silviul de serviciu, cu numele de scena UnitUniverse, care nu vrea ca compilatorul sa faca “special process” pentru printf, care e o functie ordinara. Fiind foarte prost, el este de parere ca problema reala sta in faptul ca printf foloseste “extractie binara” si “masti binare” pentru a extrage parametrii, deci compilatorul n-are ce face. Ca si Silviul real, este preocupat de noile cuceriri ale tehnicii in materie de generat code bloat si incetinit compilatorul, asa ca face si el o Propunere: sa inlocuim printf cu template-uri variadice (sigur, nu inainte de a inlocui enumurile cu vectori).

Imboldit iar de spiritul civic, am considerat ca-i datoria mea sa-i spun boului ca nu e vorba de printf, ci de un mecanism pentru marcat format string-urile ca sa le poata verifica compilatorul. Care mecanism exista deja in VC++ sub forma macro-ului _Printf_format_string_. Ce a inteles retardatul (care stapineste limba lui Shakespeares la fel de bine ca omologul sau din Valea Jiului):

Yes, providen switchers to enable the detecting is an considerable idea. But, as i written previously, the printf extracting tail arguments with binary cutters, I’m doubt if they could implement such kind of checking mechanism.

I-au zis doi oameni ca e facut. I-am zis si cum e facut si i-am dat si link la cum fac alte compilatoare. De aici, el a concluzionat ca nu se poate face din cauza “taietoarelor binare”. In pula mea.

I-am raspuns ca nu stiu ce-s alea binary cutters si ca-s convins ca nici el nu stie, dar ca indiferent de ce crede el, mecanismul exista deja si trebuie doar mutat din analizor in compilator. De asemenea i-am recomandat sa nu-si mai dea cu parerea in probleme pe care nu le stapineste. Nu i-am zis sa nu-si mai dea IN PULA MEA cu parerea. I-am zis fara mui si puli. Rezultatul a fost ca s-a autosesizat Mariusul local si mi-a sters comentariul.

Lasind la o parte faptul ca-i urez cancer militianului care a facut asta, doresc sa insist un pic asupra unui model de comportament (ca nu pot sa-i spun gindire) ce este des intilnit printre Silvii. Cum ajunge imbecilul sa deduca cu mintea lui ca nu se poate face, dupa ce i-am aratat cum e facut, si i-am dat si link-uri?

Raspunsul e simplu si nesurprinzator: prostia. Silviul porneste cu o Opinie. Desi undeva adinc in fiinta lui licare ideea ca de fapt nu prea stie despre ce e vorba, odata ce-si formeaza si exprima Opinia, vocea interioara este sugrumata si Silviul se lanseaza cu toata forta intru sustinerea Opiniei. Nu conteaza daca ii dai argumente, link-uri sau bucati de cod pe care le-ar putea baga intr-un compilator ca sa verifice ca-i prost. Cind parcurge raspunsul tau, Silviul sare pur si simplu peste partile pe care nu le intelege. Nu le vede. Este un mecanism de aparare: faptul ca nu intelege ceva ar insemna ca e prost. El nu vrea sa fie prost, asa ca lucrurile pe care nu le pricepe trebuie sa fie irelevante. De la irelevant la inexistent este un pas foarte mic, pe care intelectul sau de batracian cu trisomie il face fara ezitare.

Pentru a vedea cum percepe un Silviu o discutie, iti poti sterge toate argumentele. Textul ramas pare o simpla Opinie. Aha! Silviul are si el o Opinie. De ce ar fi Opinia ta mai buna decit Opinia lui?

Revenind: e OK ca intr-o discutie despre compilatoare pe MSDN sa spui ca printf foloseste taietoare binare pentru extras argumente, dar nu e OK sa ii recomanzi unui bou sa nu vorbeasca despre lucruri pe care nu le intelege. Idiocracy.

PS: tag-urile pentru acest post s-au scris practic singure. Le-am luat direct de la ultimul post de pe blogul de atitudine al minerului.

PPS (adica post-post-scriptum, Ovidiu): in curind e ziua de nastere a minerului si i-am pregatit o surpriza.

EDIT: multumim Pintea:

yPuhX91

Tags: , , , , , , , , ,

Arta Inaltarii Monitoarelor

Posted in Regula 0 on September 9th, 2011 by Mihnea

Astazi va supunem atentiei un instantaneu surprins in birourile Bitdefender Timisoara inainte de pasul cel mare facut in primavara de catre cel mai miner dintre paminteni. Observam cum primele doua volume din ópusul lui Knuth formeaza un fundament solid pentru demersul creator al lui Silviu. Monitorul s-ar prabusi pur si simplu sub greutatea atitudinilor si descoperirilor cioplite in el daca ar fi sprijinit pe un postament mai putin monumental. Volumul 3, ala despre sortare si cautare este probabil folosit pe post de tirnacop pad.

PS: ortacul si-a actualizat in sfirsit linkedin-ul. Aparent a facut level up de la expert la “Advanced Software Developer”, fiind acum parte dintr-o echipa de servicii profesionale care ofera suporti pentru echipa de servicii profesionale:

Member of Professional Services team, a team that offers outsourcing supports for Ricoh Infoprint Professional Services team.

 

Tags: , , , , , , , , ,

Coming out

Posted in Slagare internationale, Stand-up philosophy on August 25th, 2011 by Mihnea

In sfirsit Apple au decis sa faca pasul cel mare si sa iasa din closet. Noul lor CEO e gheu pe fata, nu pe ascuns ca Steve. Asteptam cu interes versiunea aniversara XCode 5 unde vei scrie cod printr-o interfata cum aveau strumfii xenozoofili cu inorogii in Avatar, doar ca in loc sa-ti impletesti pleata cu coada calului, iti vei da cu iLube si-ti vei baga in cur un iDildo. Roz.

La cit mai multe puli in cur!

 

Tags: , , , , , , , , , , , , , ,

Cele doua fete ale tirnacopului

Posted in Regula 0 on July 16th, 2011 by Mihnea

As vrea sa facem un exercitiu de imaginatie: inchipuiti-va Liceul de Informatica din Hunedoara intr-o dimineata de vara tirzie, la sfirsitul lui August 1999. E vacanta si liceul ar trebui sa fie pustiu, dar azi nu e, pentru ca a inceput a doua sesiune de bacalaureat. Alegeti o materie la intimplare – sa spunem informatica (merge si romana). Intrati cu ochiul mintii intr-una din salile de clasa si umpleti-va plaminii cu atmosfera de examen: susoteli, fituici, profesori care scriu rezolvarile pe tabla, elevi care se duc la celelalte sali sa vada daca acolo “s-a rezolvat subiectul 2”. Un singur om sta aplecat asupra foii sale, concentrat, superior, sclipitor, dar vizibil deranjat de forfota din jurul sau. Toti incearca sa copieze de la el, iar lui ii este din ce in ce mai greu sa ignore aceste agresiuni. Acest om este Silviu Ardelean.

Silviu se jura ca asa a fost. Saptamina trecuta a fost Sarbatoarea Bacalaureatului in Calendarul Datatorilor Cu Parerea si nu putea sa lipseasca tocmai el de la festivitati, asa ca a tinut sa-si proclame admiratia fata de camerele lui Funeriu si “adevarul, normalitatea, lucrurile frumoase, realitatea” pe care acestea le-au adus in viata romanilor. Noi am avea totusi niste obiectii…

La doar patru zile dupa ce l-a batut incurajator pe spate pe Funeriu, Silviu a decis ca a sosit timpul pentru a pune inca o data umarul la progresul programarologiei, asa ca a publicat un tratat despre functia _chkstk(). Articolul incepe in felul urmator:

A process starts with a fixed stack space. The top of a stack is pointed to by the ESP register (Extended Stack Pointer) and this is a decrementing pointer.

E ceva dubios aici, nu? Exprimarea curata, informatiile corecte, mentionarea cuvintului “registru” – toate acestea ii dau cititorului fidel un sentiment de alienare si-l fac sa verifice textul din address bar. Am intrat cumva din greseala pe o alta pagina? Nu, adresa e corecta, deci citim mai departe:

This is in contrast with the heap that can theoretically grow to a limit of 4 GB.

This is in contrast with“? Pe bune, dupa “electric power manufacture base on water“, “I’m acting into a C++ Romanian programming community” si “it depends on your’s algorithmic intellection, cleverness“? Ajuns aici am simtit nevoia sa-l intreb pe Google ce parere are despre alfabetizarea subita a lui Silviu, iar el mi-a raspuns fara sa pregete cu acest link de la codeguru. Pai ce facem Silviu? Iar copiem? Iar ne inspiram? Ce-ar fi sa punem niste camere d-alea de supraveghere si la calculatorul tau, pentru ca “rigoarea inpusă în această sesiune de examene să fie un nou început”? (“Inpusa”, mai gunoiule?)

Sigur, articolul nu e copy/paste in intregime. Putem determina unde incep contributiile originale ale minerului urmarind momentele in care fata gramaticii se intuneca brusc:

If you have an infinite recursion then you will gate same stack overflow error

I have started the study of _chkstk() function in the moment when I got few bugs with crashes with some similarly details.

I stopped to some trace function calls and I studied deeply.

Observam ca lucrarea minerului se incheie cu o lista de referinte, din care lipseste insa tocmai thread-ul de pe codeguru din care s-a inspirat. Deci:

Incheiem cu cuvintele directoarei liceului unde zice Silviu ca au copiat altii dupa el (si nu ne putem abtine sa ne intrebam cit de prosti erau aia):

Un mare filosof spunea că numai prin educaţie se poate asigura dominaţia minţii peste întuneric. Educaţia de care au avut parte atâtea generaţii care au trecut pragul acestei şcoli a însemnat colaborare, comunicare şi dialog, a asigurat elevilor libertatea să se întrebe şi să ne întrebe.

Sau, mai direct, cum cintau rapsozii aventurile lui Silviu in Piata Universitatii:

Minerul isi construieste singur cerul.
Minerul din mici lampase lucitoare isi face luna, stele, soare la fel ca si un vrajitor.
Minerul c-o mana poate s-atinga cerul
Si poate-n noapte-ntotdeauna s-aprinda stelele si luna.

Tags: , , , , , , , , , , , , , , ,

Scoala ardeleana de aritmetica

Posted in 112, Premiul n00bel on April 12th, 2011 by Mihnea

Viata e grea in Valea Jiului. Intre o descindere in abataj si o incursiune horticola la Bucuresti nu-ti ramine mult timp pentru dezvoltare personala. Daca vrei sa-ti cultivi o pasiune, cum ar fi pescuitul, trebuie sa renunti la unele chestii mai putin importante, cum ar fi scoala primara. Tragedia devine evidenta abia cind destinul te forteaza sa dai pestele din mina pe programarea de pe gard si cei din jurul tau descopera ca ai lipsit cind s-a predat impartirea cu rest sau formarea pluralului.

In post-ul despre atoi-ul ortacului va ziceam, printre altele, despre pasiunea lui Silviu Ardelean pentru modulo. Un cititor vigilent a remarcat insa ca nu era prima data cind fostul viitor pescar rescria regulile aritmeticii. Intr-un thread de pe vremea cind Gardianul Ovidiu nu gasise inca un pretext pentru a denunta unilateral dialogul dintre mine si experti povesteam cum aplica Peter principiile programarii defensive:

int& operator[](unsigned int index)
{
    index = index % count();
    return m_elements[index];
}

Ce a inteles minerul din asta:

Totusi… ma intreb daca el a facut vreodata debug pe acest cod. Sincer, ma cam indoiesc, pentru ca atunci, ar fi constatat ca tot timpul elementul ar fi fost valoarea returnata de count() [datorita faptului ca index era mai mic decat aceasta valoare] si in mod normal, ultimul index al lui m_elements ar fi fost count() – 1. Pracic, se accesa un index inexistent ( valoarea returnata de count() ). Sau?

Deci in 2009, pe cind era expert de 8 ani in C++ ([1]), Silviu credea ca restul impartirii lui 4 la 9 este 9. In lumina acestor fapte, ne intrebam ce a vrut de fapt sa faca cu % 10 ala in implementarea lui de atoi(). Sau la implinirea a 10 ani de experienta a descoperit cum functioneaza de fapt modulo si s-a decis sa-l foloseasca si unde nu face nimic, sau a vrut ca atoi-ul lui sa creada ca toate cifrele sint 10. Sau?

Putin mai incolo in thread, insusi Gardianul Ovidiu incearca sa domoleasca zelul cu care minerul explica principiile de convietuire armonioasa cu sizeof (operatorul care returneaza lungimea array-urilor dinamice, daca tineti minte). Ovidiu intinde urmatoarea nada:

size_t v = 0;
while(v < sizeof(v++))
{
    printf("%u", v);
}

Silviu, cu pedala mintii la podea, raspunde:

Fara a rula, iti zic sigur ca va crapa la printf(), chiar daca pasezi “%d” sau “%d”. printf()-ul are limitele sale, ptr. tipuri simple (int, float, char, etc).
Pune std::cout in loc de printf() si nu mai crapa. Chiar afiseaza ok valorile lui v.

Mare atentie, Silviu, ca si pamintul are limitele sale, ca si printf(), si s-ar putea ca intr-o zi sa se surpe pur si simplu sub tine.

In incheierea paginii aflam ce l-a determinat pe Silviu sa schimbe undita cu calculatorul personal:

Daca as lucra intr-un domeniu embeded unde trebuie sa ma supun unor legi mai stricte, atunci las si de la mine. Din fericire doar mi-a mirosit cu ce se mananca si e putin porbabil sa activez vreo data intr-un astfel de domeniu. Acum 2 ani o firma vroia sa ma atraga pe o pozitie de team leader exact pe ceva “embeded” si le-am multumit frumos. Prefer creeativitatea si complexitatea specifica aplicatiilor ptr. PC.

Eu sper ca de fapt aia vroiau sa-l atraga pe Silviu intr-un beci la marginea orasului unde sa-i arate tot felul de pozitii si obiecte emdeduibile in cur. Altfel vreau sa-i cunosc, in primul rind ca sa nu-mi iau vreodata cuptor cu microunde programat de ei si in al doilea rind ca sa le ofer gratuit un abonament gold la RSS-ul site-ului nostru.

Silviu, mopul e la tine. Speram sa nu te dezminti nici de data asta si sa stergi macar “mica scapare” cu operatorul %. Adevaratul test de creativitate va fi insa la aia cu siguranta craparii, ca pe-acolo nu prea vad cum ai putea spala rusinea fara ajutorul mentorului tau (“few cosmetics”, sau?). Sper ca vei opta pentru o explicatie tehnica, cu cuvintele tale, a modului in care functioneaza functiile variadice si mintea minerului. Asta m-ar bucura cu adevarat.

Fig. 1: Silviu propune, codexpertii dau cu mopu'

 

PS: Avind in vedere ca am ris deja de multiple ori de faptul ca multinationala emblematica nu te-a mai dorit asa de tare cum o doreai tu pe ea, poti sa-ti actualizezi linkedin-ul ala, ca nu mai ai ce secret sa tii. In plus, ne-au zis noii tai colegi ca se intreaba daca ti-e rusine cu alegerea facuta, de nu vrei sa o impartasesti public, tu care in rest esti un om asa de deschis.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Despre simularea si disimularea creierului

Posted in 112, Premiul n00bel on April 8th, 2011 by Mihnea

Motto-ul site-ului scientia.ro este “Stiinta pe intelesul tuturor”. Pe bune, chiar al tuturor? Si al astora? Si al lui Silviu Ardelean? Din ce s-o fi tragind convingerea fondatorilor ca oricine poate intelege “stiinta” – sa fie noblete, naivitate sau comunism? Sa fie oare posibil sa prezinti “stiinta” asta (orice ar fi ea) intr-un asemenea mod incit s-o poata pricepe si cea mai intunecata minte de miner?

Din fericire putem gasi raspunsul negativ la aceasta ultima intrebare pe forumul cu care este inzestrat scientia.ro, unde care cei ce se simt in target – “tuturorii”, daca-mi permiteti – ne arata ce-au inteles si dau glas intrebarilor ce le framinta starea de veghe. Sa-i dam cuvintul lui Sorin_dan84:

Salut. Am vazut de curand o stire despre computere uriase care pot simula clima de pe pamant, si alte chiestii(chiar formarea unei galaxii)…ce spuneti in cati ani credeti ca se poate simul toata viata de pe pamant?     Si de aici ideea unor regizori de filme sf., gen Matrix.

Si daca ar fi creat un simulator al Terei, plecand de la tehnologia actuala(punand in acest simulator cam toate cunostintele stintifice actuale si apoi “furand” noi descoperiri stintifice de la simulator?…..sa zicem ca in simulator 1 an=cu o secunda la noi.
Ar fi un computer cat o metropola…un oras calculator?, daca nu pun in aplicare nanotehnologia.

In caz ca n-ati inteles pentru ca inca asteptati sa se inchida paranteza aia, propunerea lui Sorin este ca cercetatorii sa simuleze niste mini-cercetatori si doar sa se uite ce mini-cerceteaza aia. Eu imi permit sa-i propun o chestie si mai simpla, pe care am vazut-o intr-un film: pentru a obtine ORICE, te apuci si faci un robot care produce acel ORICE, dar de asemenea poate calatori inapoi in timp. Nici nu termini bine de gindit cu gindul la aceasta idee, ca robotul va si aparea linga tine cu obiectul dorit, ca doar te-ai gindit sa-l faci, deci l-ai facut, deci el s-a intors in timp la tine. Nici nu mai e nevoie sa-l faci.

Simtind ca a dat peste o idee de valoare, Sorin continua:

Astept pareri de la specialisti in domeniu….sau poate am dat o idee de proiect, care ar putea fi impartasit(japonezilor sau americanilor – ca la noi e criza ) pt. accelerarea stiitei ……Multumesc.

Cine se baga la implementarea proiectului? Oportunitatile ca asta nu cresc in copaci, o singura data in viata ai sansa sa-ti dea cineva o asemenea idee (daca o ai si p-aia). Ar fi pacat sa dati cu piciorul. Nu faceti ca florin_, care s-a impotmolit in calculele unor alti “specialisti”:

Acum vre-o multi ani in urma citisem undeva ca specialistii in domeniu au venit cu cea mai acurata prezicere a cite PC-uri de pe vremea aia (cam Pentium III la 0.5-1GHz) ar fi necesare sa faca toate operatiunile pe care le face creierul uman (toate functiile si cele constiente si cele inconstiente).

Ei bine cantitatea de PC-uri necesare ar fi  asa de mare ca nu ar fi  incaput in intreg universul vizibil de azi.

Ei bine, eu as propune pur si simplu sa simulam un univers mai mare, in care sa incapa toate PC-urile necesare pentru a simula universul nostru mai mic. Nu stiu daca propunerea mea e fezabila, caci nu ma pricep la calcul polinomial cu n arbitrar:

Explicatia lor tinea de faptul ca sinapsele si retelele neuronale pot executa calcul polinomial cu n arbitrar de mare in timp linear (cu alte cuvinte retelele neuronale ar putea rezolva probleme ce necesita xn operatii intr-un timp proportional nu cu xn ci cu x1 (linear)).

Noroc ca a venit Dendros sa le deschida si mai mult orizonturile:

E doar o parere. Dar daca e adevarata afirmatia lui florin_, suntem departe de a atinge intregul potential al creierului sau poate nu-l vom atinge niciodata pe deplin, fiindca ar putea fi nelimitat, doar sa avem timp suficient.

Luati aminte, daca ai suficient timp, poti sa numeri pina la infinit si poti atinge limita potentialului nelimitat. Totusi trebuie sa recunoasteti ca omul are dreptate, participantii la discutie nu au prea multe sanse de a atinge vreodata pe deplin potentialul unui creier.

Subiectul neuronilor si al retelelor pe care acestia le formeaza apare frecvent in discutiile de pe scientia.ro. Este si normal, caci oamenii care fac diferenta nu se multumesc cu status quo-ul, ci incearca tot timpul sa obtina ceea ce n-au. tavy ne explica cum sta treaba cu translatoarele automate, aceste unelte ale diavolului ce-l sperie pe Silviu Ardelean:

Traducerile nu sunt chestiuni exacte, de multe ori sunt subiective și de multe ori nu se pot face sau dau aberații mari dacă sunt scoase din context. Din acest motiv, la traduceri se pretează mai bine rețelele neuronale în dezavantajul calculului algoritmic.

Stiu ca acum sinteti pe cale sa va inlocuiti toate calculele algoritmice cu retele neuronale, dar mai zaboviti oleaca. Inainte de a te arunca cu capul inainte in truda, e bine sa te intrebi daca meseria pe care incerci s-o practici chiar exista, asa cum face XploreDesign in thread-ul Meseria de programator – mit sau realitate:

Una dintre cele mai căutate profesii  este cea de programator. Sunt foarte multe motivele care te-ar putea determina să optezi pentru o asemenea opțiune, dar cel mai important, după părerea mea, este faptul că această profesie îți oferă o deschidere internațională

Ce coincidenta, si ing. Boata Cristian zice la fel.

Simpla cunoaștere a unui limbaj de programare, sau a unei tehnologii, nu iți poate asigura statutul de programator, mult dorit. E nevoie de mult mai mult. E nevoie de experiență, e nevoie de cunoașterea mai multor limbaje de programare sau de scripting, e nevoie de cunoașterea celor mai noi tehnologii precum și de un portofoliu consistent de lucrari care să te diferențieze de ceilalți concurenți și, un lucru foarte important, e nevoie de ”atitudine” ”pro-to-do”.

Atitudine? Protodo? Portofoliu de lucrari? Inseamna ca Silviu si-a asigurat “statutul de programator virgula mult dorit”. Unde mai pui ca are si inteligenta emotionala…

Afirmatiile provocatoare ale lui Xplorica au alimentat nesiguranta alle_csandr_ei, care n-a mai rezistat si a pus intrebarea ce statea pe buzele tuturor:

As avea si eu o intrebare cat de bine este sa fii programator? ???in comparatie cu alte meserii ma refer

Nici un post despre imbecilitate nu poate fi complet fara un citat din viorel2005, singurul om in viata a carui retardare iese in evidenta chiar si pe codexpert. Sa vedem ce are el de zis despre… pula mea, n-am inteles. Poate gasiti voi vreo legatura intre propozitiile din comunicarea sa, sau macar intre cuvintele din interiorul propozitiilor:

In prima versiune a cartii lui Charles Petzold de programare in Windows, era o propozitie despre niste “eroi necunoscuti” care au pus bazele sistemului Windows(chiar daca a fost inspirat de la Apple, totusi el este un succes comercial). Acum hardware-ul dicteaza totul si apoi software-ul. De aceea nu exista tablete Windows. Si atunci se ajunge intr-o directie managed. Legea lui Moore va limita puterea lui C++.

Cine sloboz e Moore asta, ca eu nu l-am votat?

LE: inca una repede, ca am dat de ea dupa ce am postat. Din putul gindirii numit wikipedia in romana aflam ce-i ala un “systems programmer”:

Programatorul de sistem este persoana care se ocupă de instalarea / generarea și întreținerea sistemului de operare furnizat de producătorul unui calculator pentru a-l adapta la cerințele utilizatorului. Sistemul de operare este frecvent distribuit pe un suport de date într-o formă standard, conținând un maxim de funcțiuni. Din această formă standard programatorul de sistem poate instala sau genera un sistem de operare concret, potrivit configurației hardware individuale și nevoilor utilizatorului.

Zic ca merita un loc caldut in panoplia esecurilor wikipedofile, linga articolul despre CoBra. Tu cind ti-ai generat ultima oara Windows-ul?

 

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Stare avansata de Tutorialism.

Posted in Codare cu premeditare, Premiul n00bel on March 30th, 2011 by jos8cal

El este Marian Pop si este intr-o relatie stabila cu un Mac OS X de peste 6 ani. Cind intr-o relatie anii devin unitatea de masura a tolerantei, este evident ca secretia de feromoni a crescut proportional cu durata relatiei.

Unii dintre voi or sa spuna ca o relatie sta in picioare datorita fundamentului de cunostinte comune cu care ne-am impaunat reciproc de la primele intilniri. Ei bine, nu! Relatia daca ar fi sa o reprezentam 2D ar fi o linie pe orizontala, nu pe verticala, deoarece “fundamentul de cunostinte comune” se transforma in Obicei, iar acesta stim cu totii ca e neplacut iar neplacerea se reprezinta pe orizontala. Este o enumerare. De ce credeti ca puscariasii isi numara zilele tragind linii verticale, ca mai apoi sa le taie cu una orizontala? Pentru a exemplifica moartea sperantei si nasterea Obiceiului.

Bun. Acum ca avem clar stabilite bazele vietii in doi, sa trecem sa mulam aceasta schema metafizica pe viata familiei Marian Pop OS X.

Marian se considera un geek datorita pasiunii lui pentru computere dusa la limite extreme. Dupa cum vom vedea mai jos, computerul nu pare insa sa-si aduca aminte de unde-l stie pe Marian.

El s-a decis sa programeze in C/C++, PHP si MySQL, deci este evident ca are nevoie de un Mac, ca PC-ul e pentru jocuri. S-a oprit la primul bordel Apple si a platit pentru un Mac OS X, toate serviciile incluse. G4. MILF. XCode.

Dupa cum am vazut, daca vrei doar sex de la un Mac, vei avea parte de un gay porn numit XCode. Cind esti in schimb intr-o relatie cu Mac-ul, secretia mare de feromoni emisa de dinsul va face ca experienta cu XCode sa-ti para o sansa unica in viata.

Odata ajuns applosexual, Marian a inceput sa-si filmeze orgiile cu XXXCode si sa le puna online sub forma unui Decalog speram noi.

Primul Film. Introducere in C++.

Aici se poate observa cum folosirea cuvintelor “variabile” si “using namespace std” l-ar face pe orice incepator sa se urce pe pereti de placere, neintelegind nimic dar incercind sa simta apasarea tastelor care nu se apasa pe tastatura de Mac.

Al doilea film. Structuri conditionale in C

Vizibil stresat din cauza unui algoritm, Marian isi face totusi timp sa readuca in atentia publicului recurenta tema a variabilelor. Aflam astfel ca variabilele sint niste cutii in care stocam date. Acum mai ramine sa aflam ce sint alea date. Climaxul acestui film incepe la minutul 6, cind Pauza devine subiect principal pentru 35 de secunde. Mai aflam ca

for (int a=0; a>0; a++)

il incrementeaza pe a cu a.

Daca Gaddafi si-ar fi luat gindul pentru o secunda de la lumea modei si ar fi deschis XCode, ar fi propus (te pup Silviu) ca si Marian urmatoare alternativa la scris numere pe ecran:

int a;
cin >> a;
for (int i=a; i > 2; i++){
	cout << i;
	break;
}

sau

while (a == 2){
	cout << a;
	break;
}

Al treilea film. Functii in C++.

Sau cum sa nu faci cout << 40;

int fun(int n){
	n = n + 20;
	return n;
}

int main(){
	int n=20;
	int i;
	for (i=n; i>0; i++){
		cout << fun(i);
		break;
	}
	return 0;
}

Al patrulea film.

Aici aflam ca pointerii sint ca niste muschi si trebuie sa facem zilnic exercitii pentru a-i mentine in forma. Si aici Pauza primeste un rol in scena in care Marian cauta punctul si virgula pe tastatura lui Apple.
Mai aflam ca putem scrie cod oriunde vedem loc liber in pagina, asa ca pe ciorna, si mai tirziu il copiem unde trebuie. Cind te trece creativitatea trebuie sa ai un loc liber sa o depui in cel mai scurt timp.

Disclamer: Nu a fost ranita nici o masina in timpul efectuarii cercetarilor pentru acest material. In schimb se pare ca alti oameni au fost raniti in timpul orgiilor familiei Pop OS XXX.

PS. In caz ca doriti autografe, codexpert.ro il are invitat permanent in platou.

PS2. Si da, ca si pe Silviu Ardelean sistemul de invatamint romanesc l-a avut la cirma si pe Marian Pop.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Internetul, memoria si Ardeleanul

Posted in Premiul n00bel, Regula 0 on March 7th, 2011 by Mihnea

Azi e o zi importanta pentru Silviu Virgula Ardelean: in sfirsit a gasit un articol care explica pe intelesul sau ce-i cu pointerii si cu memoria. Surescitat de descoperirea sa, expertul ce duce-n spate nu mai putin de 9 ani de tras la saiba C++-ului si-a aruncat tirnacopul in zare, sa stie toata lumea:

A nice and simple tutorial of “C/C++ Memory Corruption and Memory Leaks”: http://bit.ly/jWwEd

Vreau sa subliniez “pe intelesul sau”. Articolul nu e in nici un caz pe intelesul oricui, ci doar al lui Silviu, asa cum discutiile intre doi boschetari beti nu-s pe intelesul oamenilor de rind. Sa spicuim:

char *oldString = "Old String";
char newStrig = strdup(oldString);
if(newString == ENOMEM) ... // Fail!!!!

...

free(newString);

Nu-i asa ca aveti un deja-vu? Cod care nu se compileaza, pentru ca “omul nu are un compilator in cap”, si pentru ca “tutorialele nu-s facute sa iei cu copy/paste din ele”? Bifat. Autor care e asa de prost incit crede ca malloc() returneaza ENOMEM cind nu mai are de unde da, dar posteaza totusi tutoriale pe net? Bifat. Utilizarea limbii lui Shakespeares pentru a ne asigura ca mesajul de pace si incompetenta este inteles si de oamenii din “India, Africa de Sud, Columbia, Rusia, etc”?

Memory allocated by copy constructors for pointer duplication. Check in destructor and delete if necessary. Memory allocated in passing class by value which invokes copy constructor.

Bifat.

Numarul de ineptii din articolul respectiv este aproximativ egal cu numarul de propozitii (doar daca socotim drept propozitii si enunturile alea fara predicat, altfel ineptiile cistiga), dar n-o sa stau acum sa fac analiza pe text. Mai interesant ar fi de aflat cum si de ce a ajuns minerul sa-si gaseasca sufletul-pereche in persoana acestui Greg Ippolito. “Cum” e simplu: a scris in google free memory tutorial si a dat pe primul link. “De ce” are legatura cu site-ul asta si cu utilizatorii sai.

Acum ceva vreme, minerul a postat un articol in care ataca spinoasa problema a convertirii numerelor in string-uri. La momentul creatiei l-am sarit pentru ca nu ni s-a parut ca ar avea suficient potential umoristic, dar un cititor fidel ne-a urecheat ca n-am semnalat faptul ca Silviu punea destructori virtuali in niste clase goale, ca un automaton constiincios ce este. Sigur pe textele invatate pe de rost de prin surse dubioase, Silviu (care, tineti minte, nu se ascunde dupa nick-uri pentru ca are singe in instalatie) a venit deghizat in Coco si a lasat urmatorul comentariu veninos:

Coco Says:
January 26th, 2011 at 4:32 pm
@thefatredguy: prima data trebuie sa scrie un FAQ special pentru tine despre destructori virtuali.

Dupa risetele ce au urmat, el si-a inmuiat intrucitva pozitia:

Coco Says:
January 26th, 2011 at 4:58 pm
Discutia cu destructor virtual / nevirtual e cu dus-intors oricum ai intoarce-o. Voie buna!

Vazind totusi ca voia buna nu inceteaza, a dat fuga la articol si a scos destructorii aia virtuali, ca nu se stie. A ramas totusi cu un ghimpe, ca n-a inteles de ce i-a scos, asa cum n-a inteles nici de ce i-a pus. Neintelegind ca e atit de prost incit nu va intelege niciodata, el a continuat sa caute raspunsuri sub forma de tutoriale si asa a dat peste Greg.

Un om de calibrul lui Silviu, care isi recunoaste greselile, nu putea dormi noaptea fara a scorni o justificare pentru faptul ca orice spune se dovedeste a fi gresit. El e un suflet nobil si mare, care vede dincolo de corecturi. Atita timp cit Adevarul iese la iveala, pe Silviu nu-l intereseaza cum se ajunge la asta. Cum ne-a obisnuit, minerul iar da cu tirnacopul in peretele gresit, crezind ca noi ne luam de el pentru ca isi corecteaza post-urile, asa ca ma voi preface ca incerc sa-l indrept pe calea cea buna, inainte sa-si darime abatajul in cap.

Nu, draga Silviule. Noi nu ridem de tine pentru ca iti corectezi scrierile, ci pentru ca trebuie s-o faci. Tot ce scrii este gresit si tu nu vrei sa vezi in asta un semn al incompetentei colosale care-ti caracterizeaza existenta. Post-urile tale ar trebui sa-i avertizeze pe cititori sa nu ia nimic de bun pina nu apare articolul corespunzator la noi pe site. Daca vrei, facem noi plug-in-uri de wordpress si phpbb care afiseaza un disclaimer in ce postezi si adauga automat link-ul catre noi in momentul in care publicam corecturile. Visez la ziua in care vei putea imprumuta de la cineva un sfert de creier si vei putea vedea ironia faptului ca ai invatat despre pointeri, constructori si destructori de la un idiot ca tine, care nu stie despre ce vorbeste, dar totusi vorbeste. Tu, in prostia ta, ai preluat prostia lui si o dai mai departe altora. Daca Fibonacci ar fi trait azi, i-ar fi dat pulii de iepuri si ar fi studiat pe tine rata de crestere a prostiei pe internet.

Sigur, incercarile acestea de a-l face pe Silviu un ortac mai bun sint nascute moarte. Un intelept ne-a lasat mai demult pe failbook urmatorul mesaj, ce ilustreaza cu mare concizie si absoluta precizie imposibilitatea comunicarii cu minerul-programator:

Cand Silviu-Marius Ardelean greseste si incerci sa ii spui, sunt trei variante:

1. Faci misto si nu se prinde;
2. Ii spui discret si nu intelege;
3. Ii spui direct si nu te crede.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Futurologie aplicata

Posted in Premiul n00bel, Regula 0, Stand-up philosophy on March 5th, 2011 by Mihnea

Noi in anul 2000
Cand nu vom mai fi copii
Vom face ce-am vazut candva
Toate visele indraznete
In fapte le vom preschimba
Vom fi mesteri iscusiti
Sa va facem fericiti
Pe voi parintii ce veti fi
La a doua tinerete in 2000

Web 2.0 este un mod de a folosi internetul inventat de Tim O’Reilly intr-o zi din toamna lui 2003, dupa ce bause la micul dejun 5 pahare de Guiness indoit cu Tullamore. Tim a concluzionat pe propria piele si pe banii lui ca al 6-lea pahar nu e o simpla diferenta cantitativa, ci un salt calitativ, caci in loc de 5 pahare goale cit se astepta sa vada pe masa, acum vedea cam 10. Tim si-a notat aceasta revelatie pe un servetel si a decis sa tina a doua zi o conferinta in care sa spuna lumii ca de la al 6-lea pahar incolo se cheama ca bei agheasma 2.0, chiar daca nu schimbi licoarea. Cind s-a trezit din nou pe inserat cu gust de placenta felina in gura si durere de cap 2.0 si-a dat seama ca o conferinta despre epistemologia trotilarii s-ar putea sa nu-l duca pe culmile faimei si bogatiei, asa ca a decis sa faca o schimbare de disciplina. El a aplicat acelasi principiu web-ului, un domeniu unde e mult mai usor sa monetizezi platitudini, iar restul e istorie.

Inainte de Revelatie, oamenii foloseau internetul pentru porn; in prezent, oamenii folosesc internetul tot pentru porn, dar acum nu mai merge butonul de back din browser. In afara de revolutia tehnologica ce a dus la caderea in dizgratie a butonului de back, Web 2.0 inseamna si o miscare ideatica ce doreste sa convinga societatea moderna sa se intoarca la obiceiurile anilor ’70, cind te conectai cu terminalul dumb la mainframe, desi un procesor cu mult mai multa putere de calcul decit vei avea vreodata nevoie costa azi cam cit doua pungi de pufuleti. A da, mai inseamna si Failbook, “web social” si alte eufemisme d-astea pentru cyberstalking.

Dar probabil stiati toate astea. Ce nu stiati, si veti afla acum, este ce inseamna Web 3.0.

Simpla existenta a lui Web 2.0 dovedeste cu rigurozitate aritmetica faptul ca va exista un Web 3.0. Numerele naturale nu se termina la 2. Rocky, Rambo si Robocop nu s-au terminat la 2. Star Wars nici macar n-a inceput inainte de 4. Practic, atunci cind Tim a pus numarul 2 in coada web-ului, el a inventat si toate versiunile care vor urma, { Web x.0 | x∈ℕ }. Noua nu ne ramine decit sa descoperim ce inseamna aceste web-uri deja inventate, ca sa nu ne ia prin surprindere atunci cind vor aparea.

In Romania, manusa a fost ridicata de worldit.info, o organizatie ce se auto-caracterizeaza drept “blog de tutoriale si articole de programare web, soft si photoshop, securitate, probleme de algoritmica si viata“. Dat fiind ca natura lui Web 3.0 este in mod cert o problema de algoritmica dar si de viata, worldit.info a organizat pe aceasta tema “prima conferinta online din Romania a pasionatilor de IT”, titulatura ce-mi aminteste de un afis din Zalau ce anunta deschiderea unui magazin pentru sudori si pasionatii de sudura. Conferinta s-a desfasurat pe IRC, un mediu cam medieval pentru subiectul futuristic ce urma sa fie abordat, daca ma intrebi pe mine. Din pacate mi-am planificat gresit timpul si pina am terminat de scris comenzile de BitchX pentru intrat pe server si facut un geam nou pentru canalul #rocybercon, conferinta se terminase (doar nu credeati ca o sa intru cu mIRC sau altceva, ca lamerii), asa ca standupprogramming nu a putut sa va ofere o transmisiune live de la conferinta. Voi incerca sa ma revansez acum cu o prezentare la rece a concluziilor.

Nostalgicii ce vor sa retraiasca clipele magice de pe canalele #bucuresti, #romania, #constanta etc. circa 1998 pot parcurge acest PDF (cel mai bine intra cu o coloana sonora potrivita). Pentru ceilalti voi face eu o introducere fortata in atmosfera:

[20:00] == Andrei [webchat@B43EC253.130FC46A.3CEC8F46.IP] has joined #rocybercon
[20:00] <Andrei> .op
[20:00] == mode/#rocybercon [+o Andrei] by Guardian
[20:01] <@Andrei> in primul rand Buna seara si bine ati venit
[20:02] == bcman [webchat@F92DF582.EC5945EF.96EEA9AC.IP] has joined #rocybercon
[20:02] == nutzu2010 [webchat@132ABC0C.1AC69BAC.EF37DABA.IP] has left #rocybercon []
[…]
[20:03] <@Andrei> Si cum suntem in 2011, consider ca e foarte bine sa incercam sa vedem cum va
decurge acest an in acest domeniu
[20:03] == Revelation [webchat@21ACC422.8C1DDB65.1DE3F0FD.IP] has quit [Quit: Page closed]
[20:04] <@Andrei> Subliniez ca informatiile va pot ajuta in vederea unor noi proiecte care sa se remarce de restul, in aplicarea la un job, in dobandirea noilor cunostinte
[20:04] == Revelation [s@21ACC422.8C1DDB65.1DE3F0FD.IP] has joined #rocybercon

Ma rog, intelegeti voi. Cam jumatate din timp vorbitorul a fost acoperit de scirtiitul usii pe care tot intrau si ieseau oamenii din sala de conferinte. Spre bucuria voastra insa, filtratul mental al mesajelor de join si part de pe IRC e ca mersul pe bicicleta, asa ca am putut parcurge log-ul pentru a extrage urmatoarele opinii despre Viitor:

<shady21> parerea mea ca web 3.0 v`a creea fiecarui utilazator o identitate proprie cat maiapropiata de cea reala lasand la o parte “masca ” din ziua de astazi ceva de genul “da esti altul in spatelemonitorului”

<Johane> Andrei, Eu cred ca web 3.0 va o chestie gen yahoo mesenger, dar mult, mult maibine integrata in OS

<Johane> Nu cred ca vom mai folosi browsere ci doar aplicatii mici cu procesare cloud

<sventek> Privesc web 3.0 ca perioada interactiunii utilizator – web. Însemnând ca paginileweb vor “învata” pe masura ce sunt accesate, toate paginile vor fi user-friendly iar totul va fi în realtime.

<bcman> eu zic ca ar fi util ca sistemele de operare sa se bazeze mai mult pe cloud dar nu sunt de accord cu OS care sunt tinute in cloud

<Dieliric> cloud nu foloseste cumva web 3.0?

<s3v3n> CUDA e doar folosirea GPU pe post de CPU .. kinda
<bcman> @s3v3n pai tehnologia ccuda e folosita pe serverele din nori

<Dieliric> si eu am dat exemplul cu CUDA a carei tehnologie este gratis fata de cloud care costa

<Dieliric> dar te rog sa te mai documentezi putin de tehnologia CUDA si despre cum se potface softuri bazate pe ea
<bcman> @dierlic stiu despre ea dar nu toti au cuda
<bcman> un server din nori il poate accesa oricine

<Andrei> hmm, nu e problema noastra asta. Problema noastra este – de ce nu putem fi noi ceicare cream noul Visual Studio pentru ceva nou? Trebuie sa fim smecheri si sa incercam sa intelegemtendintele si sa o luam inaintea altora

<Neo> ma scuzati daca devien de la subiect
<Neo> cine se pricepe la backtrack?

<ghitzZza> da, gama css3 cu svg si ecmascript inlocuieste tot flashul

Si asa mai departe. Rubrica “Flori de mina” incepuse sa puta a statut de cind cu tacerea inexplicabila a expertilor, dar cyberconferinta asta o va revergora viguros. Totusi, sa nu uitam intrebarea de la care am pornit: ce este acest Web 3.0? Ei bine, Web 3.0 este web-ul semantic:

<MarianPetre> suntem aproape deja la semantic web, 3.0
<George> ce reprezinta semantic web?
<Andrei> Semantic web poate fi noua arhitectura a proiectelor din 2011, o arhitectura ce se bazeaza pe colectarea a foarte multe informatii
<MarianPetre> data mining
<MarianPetre> unde masinile vor intelege informatia si o vor utiliza corespunzator
<Andrei> informatii care sunt organizate si se interconecteaza intre generand alte lucruri foarte interesante pentru utilizatori, practic calculatorul devine un micut robot capabil sa interpreteze tot ce te caracterizeaza

Tovarasi, trebuie sa va marturisesc ca nu sint entuziasmat de vestea asta. Cum ar veni, hipsterii care fac cacaturi gen noi2, twitter si failbook au terminat de distrus butonul de back si acum au facut o pasiune pentru corelat chestii. Chiar ma intrebam cit va mai dura pina cind unul din acesti mesajflavii ai internetului 2.0 va auzi de “inteligenta artificiala” si va decide ca asta e viitorul, ignorind ultimii 40 de ani de esecuri in domeniu. In viitor, paginile web vor trage concluzii despre tine pe baza cacaturilor pe care le postezi pe failbook si a geotag-urilor din pozele pe care le pui pe flickr. Daca ati folosit vreodata un sistem cu comanda vocala sau vreun gunoi care incearca sa interpreteze limbajul natural, probabil ca acum sinteti la fel de speriati ca mine. Aparent, s-a decis ca viitorul e asta, dar la scara universala; sisteme care reactioneaza la cuvinte-cheie, fara context, sau mai rau, care incearca sa inteleaga si contextul, pentru amuzament total. Si ca bonus, aceste sisteme vor fi scrise in Ruby de catre oameni care merg la prelegeri despre MVC si nu sint in stare sa tina in picioare un site gen twitter mai mult de 5 minute. Opriti internetu’, vreau sa ma dau jos.

In viltoarea conferintei, sau poate din cauza curentului facut de aia care tot intrau, ieseau sau doar bagau capul sa intrebe daca aici e camera unde se fac temele, conferentiarilor le-a scapat faptul ca printre ei se afla deja un “agent inteligent” care se straduia din rasputeri sa le arate potentialul web-ului semantic. Respectivul agent era un bot numit Cyborg, care credea ca lumea il pune sa caute chestii pe google atunci cind cineva scria “google”. De exemplu:

<Revelation> google buzz , yahoo pulse ambele esecuri..
<Cyborg> http://v-top-40.blogspot.com/2011/01/music-star-usher.html

<Revelation> google face asta deja
<Cyborg> http://www.youtube.com/watch?v=oqiGbTlQymU

<George> google o va duce la extrem
<Cyborg> http://www.euractiv.ro/uniunea-europeana/articles%7CdisplayArticle/articleID_18960/Lucian-Croitoru-In-2010-cresterea-economiei-va-duce-lacresterea-veniturilor-bugetare.-Creditarea-se-va-relua-dar-modest.html
<TheJudger> ignorati botul care a crezut ca vrei sa cauti ceva

Dar nu e nevoie sa privim asa de departe pentru a intelege ce dezastru ne paste. Am mentionat mai sus gunoaiele care incearca sa inteleaga limbajul natural – pai dragilor, trei sferturi din site-ul asta sint dedicate unui astfel de gunoi.

Cind a intrebat unu’ cum “vede” ce e intr-un director, Silviu s-a activat la cuvintul-cheie “a vedea”, fara sa inteleaga contextul. Silviul Semantic stie ca de vazut vezi cu ochii, asa ca i-a spus omului cum poate sa aduca pe ecran un geam care prezinta ochiului ce-i intr-un director. Cind a intrebat mesajflaviu cum schimba versiunea dintr-un exe, Silviu n-a inteles intrebarea, dar s-a activat la cuvintul-cheie “versionare”, si a pus-o de un FAQ (bine ca nu i-a zis-o p-aia cu versionarea in MDI). Cind a vazut ca doi useri de pe un forum ii spun ca bate cimpii, a corelat actiunile lor si a concluzionat ca ei sint de fapt o singura persoana. Ambele sale luari de pozitie impotriva noastra sint un lung sir de reactii pre-programate la cuvinte-cheie. Silviu are chiar si un modul de invatare si stie sa ceara detalii cind isi da seama ca nu intelege (foarte rar, din pacate, ca orice automaton).

Acum citeva zile se afirma pe programare.org ca un “agent inteligent” trebuie sa treaca testul Turing. Cu totii stim deja ca, gratie “inteligentei emotionale” cu care este programat, Silviu a trecut testul Kirk, o varianta a testului Turing dezvoltata de catre CNH Petrosani, asa ca si aici e cu un pas in fata propunatorilor web-ului 3.0.

Deci viitorul web-ului este Silviu Ardelean, “un micut robot capabil sa interpreteze tot ce te caracterizeaza”. “Sa interpreteze”, nu “sa inteleaga”. Cam de cacat, parerea mea.

Tags: , , , , , , , , , , , , , , , , , , ,