eLiberatica 2009

February 10, 2009 – 12:42 am

E oficial, Lucian Slavuc a anunțat primele detalii despre a 3-a ediție a conferinței eLiberatica, conferință ce va avea loc pe 22-23 mai (tot) în București. Sper ca anul acesta organizatorii să fie mai inspirați, locația din 2008 (de la World Trade Center) nu mi-a plăcut, am murit de cald.

O locație mai bună și un preț mai mic vor garanta o parte din succesul conferinței.

Baftă Lucian & co!

PS: am spus „tot în București” pentru că speram în alegerea unui oraș mai aproape de Cluj. Nu am nimic cu Bucureștiul (salutare domnule Boc), dar știți și voi ce infrastructură rutieră și de căi ferate avem :P

To Smarty or not to Smarty?

February 9, 2009 – 12:51 am

Am văzut zilele astea o gramadă de articole adresate împotriva Smarty (sistemul de templates pentru PHP). Exista până și un site dedicat împotriva Smarty.

Pentru mine Smarty a însemnat o adevărată revelație prin anii 2003-2004, marcând un punct de cotitură asupra felului cum scriu cod PHP. Până atunci, codul meu era un mix interminabil de HTML și PHP. Însă când am descoperit Smarty, am început să înțeleg și să aplic cu adevărat ceea ce tot repetau profesorii prin facultate: separarea Business Logic de Presentation Logic.

Aș putea spune că sunt atașat emoțional de Smarty. Când am văzut primul articol în RSS reader am zis că e doar un caz izolat, un tip căruia i s-a pus pata pe Smarty. Însă când am văzut articolele următoare într-un interval scurt de timp, au început să mi se aprindă beculețele de alarmă. O fi Smarty chiar așa de rău?

Am citit toate (contra)argumentele de pe nosmarty.net și pot să spun că nu sunt bazate pe argumente solide. Nu stau să detaliez pentru că nu am nici timp și nici chef.

If you guys don’t agree with me, you can spend hell lot of time learning that {$name} actually does what you could do with “echo $name”.

Nu înțeleg cum autorul unei cărți despre Smarty poate să spună așa ceva. Din câte îmi amintesc, nu mi-a luat mai mult de juma de oră să învăț Smarty (cu tot cu instalare).

Ok, Smarty nu e perfect, însă hai să nu-l denigrăm în halul ăsta!

Smarty m-a slujit exemplar în multe proiecte și n-am fost nevoit să caut alternative. Totuși, publicitatea asta negativă mă face să scot capul din nisip și să mă uit la alte siteme de templates. Încă n-am încă găsit timpul necesar, dar ar fi o prezentare interesantă pentru PHP GeekMeet.

Vise cu administrația publică

February 5, 2009 – 12:38 am

Ieri, am deschis pagina de web a ITM Cluj[1], m-am autentificat, am introdus datele noului angajat și în mai puțin de 3 minute am făcut un nou contract de muncă. Minunat!

Nu căutați formularul de autentificare sau cel de creare cont, ele nu există. E doar un vis. Adevărul e că am  fost ieri să înregistrez un contract de muncă. Am stat la coadă cam 15-20 de minute, plus alte 15-20 le-am pierdut pe drum. Și în timp ce stăteam la coadă, am văzut o grămadă de oameni ce întindeau niște diskete peste tejgheua ghișeului, pentru a preda ceva documente, bănuiesc. Probabil și contabila mea face același lucru.

Diskete? WTF?!? M-ai există așa ceva în comerț? Cred că n-am folosit o disketă de mai bine de 5 ani. Iar peste 5 ani, probabil că România va fi singura țară în care vor mai exista diskete. Contabili, faceți-vă stocuri!

E chiar așa de greu să faci o aplicație online care să reducă toată birocrația asta? Directorii unei astfel de instituții chiar nu se gândesc la așa ceva? Nimeni nu are inițiativă? Toți se gândesc doar la ciolan? Trist.

[1] http://www.itmcluj.ro/

Șosetăria are blog

February 2, 2009 – 1:05 pm

