Bogdan Mocanu

Arhiva pentru 2009

Silverdocs, sau memoria de elefant

In Bogdan Mocanu, Java on 8 noiembrie 2009 at 23:18

memorie de elefantEi bine, se stie ca sintagma cu memorie de elefant nu este adevarata, micutele animale avand chiar o memorie mica, comparativ cu frumoasa incinta in care o stocheaza. Si totusi titlul e potrivit pentru articolul curent, in care ma adresez in special programatorilor ce lucreaza pe platforme ce comporta o multime de biblioteci, care necesita o multime de configurari si bucatele mici de cod configurate cum trebuie, astfel incat aplicatia dezvoltata sa functioneze cum trebuie. Cititorul atent a observat ca ma adresez cu predilectie programatorilor de Java, insa nu numai.

Problema pe care o ridic este urmatoarea: cum reusiti sa tineti minte toate configurarile, bucatelele de cod, posibilitatile de configurare, toate optiunile ce trebuie folosite atunci cand lucrati cu Hibernate, JPA, Spring, JSF, Struts, etc, faceti deploy pe JBoss, Weblogic, Websphere, doriti sa aveti HTTPS pe server, doriti sa aveti basic/digest/form authentication, trebuie sa va semnati aplicatia cu un certificat de test generat tot de voi, cum tineti minte care sunt URL-urile pentru API, documentation, manual de utilizare, reference page, cheat sheets, downloads page, etc. Cum reusiti sa tineti minte toate chestiile astea? Le notati undeva? Sau le cautati de fiecare data pe Google? Citeste mai departe…

Sub JME – Java card si Smart cards (Part 1)

In Bogdan Mocanu, Java on 1 noiembrie 2009 at 14:07

Chip de smard cardDupa cum bine se stie in aria de Java, avem 3 platforme de dezvoltare: JEE (aplicatii enterprise, application servers, web stuff), JSE (desktop applications, Windows forms, GUI, Swing/AWT/SWT) si JME (MIDP si CLDC, aplicatii pentru device-uri cu limited capabilities (procesor+memorie), cum ar fi, in special, telefoanele mobile dar si frigidere, cuptoare cu microunde, etc).

Recent am citit niste stiri care, combinate cu curiozitatea nativa, m-au dus sa descopar inca o platforma, mai mica decat JME, si anume Java Card. In cele ce urmeaza doresc sa prezint cateva informatii legate de Java Card si Smart cards, urmand sa revin, intr-o parte a 2-a, cu informatii suplimentare, development process si sample-uri de cod.

Citeste mai departe…

automate celulare [introducere]

In Alexandru Paler on 30 octombrie 2009 at 00:35

Schimband din nou directia in care vor oscila interesele mele stiintifice am ajuns sa cunosc automatele celulare. Spre rusinea mea nu auzim de ele pana acum 6 luni. Ma minunasem si apoi am inceput sa citesc materialele existente pe internet. Chiar am inceput sa imi fac ganduri sa citesc anumite carti despre ele.

Modul in care eu le-am inteles este urmatorul. Automatele celulare sunt construite din celule. Cel mai simplu este ca acestea sa fie imaginate drept caroiajele unui caiet de matematica. Un rand al unei pagini de caiet este un automat celular unidimensional. O pagina este un automat celular bidimensional. Un caiet inchis este un automat celular tridimensional (a treia dimensiune este data de paginile stranse laolalta intre coperti). Si asa mai departe…. Read the rest of this entry »

Din IT

In Augustin Preda, General on 21 octombrie 2009 at 07:16

M-am uitat peste gVim, după ce l-am văzut ca aplicaţie portabilă. Cât am fost în facultate, am folosit vreo 5 zile (obligat fiind să fac treaba asta) vi. Cum am mai spus in comentariile acestui blog, nu am înţeles de ce se foloseşte aşa ceva. La ce ajută pe unii ca au feature-uri bune cuplate cu o interfaţă din secolul 18? Necesită timp de obişnuire pentru a ajunge la productivitatea oferita de un editor de text ce suporta macrouri. Tendinţa în software e de interfeţe naturale, intuitive. Vim înoată împotriva curentului obişnuit. vim se vrea un “Vi Improved”. Mare greşeală, să îmbunătăţeşti ceva fundamental greşit, zic eu.

Bullet e o bibliotecă de unelte pentru calcule fizice. E open-source şi folosită în destule proiecte open-source. Printre ele, se numără şi OGE. Se pregăteşte şi suport hardware pentru Bullet. Grozav!
Citeşte mai departe…

Joc = artă?

In Augustin Preda, Fara un scop on 13 octombrie 2009 at 05:00

Ce este un joc? În primul rând, este o formă de prezentare a unei idei, asemenea unei picturi, unei poezii, unui roman, unei cărţi, unui film, unui program TV. Diferă de celelalte medii mai ales prin faptul că este interactiv. Şi ca şi celelalte medii, poate fi folosit pentru a purta în principiu orice mesaj, putând deveni astfel artă.

Ce e arta? Ne zice wikipedia. Practic, nu ştie nimeni ce e arta, dar impresia generală e că dacă un lucru e uşor de făcut/imaginat pentru mulţi oameni, nu e artă. Eu mă încadrez în grupul celor care adoptă o poziţie relativistă cu privire la artă (a se vedea definiţia de pe wiki). Citeşte mai departe…

Cum ar arata mail-ul…

In Bogdan Mocanu on 10 octombrie 2009 at 13:06

… daca ar fi inventat astazi?google-wave-logo

Recent, e un mare buzz in jurul unui produs de la Google, numit Google Wave. Sistemul este inca in varianta de preview, s-au adunat cereri de account-uri, Google a deschis un sistem de cereri si oferte de invitatii. Per ansamblu, tot mai multa lume vorbeste si comenteaza pe tema acestui nou sistem. Un film de prezentare de 1h 20min poate fi accesat aici, un film mult mai scurt cu 15 hot features din Google Wave poate fi vizualizat aici. Citeste mai departe

Din IT

In Anunţuri, Augustin Preda on 7 octombrie 2009 at 12:58

Am tot vrut sa scriu un articol despre motoarele de jocuri si cum au evoluat si ce am observat la Open Game Engine de cand am inceput sa ma joc cu el. Dar nu am nimic finalizat inca. Asa ca voi face acest mini-post cu stiri.

Total Commander 7.50a a fost lansat. Nu stiu altii cum sunt, dar eu cand ma gandesc la vremea cand lucram doar cu Windows Explorer, ma ia cu tremurici.

