Archive for February, 2008

29th Feb 2008

Sam’s Town: Londra

Zilele trecute, marti mai precis m-am intors din Londra din vacanta cu prietenii. Desigur a fost fain ca intodeauna cand mergi intr-o capitala europeana. Pentru prima oara. Cand ies din tara. Cu avionul. Tot prima oara. A mea.

Cei care te fac sa crezi ca e naspa la decolare/aterizare sau cand sunt turbulente cred ca nu au mers prea des cu cfr-ul sau masina pe drumuri romanesti.

Cazarea la hostel a fost decenta, asemanator cu caminele din facultati dar localurile sunt foarte decente si persoanele de acolo cele mai de treaba. Am inteles ca asa se poarta ei cu turistii dar altfel se poarta cand esti roman si esti stabilit acolo. Localuri pline de gadgeturi nu prea am vizitat. Cel mai “digitatlizat” loc pe care l-am vizitat a fost, pe langa un arcade numit Fun Land, Science Museum.

Am pus mana pe un Guitar Hero 3 la Zavvi si am jucat pe KISS - Rock and Roll All Night destul de bine fiind prima oara cand am pus mana pe chitara (desi am jucat versiunea de pc cu mouse si tastatura).

Am vazut multe lucruri, poduri, cateva muzee, piete, puburi vreo 3, burger king-uri, un restaurant chinezesc, arcade-uri, magazine diverse, biblioteci, metrouri, autobuze, etc. E obositor cand stai putin si uneori nu ai timp de vizitat :)

Am facut si unele cumparaturi:

CD-uri:
Gabriel And Dresden CD Nelly Furtado - Loose The Killers - Sam’s Town
Total: 21 £

Carti:
Wrox Professional PHP5 Logo (Design Book) Web Design Index
Total: 57 £

Cartile au avut costul lor impartit la 3 fiindca le-am considerat o investitie pentru toti. Cartea care ma intereseaza pe mine, cea de PHP5 este excelenta si invata concepte high-level foarte interesante pe care o sa vreau sa le pun in practica.

Poze si alte poze

Posted by Posted by Auras under Filed under Uncategorized Comments 2 Comments »

19th Feb 2008

Long live the Queen

Iacata plec in tari straine pentru prima oara. Azi imi iau zborul spre Bucuresti de unde voi pleca mai departe la Londra pentru cateva zile in vacanta.

Dat fiindca am si lucrat zilele astea si au venit si prietenii mei de la Bucuresti acasa am avut mai putin timp sa pregatesc itinerariul de vacanta.

Dar stiu sigur ca o sa vizitez: Tower of London, Tower Bridge, niste muzee pe care nu le-am tinut minte fiindca nu eu le-am trecut in itinerariu, London Eye, Picadilli Circus, Trafalgar Square, Buckingham Palace & altele.
Daca tot e ocazie unica as fi vrut sa merg si la Chertsey sa vad sediul EA dar am aflat ca se va inchide daca nu au facut-o deja.

Nu stiu ce firme de jocuri mai au sedii in Londra dar poate o sa googlesc cat timp voi fi la Bucuresti.

Posted by Posted by Auras under Filed under Uncategorized Comments 3 Comments »

16th Feb 2008

Gamerii boicoteaza producatorii de console

Urmare a petitiei pentru deschiderea serviciilor online de gaming in romania, administratorul ComputerGames a decis incetarea vanzarii online de produse si accesorii ale consolelor Microsoft, Sony si Nintendo. Alte magazine s-au solidarizat cu gamerii: MediaDot si PC Garage.

Se doreste pana la urma foarte mult de gameri ca sa se poata juca pe internet din Romania si sa se faca cumparaturi online folosind serviciile online aferente consolelor de jocuri.

Daca dupa 1600 de semnaturi ale unei petitii online pentru Africa de Sud si 2700 pentru Polonia, in aceste tari s-a deschis Xbox Live, pentru Romania, 3800 de semnaturi se pare ca inca nu sunt destule daca nu am fost bagati in seama.

De aceea s-a decis ca forma de protest oprirea vanzarii online de catre ComputerGames.ro a acestor console pentru ca nu sunt functionale 100%. Si sunt in total de acord: daca nu functioneaza cum trebuie atunci mai bine nu le vindem.

