Arhiva pentru martie, 2009

Comercial?

martie 27, 2009

Nu am blogul de mult timp si nici n-am scris prea mult pe el, insa a trecut suficient timp sa trag o concluzie : oamenii nu-mi citesc blogul si nu se inghesuie la scrierea de comentarii. De ce ? Cel mai probabil, pentru ca scriu despre lucruri neinteresante, posibil stupide. Da, stiu, si eu ma gandeam ca unele chestii pe care le scriu sunt prostii. Totusi, cel mai mult ma mira faptul ca nu am primit multe comentarii negative … de fapt, am primit unul singur neargumentat – mi s-a adresat un adjectiv fara a mi se explica de ce e asa si nu altfel.

De ce nu am comentarii ? Incerc sa-mi raspund singur la intrebare, dar nu prea reusesc asa ca dau cu presupusul : post-urile sunt prea lungi, sentimentul de plictiseala apare dupa primele 2-3 randuri citite si se renunta la citirea integrala a post-ului; sau pur si simplu nu e nimic de comentat, lucrurile sunt atat de indepartate de realitate incat nu se merita sa ma obosesc sa-i zic gigelului c-a luat-o pe aratura; sau nu stiu….

O posibila solutie la problema de fata ar fi abordarea subiectelor comerciale; de genul : ce-am facut ieri, prin ce club am fost ( chiar daca n-am fost :) ) ), cum m-am mai distrat etc. Dar eu nu pot scrie despre asa ceva, nu ma reprezinta, nu as vorbi despre mine; nu sunt prietenos, nu-mi place sa discut cu prea multa lume etc. (citat favorit : “Fuck the friendship I ride alone / Destination Death Row, finally found a home”). Pai si atunci renunta naiba la a mai scrie pe blog, am citit prea multe randuri despre frustrarea ta…Well, nu este o frustrare, e doar o modalitate de a pune cap la cap mai multe idei.

Ok, deci trecerea pe comercial cade; ce-i de facut ? nimic; nu toti trebuie sa aibe bloguri cu 10000 de vizitatori pe zi si nu toti au succes in viata. Trebuie sa ne vedem de drum in continuare.