Noi filme cu Starcraft au fost lansate: unu, doi si trei.
Citeste mai departe…

despre modele

In Alexandru Paler on 30 septembrie 2009 at 23:59

Probabil ceea ce m-a impresionat cel mai mult in ultima perioada este concertul Iggy Pop la care am fost. Dupa o perioada de timp in care am ascultat mult Iggy, in care am citit cam tot ce era online despre, in sfarsit am ajuns la un concert. La Duisburg. Un nene de peste 60 de ani canta si facea spectacol pe o scena. Inca era Iggy, omul care a fost sursa muzicii punk. Gandindu-ma la ceea ce am vazut si am trait in cele 3 ore de concert mi-am dat seama care este legatura cu ceea ce fac eu in ziua de azi. Nu exista nici o legatura.

Care este modelul pe care il apreciez in lumea mea de computer scientisti? Sau care este modelul meu in ceea ce priveste modul de a privi problemele? Linus, Noam, Donald, Thomas, Larry, cine? Cum ma impresioneaza biografiile lor romantate? Relatia personala cu modelul banueisc ca este directa. Modelul (denumit incorect drept idol) este pentru mine cineva pe care in gandul meu il apreciez la persoana intai. Iggy si nu dl. Pop. Deci nu dl. Torvalds, dl. Chomsky, dl. Knuth, dl. Ellison sau dl Cormen. Read the rest of this entry »

Cautare de game engine

In Augustin Preda, C++ on 29 septembrie 2009 at 08:12

Nevoia de a explora lucruri noi si de a invata este aproape constanta. Dar capacitatea de a invata este limitata de mai multi factori, cel mai important dintre acestia fiind timpul. Dar, oricat de putin timp e investit, lucruri noi se pot invata, iar invatarea lor va produce schimbari in abordarea problemelor.

M-am uitat peste diferite motoare de joc open source in ultima vreme, cu scopul de a porta Serpents acolo si de a pregati terenul pentru un urmator proiect. Asta dupa ce am incercat sa adaug suport de scripting folosing Lua, si totul mergea bine pana mi-am dat seama de un lucru: foloseam mai multe threaduri, si vroiam sa permit scriptarea fiecarui thread. Ce inseamna asta? Inseamna ca ar trebui sa fac un redesign si sa adaug inca cateva zeci (poate sute) de mutexuri pentru a ma asigura ca nu va crapa jocul in mod aleator. Citeste mai departe

PsPad si Notepad++

In Augustin Preda, General on 22 septembrie 2009 at 05:00

In ultima luna nu am prins un weekend macar acasa. M-am plimbat intr-una. Nu stiu daca e de bine sau de rau, dar nu am avut timp mai deloc pentru blog. Am reusit sa compun, lent, timp de vreo 2 luni un alt post, pentru un alt blog, pe o alta limba. Dar nu se incadreaza in regulile de postare de aici, asa ca m-am gandit ca in lipsa de timp, de data asta voi face un simplu forward.

Articolul poate fi vizualizat aici.
Citeste mai departe…

Exceptiile in Java

In Bogdan Mocanu on 20 septembrie 2009 at 11:07

Vinerea care tocmai a trecut, cautand informatii legate de un cu totul al subiect (serialVersionUID in clasele Java), am dat peste postul asta: Plugins that generate serialVersionUID. Pe la 1/4 din post, discutia o ia putin pe aratura, si se trece la a discuta mecanismul de exceptii din Java, folosirea improprie a exceptiilor, si, lucru cel mai interesant, cam cum ar trebui de fapt sa fie acest mecanism de exceptii (in principal in Java, insa conceptele discutate, desi la un nivel nu foarte profund, totusi se pot aplica oricariu limbaj).

Din discutia curenta o sa las la o parte folosirea improprie a exceptiilor, si faptul ca oricat de safe sau de inteligent ai face un mecanism, pana la urma el se bazeaza pe folosirea judicioasa a facilitatilor oferite de limbaj. Asadar, dupa cum bine se stie, exista 2 tipuri de exceptii in Java: exceptii checked si exceptii unchecked (aka exceptii runtime). Citeste mai departe

Tot despre retele, dar sociale

In Bogdan Mocanu on 15 septembrie 2009 at 07:00

Recent am dat peste urmatoarea gaselnita: XHTML Friends Network. Pe scurt, pe bloguri, la link-urile care de obicei sunt cuprinse in rubrica Blog Roll sau Links, se ataseaza atributul HTML ref=”xxx yyy zzz”, unde poti pune o serie de tag-uri prestabilite, indicand gradul tau de amicitie si modul in care ai cunoscut persoana catre care faci referire.

Mai concret, daca eu am blogul ionel.wordpress.com, iar Maria are blogul maria.wordpress.com, iar eu ca Ionel o plac pe Maria, atunci la link-ul catre blogul ei pun <a href=”http://maria.wordpress.com” ref=”met friend crush“>Maria</a>. Astfel prin tag-ul XFN “met” indic faptul ca am cunoscut-o pe Maria in real life, “friend” ca sunt prieten cu ea, si “crush” ca sunt mort dupa ea. Citeste mai departe

retele virtuale

In Alexandru Paler on 11 septembrie 2009 at 01:12

Retelele virtuale nu reprezinta ceva nou in lume, pentru mine insa sunt o noutate. Fiind lovit de nevoia de a invata despre ele am incercat sa le inteleg. Bineinteles ca exista multe metode a construi retele virtuale, exista VPN-uri, VLAN-uri si alte asemenea tehnologii care contin cuvantul virtual in nume. Dar si retelele P2P sunt practic retele virtuale. O retea virtuala este o retea create in interiorul altei retele, o retea logica practic.

Varful cercetarii caruia am fost expus este reteaua obtinuta prin aplicarea virtualizarii de sistem. Se ia un Linux care se foloseste pe post de router. Imaginea acestuia se numeste router virtual. Acest router virtual este rulat cu Xen, VMWare sau orice alta solutie de virtualizare. Masinile virtuale care contin aplicatii se folosesc de aceste routere virtuale, iar in acest fel se construiesc retele virtuale. Sau cel putin asta este parerea pe care o aud zilnic. Nu pot impartasi parerea ca aceasta metoda este o solutie care sporeste intr-o mare masura flexibilitatea sau rezistenta retelelor existente. Virtualul depinde de real, de componenta fizica. Pot accepta insa ca exista cai de a folosi util asemenea retele. Parerile mele insa nu sunt importante intr-o atat de mare masura. Read the rest of this entry »