Ca să nu mai plictisesc lumea pe blogul personal povestind despre șosete, dresuri și alte cele, am decis să fac un blog special pentru Șosetăria.

PS: am primit sosete cu degete!

Mysql și mesajele de eroare

January 30, 2009 – 1:03 am

Se dă un query de genul:

[code lang="sql"]INSERT INTO request(`project_id`, `user_id`, `request_body`, `planned_date`) VALUES (1,22,'blabla','2009-01-31 04:16:27')[/code]

la care se primește eroarea:
[code]Column not found: 1054 Unknown column 'project_id' in 'where clause[/code]

WTF? Where clause pentru un query de tip INSERT?

După câteva secunde de gândire, vine și răspunsul: eroarea era într-un trigger. În astfel de cazuri, niște erori puțin mai detaliate ar fi binevenite.

PHP GeekMeet

January 25, 2009 – 1:30 am

Programmers are so busy working they often don’t have time to be curious about how they could do their jobs better. (Steve McConnel)

De ceva vreme încoace, rumeg o idee împreună cu Adi: să facem un GeekMeet special despre PHP. Încerc să adun o masă critică pentru a porni întâlnirile în Cluj, iar la GeetMeet #4 Cluj am primit un feedback pozitiv de la mai multe persoane.

Pe scurt, ideea se regăsește în citatul de mai sus. Personal, urmăresc RSS-urile de pe vreo două site-uri (legate de PHP, evident) și sunt abonat la php|arch. Dar cantitatea de informații e mult prea mare, RSS-urile rămân necitite și foarte rar încerc să experimentez chestiile pe care le citesc.

Cu toții suntem ocupați cu lucrul și avem prea puțin timp la dispoziție pentru a fi la curent cu ultimele noutăți din industrie, pentru a experimenta chestii noi. Însă sunt convins că fiecare din noi (și aici mă refer la programatori în general) încercăm să ținem pasul cu tehnologia. De aceea un PHP GeekMeet cred că ar fi binevenit, am putea să facem schimb de experiență și idei într-un mod foarte productiv.

Pe site-ul php.net văd o grămadă de întâlniri ale diverselor PHP User Groups din toate colțurile lumii. Noi de ce nu putem face așa ceva? Hai să ne întâlnim, să ținem prezentări practice, la obiect, să beneficiem fiecare de experiența celorlalți, să le evităm greșelile și să devenim mai eficienți.

Așadar, lasă un comentariu dacă ești interesat.

Actualizare: am mutat discuțiile aici.

Vând OpenMoko Neo Freerunner

January 20, 2009 – 11:51 pm

Actualizare: s-a vândut

Yup… l-am cumpărat în august anul trecut (350 euro + 20 euro transport), i-am făcut un review săptămâna trecută iar acum m-am hotărât să-l vând.

Motivul? La fel ca și în cazul SGI-ului, nu am timp să mă joc cu el. Vreau un telefon care să meargă bine out of the box.

Prețul? 270 250 euro, negociabil.

Pachetul conține telefonul propriuzis, încărcător, cablu USB, card microSD de 512MB + adaptor, pix/stylus/laser pointer/lanterna, căști, gentuță. Mai multe detalii, aici.

GeekMeet #4 și ODO la Cluj

January 18, 2009 – 3:41 pm

A 4-a ediție a GeekMeet Cluj va avea loc pe 24 ianuarie, ora 10, în restaurantul La Luca (deși inițial era programat în Vanilla).

Oameni din online sau pe scurt – ODO – e o întâlnire similară cu GeekMeet din câte îmi dau seama, întâlnire care până acuma avea loc doar în Iași. Despre ODO am tot citit pe blogul lui Krumel, iar într-un post recent anunța extinderea ODO în alte orașe. Așadar, se caută ajutor pentru organizarea ODO în Cluj. E cineva interesat?

M-am bucurat când a apărut GeekMeet în Cluj, fiind singura întâlnire de acest gen din oraș. Însă acum că va avea o concurență, mă bucur și mai mult. Mă bucur pentru că e un semn bun pentru industria online.

Abia aștept prima ediție ODO, iar până atunci, ne vedem la GeekMeet ;)

