Bogdan Mocanu

Arhiva pentru mai, 2009

Rezultate live (3 bis)

In Alexandru Paler on 31 mai 2009 at 22:21

Scrisesem în episodul 3 despre posibilitatea de a folosi inteligenţa artificială în a ghici care echipaj are şanse de a abandona. Nu o să mai public acel episod dintr-un motiv simplu: ruşinea. La Raliul Iasiului 2009 Lucian Garbacea Sr. nu a scăpat cu viaţă după un accident petrecut la viteză mare. Abandonul nu e un show, este o tragedie. Îmi e ruşine şi îmi pare rău că m-am gândit să speculez tragedia printr-un artificiu tehnic pentru a spori spectacolul oferit de programul meu.

Acestea fiind spuse, am tot stat şi m-am gândit dacă e loc de inteligenţa artificială într-un sistem legat de calculul clasamentelor (indiferent de competiţie). Sunt nesigur. Încep prin a spune că o compeţie sportivă se bazează pe inteligenţa şi pregătirea sportivilor cât şi pe condiţiile impuse de regulament. Nişa în care s-ar putea implementa inteligenţa artificială este prognoza serioasă a rezultatelor sau a unei strategii de echipă. Într-adevar, prognoza unor rezultate este importantă, iar această prognoză poate ajuta strategiile echipajelor si ale echipelor. Deocamdată deţin prea puţine idei si informaţii despre strategiile de echipa, despre cum se face o prognoză etc., iar de aceea voi neglija subiectul.

Voi descrie însa un sistem distribuit care să uşureze introducerea timpilor si generarea de clasamente live. Read the rest of this entry »

Standardizarea in cadrul proiectelor – 1

In Bogdan Mocanu on 27 mai 2009 at 05:00

In cadrul proiectelor la care am luat parte, am intalnit atat situatii in care se foloseau anumite standarde sau conventii (formale, gen coding conventions, naming conventions, cat si ne-formale, cum ar fi numele directoarelor dintr-un anumit modul, numele fisierelor SQL, modul de abreviere a serviciilor sau a componentele, samd) cat si situatii in care aceste standarde/conventii lipseau.

Cu ocazia acestor intalniri, am experimentat senzatia placuta si confortul pe care ti le da un proiect bine organizat (chiar daca dupa niste reguli proprii acelui proiect) si disconfortul si frustrarea rezultate din interactiunea cu un proiect in care domneste haosul, fiecare contribuie la proiect in maniera proprie si fara niciun fel de respectare de reguli, de ajungi sa te intrebi cum de merge acea aplicatie si cum de chiar face ceea ce trebuie. Read the rest of this entry »

Reinventarea roatei cubice

In Audio, Augustin Preda, C++ on 25 mai 2009 at 09:23

Cum am spus în postul anterior, aveam nevoie de un media player pentru jocul meu. Mă rog, a avea nevoie e o expresie cam exagerată… să spunem că vroiam să adaug un “feature”.

Încercări de soluţionare a problemei folosind id3lib. Cautarile pe google îmi returnau id3lib ca soluţie pentru “C++ mp3 tagging library”. De la început m-a cam surprins vechimea lib-ului. Ultima modificare de cod data de peste 6 ani (2003). Iar în IT e ca o eternitate. Citeşte mai departe…

Rezultate live (2)

In Alexandru Paler on 21 mai 2009 at 02:48

Am reusit sa modific programul. L-am modificat intr-atat de bine, incat acum o sa imi inchid telefonul weekendul acesta cand e Raliul Iasului. Nu cred ca as suporta “apelurile de felicitare” din partea lui nea Bela.

Modificandu-l am intalnit o dilema. Pentru a o explica o sa spun cum functioneaza.

Un raliu este compus din mai multe probe speciala pe care echipajele ruleaza in regim de concurs. La stopul unei probe speciale echipajul este cronometrat, obtinand un timp. Pentru o proba speciala se realizeaza doua clasamente: un clasament al probei si un clasament cumulat pana la proba speciala. Adica daca proba speciala este PS5. Atunci clasamentul probei este cel al timpilor de pe PS5. Cel cumulat este clasamentul obtinut in urma adunarii timpilor echipajelor de pe PS1, PS2, PS3, PS4 si PS5. Read the rest of this entry »

