Bogdan Mocanu

Arhiva pentru februarie, 2009

Domain Oriented Programming

In Bogdan Mocanu on 27 februarie 2009 at 18:29

Privind retrospectiv la tipurile de programare si la modul de a scrie programele pe care le-am avut+experimentat pana pana acum, observ o evolutie foarte interesanta, evolutie marcata de utilizarea intr-un pas nou doar a pasului anterior. De aceea, doresc in articolul de fata sa prezint firul acesta al evolutiei, asa cum il observ acum si, cu putina fantezie, sa incerc sa il continui, ajungand astfel la o posibila conturare a modului “de maine” de a scrie programe si de a dezvolta software.

AsOP. Avem in primul rand Assembly Oriented Programming, caracterizata de scrierea de programe folosind instructiuni similare si apropiate (in unele cazuri chiar identice) cu limbajul cod-masina. Probabil ca asta nu a fost primul pas, probabil inainte am putea sa asezam scrierea de programe folosind cartelele perforate… nu stiu, e posibil. Pentru usurinta, o sa consider AsOP ca fiind primul pas. Read the rest of this entry »

1+2+3 luni de master

In Alexandru Paler on 26 februarie 2009 at 22:01

Astazi voi insira cateva idei: probleme si directii. Ieri am prezentat lucrarea mea de master, azi am predat-o. Acum sunt intr-o stare ciudata. Imi amintesc doar ceea ce a mai ramas de facut, dar din cele facute, pot sa enunt unele subiecte, care nu necesita o detaliere ampla a temei lucrarii de master.

Retelele neuronale sunt intr-adevar paralelizabile, mai ales cele care au o structura cat mai simpla. Problema care se ridica este de a micsora cat mai mult diferenta pana la un speed-up liniar. Aici apare limitarea impusa de comunicatie. Cum sa fie facuta, cum sa fie evoluata, cum sa fie fie impartite retelele. Dar sa \begin{enumerate} cele cateva idei pe care mi le mai aduc aminte:

- Etapele unui pipeline trebuie sa dureze la fel de mult, altfel pipeline-ul este defectuos.
- Suma valorilor float nu este asociativa.
- Paralelizarea intr-un cluster de computere trebuie sa se orienteze catre o comunicatie rara. Pachetele de date transmise trebuie sa fie mari, pentru ca ethernet-ul sa fie folosit corespunzator.
- Retelele neuronale RBF sunt o solutie interesanta pentru diagnoza erorilor.
- Azi noapte venind spre camin pe jos am auzit pasarile cantand din nou. Era 12 noaptea.

Cu dedicatie, programatorilor de raspoimaine

In Augustin Preda on 24 februarie 2009 at 05:00

Am aflat de pustiul asta dintr-un articol oarecare.

Mereu se spune, despre fiecare noua generatie, ca “astia fac mai putin”, “iau lucrurile mai putin in serios”, “sunt mai lenesi”. Si chiar daca uneori asa o fi parand la prima vedere, (si poate partial adevarat) mereu se exagereaza. E rabufnirea ofticata a fiecarei generatii care vede ca cei care vin dupa au mai multe posibilitati la indemana, au o viata mai usoara si nu sunt nevoiti sa treaca prin toate problemele prin care au trecut ei. Multumita in principal tehnologiei.
Si eu sunt unul din cei care se oftica, chiar daca incerc sa ma abtin. Pe langa parintii mei, am dus pana acum o viata extrem de linistita si ferita de probleme. Am trait si la tara, am fost si cu vaca la pascut, m-am si catarat prin copaci, am fost si la prasit, am si batut mingea. Lucruri care azi nu pot sa zic ca-mi servesc la ceva anume. Nu au dezvoltat abilitati care sa-mi foloseasca traiului zilnic. Citeste mai departe…

In slujba cetateanului

In Bogdan Mocanu on 20 februarie 2009 at 22:57

Saptamana asta am avut de umblat o gramada prin oras si pe la diferite ghisee pentru a obtine actele pentru un leasing. Mergi la firma, la administrativ, obtine cererea de ridicare a cartii de munca, apoi mergi la ITM (Inspectoratul Teritorial de Munca), stai la coada 45 de minute, depune cererea, vino a doua zi, ridica respectiva carte de munca. Apoi mergi iar la administrativ, pentru obtinerea fisei fiscale, etc etc.

In toate peregrinarile astea, am dat peste o gramada de oameni, fiecare cu cate o problema, fiecare asteptand la niste cozi ce pareau ca nu mai avanseaza secolul asta. O multime de hartii, o multime de papetarie, acte, dosare, fisiere, dulapuri pline de cutii cu dosare si etichete, si altele. Am prins si o perioada nefasta a anului, si anume momentul in care persoanele autorizate din cadrul firmelor vin si depun fisele fiscale pe anul anterior. Fiecare cu 5-6 hartii in mana si cu discheta de 1.44 pe care se afla fisierele cu datele pentru viitoarele fise fiscale. Pentru fiecare persoana asteapta sa se preia acele hartii si discheta, asteapta ca (saraca) tanti de la ghiseu sa le proceseze, urmand ca apoi fiecare persoana sa se intoarca dupa cateva zile sa ridice noile fise fiscale. Read the rest of this entry »

