Doctor Ciomu

Posted in Codare cu premeditare, Slagare internationale on August 31st, 2010 by Mihnea

E vara, e soare, forumurile sint goale, daca-mi permiteti sa parafrazez un curent ideologic din perioada pre-gregoriana a unui mare cintaret, producator si faraon. Pentru a umple golul lasat de plecarea in vacanta a expertilor m-am gindit sa-i dau cuvintul unui fost coleg, actual pericol public.

Intii si-ntii Peter ne arata ca pentru a accede in sferele superioare ale programarii, trebuie sa te lepezi de ultima expresie din instructiunea for:

for( nFold = 0; nFold++ < nFolders; )
{
    // ...
}

Dupa aceasta tura de incalzire, Peter ridica stacheta. Ca un adevarat Bryukhonenko, el decide sa amputeze si corpul for-ului. Fierastraul se prezinta sub forma operatorului virgula, acest luceafar calauzitor pentru programatorii ce se aventureaza pe drumul conciziei:

for(int x=0; s[x++]=c, Data>>c, !Data.eof() && x<100; ) ;

Scoala Ardeleana ne invata sa folosim virgula cit mai des, mai ales intre subiect si predicat. Peter e de acord. Cind nu putem elimina corpul unui for cu ea, putem macar sa scapam de acolade:

while( x < m_cGrid.GetCols() &&
  nXoff + (nW=m_cGrid[x].Width()) < nCx-3 )
    nXoff += nW,
    iB++,
    x++;

Nici subiectul std::map nu-i este strain lui Peter:

std::map<uint,identitylist_t>::iterator iT =
  m_cStatic.m_cTemplate.find(Type);
identitylist_t& TypeList =
  iT == m_cStatic.m_cTemplate.end() ?
  m_cStatic.m_cTemplate[Type] : iT->second;

Mai departe eroul nostru transeaza o dilema cu care s-a confruntat mai demult si Ovidiu “MVP” Cucu:

int HandlerView::GetNodeIcon( TreeNode* pcNode ) const {
  //! isequal returns 0; is 5, 1 is 2, 2 is 7
  return "\5\2\7"[pcNode->IsEqual2Head()];
}

In urmatorul fragment se introduce un concept revolutionar: crapatul pentru pastrarea datelor:

CString cS;
cS.Format(
  "Error in reading Directory <>,\n"
  "Database may be corrupt.\n"
  "Tide will now crash to preserve data.", GetName() );
AfxMessageBox( cS );
throw;

Peter poarta astazi titlul de “software architect” in firma in care lucreaza (care face soft pentru platforme petroliere). Se impune deci sa dam un exemplu de arhitectura conceputa de el, in care clasa de baza apeleaza explicit metode dintr-o clasa derivata:

class ResourceData_t {
    // ...
    static int GetBackupMode();
};

class SecureResource_t : public ResourceData_t{
    // ...
    static BackupMode_e GetBackupMode();
};

int ResourceData_t::GetBackupMode(){
  return SecureResource_t::GetBackupMode();
}

Inchei acest necrolog cu goatse-ul for-urilor:

for( uchar*p = m_pData; !++*--p; );
Tags: , , , , , , , , , , , ,

Perversa ca pe tirgul Ocna

Posted in Codare cu premeditare, Premiul n00bel, Slagare internationale on August 25th, 2010 by jos8cal

Cam asta am simtit acum ceva timp cind am citit in “What new in 2010 Max SDK” asta:

“Virtual Destructors – Destructors have been made virtual in a number of base classes, making deletion of classes possible using a base class pointer.”

Acum 20 de ani si Autodesk au fost furati de mirajul Avem Solutii, Oferiti-ne Probleme, asa ca au fost mai preocupati de cum sa stocheze un array de pointeri decit sa invete C++. Ma intreb daca formula 10-50-30-10 a lui Ignat Andrei “13 ani de cariera” ar functiona pe codul de Max.

Tags: , , , , , , , ,