Un Mario inteligent

In Alexandru Paler on 6 septembrie 2009 at 13:21

Incepusem ziua de luni. Ajuns la universitate gandul la cafeaua aia amara din filtrul negru nu ma atragea decat din cauza ca lipsa de energie era mai enervanta decat tensiunea imensa oferita de otrava aia. Si apoi pornind gmailul, citind linkurile din lista aia care apare deasupra emailurilor am aflat despre faptul ca exista un concurs cu tema data. Cine reuseste sa il faca pe Mario sa joace singur; sa nu moara si sa termine nivel dupa nivel. Apoi ce sa fac? Conferinta era la ora 4. Fascinanta. Asa ca m-am apucat sa citesc ce si cum despre Mario. Nu banuiam sa ma prinda, mai ales ca nici cafeaua nu era deosebita.

Sunt un om al impulsurilor. Pana se declanseaza impulsul sunt exagerat de cerebral, dar apoi se duce tot, nu mai vad nimic in fata ochilor si ma incapatanez. Ma incapatanez sa fac ce imi doresc. Rasfatul meu. Read the rest of this entry »

Netbook?

In Augustin Preda, Hardware on 1 septembrie 2009 at 07:31

Mi-am luat un netbook de prin aprilie. Era hip, era cool. Am sarit si eu la bord cu un Fujitsu-Siemens (acum e doar Fujitsu) Amilo Mini. Vroiam ceva rezistent, iar amilo-ul este rezistent. E si asemanator cu EEE-ul de la Asus… ma rog… cu modelele de pe la inceputul anului, caci acum e plina piata de tot felul de netbookuri. Uitandu-ma in urma, acum as alege un Aspire one, dar decizia nu mai poate fi anulata.

amilo mini

amilo mini

Citeste mai departe

Si eu, cu testarea

In Augustin Preda, Testare on 19 august 2009 at 11:05

Ocupat…

De o perioada buna de zile am avut un program aglomerat… si nu se intrezareste ceva diferit la orizont. Nu am mai avut timp de blog… Ok, afirmatia asta e asemenea unuia care spune ca nu are bani de iPhone, dar isi plateste chiria de 600 de euro: puteam sa gasesc timp, evident, dar am avut alte prioritati in timpul liber, si anume relaxarea.

Ce-am facut in ultima vreme? … in afara de relaxare.

Am automatizat teste. Stii probabil ca e bine ca atunci cand scrii niste cod, sa-l testezi, facand un unit test sau component test, nu? Ma rog… mai putin cand se schimba codul des si ai de intretinut si testele. E destul de bine sa automatizezi procesul daca e posibil. Citeste mai departe…

In Innstadt se poate cerceta?

In Alexandru Paler on 13 august 2009 at 11:07

Cercetarea pe care lumea o presupune facuta de oameni imbracati in halate albe se prezinta altfel in campul muncii.

Relatare din Passau.

Cand am ajuns aici mirosul gelului si fixativului, a cremelor de soare aplicate pe piele de barbat sau studenta blonda m-a uimit. Cladirile noi, mediul academic impresionant. Sticla, cladiri gri sprijinite de verdeata, totul era curat, aranjat si sclipitor. Biroul meu intr-un etaj de cladire gri si secretara care vorbeste bavareza. Fabricile de bere din Innstadt, Hacklberg sau cea din centru, Löwenbräuerei. Agitatie seara pe promenada, Dunarea si Inn-ul care se unesc in continuarea unui varf de pamant plantat cu banci inconjurate de gratarele stundentilor.
Read the rest of this entry »

Pareri… testate

In Bogdan Mocanu on 8 august 2009 at 10:00

La proiectul la care lucrez acum la firma am terminat faza de implementare, am intrat in faza de testare, Q&A, testare, bug fixing (nu ca nu am fi facut si pana acum bug fixing), testare si… testare am zis? :) De-a lungul dezvoltarii acestei prime versiuni a aplicatiei, am descoperit o serie de “best-practices”, ca sa zic asa, chestii pe care le observam cat de misto/avantajoase sunt doar in punctele sau in momentele cand acestea ar fi trebuit sa existe, si nu erau. Practic lipsa lor ma facea sa imi doresc sa fie. Unul din aceste puncte este legat de unit-testing.

M-am decis asadar sa scriu un mic post, pe care intentionez sa il dezvolt pe urma intr-un articol mai detaliat, cu aceste “personal best-practices”, publicat eventual pe blog-ul meu. Pana una-alta insa, iata ce practici am descoperit ca sunt benefice cand scrii unit-tests. Citeste mai departe

7zip automatizat

In Augustin Preda, General on 23 iulie 2009 at 05:00

7zip e un arhivator grozav.

E open-source, relativ mic, suportă nişte rate de compresie foarte bune şi poate fi folosit şi din linie de comandă pentru automatizarea anumitor sarcini.

Fiind open-source, a început să fie folosit pe scară larga pentru comprimarea diferitor proiecte distribuite gratuit. Şi eu am preluat ideea, oferind opţiunea unei arhive 7zip spre download, pe lângă cea a unui installer. Proiectul meu are o structură de fişiere destul de întortocheată pe disc.
CIteşte mai departe…

Open source + LGPL = love

In Augustin Preda, General on 16 iulie 2009 at 07:26

OGRE, un motor grafic care e tot mai des folosit în proiecte comerciale.

Un exemplu destul de recent este Torchlight, un joc ce “fură” multe elemente din seria Diablo. Pun fură între ghilimele, deoarece (din fericire) nu e uşor să pui patent pe elemente de joc, iar copierea de idei e un lucru ce filtrează aspectele reuşite ale unui joc şi rezultă în jocuri ulterioare mai bune. Click pe imaginea de mai jos pentru a vedea filmul.

Torchlight

Torchlight

Citeşte mai departe…

Un model economic diferit

In Augustin Preda on 8 iulie 2009 at 05:00

Ozcdkeys e un site de oferă cd-key-uri. Momentan doar de jocuri. Primul comentariu pe care l-am citit pe site, acela venind de la cineva care spune că ar fi din România, ne spune ca treaba e pe bune.

Care treabă? Păi modelul de achiziţie e următorul:
Tu cumperi codul de licenţă de la ei. Dar nu ai jocul (sau produsul software) în sine pe un mediu fizic. Jocul îl downloadezi din altă parte: torenţi cel mai probabil. În modul ăsta se pot descărca şi legal date de pe torenţi. Şi per total ieşi mai ieftin decât dacă luai de la început cd-ul din magazin. Citeşte mai departe…

