Filmoteca de aur

Posted in Premiul n00bel, Stand-up philosophy on November 12th, 2010 by jos8cal

Prin Octombrie 2009 RONUA a sarbatorit cincinalul. Dupa paranghelia de la Sacele, datul cepului si cununia cu Existenta au avut loc la Sinaia citeva zile mai tirziu, intr-un codecamp pe teme tehnice, tehnologice si tehnocratice.

Ce reusesc Gianni Morandi, Dan Spataru, Faramita Lambru sau Maria Lataretu pe gura si la instrument, Aurelian reuseste pe tastatura si la Paint. Afumat vizibil cu ceai chinezesc facut la temperatura camerei, dinsul s-a decis ca este timpul sa ia atitudine pentru siguranta job-ului tau. Si cum orice atitudine are nevoie de o baza ideologica solida (multumim colegului Nemesis pentru quote-uri, pentru ca din pacate manifestul original a fost sters s-a pierdut), a cerut un La minor si a deschis Paint-ul:

E toamnă. E început de an fiscal. E timpul lui Visual Studio 2010. Versiunea 4 de Framework. MVC-ul. Versiunea 2 de MVC. Și da… Silverlight 3!

Căștigă sute de ore-om în celelalte 360 de zile prin alocarea acestor 5.

La servici e imposibil să învăț chiar dacă folosesc resurse de instruire gratuite disponibile oricui!

Dacă aș privi programarea ca pe un sport, atunci acesta sigur e unul de echipă și un sport în care antrenorul face diferența…

Mai nou nu contează așa mult abilitățile tehnice, ci abilitățile de comunicare și de colaborare armonioasă într-o echipă

Ajutându-i pe alții dezinteresat, te ajuți și pe tine aproape automat fără vreun efort în plus.

De fapt mă poți observa cum învăț și în ce mod dobândesc abilități noi cu tehnologiile “sângerânde”.

Este ca și cum am învăța amândoi cot la cot stând la același birou.

De ce codul scris de tine se întoarce deseori de la testare sau de la client cu multe defecte de funcționare.

De ce mediul de dezvoltare (IDE) este mai important decât limbajul de programare, framework-ul sau tehnologia în sine…

Cum poți face ca orice aplicație pe care o scrii să se prezinte cu o interfață ergonomică cu un efort minim alocat acestui aspect în timpul construirii aplicației

Cum poți face task-uri evaluate în mod normal la 3-4 zile-om în sub 1 oră!

Cât ar valora pentru tine un proiect în care să fii vedeta, vip-ul echipei datorită noilor abilități dezvoltate?

Întreaga lui cunoaștere dobândită cu acest preț așteaptă să-ți fie revelată ție.

Dacă TU nu vii ți-o vor lua oricum alții înainte. Pot fi chiar unii dintre colegii tăi. Iar tu vei rămâne ne-codecamp-uit toamna asta.

Cere și ți se va da!

RONUA a organizat un concurs video in care pentru o reclama buna la adresa partidului cistigai un loc la acest Cenaclul Flacara al IT-ului romanesc. Din pacate n-am respectat la singe cerintele, drept pentru care am ramas ne-codecamp-uiti toamna trecuta. Mai jos filmul care mi-ar fi putut salva job-ul:

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

Omul nu este o insula

Posted in Codare cu premeditare, Premiul n00bel on October 28th, 2010 by jos8cal

Agrafa are dreptate. Omul are nevoie de dragoste, de intelegere si de iubire pentru a putea face ceva cu viata lui, pentru a lasa ceva in urma lui. Pentru ca a face ceva in viata e bine, iar a nu face e rau.

Acum vreo 20 de ani vizionare precum Melinda French sau Karen Fries (un fel de Aurora Liiceanu si Alice Nastase) au decis sa lupte impotriva singuratatii in secolul vitezei. Dinsele au inteles ca a sta 12 ore in fata calculatorului este efemer daca nu iti apare din cind in cind o agrafa pe ecran care sa-ti bage maxime si sa-ti asculte opintelile. Dar cum natura umana impinge la dezmat si abuz, oamenii au voit mai mult de la agrafa. Asa ca s-a infiintat Agentia de Asistenti responsabili cu asistarea deciziilor din viata ta. Agrafa, Vrajitorul Merlin, spiritul din sticla, Peedy papagalul, delfinul Kairu si ciinele care iti aduce fisiere cind dai Find File.