Review OpenMoko Neo Freerunner

January 15, 2009 – 11:51 pm

Profitând de zilele libere din anul ce tocmai a trecut, am avut puțintică vreme să transport niște octeți – de ici-colo – între laptop și telefon pentru a testa versiunile noi de software.

Nu prea știu de unde să încep review-ul, pentru că pe de-o parte iubesc telefonul ăsta, iar pe de-altă parte îl urăsc (și câteodată nu vreau să recunosc lucrul ăsta). Probabil pentru unii acest review pare unul negativ, însă țin să amintesc faptul că telefonul nu e destinat publicului larg ci e pentru linux geeks.

Ok, hai să încep cu începutul, să trăiți și voi, cititorii, toată telenovela asta cu aceeași patimă cu care am trăit-o și eu :P

Am intrat în posesia telefonului la sfârșitul lui august 2008. Așa cum scriam și în articolul inițial, primele zile le-am petrecut instalând, configurând și re-instalând variatele distribuții existente – în număr de 6-7 – la acea vreme. Vroiam să obțin un telefon utilizabil iar până la urmă am rămas la distribuția bazată pe Qtopia, cunoscută mai apoi sub numele de QtExtended, după preluarea Qt de către Nokia. Trebuie să menționez faptul că folosesc această distribuție și în prezent.

Problemele

Trecând peste – nu tocmai micile – probleme de usability, marea problemă (prezentă pe toate distribuțiile) este un ecou pe care îl aude persoana cu care vorbești. Practic, este vorba de microfonie. Mă rog, pentru mine nu este o problemă, pentru că pe partea mea sonorul e bun, dar m-am săturat să-mi spună toată lumea, la fiecare telefon dat/primit,  că își aude ecoul propriei voci :) . Treaba asta cu ecoul/microfonia are o rezolvare, dar e departe de a fi cea ideală. Trebuie să te joci – din consolă – cu un fișier de configurare alsa pentru a micșora volumul difuzorului. M-am bucurat când am reușit să am o conversație normală la telefon, dar bucuria nu avea să dureze mult. Bineînțeles, nu poți să ajustezi volumul în timpul convorbirii, iar un volum micșorat prea mult pentru a repara microfonia nu te lasă să porți o conversație normală într-un mediu mai zgomotos. Totuși problema asta pare să fie rezolvată, detaliez mai târziu.

O altă problemă destul de mare la început a fost bateria, sau mai precis, durata de viață a acesteia: aproximativ 24h.

Tastatura virtuală (cea instalată implicit pe toate distribuțiile) este aproape inutilizabilă folosind doar degetele. Mă refer la tastatura QWERTY, nu la cea numerică. Bineînțeles, poți să instalezi o tastatură nouă, utilizabilă. Totuși, nu cred că e disponibilă pentru QtExtended. Nu am cercetat problema asta deoarece scriu rareori SMS-uri. În schimb, QtExtended are un soft destul de bun pentru recunoașterea scrisului de mână. Oricum, mă miră faptul că, deși tastatura nouă e disponibilă de ceva vreme, toate distribuțiile au încă tastatura inutilizabilă instalată implicit.

Frustrat de problemele descrise mai sus, am folosit foarte puțin telefonul în luna septembrie.

În  luna octombrie a apărut un update iar durata de viață a bateriei a ajuns undeva pe la 60 de ore în cazul meu (nu vorbesc mult la telefon). Știu, nu e mult, dar a fost o îmbunătățire majoră și cred că vor urma multe alte îmbunătățiri pe partea de power management. După acest update am început să folosesc telefonul zi de zi. Sigur, sunt încă multe de rezolvat, dar telefonul e utilizabil.

Până în vacanța din decembrie n-am mai avut deloc timp să experimentez cu telefonul.

Comunitatea