Visul unui soft perfect

In Bogdan Mocanu on 6 iulie 2009 at 09:00

Mă gândeam zilele trecute ce puncte ar trebui să acoperi pentru a face un soft perfect. Aici, prin perfect, mă refer nu numai la îndeplinirea exactă şi completă a funcţiilor pentru care acel soft a fost conceput, nici la oferirea către utilizator a unei interfeţe intuitive, uşor de folosit, complet ergonomică, şi aşa mai departe. Mă refer în schimb la abilitatea soft-ului de a face faţă cu brio în orice condiţii ar fi rulat. Mă refer la abilitatea lui de a îşi adapta interfaţa la absolut orice necesităţi sau condiţii ciudate ar avea utilizatorii săi.

Prin urmare m-am decis să incerc să identific măcar o parte din cazurile în care soft-urile sunt puse în dificultate. Plec evident de la premiza că părţile care sunt în general adresate în proporţie cât mai mare de dezvoltatori (funcţiile soft-ului, utilizarea memoriei, interfaţa grafică, etc) sunt acoperite 100%. Prin urmare avem un program care nu are bug-uri, nu crapă sau se blochează, nu consumă toată memoria de pe maşina gazdă, nu are funcţii lipsă. Cu alte cuvinte, merge perfect.

Read the rest of this entry »

Monty Python

In Augustin Preda, Logică on 24 iunie 2009 at 22:21

Problema: Monty Hall, Monty Fall, Monty Crawl. via codinghorror.

Pe scurt ce zice problema:
Dacă eşti la un concurs cum au fost şi la noi o vreme “Preţul corect” sau ceva de genul ăsta şi ai un premiu o maşină dacă ghiceşti în spatele cărei uşi se află, având o încercare, ce şanse de câştig ai? (Răspunsul e simplu: 33%, nu?). În spatele celorlalte 2 uşi sunt … capre. Se presupune că urmăreşti să câştigi o maşină, nu o capră.
Citeşte mai departe…

Ploua in lumea virtualizata

In Alexandru Paler on 22 iunie 2009 at 20:36

Ma intrebase Gusti intr-un comentariu daca am baut berea aia, adica daca mi se pare interesant domeniul virtualizarii. Da, am baut berea, dar de atunci am baut mai multe pentru ca in Passau, aici, berea e ca apa (desi apa e ca berea ca la culoare). In orice caz… domeniul e interesant pentru mine.

Trec oarecum printr-o perioada pe care tot Gusti a descoperit ca se numeste “burnout”. Perioada asta m-a oprit sa aflu mai multe despre ceea mi-am propus, mai ales ca a trecut o luna de cand am inceput munca. Sunt nemultumit ca nu aprofundez nimic in afara de oboseala si inceputuri promitatoare de burn-depresii. Dar sa revin la virtualizare… Read the rest of this entry »

Povestea unui “release” – II

In Anunţuri, Augustin Preda, Întâmplări on 17 iunie 2009 at 09:37

Am lansat Serpents 0.203.

Am eliminat suportul pentru OpenGL, şi odată cu el, şi o parte semnificativă de testare. Motivul principal a fost faptul că nu reuşeam nicicum să fac jocul să ruleze stabil. Aşa că am ales calea mai uşoară: am integrat un update de DirectX în installer. Acum varianta cu DirectX merge bine aşa cum e livrată, chiar dacă necesită câteva secunde în plus pentru download. Pe useri nu prea îi interesează ce engine e folosit, cu posibila excepţie a celor care ar vrea sa îl încerce sub Linux cu un emulator. Aşa că am scăpat destul de uşor. Citeşte mai departe…

Primul pas in lumea virtualizata

In Alexandru Paler on 11 iunie 2009 at 23:18

O noua locatie. Universitatea din Passau. Din ceea ce am prins pana acum se pare ca lumea este innebunita de ceea ce presupune virtualizare, incercand sa cerceteze in domeniu. Virtualizand se poate economisi spatiul ocupat de servere, curentul utilizat inutil etc. Are insa si virtualizarea partile ei rele, dar totusi se pare ca cele bune prevaleaza.

Ajuns in biroul meu (acum sunt important pentru ca am numele trecut pe o usa) am primit niste descrieri de proiecte care sunt legate de virtualizare. Le-am citit si am ramas putin nedumerit. Eu ce trebuie sa fac?

Intreb colegul “Eu ce trebuie sa fac?” Raspunsul “Citeste si apoi discutam.”. Termin de citit. Fascinant. Punctele culminante, agitatia pe care mi-a trezit-o lectura, toate impreuna mi-au ridicat nivelul interesului. Am intrat pe forumul de la autorally sa vad cine si despre ce se mai cearta. Am mers la cantina. Am mancat niste resturi, pentru ca mancare nu se putea numi, am facut drumul inapoi la birou si pe drum mi-am dat seam ca eu nu stiu ce inseamna virtualizare. Read the rest of this entry »

Povestea realizării unui “release”

In Augustin Preda, Întâmplări on 5 iunie 2009 at 10:45

(Sau) Mini-log despre o versiune de “Serpents”.

Subiectul este un proiect personal, concret, un joc. E programat dintr-o aşa-zisă “plăcere”. De fapt e programat cred mai degrabă din cauza neîmplinirilor în plan profesional. Nu lucrez cu grafică 3D, cu interfeţe de utilizator, să pot vedea rapid dacă ceva merge bine sau rău, nu lucrez cât vreau la lucruri care să ma stimuleze intelectual, nu lucrez cu un limbaj foarte răspândit / cunoscut, sa pot face un schimb de experienţă cu alţi oameni şi nu produc ceva care să pot arăta altor oameni, zicând : “Uite, eu am lucrat la chestia aia”.
Citeşte mai departe…

Standardizarea in cadrul proiectelor – 2

In Bogdan Mocanu on 3 iunie 2009 at 09:00

In postul anterior am luat in discutie standardizarea la un nivel foarte jos in proiect, si am prezentat Maven ca un build system cu o multime de avantaje, care din start promoveaza un standard in structura modulelor. Este de ajuns sa lucrezi cu un singur proiect Maven, pentru a te adapta usor si a-ti gasi drumul in absolut orice alt proiect/modul Maven.