Clientul nostru, stapanul… cui?

In Bogdan Mocanu on 15 mai 2009 at 08:43

Evident tot al nostru. Insa de-a lungul proiectelor prin care am trecut, m-am aflat de cateva ori in situatia de a avea de ales intre doua optiuni care ambele corespundeau cu cerintele functionale ale proiectului, ambele erau (aproximativ) la fel de rapide/performante/consumatoare de resurse insa una era simpla de implementatt si confortabila pentru mine (in unele cazuri chiar f. placuta) iar cealalta era mai complicata insa rezultatul era mai dragut si mai user-friendly pentru utilizatorul componentei sau al aplicatiei pe care o dezvoltam. Read the rest of this entry »

Joaca de-a sunetele

In Augustin Preda, C++ on 13 mai 2009 at 11:09

Am lansat Serpents 0.200, şi l-am transformat totodată într-un proiect în care experimentez diverse lucruri. Cum am dat deja de nişte noutăţi, mă pregătesc de următorul “release”. Ce va aduce în plus acesta faţă de precendenta versiune?

Doar o nouă versiune a motorului audio folosit, care nici măcar nu este final, poate chiar nici nu va fi finalizat vreodată, considerând că momentan toate funcţiile de care am eu nevoie sunt implementate. Am vrut să fac ceva mai mult, dar o serie de eşecuri iniţiale m-au descurajat de la a continua pentru o vreme în direcţia aceasta. M-am consolat cu gândul că dintre cei care au downloadat jocul până acum, numărul celor care au instalat si pachetul suplimentar pentru muzică a fost destul de mic. Deci numărul celor care ar fi avut şansa de a observa featurile noi e destul de mic.
Citeşte mai departe…

Rezultate live

In Alexandru Paler on 9 mai 2009 at 08:11

Prin 2005 am fost pus sa fac un program care calculeaza in timp cat mai real clasamentele unui raliu. Adica un pilot realizeaza un timp pe o anumita proba a raliului, iar eu vreau sa stiu cat mai repede pe ce pozitie se afla. Avant tineresc…m-am apucat de munca, iar in 2 nopti aveam programul de care eram foarte mandru.

Raliul de la Campulung m-a surprins. Nu ma asteptam ca in momente de stres sa nu stiu sa imi mai folosesc programul. A fost un alfa-testing live, presarat de urletele si cuvintele de bine ale lui nea Bela, care pe atunci era team-manager la echipa BKP. Reparam in timp live programul care trebuia sa calculeze in timp live rezultate. Rulam din Visual Studio cu Debugging, cand aparea cate o exceptie aveam o foaie pe care imi notam repede linia de cod si pasii pe care ii puteam reproduce. Apoi programul era inchis, si pierdeam timpii pe care nu ii salvasem. Reintroduceam timpii…Crapa din nou peste o jumate de ora.

Dupa raliu am mai stat o noapte sa il repar. Read the rest of this entry »

Serpents 0.200 a fost lansat

In Anunţuri, Augustin Preda on 7 mai 2009 at 05:00

La aproape un an de la lansarea primei versiuni de Serpents, am reuşit să fac publică o nouă versiune a jocului meu. Încă există însă sisteme pe care nu am reuşit să îl fac să ruleze. Cu ocazia aceasta am descoperit anumite probleme ce pot fi întâlnite în una din fazele finale ale dezvoltării de software şi anume procesul de instalare (în engleză aş folosi termenii de “install & deploy”).

Am început deja lucrul la urmatoarea incrementare: versiunea 0.201, încercând deja alte lucruri (mai) noi.
Jocul e în continuare scris în C++ şi tot în continuare un proiect folosit în principal pentru a testa idei şi pentru a pune în practică lucruri proaspăt învataţe. Despre lucrurile pe care le-am învăţat pe parcursul dezvoltării acestui joc voi vorbi în principal în perioada urmatoare.
Citeşte mai departe…