Lista de discuții e foarte activă iar pe partea de software se pot vedea îmbunătățiri aproape zilnic, dar există o mare „problemă”: sunt prea multe distribuții, prin urmare efortul comunității e fragmentat în prea multe direcții. Da, știu, în lumea open-source de obicei ăsta e un lucru bun: ai de unde să alegi, stă la baza multor inovații, creează concurență, etc. Însă aici vorbim de un telefon cu un user-base de câteva mii de utilizatori și cu puțini dezvoltatori. Încă nu s-a creat masa critică pentru a începe dezvoltarea în mai multe direcții. Cred că lipsește un lider puternic pentru a da o direcție mai clară comunității, iar puțin mai multă implicare din partea companiei producătoare în această privință nu ar strica.

Distribuțiile

QtExtended mi se pare distribuția cea mai bine închegată, adică are același look & feel peste tot și folosește doar Qt.  Restul distribuțiilor – în afară de Android -  sunt un amalgam de Gtk, Qt și EFL (da, Enlightenment!). La capitolul viteză, distribuția celor de la Nokia stă destul de bine. Totuși QtExtended are o mulțime de lipsuri și se mai blochează din când în când. By default nu merge bluetooth-ul.  La fel… conexiunea wireless nu merge, am încercat o singură dată în mall și a crăpat telefonul, fiind nevoie de un restart.

OM 2008.12 este update-ul din decembrie al distribuției „de bază” ce este susținută chiar de către firma producătoare a telefonului, FIC. Inițialele OM vin de la… OpenMoko. În acest update din decembrie s-a adăugat facilitatea de a ajusta volumul în timpul conversației, în sfârșit! Trebuie menționat faptul că, QtExtended are la bază OM (kernel, module, etc, mai puțin interfața grafică). La rândul său, OM împrumută aplicații chiar din QtExtended.

FDOM (Fat and Dirty OpenMoko) este, asa cum îi spune și numele, o distribuție OM2008.x peste care se adaugă muuulte pachete. Printre pachete se află și DukeNukem 3D. Da, ați citit bine, e vorba de vechiul și renumitul joc FPS. Îmi amintesc că jucam DukeNukem 3D pe un Pentium1 la 133mhz și 32MB ram prin 1997. Recunosc, am instalat FDOM doar pentru a mă juca. Pe Freerunner jocul merge bine și te joci mișcând telefonul sus/jos, stânga dreapta (vă amintesc că telefonul are 2 accelerometre, la fel ca iPhone-ul). Pe youtube găsiți multe filmulețe cu jocul.

Atât OM cât și FDOM au și ele multe probleme însă nu stau să detaliez.

Având aceeași bază, OM, FDOM și QtExtended, beneficiază de un manager de pachete special creat pentru telefon. Numele lui e opkg și e similar cu apt-get din Debian. Astfel, poți instala relativ ușor un număr destul de mare de aplicații.

Debian nu cred că mai are nevoie de prezentare. Când l-am testat eu (august, septembrie) puteai doar să suni și să fi sunat, nimic mai mult. Din câte țin minte nu avea nici măcar o agendă. Nu știu dacă între timp s-au făcut progrese.

Cam atât am reușit să testez cu succes. Am încercat să instalez și Android, dar n-am reușit la prima încercare (trebuia instalat alt bootloader din cauza kernel-ului mare) și am lăsat-o baltă.

În încheiere

O mare parte din problemele existente sunt rezolvabile iar soluțiile se găsesc în wiki sau pe lista de discuții. Însă ai nevoie de timp să sapi după soluții, să urmărești orice posibilă rezolvare, etc.

Ar mai fi multe de spus despre acest telefon, însă timpul nu-mi permite. Cu siguranță am omis lucruri importante însă acest review mi-a luat câteva ore răsfirate pe parcursul mai multor zile și nu sunt dispus să investesc mai mult timp în el.

LinkedIn-urile românești

January 9, 2009 – 5:04 pm

Ieri aflam via @idevelop (mersi pentru invitație) că tocmai s-a lansat iKonect – prima rețea socială de business din Romania – după cum se auto-proclamă.

Tot ieri, citeam la Krumel despre IașiNet, o rețea locală pentru oamenii de afaceri din… Iași (doh!).

Sunt oarecum dezamăgit că au apărut așa târziu :P însă mai bine mai târziu decât niciodată. Multă baftă ambelor site-uri!