Amintiri din copilarie

Posted in Regula 0 on March 20th, 2012 by Mihnea

De cind minerul Silviu Ardelean a cazut din gratiile multinationalei emblematice si s-a vazut obligat sa-si ia tirnacop cu garbage collection, a lasat-o mai usor si cu “acting into a C++ Romanian programming community called CODEXPERT”. Desi ograda n-a dus lipsa de rataciti a caror retardare ar fi putut rezona cu prostia lui pentru a da nastere unei explozii de bucurie in sufletele cautatorilor de amuzament facil (de exemplu ala suparat pe assert), oportunitatile au venit si au trecut fara ca minerul sa faca vreo propunere. Totusi, nu e totul pierdut: ortacul are si twitter, unde mai scapa din cind in cind cite un link la chestii care-l umplu de mirare (pentru ca nu le intelege) sau un citat care l-a impresionat.

Ciripeala de azi continua o tema inceputa cu mult timp in urma prin celebrul “psychologists say“; o sa vi-l arat imediat si probabil il veti recunoaste, pentru ca este folosit de multi prosti pentru a-si justifica prostia. Ne putem doar inchipui extazul care l-a cuprins pe miner cind a vazut ca insusi marele Albert Einstein i-a lasat peste veacuri un mesaj de imbarbatare care confirma faptul ca nu-i nimic in neregula cu el si ca haterii n-au dreptate:

A person who never made a mistake never tried anything new.

Sigur, ne-am putea lega de faptul ca de la “a mistake” pina la colectia de imbecilitati consemnate de letopisetul nostru este o distanta pe care s-ar putea ca Al sa nu vrea s-o acopere cu remarca lui, sau ca nu poti pretinde ca programarea e “something new” si in acelasi timp sa scrii pe linkedin ca ai 10 ani de experienta. Nu are rost insa sa zabovim mult pe astfel de argumente, pentru ca voi le stiti deja, iar el nu le intelege (mai ales ca acum il are si pe Einstein de partea lui). In schimb, o sa fac ca-n Greuceanu, propunind sa ne duelam in citate. In coltul meu va sta John Holt cu o poveste din copilaria lui Silviu:

One day, in room period, I asked the children to write on paper certain words that I had showed them, and then write what these would look like if seen in a mirror. First I wrote CAT. Silviu wrote CAt. It didn’t trouble him that two letters were capitals and one lowercase – if he noticed it at all. He assumed that seen in a mirror the order of letters would be reversed, so he wrote TaC. The lowercase t became capital; the A became lower case. The next word was BIRD. He completely forgot what he had just done – about reversing the order of the letters. This time he assumed that the trick was to write each letter backwards, while keeping them in the original order. On his paper he had written BIrD. He reversed the B correctly, wrote the I, then looked at the lowercase r, which must have looked to him like an upside down L, decided, “I must turn this right side up,” and wrote L. Then he decided that the letters B and D should not be reversed, so his final answer was BILD.

Sper ca acum intelegeti cum ii vin ideile alea cu inlocuit enum-urile cu vectori. Mai departe ni se explica de ce reactioneaza cum reactioneaza cind ii spui ca a gresit:

This child must be right. He cannot bear to be wrong, or even to imagine that he might be wrong. When he is wrong, as he often is, the only thing to do is to forget it as quickly as possible. Naturally he will not tell himself that he is wrong, it is bad enough when others tell him. When he is told to do something, he does it quickly and fearfully, hands it to some higher authority, and awaits the magic word right or wrong. If the word is right, he does not have to think about that problem anymore; if the word is wrong, he does not want to, cannot bring himself to think about it.

Si acum despre raspunsurile aprobatoare si propunerile suplimentare din thread-urile in care s-a dat deja raspunsul corect:

This fear leads him to other strategies. He knows that in a recitation period the teacher’s attention is divided among twenty students. He also knows the teacher’s strategy of asking questions of students who seem confused, or not paying attention. He therefore feels safe waving his hand in the air, as if he were bursting to tell the answer, whether he really knows it or not. This is his safe way of telling me that he, at least, knows all about whatever is going on in class. When someone else answers correctly, he nods his head in emphatic agreement. Sometimes he even adds a comment, though his expression and tone of voice show that he feels this is risky. It is also interesting to note that he does not raise his hand unless there are at least half a dozen other hands up.

Atit.

 

 

Tags: , , , , , , ,

Invatati, Invatati, Invatati