Daca Playstation 3, Xbox 360 si Nintendo Wii sunt toate aduse in tara pe canale oficiale de catre lanturi mari de magazine de ce nu avem parte si de experienta completa? De ce sa nu avem parte? Noi si cu bulgarii suntem singurele tari care nu au parte de acest serviciu din aceasta parte a Uniunii Europene. Suntem tratati mai rau decat Africa de Sud in ceea ce priveste serviciile online fiindca ei au parte de Xbox Live macar. Noi in schimb avem IP-uri banate.

Noul protest vrea sa se boicoteze vanzarea/cumpararea de console si solidarizarea magazinelor care vand acest fel de produse fie prin oprirea vanzarii lor fie prin atragerea atentiei firmelor Sony, Microsoft, Nintendo sa-si completeze linia de servicii si in tara noastra.

Pana acum doar Mediadot si PC Garage s-au alaturat.

Povestea completa poate fi gasita la Monky pe blog: Romania se lupta cu morile de vant
Discutiile pe forumul Computer Games

Posted by Posted by Auras under Filed under Uncategorized Comments 2 Comments »

08th Feb 2008

Resistance: review-ul intarziat cu 1 an

Apropiindu-se sezonul sarbatorilor anul trecut am vrut sa strang bani sa-mi cumpar o consola, pe vremea aceea, Xbox 360. Din cauza ca nu aveam destui bani si datorita faptului ca mi s-a facut o super oferta pentru un PS3 Starter Pack (dar doar cu 1 singur joc) am mers pe mana Playstationului.

Odata cu PlayStationul am primit si un joc, Resistance: Fall Of Man, un FPS lansat odata cu consola in iarna lui 2006. Nu ma asteptam la prea multe de la Resistance fiind un launch title si l-am tratat ca atare. Neavand nici in ziua de azi un HDTV nu am putut sa fac o comparatie corecta cu un joc de PC dar instant am observat un framerate constant si o crestere in detaliu foarte mare fata de PS2 si chiar jocurile de PC pe care le-am jucat pe orice PC de-al meu.

Resistance: Fall Of Man

Desigur de primul lucru de care te lovesti cand joci un FPS pe o consola este controlul un pic cam ciudat. Desi tot folosesti 2 maini, ele nu sunt pe un maus si o tastatura ci pe controller si in mare parte pe cele 2 joystick-uri analoage. Ca si pe PC controalele tind spre un standard si pe console:

  • analogul din stanga este folosit pentru miscat inainte/inapoi, lateral stanga/lateral dreapta.
  • analogul din dreapta este folosit pentru privire sus/jos, stanga/dreapta
  • X - sarit, [] (patrat) - reincarcat
  • R1 - primary fire, L1 - secondary fire

Si cam acestea sunt cele mai importante. De notat ca deoarece a fost un launch title Resistance nu are chiar standardul tastelor pentru FPS din acest moment pe PS3. Cea mai importanta modificare este ca R2 se foloseste pentru foc primar si L2 pentru foc secundar in FPS-urile curente, tastele acestea replicand mai bine un tragaci. Eu tind sa cred ca nu am avut probleme cu obisnuirea cu noul control pe consola, acomodandu-ma dupa 1-2 ore de joc. Dupa ce te joci putin te obisnuiesti si totul e aproape floare la ureche.

Revenind la joc, pe care l-am jucat pe dificultate normala, Resistance are o poveste SF ce se petrece pe durata celui de-al doilea razboi mondial: extraterestrii au venit de nicaieri (presupun) si au aterizat in Marea Britanie si s-au stabilit aici bine mersi. Ce sa faca, ce sa faca britanici? Call in the cavalry! Si iata asa vin americanii cu avioane si transportoare navale in ajutorul reginei. Tu joci rolul unui soldat american badass ruda cu extraterestrii (desi aliatii tai nu stiu asta; eh, nici tu nu stii sigur; cred; probabil; nush). Si toata povestea este cum distrugi pe extraterestrii, denumiti The Chimera, de pe regatul britanic.

Resistance: Fall Of Man

In lupta te intalnesti cu diferite tipuri de Chimera si de ranguri diferite si esti asistat de aliati americani sau britanici. La un moment dat vei conduce un Jeep, un tank sau un robot patruped ca sa treci de diferite baricade. Misiunile in care folosesti vehicule sunt de-a dreptul imense, camera departandu-se ceva mai mult pentru a cuprinde intregul peisaj. Scenariile se desfasoara fie prin paduri, orase precum Manchester sau Londra, baze Chimera sau cladiri faimoase precum Manchester Cathedral din Manchester sau Covent Garden din Londra.