StandupProgramming.ro

Posted in Premiul n00bel, Regula 0, Stand-up philosophy on August 25th, 2010 by jos8cal

Pe linga nenumaratele abilitati dobindite cu ajutorul destinului, Silviu, Ardelean HD este si un bun gospodar. Staruinta si devotamentul cu care s-a dedicat lampasului si tirnacopului l-au rasplatit intr-un final: a reusit sa inteleaga ce este un std::map si sa-si modifice codul intr-un mod subtil dar cu ura declarata la adresa haterilor care au indraznit sa remarce tentativa lui de cautare cu abacul prin std::map. Nimeni niciodata nu trebuie sa cunoasca motivul pentru care si-a modificat codul. Creditul dat cuiva este o manevra capitalista si trebuie eliminata cu orice pret.

Acolo jos, sub pamint, nu e prea mult timp de zabovit linga o coala alba de hirtie. Cu fata la muntele de huila, mina neagra nu se mai supune ratiunii cu care functioneaza o limba, ea apreteaza pe hirtie doar existente, nu si sensuri. Atita timp cit esti miner nu trebuie sa ai pretentia ca vorbesti romaneste, engleza sau C++ la perfectie. Dupa cum bine au demonstrat cei de la Opus, minerul e miner in orice limba de sorginte paminteasca. Asa ca atunci cind haterii l-au somat sa lase pixul jos pentru ca “fustrat” nu face parte din colectia de sensuri pamintesti, el a modificat rapid si a sters orice urma de huila lasata pe hirtie. Textul este curat si placut uscat cum a fost dintotdeauna.

Suparat nevoie mare ca haterii au dreptate si el nu poate pune regula 0 la bataie ca in cele din urma sa-i izgoneasca definitiv din univers printr-un ban, s-a gindit, ca orice idealist putin naiv, sa repete istoria. Vadit marcat ca nu s-a nascut acum 50 de ani cind centrele de reeducare si banatul cartilor erau o practica in floare si regula 0 a denaturarii realitatii, s-a gindit sa contraatace prin invaluire incercind sa-si spele rusinea in fata motoarelor de cautare, ca poate poate cineva se va lasa indus in eroare de faptul ca el a inregistrat domain-ul din titlu.

Standupprogramming.ro aka SilviuArdelean.ro aka 89.38.209.122 este ghilotina cu care Silviu va imprastia capete de jur imprejur. Va fi locul in care el va incerca sa schimbe istoria si sa induca in eroare Internetul. Universul. Materia. Locul in care cititorii nostri vor fi considerati mai prosti decit ai lor.

Ii uram succes si Viva la Revolucion!

LE: Aahhh si inca ceva: pentru cei ce n-au inteles nimic din ce am zis mai sus, noi n-avem nicio treaba cu domain-ul ala. E un fail marca Silviu Ardelean care din lipsa de idei de contraatac s-a gindit sa-si dedice un site cu numele nostru in care sper sa ne ajute sa ridem de el. Asa, acum inapoi la circiuma birjar!

Tags: , , , , ,

Programatorul "transpiră intelectual" 90% din timp

Posted in Codare cu premeditare, Premiul n00bel, Stand-up philosophy on August 22nd, 2010 by jos8cal

Programarea presupune mult lucru în faţa calculatorului, fiind nevoie de o atenţie maximă

Andrei Munteanu este scribaret la Romania Libera. Dupa ce a rezolvat problema sanselor cuiva de a deveni bona, dupa ce a adus o oda alpinistilor utilitari, dupa ce a oferit un ghid turistic intr-o tara cu potential si dupa ce a protestat vehement asupra titulaturii de gradinar a arhitectului peisagist si-a gasit timp si pentru programatori oferindu-le o propedeutica informatica.

Pentru a nu permite nicio urma de indoiala asupra transpiratiei intelectuale 90% apa, Andrei a atasat si o poza propedeuticii sale, dovada clara a validitatii panseului din titlul articolului, panseu marca Andrei Ignat MVP C#. Acolo se poate vedea clar cum se programeaza cu fata la calculator dupa cum ne spune chiar Andrei:

“Programarea presupune mult lucru în faţa calculatorului, fiind nevoie de o atenţie maximă.”

In caz ca sinteti la inceput de drum si doriti pur si simplu sa scrieti cod, va somez sa va opriti chiar acum. Ati apucat-o pe un drum fara intoarcere dupa cum bine parafrazeaza si Andrei din Eugen Nistor:

“Profesia de programator este una care necesită absolvirea unei facultăţi de profil tehnic pentru a putea fi înţelese toate cunoştinţele cu care se operează.”

Sub marca evidentului nu sta ascuns doar regele Hagi cu aceleasi opinii la adresa oricarei echipe, sta si Andrei Ignat care in 13 ani de cariera a creionat excelent virtutiile unui programator de cursa lunga:

“Meseria de programator îţi cere cel puţin spirit analitic, acumulare continuă de cunoştinţe şi o limbă străină, de preferat engleza”

Andrei Ignat 13 ani de cariera nu se opreste doar la afirmatii. Nu. El sterge bariera mentala instituita fals de mii de ani intre teorie si practica si ofera procente clare (bazate pe numere) asupra felului in care timpul bate filmul:

“Timpul este împărţit astfel: 10% – încearcă să se menţină la curent cu trendul în dezvoltarea de software, 50% – încearcă să înţeleagă specificaţiile aplicaţiei la care lucrează, 30% – se gândeşte la codul pe care îl scrie) astfel încât, la versiunea a doua, să-l rescrie cât mai puţin, iar 10% – scrie codul propriu-zis”

10-50-30-10 acest 90-60-90 al distributiei timpului de programator, distributie care te obliga sa-ti rescrii aplicatia la versiunea 2, doar ca datorita acelui 30% vei rescrie mai putin.

Eugen Nistor conchide just dar drept asupra a ceea ce e, a ceea ce se lasa stiut:

“Programarea WEB, de aplicaţii desktop, economică, de prospecţie sau în baze de date sunt câteva dintre domeniile în care poate să-şi desfăşoare activitatea un programator. „Indiferent de sectorul în care activează, programatorul trebuie să ştie să lucreze în Java, C#, PHP, Ruby sau Python””

Andrei Ignat MVP C# 13 ani de cariera conchide si el grav dar la obiect si cu dovezi de neclintit:

“Este nevoie de muncă şi lectură multă, mai ales că programarea înseamnă 90% «transpiraţie intelectuală»”

In incheierea propedeuticii sale, Andrei Munteanu ofera un imbold leninist pentru cei cu doar 4 clase in ale programarii:

Învăţaţi să fiţi un bun autodidact.

Învăţaţi să faceţi debugging.

Învăţaţi să vă organizaţi codul.

Învăţaţi să testaţi performanţa aplicaţiei.

Învăţaţi să folosiţi optim memoria sistemului.

Învăţaţi să testaţi bucăţile individuale de cod.

Învăţaţi să vă utilizaţi timpul corect.

Învăţaţi să lucraţi în echipă.

Aparitia numelui RONUA in aceasta disertatie a stirnit un fior unanim de apreciere si deosebit respect in rindurile fanilor RONUA pe pagina personala de failbook.

Incheiem cu un moment de solemnitate.

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

Switcheroo

Posted in Codare cu premeditare, Slagare internationale on August 18th, 2010 by Mihnea

Sint sigur ca multi dintre voi au observat ca instructiunea switch nu e suficient de OOP, dar au fost prea lenesi sa faca ceva. Aurelian Popa v-ar spune ca din cauza acestei mentalitati delasatoare n-avem noi autostrazi, dar eu nu sint aici sa va fac morala. In schimb, va voi da drept exemplu un Om care a decis sa infrunte Sistemul, alegindu-si drept arma briceagul elvetian numit std::map, care dupa cum stim a mai fost folosit si de alti programatori virgula emblematici cu maximum de efect.