Moda în IT (IT Fashion)

In Augustin Preda on 17 februarie 2009 at 03:00

Nu, nu e un articol despre Apple.

Youtube: http://www.youtube.com/watch?v=Nz04FHL6U_I&feature=channel .
Observati ceva ciutat? Pai nu… acum nu. V-ati obisnuit si voi cu formatul widescreen. Aplicatiile trebuie sa se preteze modei. Iar moda curenta e widescreen.
Jocurile au inceput de mult sa ofere suport si pentru widescreen, in ideea de afisaj diferit in functie de rezolutia folosita. Nu toate, doar cateva initial, dar acum tot mai multe urmeaza regula. Ar trebui sa fac si eu asa ceva :-) . Chestia e ca in domeniul jocurilor e mult mai usor sa modifici interfata pentru a o adapta unei alte rezolutii, mai ales in era 3D in care ne aflam. Citeste mai departe…

Liste

In George Moldovan on 15 februarie 2009 at 11:13

Acum o saptamana m-a intrebat Alex despre metodele lui ArrayList. Spre rusinea mea, nu le-am nimernit pe toate. Dar nu despre asta teste vorba: ArrayList nu este clasa mea preferata; de fapt, ei nu-i gasesc deloc locul si mi se pare exotica.
De multe ori am mostenit codul altora. O parte din situatii cereau ca lucrurile sa fie facute repede – nu sub forma unui ‘ar fi bine sa mearga repede’, ci ca ‘trebuie sa mearga repede!’. Iar o parte din structurile folosite erau listele, sub diferite implementari. Pana acum nu am dat de nimeni care sa reinventeze roata, asa se folosea ceea ce puneau librariile folosite la dispozitie. In Java (pentru ca asta am mostenit de prea multe ori) exista interfata List, iar clasele precum Vector, ArrayList si LinkedList o implementeaza. Si in 80% dintre cazuri vedeam ca ArrayList-ul este preferatul lumii. Si, sincer, intotdeauna am fost curios sa aflu de ce. Implementarile sunt practic identice :
Citest mai departe…

reintoarcerea la mainframe

In Alexandru Paler on 12 februarie 2009 at 00:06

Miscarea hippie (intre 1960-1974), care conform wikipedia a evoluat in timp si si-a lasat amprenta asupra societatii civile, a fost un curent tratat de catre mainstream drept o miscare de subcultura. Acum este oarecum peiorativ sa afirmi despre cineva ca e hippie, dar lumea se invarte.

Ceea ce a adus hippie a fost influenta asupra calculatoarelor. In 1969 a aparut Unix, Dennis Ritchie avand 28 de ani. Un sistem de operare pentru minicomputere. Aceste minicomputere erau mini in comparatie cu mainframe-urile care ocupau sali intregi. Mainframe-urile erau imense, puternice si folosite pentru calcule intens consumatoare de timp. In anii ‘70, in perioada hippie, minicomputerele aveau un sistem de operare produs de un hippie, iar microcomputerele se dezvolta, iar in timp au primit si sisteme de operare adecvate. Rezultat: multimea putea sa aiba calculator de care sa se foloseasca. Mainframe-ul a ramas firmelor, iar muritorii de rand au acces la tehnologia de calcul. Read the rest of this entry »

Sistem de operare cu față umană

In Lucian Sasu on 11 februarie 2009 at 15:44

Adică Ubuntu. Am descărcat acum vreo săptămână câteva mașini virtuale de Ubuntu, de la Vmware. Mai multe, pentru că ăia care sunt așa de generoși de “urcă” mașinile ăstea pe net probabil pică de oboseală de atâta muncă și uită să treacă și numele de utilizator cu parola aferentă. Citiți în pagină până vedeți scris negru pe alb: username/password. Alfel fie faceți hacking (cum ajungi cu drept de root pe un sistem care îți ascunde cu îndărătnicie contul ăsta), fie descărcați altă variantă.  Nu sunt bun la hacking, clar (Google nu merge pe scara mea).

Read the rest of this entry »

Abstractia in jocuri

In Augustin Preda on 10 februarie 2009 at 05:00

Dota-Allstars e jocul cu care mi-am pierdut mult timp liber in ultimul an… si mai mult de un an de fapt.
Daca nu ati auzit de el, atunci de Counter-Strike ati auzit. Ce legatura exista intre cele 2 jocuri? Mai multe. Cred ca singura diferenta ar fi faptul ca unul e shooter, iar celalalt RPG. In rest, dam de similitudini.
Pai in primul rand, nici unul, nici altul nu este un joc propriu-zis, ci doar un mod. Dar fiecare e un mod de un succes suficient de mare (daca nu mai mare) pentru a putea fi comparat cu jocul de la care a pornit modificarea. Citeste mai departe…

Expresivitatea numelor

In Bogdan Mocanu on 6 februarie 2009 at 22:24