Detaliile in joc sunt impresionante: personajele arata foarte bine, locatiile sunt impresionante si texturile sunt foarte foarte detaliate. Cei 15gb ai jocului au fost folositi foarte bine. Timpul de incarcare al jocului este si el impresionant: trecerea din xmb (meniul principal al playstationului) in meniului jocului se poate face in ~10s (daca sariti peste introduceri) iar timpul de incarcare a unei misiuni este cam la fel.

Referitor la AI. Nu stiu ce sa cred: ori sunt eu mai varza la jocul acesta, ori AI-ul este inteligent, ori AI-ul este prost si mai are uneori tactici de guerilla. Au fost nivele (si nu putine) in care m-am oprit din joaca din frustrare fiindca eram omorat foarte des, de cele mai multe ori fiindca dadeau navala peste mine si eu nu stiam in care sa trag mai repede ori fiindca nu prea aveam viata la dispozitie, ori fiindca nu stiam niste lucruri aproape esentiale despre joc. Bine, ocazional mai uitam si ca am grenazi sau arme mai puternice la dispozitie. Desigur, dificultatea creste pe durata jocului dar in acelasi timp primesti si arme mai puternice.

Armele le-as putea imparti in doua categorii:

  • arme pamantene: o mitraliera cu lansator de grenazi, o pusca cu cartuse, o pusca cu luneta si un lansator de rachete; tipic
  • arme chimera: o mitraliera cu energie cu foc foarte rapid (focul secundar pune o tinta pe inamic si toate proiectilele se indreapta spre acea tinta), o… chestie care pune niste “mine” (care arata ca niste oua) cu acid si fac deobicei mult damage, un lansator de proiectile care trec prin pereti (si prin unii inamici!) si un fel de nailgun la care focul secundar creeaza un fel de turela care lanseaza “cuie” (seamana cu niste cristale)

Cel mai des vei folosi prima arma de la extraterestrii fiindca este foarte puternica.

Ca si (multe) alte jocuri de pe consola nu poti salva cand vrea muschiul tau, trebuind sa astepti sa treci de un checkpoint dupa care salvarea se face automat. Acest lucru a contribuit de multe ori la frustrarea mea si abandonarea jocului pentru inca o saptamana sa-mi treaca nervii.

Eu am terminat jocul dupa 2 luni dar asta fiindca am jucat in medie odata pe saptamana. A picat intr-o perioada nu prea buna: vacanta, sarbatorile, presesiune, sesiune.

Resistance: Fall Of Man

Resistance suporta multiplayer online cu pana la 40 (!!) de jucatori. Hartile sunt destul de incapatoare pentru atatia jucatori dar uneori devine haotic sa te respawnezi si sa fi omorat din nou.

Din partea mea jocul primeste un 8 nefiind atat de rau pentru un joc de lansare ba chiar am ramas surprins.

Posted by Posted by Auras under Filed under Uncategorized Comments No Comments »

07th Feb 2008

Multimedia cards: viitorul?

Poate cineva sa-mi spuna care este cel mai puternic microchip din calculatorul sau? Daca ai raspuns GPU-ul atunci felicitari.

Tin minte ca am citit acum ceva timp ca cineva a reusit sa proceseze sunet folosind un GPU (link) iar nvidia chiar a lucrat la o tehnologie care permitea acest lucru dar a incetat munca la SoundStorm.

Dar nu cred ca se va renunta la scopul de a integra procesarea de sunet in procesorul grafic, care este cam de 20-25 de ori mai puternic decat un CPU, destinat in special calculelor in paralel. Jocurile deja profita de GPU si in alte scopuri decat randare si anume in simularea fizicii dispunand de putere mare de procesare in paralel. Si nu numai. GPU-urile sunt folosite pentru descompunerea proteinelor in proiectul Folding@Home, operatie care ia ore bune pe un cpu, dar ruland pe un GPU timpul de lucru scade aproape de 3 ori.

