Vampirizare

Mi-au supt sângele. Mai mult, i-am lasat să-mi sugă sângele :P.

De anul trecut sau de acum doi ani când am văzut pe podeaua buzii caminului în care locuiam un pliant cu donarea de sânge pe care scria ca trebuie să ai MAXIM 100 Kg ca să poţi dona, am fost sigur că eu n-am ce căuta acolo.

Dar, azi, mergând spre şcoala (care, btw, blowed cu totul, neserioşi de la primu la ultimu şoarece cu care avea mazi), m-am oprit la standul UNSR din Rectorat, unde băieţii (şi fetele – mai ales fetele :P) de la UNSR au organizat, din nou, o campanie de donat sânge. Şi, surpriză, tantiile alea mi-or zis că dacă nu am 150 de kile, it’s ok.

Soo, am băgat rapid un sandwich din BN-uri (tanti aia o renunţat la sandwichurile alea triunghi, care erau the best :|), şi m-am pus la coadă. Coada şi ea, surprinzător de mică şi de rapidă. Am primit fişă de donator, carnet de donator, mi-au făcut grupa, hemoglobina (şi cică o duc bine cu hemoglobina), mi-o luat tensiunea, şi dupa aia mi-au supt sângele :P. Nu tot, 400 de ml. And THEEEEEN am primit şi 600 de mii sa manc sa ma regenerez.

Intel Channel Conference

Astăzi (de-acum ieri) am fost la Intel Channel Conference 2 2008. ICC este o conferinţi organizată de Intel de două ori pe an în care îşi invită partenerii de afaceri să le prezinte ultimele noutăţi. Evident, au avut şi sponsori şi distribuitori care au venit şi şi-au prezentat chestiile.

Noi am ajuns acolo „trimişi” de domnul profesor Vârbănescu, şi am mers în principiu pentru mâncare :P. Cu toate astea, deşi erau foarte mulţi non-technical people pe acolo, şi majoritatea informaţiilor erau targetate pentru re-selleri şi cum să facă ei profit vânzând produsele prezentate, am aflat chestii interesante.

Au fost acolo Epson, cu cele mai cool proiectoare din lume, Kingston, cu noutăţi din lumea memoriilor (se pare că iasă în viitorul foarte apropiat stick-ul de 64 de giga), Gigabyte cu ceva plăci de bază nesimţite şi plăci video şi mai nesimţite, Mio care fac sisteme de orientare pe GPS, Belkin care produc toate tipurile de conectoare pentru tot tipul de situaţii.

Evident, Intel a fost acolo cu ultimele noutăţi, inclusiv un server orientat către IMM-uri, bazat pe ideea serverelor blade, cu multe multe opţiuni, durabil şi mic (6U). Mic, da’ face ca un aspirator :P A, da, şi evident noua familie de procesoare i7 care să suporte quad core nativ şi care să fie uber kickass.

Înafară de partenerii direcţi Intel, care au fost cam boring pentru ca au vorbit despre promoţiile lor and shit, a fost acolo Microsoft, care au prezentat ultima găselniţă în WGAu pentru Windows XP Professional, un update care odata instalat îţi verifică sistemu să vadă dacă e piratat, şi dacă da, te chinuie (desktop negru, delay-uri la login … ) orientate către utilizatorii casnici care piratează pentru că nu ştiu mai mult de-atât. I wonder how much they really know, these Microsoft people.

Au fost două personaje interesante la chestia asta, unul la început, unul la sfârşit. Primul, Robert Golubeff, este channel manager pentru România şi a vorbit un pic despre direcţia Intel în România. Ce mi-a rămas mie sună cam aşa: the desktop is not dead, hardware counterfieting is still a problem şi environment responsability.

Vorbind de hardware counterfieting, mi-am downloadat softu lor de verificat procesoru, şi îmi zice că

The tested Intel(R) processor appears to be an engineering sample, not a production processor.  The utility is designed to support production Intel processors only.  Sample processors are not warranted by Intel, and are not intended for resale.

Bine, nu mă chiar aşteptam să fie fals, da ştiam ca tre să fie ceva cu el de o fost aşa de ieftin :)

Ultima persoană care a vorbit a fost dl. dr. Puşcă, un tip care şi-a dedicat viaţa vinului. Şi nu (numai) băutului vinului, ca noi restu, ci studiului lui, şi a categorisirii lui and stuff. Un domn aşa la vreo 60 de ani, foarte pasionat despre ce vorbea, ne-a trecut de vreo două ori înainte şi înapoi de la Burebista la anii ’80 şi zilele noastre, povestindu-ne câte una alta de vinuri.