O sa ma leg astazi de o chestie foarte mica, care insa ma deranjeaza destul de mult, mai ales in ultimul timp. As zice ca se incadreaza in categoria “Claritatea codului” (fac referire catre Outsourceing, ownership si cod mostenit, Hardcodari si personalitate, si La ce nivel, in echipa?). Este vorba de numele date claselor, de modul in care cineva decide cum trebuie sa se numeasca o clasa.

Evident aceasta numire este destul de scazuta in importanta. Adica ok, te gandesti, alegi un nume expresiv, si gata, treci mai departe, gandindu-te ca de fapt e important cum implementezi acea clasa, cum o relationezi cu celelalte clase si interfete din cadrul codului tau. Insa nu e chiar asa. Read the rest of this entry »

1979. filosofia masinii de spalat.

In Alexandru Paler on 5 februarie 2009 at 23:57

Azi s-a stricat masina de spalat. O primisem cadou de la Karsten. O tona de masina de spalat, Miele, veche, sugativa de curent, o minunatie, care m-a ajutat sa imi spal hainele, fara sa mai fie nevoie sa platesc 2 euro de fiecare data hotilor de la camin.

Curiozitatea mi-a dictat sa o deschid. Am scos-o din priza. Am dat capacul jos. M-am uitat ca un student ce sunt in ea si nu am inteles nimic (in gand ma gandeam ca la examen am sa stiu). In masina de spalat un biletel. Scot biletetul impaturit, ma uit, citesc. Schema electrica a masinii, iar cum nu stiu citii asa ceva, am cautat sa vad macar de cand e modelul. E din ‘79. Ei bine, dupa 30 de ani masina a obosit. Nu a fost in viata ei in service si s-a stricat acum, cand muntele de sosete murdare arunca o perspectiva sumbra asupra viitorului: maine o sa le port pe astea de azi.

Read the rest of this entry »

Performanță distribuită

In Lucian Sasu on 4 februarie 2009 at 21:35

Discuția seamănă cu ceva postat de unul din colegii de pe blog. Problema de care m-am izbit deseori (și zilele acestea din nou) este următoarea: am de făcut niște teste. Nu contează foarte tare tema în sine, ci faptul că testele ăstea îmi rup procesorul. Durează o grămadă de timp (zeci de ore) și țin procul ocupat la 100%. Și urăsc când alții au dreptate, dar de fapt nu procul e chiar cea mai mare problemă, ci memoria. 2 GB nu îmi sunt suficienți, cu toate că am renunțat la multe din codul rulat.

O variantă ar fi să segmentez cumva aplicația asta (de mână) și să o rulez aceste segmente pe calculatoare diferite. Făceam asta acum câțiva ani; prindeam un laborator liber și rulam aplicații pentru partea de cercetare. Așa mi-au ieșit câteva articole faine. Asta făceam cu câteva zile înainte de cununia civilă, plimbându-mă năuc printr băncile din PII5 (sau PII4, că toate seamănă între ele :) si vedeam care calculator a terminat, ca să nu se răcească prea tare… Pierdeam enorm de mult timp cu asta și segmentele cu configurările aferente trebuiau făcute ingrozitor de atent, altfel mă pomeneam că rulam degeaba.

Read the rest of this entry »

I’m an idiot

In Augustin Preda on 3 februarie 2009 at 05:00

Iarasi un post despre eternul meu joc: Gusty’s Serpents.
Ar trebui sa imi salvez ideile intr-un mod mai constant ca sa invat din greselile comise in timpul developmentului acestui joc. Pentru ca se pot invata destule lucruri. Si nu ma refer doar la lucruri de natura tehnica (un nou limbaj, o noua biblioteca de functii). Mai importante sunt lucrurile de natura organizatorica pe care le inveti. Intr-un fel se abordeaza un joc mic, in alt mod unul mare, si ce se aplica la unul nu merge si la celalalt. E ca la razboi: ala care are tunuri il bate pe ala care are doar pusti. Dar la vanatoare de rate, desi tot de omorat e vorba, nu mergi cu tunul. Citeste mai departe…

Retineri

In George Moldovan on 1 februarie 2009 at 23:02

Cand aveam 9 ani fiul unor prieteni de familie mi-a prezentat HC-urile. Bun, eram mic si ce m-a cucerit la ele erau joculetele (Turtles Ninga, Commando). Dupa cativa ani, in acelasi loc, a aparut un 486. Culori, mouse, tastatura comoda si niste jocuri mai placute (Warcraft, Doom).
Desi nu faceam decat sa ma joc sau, mult mai rar, ‘programamez’ cerculete sau sunete, existau mereu doua tipuri de persoane in public (bineinteles, nu la propriu, nu eram un exponat): baiatul tehnic, programator, sigur de mine si preocupat de altele, apoi parintii, speriati ca eu, nestiutor, voi reusi cumva, pe aceste aparate scumpte, sa stric ceva numai apasand niste taste. El spunea ‘lasa-l sa strice, daca poate, asa invata’. Ceilalti, ‘ai grija’. Iar eu am preluat atitudinea lui relaxata de-a privi calculatoarele – nu mi-e frica sa ’stric’ ceva; Citest mai departe…