Posted in Premiul n00bel, Regula 0, Slagare internationale on January 5th, 2012 by Mihnea

Sper ca sinteti abonati la lista de lecturi obligatorii a Partidului Codexpert Roman, unde muezinii Bancila si Cucu sufla zilnic in trompeta uzinei pentru a culturaliza masele de codexperti. Daca nu ati aderat inca, voi incerca sa va conving acum s-o faceti, prezentind citeva din recomandarile publicate de catre Primi Inter Pares.

In primul rind, ne este dat un link catre un articol in care Raymond Chen povesteste despre un asa-zis “for-if anti-pattern”. Imi pot inchipui cum formatorii de opinie din Codexpertia au schitat un zimbet condescendent dar incredul citind despre tendintele unora de a lua la rind elementele din directoare sau hash map-uri in cautarea unei valori. Cu certitudine nici cel mai prost aspirant nu ar scrie asemenea cod, nu? NU?

Ma rog, in asteptarea momentului in care Silviu va face apel la Regula 0 si Cucu il va bana pe Raymond Chen de pe codexpert, sa ne indreptam atentia spre o noua propunere din categoria Radio Erevan: [WinAPI] Cum aflu frecventa procesorului? Dupa cum ne-a obisnuit, sectoristul iscoditor nu se multumeste sa-si raspunda la intrebari cu un simplu “nu stiu”, ci insista sa ne demonstreze prin cod ca habar n-are. Prima metoda expusa de dinsul, in legatura cu care avea nedumeriri si acum 9 ani, nu reuseste sa ne dea valoarea exacta, dar se apropie. A doua metoda are avantajul de a fi mai “simpla”, dar din pacate are si un dezavantaj: returneaza tot timpul 0. Unii cititori vor spune ca decit gresit, mai bine deloc, insa altii vor sustine ca dimpotriva, mai bine ceva decit nimic. Gardianul Ovidiu lasa aceasta decizie de ordin filosofic la alegerea ta.

Si cum fara norme de buna purtare n-am putea face nimic pe lumea asta, ultimul imbold muncitoresc ne trimite la un articol in care Danny Kalev ne spune cum putem determina cu usurinta daca stim sa programam. Pe Danny l-am cunoscut intr-un episod anterior, in care ne arata ca nu stie ce face header-ul iosfwd, desi in CV se jura ca a fost baiat de comitet C++. De data asta el isi ia si mai in serios rolul de chibit, spunindu-ne ca n-ai voie sa faci clase cu mai mult de 8 metode publice, dind si exemplul std::string, care in opinia sa este de mare cacat si ar fi trebuit spart in mai multe clase care sa deriveze unele din altele. De asemenea, n-ai voie sa folosesti propriile containere in loc de std::map sau std::vector, deoarece Danny a citit pe Internet ca ce ni-i dat in STL este thread-safe si imbatabil ca performanta. Sigur, nu conteaza ca nu le poti folosi in interfata unui LIB/DLL/SO, ca majoritatea fac o alocare per element si se tiriie ingrozitor din cauza asta, ca poate ai nevoie sa fie lock-free, sau alte astfel de lucruri care ii preocupa doar pe inferiorii care scriu cod. In capul lui Danny conteaza ca au rvalue references, pentru a se comporta optim intr-o serie de cazuri in care oricum n-ar fi trebuit sa ajungi. Danny n-are timp sa scrie cod, e prea ocupat sa scrie pilde. A da, si n-aveti voie cu pointeri; daca ar fi dupa Danny, s-ar scoate de tot pointerii din limbaj si s-ar inlocui cu tipuri clasice, de exemplu vectori sau structuri.

 

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

Psihologia nu e tirnacop

Posted in Regula 0 on October 2nd, 2010 by Mihnea

Silviu Marius Virgula Ardelean si-a gasit un aliat in psihologie. Ca si optimizarea copierii, psihologia este curva tuturor, pentru ca pare foarte usor de practicat. In fond, ce-i asa de mare lucru sa te gindesti de ce fac oamenii ce fac? Ba mai mult, folosita corect, psihologia este un puternic instrument de mentinere a imaginii de sine, caci iti permite sa analizezi riguros motivatiile celor care te injura si sa concluzionezi stiintific ca sint niste mitocani, ceea ce te absolva de orice vina. Jargonul psihologiei ofera chiar un termen pe care il poti folosi atunci cind cineva iti zdruncina piedestalul pe care te-ai cocotat: frustrat (respectiv “fustrat” cum credea Silviu ca se scrie pina i-am reglat noi lampasul). Cind cineva iti arata ca esti prost, ii spui ca e f(r)ustrat si l-ai inchis. “Frustrat” este un fel de abracadabra, sah mat, solutia finala, nodul terminal, cheat-ul pentru god mode in discutiile online, deus ex machina, echivalentul cuvintelor care se termina in “nt” la Fazan.