Iata momentul de izbinda al Omului, editat un pic pentru concizie, dar cu sufletul intact:

Quest_t*
QuestGenerator_t::Create(ACGQuestType_e eQuestType,
                         QuestGeneratorSession_t& cSession)
{
  typedef bool (QuestGenerator_t::*fCreateQuestFunction)
     (QuestGeneratorSession_t&);

  std::map<ACGQuestType_e, fCreateQuestFunction> cFunctions;
  cFunctions[e_ACGQT_EscortItem]            =
     &QuestGenerator_t::CreateEscortItem;
  cFunctions[e_ACGQT_EscortCharacter]       =
     &QuestGenerator_t::CreateEscortCharacter;
  cFunctions[e_ACGQT_GetItemToOriginator]   =
     &QuestGenerator_t::CreateGetItemToOriginator;
  cFunctions[e_ACGQT_ArrestCharacter]       =
     &QuestGenerator_t::CreateArrestCharacter;
  cFunctions[e_ACGQT_CreateItem]            =
     &QuestGenerator_t::CreateCreateItem;
  cFunctions[e_ACGQT_ChangeItemState]       =
     &QuestGenerator_t::CreateChangeItemState;
  cFunctions[e_ACGQT_FindItem]              =
     &QuestGenerator_t::CreateFindItem;
  cFunctions[e_ACGQT_FindCharacter]         =
     &QuestGenerator_t::CreateFindCharacter;
  cFunctions[e_ACGQT_LocateDistrict]        =
     &QuestGenerator_t::CreateLocateDistrict;
  cFunctions[e_ACGQT_PutItemOnItem]         =
     &QuestGenerator_t::CreatePutItemOnItem;
  cFunctions[e_ACGQT_UseSkill]              =
     &QuestGenerator_t::CreateUseSkill;
  cFunctions[e_ACGQT_DestroyCharacter]      =
     &QuestGenerator_t::CreateDestroyCharacter;
  cFunctions[e_ACGQT_DestroyGroup]          =
     &QuestGenerator_t::CreateDestroyGroup;
  cFunctions[e_ACGQT_DestroySide]           =
     &QuestGenerator_t::CreateDestroySide;
  cFunctions[e_ACGQT_DestroyPublicBuilding] =
     &QuestGenerator_t::CreateDestroyPublicBuilding;
  cFunctions[e_ACGQT_GuardArea]             =
     &QuestGenerator_t::CreateGuardArea;
  cFunctions[e_ACGQT_Diplomacy]             =
     &QuestGenerator_t::CreateDiplomacy;
  cFunctions[e_ACGQT_KillMonsterTypeGroup]  =
     &QuestGenerator_t::CreateKillMonsterTypeGroup;
  cFunctions[e_ACGQT_PutItemOnCharacter]    =
     &QuestGenerator_t::CreatePutItemOnCharacter;
  cFunctions[e_ACGQT_GiveItemToCharacter]   =
     &QuestGenerator_t::CreateGiveItemToCharacter;
  cFunctions[e_ACGQT_TalkToCharacter]       =
     &QuestGenerator_t::CreateTalkToCharacter;

  fCreateQuestFunction fFunction = cFunctions[eQuestType];
  if(fFunction){
    if(!((this->*fFunction)(cSession))){
      return 0;
    }
  }

  return cSession.m_pcQuest;
}

Din pacate nu putem lega acest manifest revolutionar de o identitate online, deoarece autorul nu este un membru activ al vreunei comunitati de experti si nici nu publica articole in care ii invata pe altii sa fie ca el.

Tags: , , , , , , ,

Optimizarea lui Iocan

Posted in Codare cu premeditare, Premiul n00bel on August 17th, 2010 by Mihnea