Povestea lui colorată şi perfect dezorganizată şi foarte greu de urmărit a fost o încheiere fantastică pentru 9 ore de prezentări cu cuvinte alese cu penseta şi grafice concrete. Toată lumea a răs, şi, la final a fost distribuit manualul lui de băut vin :P.

ICC are o grămadă de freebies, am primit şi eu un cd holder de la intel si o gramada de pliante si un elvis portocaliu and some other stuff, dar a fost tombolă şi s-au dat really really cool stuff, procesoare, routere wireless de la belkin and stuff … numa ca noi n-am câştigat.

Masa de seara a fost super îndestulătoare, deşi erau toţi hămesiţii grămadă pe mâncare şi n-am mai prins si la a treia tura … de desert :). Totul a fost pregătit foarte bine, până la cele mai mici detalii, cu hostess-es cu peruci albastre, formaţie and the whole shabang.

Notă: am învăţat un termen nou, KVM vine de la Keyboard, Video and Mouse şi îs niste sisteme utile pentru când trebuie să lucrezi pe mai multe calculatoare deodata. Ai un fel de remote desktop via hardware. A, da, şi SAS – Serially Attached SCSI, ceva conector pentru backplaneu de la servere serioase ;).

Notă2: am dormit doar la Mio la prezentare, şi nu din cauză că polonezu era plictisitor da mi-era soooomn :)

UP11 site rollin' on yPHP

I-am dat drumul. Adică am trimis invitaţia, am pus sus site-ul şi informaţiile existenţiale, lucrurile se mişcă pe partea de logistică, lucrurile se mişcă pe partea de program, n-aş îndrăzni să zic că ne merge super dar avem loc de mişcare.

Site-ul îl puteţi vedea la http://www.unitatesiprietenie.ro/, şi este bazat pe yPHP. Tot setup-ul a durat una sau două ore, în condiţiile în care am gasit bug-uri prin structura yPHP ŞI am avut evident probleme cu encoding-ul. Mă înnebunesc problemele cu encoding-ul în ultima vreme, nu suport să nu fie textul cu diacritice şi întotdeauna fie baza de date fie PHP-ulş vrea să mess with me pe chestia asta.

Spre exemplu, pentru wiki-ul primitiv folosit de yPHP acum, imi trebuia un titlu unic pentru pagină, pe care îl gaseam, după moda Wiki (nu ştiu dacă mai ţine moda asta, da o fost aşa acum ceva vreme), cu toate cuvintele cu prima literă mare şi alăturate. Spre exemplu pagina „ONCR Festival cercetaşi” s-ar traduce în „OncrFestivalCercetaşi”.

Evident, o problemă aparent simplă. Doar că dacă faci ucfirst() pe un string care e encodat cu utf-8, rezultatul e un string pe encoding standard (nu ştiu exact care standard îi – poate cp1251, doar că nu ştie de caractere româneşti). Super, deci

ucfirst($string)

devine

mb_strtoupper(mb_substr($string, 0, 1, „utf-8”)).mb_substr($string, 1, strlen($string) – 1, „utf-8”).

That is in no way cool. Unde mai pui că suportul pentru mb_string în PHP e absolut opţional şi host-ul meu (care sunt români) nu îl are instalat. Deci no joy.

Acum câteva zile, tot probleme de encoding. De data asta, pe conexiunea MySQL. Atenţie pentru cine mai dă de probleme de genul ăsta. Dacă MySQL vă salvează diacriticele ca ? (semne de întrebare), sunt câteva chestii care le puteţi verifica.

1. MySQL are o drăcie care se numeşte collation, care e un atribut care se poate aplica până la nivel de coloană, şi ţine de encodingul folosit în coloanele respective. Atenţie, şi tabelul are proprietatea collation şi contează. Problema mea de ieri se întâmpla în contextul în care toate câmpurile tabelului erau pe utf8_general_ci, dar tabelul, care era proastpăt importat, era setat pe default-ul latin_sweedish_ci, care nu se înţelege deloc cu diacriticele.

2. Asiguraţi-vă că discuţia între server şi clientul vostru se face prin utf8. Sunt mai multe chestii în manualul MySQL despre cum se poate seta asta. Pentru că evident n-am avut chiar vreme (site-ul UP11 era trecut de deadline de muuult) să RTFM, am scanat prin el şi am găsit câteva linii relevante:

SET NAMES 'charset_name'
SET CHARACTER SET charset_name

Evident, nu trebuie să uitaţi să definiti character-encoding-ul în HTML-ul rezultat şi să trimiteţi headerul HTTP cu character encodingul setat corect (desi browserele de doamne-ajută fac ele detecţie).

Unitate şi Prietenie 11

