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: , , , , , , , , ,

Concurs SuperEroul Bitdefender

Posted in 112, Regula 0 on January 20th, 2012 by jos8cal

Se pare ca divortul intentat de Silviu Ardelean celor de la Bitdefender i-a adus intr-un an de zile in pragul disperarii. Dupa 3 ani in care s-a luptat cu regula 0 pentru imaginea Bitdefender pe toate forumurile de programare interne si internationale, Silviu s-a retras subit, lasind in urma sa oameni dezorientati si fara reper moral. Contactat telefonic de redactia noastra, Nechifor Trepetnic, angajat Bitdefender, ne-a relatat cu vocea inecata in lacrimi:

Practic nu mai aveam identitate. Am fost decapitati moral si spiritual. Sincer sa va spun, nici nu stiam incotro sa apucam de suparare, asa ca ne-am intors la credinta celor din care ne tragem, adica la daci, mai exact la capul lor de lup.

Firmilian Aristobul, un apropiat al lui Silviu, a completat:

Trebuia sa anticipam plecarea lui Silviu dintre noi, ca nu de nebun isi inalta putin cite putin monitorul spre cer, in fiecare zi. Dar noi, nevrednici, am continuat sa-i exploatam abilitatile de diplomat.

Dorind sa ia atitudine, multinationala a dat zvon in tara, prin gura celor de la Creative Monkeyz, ca va oferi un Wacom Intuos 4 Medium acelui artist care va fi in stare sa conceapa un trup pe masura capului de lup. Iata ce au de spus cei de la CM despre asta:

tot ce trebuie e sa faceti e sa “produceti” o lucrare grafica originala, in care, SuperEroul Bitdefender, imaginat de voi, sa se prezinte in toata gloria. Trebuie sa fie un erou original – poate fi robot, umanoid, animal, leguma, fruct, strutzocangur, rinocerb, etc. (sidekick pentru Bitalau!?). Puteti folosi orice mijloace doriti – fie grafica digitala via Photoshop, Illustrator, etc. ; fie randari din programe 3D, sau desen traditional (also pictura sau fotografie).

Odata realizata imaginea, trimiteti-o pe adresa de email: concurscm@gmail.com. lucrarile selectate apar in concurs, implicit in galerie.

Pozele selectate vor fi expuse in toate galeriile din Valea Jiului, in limita orelor de program.

Noi uram succes tuturor artistilor cu aplecare spre pix.

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: , , , , , , , , , , , , , , ,

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: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Purely Fabricated Interview Expert Pattern

Posted in Slagare internationale, Stand-up philosophy on February 21st, 2011 by Mihnea

Am aflat de la Andrei Ignat ca Scott Hanselman a publicat o noua lista de intrebari de interviu pentru programatori. Cred ca Hanselman asta e un fel de Ovidiu Cucu international, ca vad ca tot publica liste d-astea. Ca orice programator care se respecta, si eu sint constient ca pot deveni somer peste noapte, deci fac eforturi mari sa ma tin la curent cu ultimele evolutii in domeniul intrebarilor de interviu. Atasez mai jos raspunsurile mele la intrebarile lui, pentru cei 3 cititori din totalul nostru de 5 care nu sint membri pe programare.org. Scuzati limba lu’ Shakespeares, am zis sa nu break character.

What is SOLID?

YABA.

Why are patterns important?

Patterns are important because people who cannot program must be able to project importance by wielding pompous words.

Who are the Gang of Four? Why should you care?

The Gang of Four, also known as The Alpha Wankers, are four non-programmers who understood what power words are and applied the concept to programming. I care because Aurelian Popa told me that today it is more important to be “social” than to know how to program, and using pretentious jargon like “singleton” instead of “global variable” is a guaranteed way of improving one’s social status. They are not to be confused with the Wang-Zhang-Jiang-Yao group, whose name they borrowed in a spectacularly ill-advised stab at self-irony.

Explain the concept of Separation of Concerns and it’s pros and cons.

Separation of Concerns means that when you concern yourself too much with design patterns, you can stop being concerned about grammar. No man can understand the singleton pattern AND remember the basic rules of languages with immensely complex grammars such as English, so once you embrace the teachings of the Gang of Four, grammar becomes Somebody Else’s Concern. The first sign of this transcendence is putting an apostrophe in the possessive pronoun “its”.

Discuss the concept of YAGNI and explain something you did recently that adhered to this practice.

YAGNI is something YAGN, as it’s related to XP.

Are you still writing code? Do you love it?

No, I’m too busy calling my global variables singletons and speaking at conferences about it.

What do you do to stay abreast of the latest technologies and tools?

Hahaha you said breast!

How do you react to people criticizing your code/documents?

I punch them, fire them and/or write inflammatory posts about them on forums or blogs.