Trec mai departe abordand impartirea pe module. Intr-un proiect anterior am avut o structura care mi-a placut foarte mult. Aplicatia era compusa din mai multe servicii, fiecare serviciu publicand o serie de functionalitati catre celelalte servicii. Prin urmare am hotarat ca fiecare serviciu sa aiba cel putin 3 module Maven: interfaces, business si persistence. Read the rest of this entry »

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…

Prefaţă II – manifest

In Fara un scop on 27 aprilie 2009 at 13:23

A trecut ceva vreme de când nu s-a mai scris pe acest blog. Din cei 7-8 contribuitori iniţiali, am mai rămas numai 3 deocamdată, aceştia fiind:
- Alexandru Paler
- Bogdan Mocanu
- Augustin Preda

După o discuţie cu Alexandru, în care am dezbătut diferite probleme ale blogului, de la tematică şi utilitate până la felul în care arată, am decis să începem să scormonim după idei, dar din lipsă de timp, nimeni nu s-a pus serios pe treabă.
Citeşte mai departe…

vacanta

In Alexandru Paler on 5 martie 2009 at 17:01

Conservam cele scrise pana acum si revenim cu idei noi pe 2 aprilie mai.

Religia limbajelor de programare

In Augustin Preda on 3 martie 2009 at 05:00

Ideea a pornit de la articolul acesta. Ok, dincolo de partea hazlie, si de controversa cauzata de toti netotii care au luat lucrurile prea in serios, apare o intrebare: sunt limbajele precum religiile?
Tind sa cred ca nu… desi eu unul as fi un musulman foarte supus… macar teoretic :-)

Lucrurile definitorii pentru religiile majore sunt: a) ofera o “solutie” la intrebarile existentiale ale omului legate de scopul sau in viata si de cum ar trebui sa-si traiasca viata, b) eliminand in acelasi timp posibilitatea ca alta religie sa aiba solutia corecta. Citeste mai departe…

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…

OS Santa

In Bogdan Mocanu on 30 ianuarie 2009 at 23:12

Draga Mosule, fiindca am fost baiat cuminte all my life, am ceva dorinte pentru tine. Specific, as vrea niste chestii modificate in sistemele de operare (si aici ma refer la OS ca si produs in general, nu la Windows, Linux, Mac, etc). Mai exact, am stat si m-am gandit, si sincer chestii gen transparenta, Aero, Beryl & Compiz si chestii de genul asta sunt dragute, insa nu sunt functii pe care sa le astept asa de nerabdator de la producatori. Prin urmare iata ce imi doresc.

(Disclaimer: stiu, Mosule, ca s-ar putea unele chestii sa fie fanteziste sau inutile, dar oricum, si anul trecut ti-am cerut chestii fanteziste, si mi le-ai adus, asa ca poate merge si tura asta :) ). Read the rest of this entry »

ze butcher

In Alexandru Paler on 29 ianuarie 2009 at 11:20

Vreau sa povestesc despre cum am reusit sa inteleg comunicatia pe portul serial folosind C++.

Vine “papa” si ma anunta ca a dat de un tip pe holul facultatii care cauta pe cineva sa ii faca o aplicatie, care sa ii deseneze curbe (era sa scriu o porcarie)…. platea 100 de euro. Zic bine. Un ban in plus nu strica, munca nu parea grea. Era perioada in care ma puneam cu finantele pe picioare, cand incepusem sa descopar amazon.com si dependenta de cafea. Incep si lucrez. Java, Swing si salvare in fisiere CSV. Minunat, imi spun ca sunt un geniu, astept plata. Bineinteles ca strategia agila aplicata de client (sau stapan?) era sa mai ceara si alte functii. Oricum ma simteam cu musca pe caciula ca il tapam rapid de bani. Bag si noile cerinte. Iau banii. Ma chinui inca 2 zile, cobor toti sfintii din cer, ii arunc cuvinte de bine in gand programului, arunc prin camera (la propriu) cu tot ce imi trece prin mana. Termin. Il binecuvantez pe client, imi reprosez ca sunt slab si nu ma ating de bani, spunandu-mi ca nu imi trebuie.

Sunt linistit. Read the rest of this entry »

Comunicare

In Lucian Sasu on 28 ianuarie 2009 at 11:24

Aveam un manager la un moment dat care intr-un context oareacre a zis: “Communication is the sollution of all problem”. Tipul era (este)  inteligent, trecuse prin viata si prin proiecte si stia ce vorbeste, motiv pentru care mi-a ramas ca tema de mediatatie. Daca stai da cugeti, lucrurile pot avea o mare doza de adevar (dar conform a ceea ce reprezinta “belief networks”, fiecare e liber sa creada cat vra din asta).Se referea la comunicarea client-dezvoltator in principal.

Ma gandesc ca aceasta comunicare poate avea loc si la alt nivel: intre invatamant si mediul academic. In mediul universitar lucrurile sunt un pic mai relaxate decat in liceu sau scoala generala: in timp ce in preuniv trebuie sa urmezi o programa stricta, in facultate ai o oarecare libertate de dirijare a cursului/laboratorului/seminarului. Sau poti sa intervii cu niste optionale. Ceea ce ne trebuie (si cand zic trebuie, zic ca lipseste – deocamdata) este comunicarea cu cei din industrie.

Read the rest of this entry »

Un nou model pentru directX ?

In Augustin Preda on 27 ianuarie 2009 at 05:00

(Titlul e inspirat partial de un post al lui Bogdan).
DirectX … sau cel putin direct3D e clar cel mai popular API grafic pentru jocurile care apar în ziua de azi pe PC. Eu nu ştiu Direct3D deloc, dar jocul meu deşi “stie” atât Direct3D cât şi OpenGL merge ceva mai rapid pe Direct3D. Cauza e probabil felul în care e construit motorul OGRE şi optimizările pe care le are. O metodă simplă de a avea un plus de performanţă este rularea aplicaţiei în mod fullscreen, obţinerea modului video exclusiv. Iar majoritatea jocurilor din ziua de azi urmează această abordare. Citeste mai departe…

Legi pentru Marte

In Sergiu Ignat on 26 ianuarie 2009 at 02:01

Scurt istoric al dreptului proprietăţii industriale