Încă n-a ieşit invitaţia oficială (deşi o să iasă undeva weekend-ul ăsta), vine Unitate şi Prietenie 11. Pentru cine nu ştie (adică nu e la cercetaşi), Unitate şi Prietenie e un festival cercetăşesc pe care îl organizează grupul de cercetaşi de la Alba Iulia de 11 ani pe 1 decembrie.

Ca în fiecare an, ne urnim greu să mai facem ceva, dar ideile care au fost produse tura asta sunt foarte foarte „engaging”, ca să folosesc un termen ce l-am auzit la curs la poli20 :-). Ideea generală e foarte simplă: back to the roots. Cercetăşia înseamnă să-ţi faci prieteni, să cunoşti oameni, să faci chestii cool cu prietenii tăi. Asta vrem să facem la UP anul ăsta.

Renunţăm la scenete (care era o componentă obligatorie la fiecare UP) şi introducem un târg, câteva ore ca oamenii să aibă posibilitatea să vorbească, să vadă ce se face în alte locuri, şi să se invite unii pe alţii la tot soiu de alte evenimente. Vrem să avem şi o scenă, unde să punem chestiile relevante pentru toată lumea. Ca la un târg expoziţional.

Mai vrem să aducem un cort imens chiar lângă sălile de sport unde va fi cazarea, ca să aiba oamenii unde mânca, să nu trebuiască să se mai care până în oraş la pizza and stuff, să avem unde să bem o cană de … ceai, să avem unde să stăm să băgăm o chitară.

Şi, ce poate fi mai back to the roots pentru cercetaşi decât un foc de tabără şi o sumedenie de chitări la sfârşit? Noi ii zicem Fiesta şi o să o avem la UP11.

Dacă sunteţi cercetaşi, mai aveţi de aşteptat la nivel de ore până punem site-ul sus şi apare invitaţia. Daca nu sunteţi cercetaşi, dar vreţi să vedeţi ce facem noi şi să ne vedeţi la UP11, daţi-mi un mail şi vedem ce putem rezolva.

Filmuleţul de mai jos a fost făcut de echipa noastră de media (mai concret de Ioana, soră-mea) şi există ca să vă aducă aminte că existăm, chiar dacă încă nu v-am dat detalii :P.

yPHP – idei

yPHP (care vine de la yetiPHP :P) este cum numesc eu tot ce am învăţat de când am scos nasul în lumea PHP, concretizat în cod. Primele mele aplicaţii în PHP au fost scrise cu ajutorul Dreamweaver de la Macromedia, prin începutul liceului, şi, învăţând din codul autogenerat, am început să scriu şi eu chestiile mele.

Evident, pe vremea aia începusem să învăţ ceva programare la liceu, şi am mai învăţat să folosesc funcţii and stuff, da dacă stau acuma să mă gândesc în urmă, nu cred ca mi-a plăcut vreodata ideea asta cu PHP şi HTML şi CSS şi toate într-o mare ciorba. Aşa că undeva prin anul 2 – 3 (că în anul 1, 2 n-o prea fost rost de învăţat chestii cool), începând să învăţ despre OO pe la şcoală, am început să investighez posibilitatea de a folosi OO în PHP.

A durat ceva, şi am mai inventat câte ceva noi învăţat the hard way, dar până acum câteva zile yPHP nu a fost mai mult decât o modalitate cât mai standard de a scrie codul pentru aplicaţii folosind MVC (model, view, controller).

Scriu postul ăsta pentru că, în timp ce lucram la una alta mi-a venit o idee mai trăznită. Cum ar fi să ai o aplicaţie grafică în care să defineşti relaţiile între entităţile sistemului tău, ce acţiuni poate face şi cine şi când, şi apoi de la setările tale, fie să se genereze nişte clase direct, fie să se genereze nişte fişiere de configurare pentru o … maşină virtuală PHP care să îţi execute chestiile.

Cu cât mă gândesc mai mult la asta cu atât mi se pare mai utilă, deşi nu ştiu cât de mult poate fi scalat aşa ceva. M-am uitat la framework-urile existente pentru PHP, şi iniţial am crezut ca reinventez roata. Dar acum nu mai sunt convins. Cred că ar ieşi ceva interesant pentru IMM-uri şi, mai ales, ONG-uri.

Întrebarea e, cred, cât de departe se poate merge cu descrierea acţiunilor. Cum poţi să faci cât mai simplu şi mai vizual definirea unor funcţii custom, eventual să fie cumva independete de limbaj, fără să ajungi, cum sunt băieţii de la Typo3, să scrii un limbaj noi, şi totuşi fără să pierzi din flexibilitate. Idei?