Deci am stabilit ca procesoarele grafice, care dupa parerea mea rivalizeaza DSP-urile, sunt nemaipomenite in simulari si calcule paralele complexe, nemaivorbind de task-ul “banal” de decomprimare a unui film fullHD, si ramane numai cand toata experienta a jocurilor next-gen va veni intr-un singur pachet, placa multimedia: audio&video hd, realtime physics simulations, rich 3d graphics; v-a aparea pe piata.

Pentru amuzament o sa inchei cu o reclama mai veche de la un procesor grafic antic:

Posted by Posted by Auras under Filed under Uncategorized Comments 5 Comments »

05th Feb 2008

Sa vrei si sa nu poti

Nu am observat asta decat de curand cand am deschis ochii la cum arata produsele software de pe windows. Ce au in comun majoritatea aplicatiilor de pe Mac OS X (daca stiti) ? O interfata identica. Ce au in comun majoritatea aplicatiilor in Windows? Doar borderul ferestrei.

Si am urat asta la Mac. Am urat si am zis ca sunt foarte lipsiti de inspiratie.

Pana astazi. Am vazut cum vroiau sa integreze Mozilla sa integreze in Firefox 3 pentru Vista un look & feel nativ (imagine) si atunci m-a traznit. Poate chiar e mai bine asa. De altfel majoritatea aplicatiilor din Windows singurul lucru pe care il au in comun este borderul albastru, meniul care incepe cu File si se termina cu Help si Status bar-ul.

La aproape 4 luni dupa ce au anuntat Mozilla ca vroiau sa schimbe interfata la Firefox in Vista au scos un beta in care interfata arata total diferit de ce se dorea. Si m-am gandit de ce dracu? E chiar asa de greu? Dar de altfel, de ce nu prea exista aplicatii pentru windows xp cu bara aceea din stanga din Control Panel sau Explorer? Pentru ca nu e nativa! E implementata doar pentru Windows Explorer.

Dar tot nu mi-am dat seama de asta decat dupa ce am instalat Visual C# 2008 Express si am incercat sa folosesc controale de Windows Vista in aplicatie. Da, mai bine nu. Dupa cautari pe forum msdn si google cel mai aproape am ajuns de acest set de controale care au trebuit implementate separat de .net fx 3-ul din Vista. Dar tot lipsește ce vroiam eu mai mult și anume partile de sus (adress bar, search bar, menu bar) si de jos (status bar) din explorerul din vista. Ar mai fi RadControls care ofera o implementare din ce lipseste din documentatia si API-ul pentru Windows SDK dar e pe multi ($799) bani.

Te gandesti ca dupa ce au facut atata reclama la noua interfata din Vista, Microsoft ti-ar da si instrumentele cu care sa faci ceva asemanator ca majoritatea aplicatiilor sa aiba o interfata consistenta in Windows (in afara de cele ale lor), dar de ce sa-i copie altii?

Posted by Posted by Auras under Filed under Uncategorized Comments 2 Comments »

02nd Feb 2008

Tu te imbunatatesti?

De-a lungul anilor tehnicile de programare si algoritmii s-au imbunatatit considerabil de mult. Dar tu, ai invatat ceva de-a lungul anilor? Cat de mult ti-ai imbunatatit “tehnicile”?

Eu am invatat .php intr-un timp relativ scurt: o zi. Doar atat mi-a trebuit ca sa-mi dau seama singur mai apoi cum se fac treburi putin mai complexe. Si asta e valabil in multe limbaje de programare daca ai invatat alt limbaj de programare in trecut. In momentul cand invatam php facusem pascal de 4 ani si stiam programare structurala destul de bine inclusiv cum sa-mi imbunatatesc codul optimizandu-l. Invatasem si foarte putin C incat sa stiu despre tipurile de date si sintaxele functiilor cele mai des intalnite. Astfel a fost foarte usor de invatat il php.

De aici cel mai bun prieten mi-a fost documentatia php, care daca nu sunteti familiara cu ea atunci nu stiu cum puteti trai. In orice limbaj de programare cel mai bun prieten iti este documentatia, API-ul, help-ul sau cum se mai numeste si apoi Google. Dar uneori poate ce cauti fie se poate face altfel, mai usor de implementat, fie intr-o maniera putin mai complexa dar mai customizabila si usor de intretinut pe termen lung.