După ce au pedepsit în fel şi chip divulgarea secretelor de breaslă, edilii Veneţiei au emis în 1474  o primă lege a brevetelor  care oferea, în schimbul publicării unei noi invenţii, dreptul de monopol asupra acelei invenţii şi pedepsea orice contrafacere. Legile de acest tip au permis oraşelor italiene de la acea vreme să depăşeasca cu mult alte state europene. Mai târziu, regii Franţei, încercând să reducă importurile din Italia şi să mărească exporturile, au emis legi care protejau atât invenţiile noi, cât şi meşteşugurile aduse de peste hotare. Englezii nu au aşteptat mult, doar vreo sută cincizeci de ani dupa veneţieni, până au adoptat şi ei o lege similară, idee care a fost îmbrăţişată şi în Statele Unite, datorită moştenirii britanice. După 1815 Prusia si alte state dezvoltate din Europa au adoptat legi care stimulau inovaţia. In Moldova şi Muntenia “născocirile” au început să fie protejate de Regulamentul Organic (1831). În Transilvania se respecta legea austriacă de pe la 1810.

Nu toate statele se grăbeau să se dezvolte. În Japonia, printr-o ordonanţa din anul 1721 se interzicea orice activitate inventivă. De abia în 1871 a fost edictată prima lege a brevetelor, de inspiraţie americană.

Azi …

Dreptul brevetului este Read the rest of this entry »

Fixuri

In George Moldovan on 25 ianuarie 2009 at 23:33

Astazi voi scrie putin – sunt extrem de obosit, imi cer scuze.

In a noastra facultatea-tehnica, de aici, Germania, profesorii se chinuie sa invete. Am doua exemple cu oameni peste 60 de ani: unul programeaza constant in C, parseaza date, interogheaza DNS-uri si persista datele in sql(lite); altul imi spunea astazi, in timp ce ne faceam plimbarea de dupa cei 9 km de fuga saptamanali (!), ca invata cursurile de C si C++ pentru a putea evalua programele studentilor dincolo de ‘merge’/'nu merge’ sau rotunjiri potrivite (double + 0.5 = int, dupa cast).

Am citit saptamana asta intrebarea cuiva si toti raspunsesera cu nu – era daca poti invata programarea in 21 de zile si credibilitatea cartilor care promit asta (nici eu nu cred ca este posibil). Sung sigur ca oamenii de care am pomenit mai sus sunt foarte constienti de efortul necesar pentru a invata lucruri noi. Doar numai a sti nu ajunge. Probabil ca toti cunosc, pana la urma, chiar si batraneii vestiti din facultatea noastra mioritica (din povestiri adunate) – la fel ca si atunci cand fugi, pana la urma, nu trebuie sa termini ca sa stii ca este greu; exista un prag psihologic de care se lovesc toti cei care incearca, fie ca termina sau nu. Al doilea (prag) este puterea de a relua experienta. Si asta admir cel mai mult. Citeste mai departe…

Functii IDE (in)utile

In Bogdan Mocanu on 23 ianuarie 2009 at 19:59

Citind articolul lui Alex de ieri cu privire la unelte UML, in care mentiona Borland Together, mi-am adus aminte de unele functii de prin IDE-uri si unelte RAD (Rapid Application Development) care si acum si si la vremea la care am folosit respectivele unelte, mi s-au parut inutile. Asta, sau poate modul in care sunt obisnuit sa lucrez sau exigenta pe care o cer de la codul pe care il scriu nu se potriveste cu aceste functii bagate pe gat de catre IDE-uri.

Dar sa le luam pe rand. Read the rest of this entry »

…, dar de ce?

In Alexandru Paler on 22 ianuarie 2009 at 00:01

In ultima perioada m-a preocupat documentarea lucrarii mele de master. O sa fie o insemnare scurta, pentru ca inca ma preocupa munca asta. Ceea ce vreau sa povestesc, este ca eu nu mai suport unelte gratuite, open-source sau pe bani putini pentru desenat diagrame UML.

Experiente recente:
- Poseidon UML. O unealta simpatica scrisa in Java. Ar putea face multe. Simplu de folosit. Insa nu poate importa fisiere XMI (standard XML pentru descrierea diagramelor). Nu poate importa nici fisiere C/C++/C# pentru a genera diagrama claselor. Poate importa Java. Se poate folosi gratuit pentru 30 de zile. Pe scurt e bun, dar nu ma ajuta la partea cu C++. Dar de ce poate genera cod C++ (in versiunea Professional) daca nu il poate importa?

- StarUML. Alta unealta simpatica. De Windows. Incearca sa copieze interfata de Visual Studio. Dragut din parte dezvoltatorilor ca au incercat sa copieze un GUI, ca au aruncat tone de feature-uri, chiar ma bucur ca pot importa cod de C++ sa imi genereze diagrama claselor. Pana am reusit sa il conving sa imi importe codul a durat ceva. E un ritual. Apoi cat mi-a dat erori ca am inchis unele panel-uri pe care el le considera importante, iar eu nu. Si bubuielile pe care si le-a luat, crapand din 10 in 10 minute. Read the rest of this entry »

LaTeX

In Lucian Sasu on 21 ianuarie 2009 at 10:14

Astazi imi declar respectul pentru modul in care s-a rezolvat o problema spinoasa in IT: cum sa scrii documente in mod civilizat. Raspunsul a fost inceput de Donald Knuth si continuat de Leslie Lamport.

Knuth a simtit nevoia de a scrie text cu continut matematic in mod civilizat; a constatat ca nu exista o asemenea unealta si s-a pus pe lucru, colaborand inclusiv cu oameni care stiau cum se deseneaza cele mai frumoase litere. Caligrafi, dar cred ca li se spune “experti in tipografie”. Rezultatul – TeX. Relativ greoi de utilizat, dar isi facea treaba. Te lasa sa te concentrezi pe structurarea materialului si pe formule, fara a-ti pasa de modul in care va arata documentul la final. Documentul arata fain, oricum, asa ca de ce sa iti mai bati capul? Drept este ca limbajul (fiindca asta era) trebuia cunoscut pentru a fi folosit, ca se folosea compilare pentru a obtine formate tiparibile (DVI, PS iar apoi PDF). Dar merita tot efortul.

Ulterior s-a extins de catre Leslie Lamport si s-a obtinut LaTeX. Sistemul usura mult scrierea documentelor. Rezultatul este un sistem de tip WYSIWYM, What You See Is What You Mean. Mare diferenta fata de WYSIWYG.

Read the rest of this entry »

Înfăşurarea de acasă

In Augustin Preda on 20 ianuarie 2009 at 05:00

Nu stiu cum se face, dar mereu cand scriu un post nou, ma pot lega cumva de postul anterior :-)