Acum, sa va zic de ce am scris acest post. Puya a scos o piesa ( manea ?xD ) numita Undeva in Balcani ( http://www.youtube.com/watch?v=qdnBqYSmpdw ); melodia e super comerciala si spune niste lucruri relativ socante. Stiu ca veti zice : Puya e un idiot, te iei dupa el ? insa e destul de popular si versurile vor ajunge la urechea multor romani.

Nu mi-a placut sa fac analiza literara in liceu, la Limba si Literatura Romana ( pe care am gasit-o si inutil predata pentru mine ), insa incep acum analiza piesei : “Iubim din plin / Spaga, coruptia / Multe nu stim, / Nu glumim/ E o traditie p-aici de cand noi suntem mici / Iubim s-avem dolarii, uram s-avem servici”. Lucrurile sunt evidente : traiul parazitar e ceva obisnuit, bine privit; mai putin evident e faptul ca cineva trebuie sa suplineasca si traiul parazitar al smecherilor, iar acei cineva sunt numiti, in mod generic, sclavi. Urmeaza o intrebare retorica : “Ce imi pasa mie de-ncalzirea globala / Vrem dolar, dolar, balenele sa moara de viata usoara”, care rezulta din comportamentul indiferent al generatiei actuale fata de ce lasam urmasilor nostri (nu neaparat biologici – copii) si de dorinta a trai clipa (traieste-ti viata ce peleme, indiferent de implicatii). Evident, sexualitatea nu putea fi omisa :  “Fetele ajung tot mai repede nud / Sexu-i peste tot, in scari de bloc / In sali de clasa sau la Private Spice non-stop / E cool de tot, minorele`s bune de tot / La majorat vor gang-bang, nu tort”. Versurile : “Nu ne pasa de Fasia Gaza sau Irak / Adu’ lautarii ca am un teanc de aruncat / Ca lumea vrea sa-si auda numele-n microfon / Si banii curg de zici ca-i arunca de la balcon / Orice amarat are macar un telefon / Macar o haina de firma, macar sa fie domn” sunt destul de “interesante”, mai ales ca isi exprima interesul fata de zonele fierbinti ale lumii si metoda de aratare a superioritatii in fata “dusmanilor” – fac ploi de bani, am telefon Nokia 8800 Sirocco Gold sau orice Vertu si o haina de firma, doar haina-l face pe om, nu? Ok, ok, cam lunga analiza pentru concluzia simpla pe care trebuie s-o tragem : melodia e super comerciala, iar versurile si clipul exploateaza subiectele in voga : sexul si demonstrarea superioritatii in fata dusmanilor prin diverse metode : furturi, ploi de bani etc. Sincer, La Familia are cateva melodii care-mi plac foarte mult – Probleme de familie, Uneori viata e o tarfa, Zile insorite, Aici e Bucuresti etc. Dar parca in alea era vorba de/si de altceva decat de subiectele amintite mai sus… Asta-i povestea, daca vrei sa ai succes acum nu trebuie sa vorbesti despre diverse probleme ale societatii, ci despre ce vrea populatia sa auda : beat-uri de manele si versuri de rap.

O alta poveste interesanta legata de turma, care a devenit un etalon al binelui. Daca nu respecti spusele majoritatii atunci faci rau. Stiu, nu cred ca fac bine ca scriu acest post, dar totusi o fac … de ce ?

Bun, si acum am inteles ceva : daca vrei sa te citeasca lumea renunta la a mai scrie despre lucruri stupide : comparatii intre dota si limbaje de programare sau controlul nasterii si al mortii. Lumea nu vrea asta sa citeasca, vrea sa citeasca povesti de agatat pe internet sau live, vrea sa vada poze (chiar care-i hi5-ul tau ? aoleo, nu ai :| , ce loser esti), vrea sa vada cum te-ai mai distrat, eventual sa se inspire din metodele folosite. Deci vrea ceva simplu de citit, nu un post de 1000 de cuvinte ( n-am numarat, dar nu cred ca-s departe de acest numar ) pe care daca-l citesti nu ramai cu nimic, poate doar 1-2 idei ale unui gigel. Dar un blog gen “Cancan” nu ma reprezinta…si atunci ce sa fac ? Renunt la a mai scrie post-uri inutile de genul acestuia ……

Facultatea de facut bani. Societatea actuala.

martie 24, 2009

La seminarul de Marketing (nu-i stiu numele complet si nici nu stiu cum de am ajuns la el) proful a pus o intrebare : de ce nu exista o facultate care sa te invete cum sa faci bani ? Sper sa nu sara Gigi cu gura si ne spuna ca smecherii adevarati n-au de ce sa se duca scoala sa devina bogati si ca pentru a avea bani multi si haine scumpe ai nevoie de talent innascut. La intrebare am raspuns eu cu o intrebare, oarecum retorica : ce sunt banii ?

Chiar, ce sunt banii ? Eu nu stiu ce inseamna banii pentru ca nu-i am; oare as vrea sa-i am ? O definitie luata din dictionar spune ca banii sunt un mijloc de schimb. Bun, un programator o sa zica ca domne e un pachet care circula intr-o retea, azi la mine, maine la altu si tot asa. Cam asa si este, doar ca exista institutii care pot fabrica aceste pachete. Un om obisnuit poate face doar receive_cash(); apoi send_cash(); pe cand o institutie poate zice direct send_cash(); Pai si atunci de ce m-as increde intr-o astfel de institutie, care daca n-are bani fabrica unii fara a-i garanta cu ceva (s-a intamplat chiar in Romania atunci cand Iliescu n-avea bani sa-i plateasca pe mineri) ? Si daca nu te increzi ce faci ? Pornesti in paralel cu moneda ta de schimb ? Cine ti-o va accepta ? E mult de vorbit aici, si scopul postului nu e sa-mi exprim parerea vis-a-vis de sistemul economic actual si, mai important, despre cine-l conduce.

Bun, tot n-am inteles, de ce nu exista o Facultate de facut Bani ? Chiar ar fi foarte tare sa facem 1 milion de dolari ca proiect la o materie. Pentru ca banii nu exista “fizic”, trebuie sa aiba un suport real in produse, din cauza asta la scoala esti invatat sa faci ceva palpabil; acel bun palbabil ofera suport banilor si nu invers ( desi mai nou cica ar fi invers ).

Societatea actuala este bazata pe bani, de ce oare ? Dupa parerea mea, motivul este simplu : suntem prea/foarte multi saraci. Daca ai bani suficienti cat sa traiesti decent atunci lucrurile s-ar mai schimba. Cumva are grija cineva sa n-ai tu suficient de multi bani ? :) Evident….Societatea se bazeaza pe bani, dar parca banii nu exista “fizic”, nu ? Si-uite asa am ajuns la un alt miraj care pe multi ii pacaleste, inclusiv pe mine :) . Fiind stransi in bucla asta (da, e un while(1); si break se poate face doar daca ne schimbam atitudinea – lucru putin probabil) suntem usor de pacalit de cei ce conduc sistemul financiar si ajungem unde suntem acum, niste depravati. Lupta pentru supravietuire e mai grea decat era in trecut, desi tehnologiile au avansat, cumva diferenta de calitate a vietii se duce pe undeva prin ma$onerie ?

Si ca tot vorbeam de societatea actuala, arata foarte rau in principal din lipsa banilor. Banii au devenit mai importanti decat stiinta sau arta; modelele de succes din ziua de azi s-au cladit pe baza lor. Vinderea unui produs e considerata mai dificila decat producerea lui, pentru ca productia se face cam dupa ureche si neprofesionist ( lasa ba ca merge-asa, pun aia de la marketing o gagica goala in reclama si-o sa vezi ca toti or sa ne cumpere produsele ). Consider ca o situatie materiala generala mai buna ar fi evitat acest moment in care ne aflam si in care succesul este dat de cati bani ai. Un exemplu care dovedeste volatilitatea crescuta a banilor este chiar averea lui Gigi, care de la 3 miliarde a scazut la 0.5 miliarde ( tot e o suma uriasa, insa sa-ti scada averea de cateva ori, fara sa fi miscat un deget, eu zic ca inseamna multe).

S-ar putea sa fie o idiotenie, insa eu consider ca exista asemanari intre evolutia bancilor si evolutia oamenilor; nu ma refer la evolutia omului in sensul material, ci mai degraba in sens spiritual. Profitul bancii – fapta buna a omului, golurile (lichiditatea) bancii – pacatele omului si recesiunea – spovedania reprezinta bazele argumentatiei mele. In general, omul pacatuieste iar banca aduna goluri (imprumuta excesiv populatia si scad lichiditatile), insa pana cand ? Pana la spovedanie sau la recesiune atunci cand lucrurile se schimba, oamenii devin mai responsabili, iti dau seama de greselile pe care le-au facut si promit ca nu le vor mai repeta. Bancile, in aceeasi idee, devin mai responsabile, isi dau seama ca au fost lacome, incearca (cel putin la nivel superficial) sa pasuiasca debitorii si vor incerca sa evite greselile din trecut. Urmatoarea etapa de dupa recesiune este ascensiunea (nu sunt specialist, dar banuiesc ca asa stau lucrurile) atunci cand bancile incep sa aiba profit, iar oamenii incearca sa faca diverse fapte bune. Dar stim si noi ca lucrurile acestea se vor sfarsi in curand, atunci cand vom reveni la actiunile prezentate cateva randuri mai sus.

Mai pe scurt, bancile aduna pacate peste pacate pana cand baietii smecheri ai lumii considera ca e timpul spovedaniei. Probabil te-ai intrebat, gigi asta care scrie pe acest blog, crede cumva in teoria conspiratiei ? Iti raspund fara a-mi argumenta parerea, da.

In incheiere sunt dezgustat de ce se intampla pe la noi ( acordul cu FMI e japca pe fata ) si ca banii sunt un mijloc foarte bun de manipulare a oamenilor – sunt multi care se schimba la fata cand vad o suma mare de bani, desi ea s-ar putea sa nu aiba acoperire in ceva.

Postul nu are un scop in sine si se incheie cu un citat superb : “The secret to success is to own nothing, but control everything” (Nelson Rockefeller, unul din familia papusarilor)

Succes au cei care au sau n-au bani dar controleaza tot (relativ vorbind). Cum se poate sa n-ai bani si sa controlezi tot ? Uitati-va la Basescu …….

Dota. Limbaje de programare. Comparatie.

martie 14, 2009

Cand sunt plictisit ma joc dota ( http://www.dota-allstars.com/ ). N-are rost sa explic jocul in sine, doar mentionez faptul ca el implica 10 eroi (5 v 5), dintr-un pool de vreo 100 (numarul exact nu-l stiu); fiecare erou avand diverse skill-uri/vraji. Numarul limbajelor de programare este chiar mai mare de 100, din care stiu cateva, cele mai relevante pentru activitatea de pana acum. Am descoperit o asemanare intre anumiti eroii din dota si unele limbaje de programare. Despre asta e vorba in acest post.

Balanar (Night Stalker) este un erou foarte bun noaptea, foarte prost ziua si nefolosit in meciuri competitive. In aceeasi situatie se afla si Assembler-ul (fara a pierde din generalitate, ma refer doar la X86 sau AMD64) : bun in cazul in care compilatorul nu stie anumite optimizari si degeaba in rest. Povestile de genul : scriu in assembler ca este mai rapid decat in C, C++ sau mai stiu eu ce; sunt cam expirate.

Slayer (Lina Inverse) se foloseste in toate concursurile; in majoritatea proiectelor se foloseste si C sau C++. Slayer casteaza foarte repede vrajile ( sunt instante, n-au casting time ); C-ul de asemenea este foarte rapid pentru uz general. Pentru calcule matematice se foloseste Fortran, iar ca si counter la farmers se foloseste un alt erou.

Priestess of the Moon ( Mirana Nightshade ) se foloseste la greu in clan war-uri; tot in aceeasi masura se foloseste si Java. Asemanarea este data de simplitatea uneltei/eroului; Java este usor de invatat/utilizat, Mirana trebuie sa-si farmeze cateva item-uri si dup-aia castiga meciu cu auto-attack. Problema comuna este interesul manifestat de habarnisti fata de unealta/erou; nu sunt rare situatiile in care Mirana feedeaza echipa adversa si codul scris in Java arata execrabil.

Geomancer ( Meepo ) nu prea se foloseste in meciuri tari pentru ca este greu de jucat. Un limbaj de programare considerat exotic este Haskell, care-ti permite scrierea unui cod scalabil ( usor de extins ). Problema comuna este curba mica de invatare; cu Meepo trebuie sa stii sa te feresti de adversari (la inceput ai viata mica, Lina te omoara instant ) si sa farmezi; Haskell cere o baza solida (termenul e relativ) de teorie in stiinta calculatoarelor, sunt rare cazurile in care un om a inceput sa programeze direct in Haskell.

Warlock este un erou de suport, ajuta ceilalti eroi sa creasca; Python este un limbaj de scripting, folosit la construirea legaturilor intre diverse module/programe scrise in alte limbaje. Warlock + Mirana = imba, Python + C++ = program real. Problema ambelor entitati este viteza; Warlock este foarte lent si nu baga mult damage adversarilor ( daca se joaca suport ); Python fiind interpretat se executa mai lent decat alte limbaje de programare compilate.

Tinker (Boush) este un ganker excelent, te omoara foarte usor si repede. La fel de usor te omoara si Lisp || Scheme : (lambda (*<8-]= *<8-[= ) (or *<8-]= *<8-[= )).

Faerie Dragon Puck initiaza destul de bine un gank/atac; C# initiaza si el bine un proiect, are destul de mult syntactic sugar incat sa termini treaba repede. Ambii se bucura de suport din partea utilizatorilor; majoritatea jucatorilor de dota considera Puck imba, iar majoritatea programatorilor sunt incantati de clasele din .NET framework. Despre viteza, lucrurile sunt discutabile; Puck cu build complet este foarte periculos, insa meciul se termina dupa ce-si face primul item; C# poate rula unmanaged (in cod nativ), insa de multe ori n-ai de ce sa ajungi la asa ceva.

Cam atat despre acest subiect.

Thread-uri. Contra si contra

martie 7, 2009

In primul rand, aceasta este o frustrare (a se citi pamflet) si trebuie tratat ca atare; contine informatii tehnice irelevante. De ce n-am scris Pro si Contra ? Nici eu nu stiu, sincer am impresia ca thread-urile sunt overrated in ziua de azi si prin acest post incerc sa explic si de ce. Dar, de ce ai scrie asa ceva ? In primul rand, pentru ca majoritatea vad doar avantaje in folosirea thread-urilor, singurul pret platit e legat de gandirea mecanismului ce ofera consistenta datelor per proces. Ok, deci thread-urile sunt foarte ok cand lucram cu un API strict blocant (a se intelege ca nu exista o varianta neblocanta) si cand numarul thread-urilor e atat de mare incat mai bine lasam scheduler-ul din kernelul sistemului de operare sa faca scheduling-ul thread-urilor. Insa, majoritatea lucrurilor cu care am lucrat nu erau atat de complicate incat nu puteam sa-mi fac eu singur scheduling-ul, iar API-ul folosit era neblocant.

Varianta cu un singur fir de executie, API neblocant si scheduling facut manual _poate_ fi mult mai rapida decat varianta cu mai multe thread-uri sincronizate; lucrul asta e valabil pe tehnologia actuala (din ce stiu compilatoarele au probleme in paralelizarea executiei unor instructiuni independente). Motivele sunt diverse : scheduler-ul din kernel nu e specializat, e complate fair ( poate eu nu vreau asta ), schimbarea contextului dureaza destul de mult etc.

Foarte probabil lucrurile se vor schimba si thread-urile se vor perfectiona, insa pentru  moment eu am impresia ca se insista prea mult pe partea lor pozitiva, iar despre partea negativa nu se vorbeste nimic. Evident, in aplicatiile uzuale, diferenta de viteza poate fi insignifianta (nu conteaza daca intru pe messenger in 2 secunde sau in 3), insa exista si aplicatii in care viteza face diferenta :) .

Acestea fiind zise, nu abuzati de thread-uri si nu le considerati fire de executie cu covrigi in coada :) .