Din aceasta nevoie am inceput sa ma uit pe codurile (programele, scripturile) altora si am observat implementari inteligente sau am descoperit functii noi peste care nu dadeam in documentatie fiindca nu m-am gandit niciodata sa caut asa ceva. Printre codurile interesante s-au numarat cele la concursul InfoEducatie si proiecte open-source precum: phpBB, SPAW si Wordpress. Si nu numai din php ci si din Javascript sau CSS. Si aici nu vorbesc despre algoritmi sau portiuni intregi de cod ci de cum foloseau limbajul aferent pentru a realiza un lucru. (de ex: cautari folosind regexp, butoane de lungimi variabile in css, validari de campuri in js, etc)

Au fost momente cand cautam ceva nou sa invat sa ma perfectionez si implicit sa-mi micsoreze timpul destinat implementarii folosind diverse unelte. Primul lucru peste care m-am uitat cred ca a fost Smarty si a fost foarte fain. Cat am lucrat cu el. La un moment dat ajunsesem sa scriu mai mult cod in template-urile smarty sau in implementarea template-urilor decat in codul aplicatiei/sitului propriu-zis. Si apoi m-a traznit ca pot face un template engine cu implementare mult mai simpla si renuntand la sintaxa diferita smarty in favoarea codului php folosind functii deja existente in php. La fel cum functioneaza template-urile wordpress :).

PEAR a urmat si am inceput sa ma gandesc cum as putea sa integrez PEAR in orice site/aplicatie pe care o voi crea. Dupa cateva “lucrari” mi-am dat seama ca nu prea se merita in majoritatea aplicatiilor dezvoltate pe php ci doar in cele mai complexe si foarte modulare. Ce-i drept a fost perioada cand scriam foarte ordonat si totul avea o logica de nu-ti venea sa crezi. Dar cum limbajul nu incurajeaza OOP prin integrarea PEAR-ului, clasificarea functiilor si implementarea unei structuri logice atunci… de ce ai face-o tu, cand deja exista rails?

Si ajungem la faimosul Ruby on Rails (RoR), raiul oricarui programator web si probabil designer web cu a sa filosofie Model-View-Controller (MVC) care e minunata! Cand am auzit despre RoR am descoperit nirvana si cand am citit despre ce poate ruby si mai ales cum am avut orgasm intelectual. Ce a urmat dupa, poate in alt post.
Dar de la RoR am invatat multe inclusiv cat de simplu poate sa fie un template engine si cat de puternic, dar si cat de important e C-ul din MVC. Combinat cu ce am invatat din C# si Java despre limbaje event-based am reusit sa inteleg cum sa creez un site engine modular si usor de imbunatatit pe termen lung.

Ben Collins-Sussman amintea ca sunt 2 tipuri de programatori:

There are two “classes” of programmers in the world of software development: I’m going to call them the 20% and the 80%.

The 20% folks are what many would call “alpha” programmers — the leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek software are obsessed with hiring. These folks were the first ones to install Linux at home in the 90’s; the people who write lisp compilers and learn Haskell on weekends “just for fun”; they actively participate in open source projects; they’re always aware of the latest, coolest new trends in programming and tools.

The 80% folks make up the bulk of the software development industry. They’re not stupid; they’re merely vocational. They went to school, learned just enough Java/C#/C++, then got a job writing internal apps for banks, governments, travel firms, law firms, etc. The world usually never sees their software. They use whatever tools Microsoft hands down to them — usally VS.NET if they’re doing C++, or maybe a GUI IDE like Eclipse or IntelliJ for Java development. They’ve never used Linux, and aren’t very interested in it anyway. Many have never even used version control. If they have, it’s only whatever tool shipped in the Microsoft box (like SourceSafe), or some ancient thing handed down to them. They know exactly enough to get their job done, then go home on the weekend and forget about computers.

Cu alte cuvinte primul tip de programatori sunt cei care cauta sa se “auto-cultive”, sunt la curent cu cele mai noi trenduri in programare si testeaza tot feluri de tehnologii noi. Celalalt este tipicul student roman iesit de la politehnica si se angajeaza ca programator java, isi ia leafa (grasa chiar), il mai trimite firma pe la un training si este fericit.

Eu nu as vrea sa ajung ca tipul numarul 2. Voi?

Posted by Posted by Auras under Filed under Uncategorized Comments 10 Comments »

01st Feb 2008

Real programmers

Real programmers XKCD

Posted by Posted by Auras under Filed under Uncategorized Comments No Comments »