O scurta introducere.
Calculatoarele personale din ziua de azi au o putere de calcul mult peste ce era considerat posibil in urma cu 30, 20 sau chiar 10 ani. Nu atat din punct de vedere al puterii individuale a fiecarui calculator, care a devenit previzibila de la o vreme, cat puterea de calcul rezultata din suma totala a lor. Problema este ca din toata puterea asta colosala de calcul, o buna parte ramane nefolosita. Majoritatea calculatoarelor isi petrec in medie 85% din timpul cat sunt pornite fara a face nimic. Multe din cele care nu prea apuca sa stea fara sa faca nimic sunt pc-uri cu … setari proaste de securitate ce fac parte din botneturi, care nu numai ca nu fac nimic util, ci chiar dauneaza (am citit eu asta undeva, credeti-ma pe cuvant). In rest, majoritatea pc-urilor sunt folosite pentru divertisment. Joci ceva, te uiti la un film pe youtube, asculti o piesa, citesti stirile… totul intra la categoria divertisment. Citeste mai departe…

Go play

In George Moldovan on 18 ianuarie 2009 at 20:26

Tema predominanta a saptamanii a fost relatia munca-studiu. Ce ramane dintr-o zi, dupa cele doua isi consuma timpul, daca ne permitem, este joaca.

Indiferent de caz, dupa un anumit volum (sau uneori numai timp) de lucru, iau niste scurte pauze. In mod normal, ar trebui sa ma misc, sa ma ridic de la birou, sa-mi misc corpul si sa-mi oxigenez sangele. Numai ca pauzele mele inseamna citit. Acel citit neserios, via Firefox. Site-uri. In afara de Dilema Veche, pe care am citit-o cam rar in ultimul timp, sau Cotidianul, care politizat si deci sunt mult mai rezervat in a citi dincolo de faptul descris in sine, citesc multe stiri tehnice – dar nu neaparat IT. In general nu imi ajuta prea mult, in cel mai bun caz retin niste tendinte sau cuvinte cheie – dar ma fascineaza. Cateodata gasesc niste lucruri care imi acapareaza atentia, si atunci insist pe ele. Si uit un timp de studiu sau de serviciu.
Citeste mai departe…

tastatura face k.o. nisipul

In Alexandru Paler on 15 ianuarie 2009 at 02:46

Ca tot veni vorba despre munca in timpul facultatii. Ideea este ca pe timpul vacantei un student poate castiga bani destui cat sa se intretina o perioada a studiului. Practicile de vara. La noi, in Romania, nu prea exista asa ceva, dar cine a spus ca studentul trebuie sa incerce local?

Google SoC
O practica platita de catre Google. Studentul trebuie sa efectueze un proiect pentru o organizatie open-source, sa indeplineasca cerintele organizatiei si isi primeste banii. In 2007 era vorba parca de 4000$. Simplu. Studentul poate sa propuna chiar el organizatiei un proiect. Google selecteaza o serie de organizatii (de la Apache pana la mai mici), oferind fiecarei organizatii posibilitatea sa aleaga un numar de studenti.

IBM Extreme Blue
O practica in centrele de cercetare IBM. IBM pune la dispozitie cateva proiecte de cercetare, pe care studentii trebuie sa le duca la capat. In functie de centrul de cercetare exista proiecte cu teme diferite. Per centru ar fi vreo 20 de locuri. Salarizarea se face in stil IBM, cazarea fiind si ea decontata. Read the rest of this entry »

Studentie && munca

In Lucian Sasu on 14 ianuarie 2009 at 10:47

Una din problemele acute pe care le resimte corpul profesoral este faptul ca studentii muncesc. Suna aiurea, dar e o problema uriasa. Pe langa salarizarea personalului si alte aspecte specifice, mai e si asta.

Se zice ca munca nu e rusinoasa si subscriu la parerea asta. Intervine insa o problema cand munca te impiedica ceea ce trebuie (vrei?) sa faci. Cred ca e loc de amandoua, dar cu masura. Sa nu uitam care e scopul principal al venirii la o facultate: acumularea de cunostinte. Exista o mare diferenta intre ceea ce stiu oamenii la iesirea din liceu (in medie, pentru ca varfurile se descurca oricum singure din spirit de autodidact) si la iesirea din facultate. In facultate se predau o gramada de cunostinte practice si principii utile (dupa ce vezi tehnologia cativa ani, it dai seama ca multe sunt “aceeasi marie cu alta palarie”). Ce nu se preda (si la noi e greu sa acoperi complet in 3 ani si partea teoretica  si pe cea practica) se poate invata singur, dupa ce ai prins cat de cat smecheria despre “cum se invata” – un alt lucru cu care te alegi in mediul universitar.

Read the rest of this entry »

One man show II : the revenge of that one man

In Augustin Preda on 13 ianuarie 2009 at 05:00

(Ignorati titlul, ma plictiseam si vroiam sa par amuzant)
A fost o perioada legata de subiecte de echipa. Si vai, ce bine e in echipa si ce naspa e de unul singur. Dar lucrurile nu stau in viata reala asa de tare batute in cuie in locuri fixe si in valori absolute. Mereu trebuie sa pierzi ceva ca sa castigi altceva. Viata in sine e un drum lung in care faci negot. Vinzi timp si cumperi cunostinte (in sensul de knowledge :-) ), un sentiment de implinire, sau ce iti mai pofteste inima. Si, legat de ce iti pofteste inima, nu stiu altii cum sunt, dar eu uneori simt nevoia sa scriu niste cod, sa fac un programel cap-coada… doar de dragul de a putea zice pe urma ca eu l-am facut. Si cand zic ca simt nevoia, ma refer la faptul ca simt un impuls si parca ma gandesc la “ce fain ar fi sa mai scriu si eu ceva”. Nu e chiar o nevoie. O nevoie ar fi sa respir, sa mananc ceva ca sa nu mor de foame, sa merg la baie… Aia nevoie. Dar dorinta asta de a coda apare in mod recurent in viata mea, dar nu ii dau urmare de fiecare data… De fapt in ultima vreme chiar rar incep sa mai scriu ceva cod. Citeste mai departe…

Fara one man show

In George Moldovan on 11 ianuarie 2009 at 22:22

Exista cateodata saptamani cu teme proeminente – sunt convins. Doar tocmai am trecut prin una. In ultimele zile am tot citit despre firme si exploatare, responsabilitate sau letargie (zombi). Toate veneau din experiente personale diferite si insistau de obicei pe aspecte diferite.