Cu timpul insa agentii au fost inlocuiti de chiar Om. Facebook, Twitter, mIRC sau Forumuri sint toate Agentii cu Asistenti in care Omul mascat in Agrafa ofera suport Omului mascat in Om. Inevitabil Microsoft a fost fortat sa puna pe libera Agentia de Asistenti odata cu Windows 7. RIP Agrafa.

Un astfel de Om Mascat in Agrafa (OMA) este, dupa cum probabil ati intuit deja, si Silviu Ardelean. Datul este simplu. Un om intreaba ceva pe un forum. OMA Silviu isi face aparitia zimbind dintr-o poza distanta sub care stau enumerate 4 stele, simbolul calitatii. Dupa cum stiti discutia cu o Agrafa nu se termina niciodata. Te tot intreaba chestii, tu tot dai Next ca nu esti multumit si dupa citeva pagini de Next o inchizi nervos si ii dai Disable din Options. Asa e si cu OMA Silviu. Doar ca forumurile in care dinsul s-a aciuat nu au suport pentru disabled on sight pe userul lui.

Asa, deci omul ala pune o intrebare total retardata si baga urmatoarea eroare de compilare pe codul asta:

error C2440: ‘=’ : cannot convert from ‘int’ to ‘enum DrawShape’

Si vine raspunsul OMA Silviu:

Nu am timp sa fac un proiect si sa-ti testez codul, dar tin sa cred ca obtii eroarea la linia CDrawTool::c_drawShape = m_nToolTemp;

Wow. Avind o singura linie de cod in care se face o atribuire Agrafa a reusit sa se prinda DIN PRIMA fara compilator pe care linie este eroarea. Si ca orice Agrafa nu-si uita menirea: sa ofere solutii:

In rezolvarea problemei, eu as renunta la acest tip enumerare si as folosi tipuri clasice, un vector, structura, etc.

Recomandare luata parca dintr-un tablou de Botticelli. Cu o singura tusa OMA Silviu a reusit sa redea culoare unui thread monocromatic.  El foloseste structuri in loc de enum-uri. Deci asta era secretul lui.

Scoala Ardeleana este adepta clasicismului. Si vocea parca ii este grava si apasata de bruma anilor in care si-a sedimentat cunostintele:

E o eroare clasica… nu poti atribui runtime noi valori unei variabile enumerare.

Dupa ce Marius Bancila a indraznit sa arate ca se poate si a oferit o solutie practica pe codul ala si anume un cicat de cast la int, au sarit Agrafele ca arse, una ca nu se poate, alta ca nu e etic. Deci da: Options->Preferences->OMA Silviu Agent->Disabled.

Intr-un alt thread un alt maximal se intreaba cum sa implementeze o metoda c_str() pe o clasa String, metoda care te duce cu gindul la c_str() din std::string. In ciuda faptului ca are 8 ani de cind se joaca MFC pe nivel expert, OMA Silviu nu stie despre CString ca-si schimba parul in functie de ce caracter set ai setat la proiect. Recunoaste intr-un final ca e prost si habar n-are ce vorbeste si baga urmatoarea maxima:

My bad, se compileaza, dar de fapt nu face ce se asteapta omul sa faca (adica sa copiezi un sir de caractere, chiar daca aloci memorie ptr asta)

Din nou, in cei 9 ani de STL pe nivel expert el crede ca lumea cind vede un c_str() se asteapta sa se intimple o copiere de memorie. Si ca si suport practic pentru retardarea asta ne ofera un sample de gindire Ardeleana, care inca nu m-am prins ce trebuie sa evidentieze in afara de mintea lui bolnava:

Dupa 2 pagini de discutii intre Agrafe despre cum sa faci un return _ptr, Silviu si-a schimbat pozitia si a oferit implementarea lui c_str():

char* c_str() const { return str.c_str(); }

N-a reusit sa-l faca const din prima (desi el citeste sursele STL inca de pe vremea iteratorilor), dar noroc cu varul Cucu care s-a facut ca vede un “typing error” acolo in loc de “retard error”.

Tags: , , , , , , , , ,