Whose blogs or podcasts do you follow? Do you blog or podcast?

Are blogs and podcasts design patterns? Never heard of them. Anyway, I like the color fuchsia, I am an open-minded person focused on self-improvement and my hobbies include hiking, music, reading and taxidermy. I hope this helps you determine if I’m a good programmer or not.

What is the last programming book you read?

I only ever read one, “Design Patterns”. I memorized every word. I don’t need to know anything else.

What’s so great about <cool web technology of the day>?

<generic answer>

How can you stop your DBA from making off with a list of your users’ passwords?

I didn’t know such sexual deviationism is so common among DBAs and anyway, why is that my problem instead of HR’s? Oh wait, you said “making off”, not “making out”. My bad.

What do you do when you get stuck with a problem you can’t solve?

The Design Patterns book is a complete list of solutions which are just waiting for problems. Unenlightened people approach programming the wrong way: they see problems and look for solutions. I use the sure-fire method of picking solutions from The Book and inventing problems for them. That way, I’m never stuck. Any feature or system which cannot be implemented in this way is ill-defined and not worth my concern in the first place. See also the “Separation of Concern” principle.

What’s the difference between a web server, web farm and web garden?

Wait, what? Web garden?

When do you know your code is ready for production?

When I have at least 157 design patterns in it.

What’s YAGNI? Is this list of questions an example?

Didn’t you ask this already?

Noile mele cuvinte favorite: Information Expert (a nu se confunda cu Code Expert), Pure Fabrication, Protected Variations.

LE (adica Later Edit, Ovidiu): hahahaha am aflat ce-i ala web garden. Redefinirea cuvintelor limbii engleze, in pula mea.

LLE: GoF au incercat sa si cinte la un moment dat. Punk, pentru ca si la muzica se pricep la fel de bine ca la programare. Iata-i aici prezentind pattern-ul “Old Grey Whistle Test”:

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

A doua corectura (la sugestia lui Sorin)

Posted in 112, Codare cu premeditare, Premiul n00bel on November 24th, 2010 by Mihnea

Nici n-am dat bine submit la post-ul anterior, ca Silviu a luat iar atitudine. De data asta a pus “unsigned long” in loc de “long”, dar nu pentru ca ar bijbii in jurul solutiei dupa ce citeste aici, ci pentru ca:

According to Sorin’s observation I changed the long type to unsigned long.

Putin mai devreme, inainte de a vedea post-ul meu, Silviu ii raspunsese direct lui Sorin in felul urmator:

Absolutely. Nobody stops you to replace long with long long or unsigned long long.

Absolutely. Nimeni nu te oprea, dar o faceai degeaba, ca folosea _wstat(), care-ti returneaza dimensiunea pe 32 de biti. Dupa aia poti sa inlocuiesti tu ce vrei, ca e prea tirziu. Acum ar merge inlocuit, dar cineva totusi l-a oprit pe miner si nici dupa a doua corectura nu se descurca cu fisiere mai mari de 4 GB. Poate din a treia ii iese?

Probabil tot in urma “observatiei lui Sorin”, minerul a sters #ifdef-ul rusinos si din FAQ-ul la care tocmai dadusem link. Noroc ca o vreme de acum incolo pagina aia va fi in cache la Google cu aberatia originala. Probabil dupa ce va expira cache-ul, Silviu va pretinde ca a fost asa dintotdeauna (observati ca nu scrie “last edited”, deci MVP Ovidiu Cucu sau MVP Marius Bancila i-au dat o mina de ajutor cu editarea). Nu uitati: el isi recunoaste greselile.

PS: totusi, trebuie sa recunosc ca nu m-as fi gindit ca o functie care returneaza dimensiunea unui fisier poate genera atita amuzament. Inca o dovada ca tot ce-ti trebuie pentru ca sa te poti distra e o problema banala si un miner prost.

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

Programul FUL. Balada epica in versuri.

Posted in Codare cu premeditare, Premiul n00bel, Stand-up philosophy on September 13th, 2010 by jos8cal

Probabil cu totii am fost traumatizati cindva pe parcursul vietii. Eu stiu un caz concret cu un hunedorean. Provocarea de a se fi nascut in Hunedoara s-a materializat intr-un blog in care el explica la pertu despre Basescu, demagogie, lehamite, incredibil, prost gust, atitudine, lipsa respect, teape, realitate si tristete. Incordarea maxima dintre el si realitate se poate vedea chiar din titlul blogului unde forta si maturitatea gindirii l-au proiectat sa traiasca prin Romania nu in Romania.