Pentru mine, firmele mici inseamna mult prea multa responsabilitate pentru cinevare care este la inceput. Am trecut prin asta. Avantajul ar fi ca am prins si am invatat ceva fara sa fiu extraordinar de presat de situatie din simplul fapt ca nu o intelegeam pe deplin si imi permiteam deci sa fiu un pic detasat. Ma entuziasmau faptul ca aveam un loc de munca si faptul ca invatam ceva. Era lucrul concret pe care il doream. La un moment dat am prins curaj si m-am obisnuit cu modul de lucru – dar lipsurile pe care nu le-am putut corecta, fiind de cele mai multe ori propriu stapan, m-au prins de multe ori din urma si normal ca au afectat si proiectele. Ca un exemplu, aproape niciodata nu mi-au iesit estimarile. Dadeam ca timp acordat rezolvarii unui bug, uneori, 5 minute (spre disperarea altora)- justificarea mea era faptul ca stiam exact ce este; uitam sa anticipez eventualele complicatii si teste. Alteori subevaluam complexitatea unor probleme. Si atunci imi depaseam timpul alocat si trebuia sa imi prelungesc ziua si energia ca totusi sa rezolv setul complet fara sa aman milestone-urile – si nu-mi iesea intoteauna. Citeste mai departe…

Dependenta de calculatoare (una din ele)

In Marius Calugarita on 10 ianuarie 2009 at 15:16

Salutari si La multi ani. A mai trecut un an, plin de bucuri si schimbari. Cum in domeniul IT totus se chimba destul de repede, au mai aparut cateva limbaje de programare si cateva tehnologi noi. Ca la inceputul fiecarui an, multi oameni isi fac un „New Years Rezolution” si din cate am vazut printre primele 10 lucruri pentru un an nou este „sa inveti ceva nou” si „sa te organizezi mai bine”.

Daca ma gandesc pe plan mai mare organizarea si optimizarea trebuia sa duca la un control mai bun, si aceasta deobicei se face prin automatizarea procesului. Se implementeaza un sistem, ceva care sa usureze munca. Cu cat creste aceasta automatizare cu atat creste dependenta fata de sistem, si defapt ramane doar sa avem incredere in functionarea corecta. Aproape toti avem cel putin un cont in banca, daca programul ar fura 1 leu pe an de la fiecare… ar fi macar un programator fericit :D .
Citeste mai departe…

intelectualii, sudoku si lecitina

In Alexandru Paler on 8 ianuarie 2009 at 00:01

2. Dintr-un link al lui Luci din insemnarea lui recenta am ajuns pe pagina de internet a lui Peter Norvig. Mai fusesem pe acolo, dar acum am acordat mai mult timp pentru a citi ce scrie acolo. O pagina complet non web2.0, care nu atrasese atentia mea antrenata cu bling-bling. Acum insa din motive, care imi sunt necunoscute, am avut rabdarea sa urmaresc ceea ce a scris. Iar ceea ce am citit, m-a uimit. Am gasit un articol in care se poveste despre cum se pot rezolva programatic puzzle-urile de Sudoku. Intr-o 100 de linii de cod problema a fost rezolvata. Stiu, unii stiu sa programeze intr-o linie, altii pot demonstra ca nu e deloc optim…stiu… Dar Sudoku? Problema o trateaza intr-un mod foarte simplu, felul de a explica este simplu. Atat de simplu e, de pana si Jean (cainele mele) sau Gicu (motanul), daca ar sti bine engleza, ar intelege strategiile de rezolvare ale Sudoku. Ar intelege si algoritmii. Nu ar sti sa ii implementeze, pentru ca nu stiu sa programeze, dar si daca ar avea minime cunostinte ar reusi. Intr-adevar, frumusetea unei demonstratii sta in eleganta simplitatii. Read the rest of this entry »

Mentalitate de echipa

In Augustin Preda on 6 ianuarie 2009 at 05:00

Citesc destule plimbandu-ma pe net, si urmaresc destule bloguri. Unul legat de it, care a reinceput sa para mai interesant, dupa ce o perioada a scazut in subiecte interesante (pt. mine) ar fi Coding Horror. De curand a aparut postul acesta, care mi-a atras atentia. Mi-a atras atentia din cauza ca in proiectul actual de la lucru, m-am recunoscut in rolul unui zombi (sau zombie… ma rog, voi face o traducere a la “furculision” si voi zice zombi).
Ar fi bine sa cititi si postul mentionat, caci ce voi scrie in continuare se refera la el.
Pe scurt, autorul zice ca daca sefii de echipa pt. un proiect ii tin prea din strans pe angajati (de ex. le dau doar taskuri simple, care sa se potriveasca in modelul prestabilit de ei-sefii), ii vor transforma pe bietii angajati in niste zombi, fara initiativa.
Citeste mai departe…

unsigned char an2009[365];

In Alexandru Paler on 1 ianuarie 2009 at 11:27

Noua mea obsesie, dusa pana la extrem, o reprezinta analiza constienta a exceselor mele. Si excesele, dupa cum unii poate si-au dat seama, le simulez sau le realizez. De multe ori le simulez pentru mine, deoarece asa imi pot inchipui “cum ar fi” fara sa ma lovesc de efectele secundare ale excesului. Alteori din dorinta “cunoaste lumea, apoi intelege-o” aplic excesele, pentru a trai sentimentele de umilinta, resemnare si mandrie care ma incearca la final.

2009 inceput, imi ofera ocazia sa ma gandesc la excesele pe care am de gand sa le realizez in decursul urmatoarelor 12 luni, daca ma voi mai afla in conditia fizica si psihica actuala. Imi doresc sanatate in primul rand, pentru a-mi putea forta corpul si creierul, apoi imi doresc imaginatie pentru a-mi capta ideile in sticle mici si mari. Excesele nocturne nu se pun, pentru ca varsta si frica de Alzheimer ma impiedica sa le mai aplic, dar oare:
- as reusi sa ma inchid intr-o cabana pentru 4 saptamani in care sa invat cel putin o carte? (exces de anti-socializare)
- as reusi sa descriu intr-o zi in 500 de cuvinte o idee buna? (exces de optimism)
- as reusi sa demonstrez stiintific Ballmer Peak-ul? (exces de alcool)
- as putea veni cu bicicleta de la Wiesbaden pana la Brasov? (exces de calorii arse)
- as putea pentru 7 saptamani sa programez si sa scriu 12 ore pe zi in continuu in fiecare zi, inclusiv duminica? (exces de lipsa de timp) Read the rest of this entry »