Nemultumit de apatia ce cuprinsese ograda expertilor, Ovidiu “MVP” Cucu s-a decis intr-o zi sa-si revergoreze un pic enoriasii cu “o mica tema pentru acasa, pentru interviu, or just for fun“. Arhanghelul Gabriel, care de la dictarea Coranului si birfele de la maternitatea din Ierusalim n-a mai produs cine stie ce material, s-a sculat de pe laurii pe care se odihnea si a venit cu mare har in intimpinarea initiativei, slobozind in mintea lui Ovidiu saminta unei mari idei: copierea optima a unui bloc dintr-o parte intr-alta. Precum un Heinz blinker 18 grame argint, aparenta simplitate a acestui exercitiu a atras o gloata multiculturala de experti care Au Crezut Ca Pot.

Primul care a ridicat manusa a fost MVP Dragos Cojocari, care dupa doua etape de verificat pointerii sa nu fie null, S-a odihnit:

Stiu ca se mai poate numa sa imi dai timp sa ma uit un pic in Knuth.

Pentru prima data in istoria fara de pata a publicatiei noastre, nu ne dam seama daca post-ul lui Dragos este un misto subtil sau un atac sincer la persoana lui Knuth. Din acest motiv ne declinam competenta in privinta sa si va lasam pe voi cititorii nostri numerosi sa trageti ce concluzie vreti, ca-n filmele alea de arta.

In privinta urmatoarei contributii nu exista insa dubii. In orice discutie respectabila despre copiatul memoriei trebuie sa apara un cautator pe Google dornic de afirmare care sa arate multimii cit de erudit este mentionind manevra lui Duff. In comunitatea expertilor rolul acesta a fost asumat temporar de catre Cryogenic, care in timpul liber confunda HPC-ul cu PHP-ul. Confruntat cu faptul ca sodomizarea switch-ului nu se descurca stralucit pe procesoarele homofobe din zilele noastre, Cryogenic si-a dublat gradul de eruditie, gasind nodul in papura lui memcpy():

Felicitari, ai transformat o functie generica de copiat bytes in …. memcpy.

[…]

Din pacate memcpty nu-ti garanteaza “ordinea” in care vor fi copiati bytii, iar asta e o problema in anumite cazuri, de exemplu cand se foloseste mmio (memory mapped IO).

Citeva post-uri mai jos el a mai cautat un pic pe Google si a gasit singur, fara ajutorul nimanui si in premiera in discutia de fata, solutia pe care tocmai o combatuse.

Dupa Cryogenic a intervenit Silviu, Ardelean HD care si-a construit singur cerul. In piesa noastra, rolul cerului este jucat de operatorul sizeof, iar optimizarea consta in faptul ca nu se copiaza memoria decit daca nu-i nimic de copiat:

void copy_chars(char* dest, const char* src,
 unsigned int count)
{
   if ((NULL ==dest) && (NULL == src) &&
      (count <= sizeof(dest))
   {
      memcpy(dest, src, count);
   }
}

Polemica s-a mai zvircolit o ultima data si a sucombat dupa ce Andreas a avertizat compilatorul sa puna memcpy-ul inline, “or else”:

Asteptand raspunsul lui Ovidiu, subscriu la varianta cu folosirea lui memcpy cu observatie ca aceasta trebuie facuta inline.

inline void* memcpy(void* dest,const void*src,size_t count);

Intr-un oribil deja-vu pentru Silviu, compilatorul a abordat o pozitie passive-agressive, ignorind si Regula 0 si ultimatumul prezentat.

Discutia s-a terminat in stilul California Dreamin’, dar din pacate nu din cauza ca l-a calcat masina pe Ovidiu Cucu.

Tags: , , , , , , , ,

Mi amigo del fail

Posted in Glume de autobaza, Premiul n00bel on August 16th, 2010 by jos8cal

Silviu, Ardelean de Hunedoara uraste haterii. Ii uraste atit de mult incit a incercat sa faca o gluma in spaniola la adresa lor. Adica nu ajunge ca maltrateaza voit trei limbi, a simtit nevoia sa fie creativ si in a patra.

Si iata si creativitatea lui fara de care a considerat ca video-ul din post nu are nicio valoare:

“Mi “amigo” del heno, […]. Pe româneşte, “prietenul” şi fanul meu, […]:”

Doar ca in limba romana “Mi amigo del heno” nu se traduce asa. La fel nici titlul cu acelasi nume nu inseamna ce crede Silviu ca inseamna in romaneste. Ma rog, poate in romana de Hunedoara in care e epidemie de virgule, in care “i-ul” este banat si “fustrat” este un cuvint.

PS. Vad ca te-ai imprietenit incet incet cu google translate, dar cu C++ cind iti mai dai rendez-vous? Ai reusit sa faci cautare in std::map()-ul ala ca oamenii? Dar sa-ti modifici metodele in care returnezi CString-uri by value?

Tags: , , , ,

Testul Turing

Posted in Glume de autobaza, Stand-up philosophy on August 15th, 2010 by jos8cal

Poate o masina sa gindeasca?” Asta scria pe plicul misivei adresata de domnul Turing societatii de cicat in care traia. La auzul acestor vorbe societatea a decis ca este mai bine sa-l castreze. Good job England.

Dupa 60 de ani ne-am pus si noi aceasta intrebare aici in redactie, moment in care am inceput sa cautam doi subiecti fecunzi mental, putin naivi (naivi pentru lumea in care traim), cu experienta si viziune de viata.

Am decis asupra fostului capitan de naveta spatiala James Kirk si fostul administrator la Hidrocentrala SA, Silviu Ardelean. Primul binecunoscut ca fornicator spatial si colectionar de mobila vintage pentru sufrageria cu care zbura prin spatiu iar al doilea binecunoscut pe forumurile romanesti de programare ca un remarcabil partener de dialog.

Mai jos reproducem testul Turing pentru cei doi subiecti:

Silviu: My name is Silviu Marius ARDELEAN and I am a software developer working and living in Timisoara, Romania.
Kirk: Welcome to the Enterprise, Silviu.
Silviu: When I was 12 years old having a personal computer was just a dream.
Kirk: No one expects you to die for an error in judgment.
Silviu: I was dreaming working on a PC on my desktop.
Kirk: Yes, you were. Yes. But you’re a sick man now, sir.
Silviu: Two years later, I started studies to National Collage Informatics “Traian Lalescu” from Hunedoara and programming passion has started.
Kirk: The inevitable outcome?
Silviu: All high school period, I spent weekends working to software application for Scientific Sessions or participating to Olympics.
Kirk: Location and distance.
Silviu: The destiny makes me study automatics and industrial informatics to University of Petrosani.
Kirk: Screen on.
Silviu: In five years of studies, I worked as software developer to a internet provider company called General ComTrust.
Kirk: I could’ve prevented all of it.
Silviu: Because of financial reasons I decided to change my job and I got in a system engineer and database administrator position to Hidroelectrica SA, Romanian electric power manufacture base on water.
Kirk: Then you know that nothing can be done.
Silviu: But my dream job remained a software developer position and after approximately two years I got a software developer position to Siemens VDO Automotive SRL from Timisoara, Romanian branch of Siemens VDO Company.
Kirk: Time warp. We’re going backward in time. Helm, begin reversing power. Slowly.
Silviu: In 2008, after a sky accident, I was mad enough to get a senior software developer position to one of biggest anti-malware company, BitDefender.
Kirk: That’s paradise?
Silviu: Now, I’m working there for Business Client Security solution.
Kirk: (laughs) Is there anything else?
Silviu: My first programming language was Pascal but my favorite is C++.
Kirk: Go. Silviu, take over navigation.
Silviu: I am an active member of several online developer communities.
Kirk: We have never encountered your species before.
Silviu: I’m acting into a C++ Romanian programming community called CODEXPERT and other communities as codeguru.com forums and softpedia.com (known as Maximus_X).
Kirk: Too much of anything, Silviu, even love, isn’t necessarily a good thing.
Silviu: I’m writing technical articles and FAQs on codexpert.ro.
Kirk: Any evidence of involuntary or unconscious telepathic abilities?
Silviu: I am a dynamic, self motivated and enthusiast person with a great work capacity, able to work in stress conditions and to learn a lot of new things, open to the new and able to adapt on the fly to new requirements.
Kirk: I remember. Let’s forget it. We have a lot of lost time to make up for.
Silviu: Computers are not my only interested field.
Kirk: Just incredibly prolific.
Silviu: I’m interesting in technique: logic, financial, music, cars, pictures and sports: tennis, football (soccer) and ski, too.
Kirk: Does the recorder marker have this on its tapes?
Silviu: I am writing different non-technique topics on a Romanian blog.
Kirk: Good. Contact me when you can. Kirk out.
Silviu: I write about how I see normality and stories of my life.
Kirk: That just sounds like Silviu in one of his contemplative phases.
Silviu: I’m writing what I’m thinking, what is revolting me, what is delight or disgust me.
Kirk: An improved breed of human. That’s what the Eugenics War was all about.

Credem ca Turing a fost razbunat de Masina.

Tags: , , , , ,

Osinda

Posted in Premiul n00bel, Regula 0 on August 11th, 2010 by jos8cal

Directia de cultura a municipiului Redmond organizeaza anual o serbare cimpeneasca numita MVP Global Summit la care sint asteptati MVP-ei din toate colturile lumii.

Vizitatorii vin sa bea bere, sa discute chestii despre lucruri si sa faca poze. Unul dintre MVP-ei a venit cu intentii serioase la bilci: pupatul bombeurilor. Intrebat de ce unii coderi de la Microsoft declara CString-uri globale, MVP Ovidiu Cucu riposteaza cu experienta sa de viata:

“La Microsoft ca si la Sun exista programatori cu experienta, nu amatori carora ar trebi sa le pupi bombeurile”

Lui Silviu Ardelean de Hunedoara ii place si nu prea aceasta jonctiune tovaraseasca. Poliglot, epistemolog de renume mondial, asistent la catedra de informatica din Petrosani, inginer de sistem, administrator la hidrocentrala, programator salariat in lupta impotriva viermilor si nu in ultimul rind pescar cu acte in regula, Silviu intelege actul creativ in insusi valoarea lui intrinseca:

“De cele mai multe ori, este mult mai usor sa cautzi nod in papura, greseli, decat sa creezi.
Sa nu-tzi fie cu suparare Viorele, dar din majoritatea postarilor tale nu vad ceva in sens creativ, ci dimpotriva, chichitze, dubii, intrebari…nelamuriri, etc.”

Grabit sa nu intirzie la intilnirea cu destinul lui de MVP, destin care l-a fortat sa studieze pina si automatica si informatica industriala, Silviu nu accepta dubiile, chichitele, nelamuririle si intrebarile. Ca pina la urma ce inseamneaza si nevoia asta a omului de a-si pune intrebari? A sti inseamna a vrea sa stii, iar a vrea sa stii inseamna sa nu pui intrebari.

Tags: , , , , , ,

Intermezzo

Posted in Stand-up philosophy on August 10th, 2010 by Mihnea

Un oarecare indian se bucura nevoie mare ca a rezolvat P != NP, lucru ce a iscat o multime de discutii prin toate pivnitele internetului despre proprietatile lu’ Markov, cimpiile lu’ Gibbs si statistica satisfactiei (no homo). Imi pare rau, dar trebuie sa ma pis pe entuziasmul lor. Pai ce facem fratilor, noi tinem degeaba blogu’ asta? Nu v-am spus saptamina trecuta ca Superdarie a dat solutia universala pentru toate muismele astea legate de complexitate? Sa-i zica cineva lu’ Vinarte ala ca trebuia doar sa numere if-urile.

Tags: , , ,