Intr-un alt registru traumatic se afla Fulga Marian. Acest personaj epic* s-a hotarit sa faca un program cu care sa rezolve probleme la orice nivel imaginabil sau inimaginabil, dupa caz. Cu aceasta mutare doreste rezolvarea ecuatiei Utilizator-Programator-Limbaj de programare-Produs prin eliminarea definitiva a programatorului. Rezultatul final va fi: Utilizatorul de FUL-Propriul produs. Practic el doreste sa faca un program cu care toate lumea va putea face orice si asta fara interventia vreunui programator pe viitor.

Dar sa-i dam cuvintul:

Nici simplu nici usor nici imposibil FUL nu este numai o idee elitist intelectuala. FUL este o realitate palpabila concreta materializata intr-un material cu toate cele 80 de notiuni operante ale sale, multe dintre ele de o simplitate totala si de o accesibilitate uluitoare chiar si pentru copii.

Si ca tot veni vorba de fail (ca sa nu zicem FUL):

In alti termeni FUL este un MEDIU DE CONFIGURARE ( ca sa nu zicem de programare) care da posibilitatea utilizatorului sa CONFIGUREZE (ca sa nu zicem programeze) propriul program FOLOSIND O SINGURA MACHETA UNIVERSALA DE CONFUGURARE (ca sa nu zicem de programare)

Sufletul sau tinde dupa libertatea pustnicului hitru care s-a decis sa invinga prin a sta cu spatele si a minca de pe jos:

Totul se face citind si scriind, ce scriem aia apare, ce scriem aia ramine. Decizia , conceptia, realizarea ne apartine si o materializam exact cum o gindim noi insine cu propria noastra minte – nu a altcuiva- Nu mai depindem de de nimeni .

Iata si motivele pentru care FUL trebuie sa existe:

  • FUL – Programarea accesibila oricui ( cu ceva minte )
  • FUL – Programezi de cind inveti sa citesti si sa scrii
  • FUL – Circa 80 de notiuni CONCRETE (fata de sute ABSTRACTE din limbajele de programare).
  • FUL – Rezolva probleme la orice nivel imaginabil
  • FUL – Exista matematic si logic reprezentat grafic explicit pe 4 pagini scrise.

si motivele pentru care programatorii nu trebuie sa priveasca cu ochi hunedoreni demersul sau demiurgic:

  • FUL – Nu exista ca soft si trebuie facut de programator
  • FUL – Elimina programatorul.
  • FUL – Adus la perfectiune si ajuns la utilizatori scoate de pe piata prin suficienta propriul producator.
  • FUL – Va fi realizat

(*)

Am folosit cuvintul epic cu scopul de a demonstra ca programul FUL face parte dintr-o trauma a copilariei mele si anume opera epica in versuri cu rima alba. Pentru demonstratie am sa folosesc metoda analogiei cu o alta opera epica in versuri si de sorginte anonima: Toma Alimos. Ca si cadru de sustinere pentru demersul meu ma voi folosi de o deja existenta demostratie. De asemenea voi imprumuta limba si obiceiurile demonstrandului, deoarece dupa cum veti vedea, poseda o tulburatoare capacitate de a templetiza epicul ca specie literara. Asadar sa trecem la copy/paste din demonstratie:

Programul “FULL” este o creatie epica in versuri, o balada populara pentru ca prezinta momente importante din viata unui personaj inzestrat cu calitati deosebite, elementele reale impletindu-se cu cele fabuloase. Titlul programului reprezinta numele personajului principal (FUL de la Fulga Marian).

Poetul anonim evoca haiducia ca forma a luptei sociale, alegand episoade semnificative din viata unui programator (MFCist in cazul nostru).