Ca oricarui om cu mici dificultati in exprimare, lui Silviu Marius Ardelean ii plac citatele si proverbele. Imbinind aceasta pasiune cu alinarea pe care i-o aduce psihologia, el a ciripit zilele trecute urmatoarea revelatie:

Psychologists say that blog posters who post negative, sarcastic or angry posts actually reflect their own inner anger and insecurity

“Psychologists say”, adica psihologii in general. Daca te impiedici de un psiholog pe strada, sint sanse foarte mari sa-ti spuna fraza de mai sus, pentru ca asta e o chestie pe care o spun ei de obicei. “Psychologists say” e de fapt o forma specializata a clasicului “Some argue“, deci evident ca citatul nu este urmat de un link spre sursa, unde cititorii care nu cred ca un lucru este adevarat doar pentru ca e scris pe Internet ar putea sa vada modul in care “psihologii” au ajuns la aceasta cugetare.

Este totusi interesant de analizat ce inseamna de fapt aceasta zicala a psihologilor-ortaci. Eliminind cuvintul “insecurity”, care este doar un mod de a spune “f(r)ustrat” in engleza si deci nu inseamna nimic, raminem cu concluzia ca aia care scriu posturi negativiste, sarcastice sau suparate o fac din cauza ca sint suparati. Cacator frate. Ce spirite patrunzatoare sint “psihologii” astia! Ma rog, cititorul atent a observat ca am sarit peste adjectivul “inner” si ar putea crede ca “inner anger” asta inseamna altceva decit supararea ordinara. Inseamna un cacat. E un alt termen inventat de labarii aia cu dezvoltarea personala, “self help” si alte gunoaie d-astea pentru luat banii prostilor.

Lui Silviu ii scapa doua chestii aici. Prima e ca aforismul “psihologilor” nu spune nimic despre validitatea post-urilor alora negativiste, sarcastice sau suparate. Faptul ca ele izvorasc din “inner anger”, “insecurity” sau smegma de unicorn nu inseamna ca sint false. In particular, preluarea citatului nu demonstreaza ca ce am scris noi aici despre el este gresit. El ramine un imbecil colosal, indiferent de motivele sau afectiunile mintale care ne fac pe noi sa tot repetam asta. A doua chestie care-i scapa e ca majoritatea post-urilor de pe blog-ul lui sint “negativiste si suparate” (sarcastice n-au cum sa fie, din cauze evidente). Ca sa vezi ironie. Din pacate Silviu n-a citit textu’ mic de pe instructiunile de folosire ale psihologiei, unde scria ca daca esti un miner cu neuronii aglutinati de falnicia multinationalelor, risti sa-ti dai cu ea in coaie.

Acest post s-ar putea incheia aici, dar imediat sub ciripeala psihologica, Silviu a mai ciripit ceva ce ma obliga sa rascolesc suplimentar sterilul mintii sale:

As a Ford car owner, I feel better when I see this movie: http://www.youtube.com/watch?v=4TshFWSsrn8

Link-ul duce la filmuletul ala in care se da Ken Block cu un Fiesta de 650 de cai. Toti cei care au simtit nevoia sa dea mai departe clipul asta au atasat de el un text de genul “uite ba ce face asta”, insa un om special ca Silviu nu se putea multumi cu atit. El se face cu forta parte din performanta lui Ken, pentru ca are si el un Ford cu care incurca traficul. El “se simte mai bine” vazind ce face unu’ cu o masina care are aceeasi emblema ca a lui, la fel cum se simte mai destept pentru ca lucreaza intr-o firma in care altii fac un antivirus destul de popular. Silviu e pizdos prin osmoza.

PS: ieri trebuia sa se lanseze standupprogramming.ro, dupa ce fusese deja aminat o luna. Din pacate se pare ca Silviu nu vrea sa ne ofere material suplimentar, caci n-a facut decit sa mai amine lansarea cu inca doua luni. Cum ar spune Silviu prin tag-uri pe blog, “pacat”, “lehamite”, “demagogie”, “lipsa respect”.

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