In expozitiune, se prezinta locul actiunii, un forum de programare si limbajele cu care va fi executat macelul: “.NET(C#, VB.Net…)”, si personajele baladei: Programatorul (Ovidiu Cucu ca si bidder in josul paginii)  si Fulga Marian Manea.

Prin descrierea din cadrul expozitiunii se realizeaza o sinteza a peisajului IT romanesc: ideologia naiva de tip Scoala Ardeleana, aberatii a la SuperDarie si 30 de minute de tortura cu Ovidiu Cucu. In acest cadru natural, specific romanesc, Ovidiu Cucu zaboveste impreuna cu codul sau. Se odihneste si se ospateaza. El este singuratic, ducandu-si viata in singuratatea biroului, si de aceea, nici armele, nici codul nu pot suplini tovarasia omului. Gandurile si sentimentele lui se indreapta asupra codului cu care se simte infratit: “inchinari-oi codului, int-ilor si float-ilor…“. Ovidiu, personificat fiind, simte apropierea primejdiei, se infioara, , codul necheza, iar armele ies din teci. Incordarea creste cand apare Fulga Marian zis si Manea. Naratiunea este intrerupta aici de descrierea insusirilor fizice ale celor doi, descriere care prezinta in antiteza portretul lor fizic.

In intriga, dialogul dezvaluie motivele supararii lui Fulga Manea: faptul ca i-a inselat asteptarile, i-a tulburat gindurile, depinde de el, si pretinde “codul vama”.

Ovidiu Cucu, demn si cu simtul raspunderii va da seama pentru faptele sale, dar il roaga sa nu fie acesta un motiv de dusmanie intre ei.

In desfasurarea actiunii, sunt urmarite cu ajutorul naratiunii si al descrierii, atitudinile si reactiile opuse ale celor doua persoane si apoi injunghierea miseleasca a lui Ovidiu Cucu, programatorul.

Poetul anonim povesteste cum Ovidiu, cu inima deschisa, intinde boierului codul si banul, indemnandu-l sa se cinsteasca, sa lepede mania, si sa-I vorbeasca ca unui frate. Viclean si las, Fulga Manea i-a cu mana stanga codul, iar cu dreapta il injunghie miseleste, apoi fuge ca un las. Prin repetitia verbului “a fugi” si prin versul “Nu mai depindem de de nimeni” poetul anonim isi exprima dispretul pentru lipsa de demnitate a lui Fulga Manea.

Ovidiu nu-si pierde cumpatul intr-un moment atat de greu pentru el, si nu se lasa invins de durere. Astfel, il atentioneaza pe Fulga Manea ca trebuie sa raspunda pentru fapta sa, apoi isi aduna ultimele puteri si pune un bid de 29 de milioane de lei.

Incepand cu acest episod, balada capata un caracter dramatic si fantastic. De domeniul fabulosului este si felul in care programatorul isi strange mijlocelul cu braul si vorbeste codului cu caldura, ca unui frate. El ii cere sa ii fie de ajutor in acest ceas de cumpana cum I-a fost si in tinerete, sa-l poata pedepsi pe Fulga Manea pentru lasitatea lui. Un alt element fantastic este personificarea codului, care ii asculta dorinta si zboara ca vantul, ajungand dusmanul intr-o clipa: “lasa mouse-ul, sai pe mine, \ si de IDE te tine, \ ca s-arat la batranete, \ ce-am platit la tinerete!”

Printr-un pasaj narativ, poetul anonim surprinde incordarea maxima dintre a conflictului dintre cei doi, cand Programatorul Cucu isi rapune vrajmasul cerindu-i o suma imensa pentru realizarea programului. Acest moment constituie punctul culminant al baladei. Verbul “trimite-mi” sugereaza repeziciunea cu care Ovidiu Cucu l-a pedepsit pe dusman.

Deznodamantul baladei este pe masura faptelor deosebite narate in desfasurarea actiunii baladei. Continuand naratiunea, autoul prezinta fiorii mortii care-l cuprind pe Ovidiu Cucu: “foicica micsunea, \ vreme multa nu trecea \ si pe Cucu-l ajungea \ MFC-ul, moartea grea”.

Monologul lui Cucu exprima dragostea si recunostinta pentru codul care l-a ajutat: “d-alelei , codutule, \ d-alelei dragutule, \ ce-am gandit \ am izbandit, \ vremea MVP-a sosit”.

Eroul ii incredinteaza codului ultimele sale dorinte printr-un adevarat testament spiritual: el ii cere codului sa fie ingropat in mijlocul proiectului, si sa-I puna la cap floare de bujor iar la picioare busuioc, considerand ca acestea sunt un element de legatura intre el si iubitul lui MFC. Desprinde de-aici, ca si din intreaga balada, sentimentul comuniunii depline a omului cu natura sa de epic. El doreste sa fie inmormantat in mijlocul codului, ca sa se simta aproape de fiintele drage: codul si expertii, si spune acela ce-i va pune fraiele codului va continua lupta impotriva nedreptatii, pe care a dus-o si el pe codexpert.ro.

Natura participa la trasaturile sufletesti ale lui Ovidiu Cucu: incearca sa-i aline suferinta, si-l plange atunci cand trece in lumea umbrelor: “codul se cutremura, \ STL se cletina

Credincios stapanului, codul ii sapa groapa in mijlocul projectului in care el a trait bucuria vietii, ii asterne fanisor in mormant, ii sadeste floati, apoi pleaca in codru la noul sau stapan, “fratior de vitejie, tovaras de MFCie”. Durerea sfasietoare a codului la pierderea stapanului, se deduce din folosirea verbelor la imperfect: coda, se exprima, rezolva quiz-uri…

Prin expresivitatea orala, realizata printr-o multitudine de interjectii, substantive in vocativ, formulele de adresare a personajelor baladei populare FUL, demonstreaza ca literatura, in general literatura populara constituie o forma superioara , forma artistica a comunicarii.

QED (Pentru Marius Bancila: inseamna quod erat demonstrandum).

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