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?

Poli 2.0

Poli 2.0 este o iniţiativă a unor reprezentanţi serioşi ai comunităţii web 2.0 (de pe la Adobe, Yahoo şi mai puţin cunoscutul uberVU – ăştia-s de-ai noştri din CS, Romania), prin care îşi propun să îi înveţe pe studenţii de la noi de la CS chestii despre web2.0, de la setting up projects for working in teams la o aplicaţie finală.

Ei ziceau pe site-ul lor, poli20.org că se adresează în principiu studenţilor de an 2 şi 3, dar eu m-am dus la cursul introductiv oricum (o fost joi de la 2, era cât pe ce să n-ajung). Sala absolut plină, de la mine din an doar băieţii omniprezenţi, în rest doar feţe necunoscute.

Oamenii şi-au prezentat ideea convingător, deşi pentru un idealist ca mine, o fost suficient să îmi arate nişte jucarii noi şi să-mi zică că ar trebui să fac ceva cu ele, doar ca nu se ştie clar înca că. Propunerea lor e să fie folosit un index al web-ului conversaţional făcut de cei de la uberVU, care să fie căutat folosind Yahoo BOSS, şi rezultatele să fie prezentate folosind tehnologiile de la Adobe (AIR şi Flex).

Eu personal nu m-am dat niciodată în vânt după Yahoo sau Adobe, din motive total idioate şi subiective (Yahoo nu mi-o făcut nimica personal, atâta că nu erau Google şi că nu dau (nici acum) POP3 free la mail, şi Adobe o cumpărat Macromedia şi eu nu m-am putut obişnui cu ideea :) ), dar acum, după ce am dat un ochi pe chestii ce sunt disponibile şi se pot face, am ramas oarecum cu gura căscată şi dornic să încerc sa mişc ceva.

De multă vreme îmi doresc o scuză să ma uit prin Google API să mă joc cu hărţi and stuff, dar acum că am văzut cât de meseriaş este Flex ăsta, abia aştept sa le combin pe cele două.

Staţi că mă pierd deja în idei. Deci, oamenii de la Adobe (Mihai Pricope), Yahoo (Bobby Voicu) şi uberVU (Vladimir Oane) ne-au propus să facem o … trăznaie folosind tool-urile lor, şi trăznaia ar urma să fie „examenu de admitere” în ideea că apucăm să citim ceva despre tehnologiile lor. Dacă n-aş avea toate chestiile pe cap acuma aş fi deja cu nasu-n Flex :D.

Oricum, o provocare interesanta, pentru mine. Am rămas foarte dezamăgit de colegii mei de an, care or început instant cu întrebări de căcat despre cine are drepturi de autor pe codul ce îl scriem noi (asta după ce oamenii au insistat pe free şi opensource în toată prezentarea) şi alte dume de genul ăsta. La sfârşit, am surprins o conversaţie între doi colegi „frate, mai vii? la porcăria asta?? nu!”. TF???

Am crezut că e o chestie limitată la doi terminaţi, dar acum, citind pe poli20.org un comment la un post erau unii foarte foarte nervoşi că de ce se face cursu ăsta şi nu se face ceva de circuite integrate or something. Aş vrea să spun că sunt mânios pe ei, dar mai iute mi-e milă. Ma uit aici şi văd că lucrurile încep să existe, că membrii ai staff-ului CS.PUB (Vlad Posea) iniţiază chestii de-astea, şi îi văd pe terminaţii ăştia în partea cealaltă, cu capu de 10 ori mai mare decât mine, care trebuie să comenteze, chiar dacă cursul este facultativ, în nici un caz din banii CS.PUB. Grrrr…

Cum ar zice un domn’ profesor, tre să-mi aminteasă cineva în ce ţară locuim.

Bilanţ

Nu obişnuiesc să fac „bilanţuri” ale chestiilor ce le-am facut decât fie seara (adică, ştiţi voi, dimineaţa) cand mă culc, a evenimentelor din ziua ce s-a scurs, fie cand am o perioadă de relaxare (perioada asta de relaxare e aproape întodeauna săptămâna de după sesiune).

 
 

Deeeeci, bilanţ al chestiilor pe care le-am facut la vârsta de 22 de ani, nu neapărat în vreo ordine anume.

  • Mi-am luat telefon, Nokia 3110 Classic, care acum a împlinit un anişor în mâna mea şi, miraculos, mai funcţionează.
  • Am făcut un camp cu temerari, exploratori şi seniori pe valea Arieşului, cu canoe.
  • Am fost două săptămâni în Germania, în camp.
  • Am fost în Alpi (în cele două săptămâni de mai sus)
  • Am folosit un ciocan de lemn WOW-like
  • M-am vopsit cu henna
  • Am mâncat dintr-o jumătate de lubeniţă fără mâini (piglike)
  • Mi-am luat restanţa la IA
  • Mi-am luat restanţa la TS
  • Am vizitat oraşul Beauvais şi aroportul Charleroi (despre asta ştiu că am scris)
  • Am vizitat diferite locuri din Vestul Irlandei
  • Mi-am cumpărat cel mai tare laptop, Dell Latitude D820
  • Am participat la o şedinţă ENP la Băcia (ultima mea şedinţă ENP to date)
  • Am participat la Adunarea Generală a ONCR
  • Am construit un roboţel care nu s-a calificat la finala românească a Eurobot
  • Am participat la finala europeană a Eurobot, la Heidelberg cu robotul celeilalte echipe (thx Dan)
  • A murit bunicul din partea tatălui meu
  • A murit bunicul din partea mamei mele
  • Am descoperit că am o grămadă de rude din partea mamei mele, care erau acolo, dar nu mi-am dat eu seama niciodată
  • Am facut cateva mii de km cu trenul
  • M-am îmbetat ca un porc pe 4 iulie, NU pentru Ziua Americii
  • Am organizat un camp pentru Festivalul Cetăţilor Dacice. Nu mai facem aşa ceva.
  • Am organizat ediţia aniversară (10 ani) a festivalului Unitate şi Prietenie. Aşa ceva mai facem. Sper.
  • Am fost jefuit în trenul de Sebeş
  • Am fost jefuit lângă staţia de metrou de la Semănătoarea
  • Am făcut zeci de „expediţii” pe Strada Maica Domnului din Bucureşti
  • Mi-am petrecut Paştele la Timişoara, şi nu m-am dus la slujbă
  • Am locuit în P13, camera 410, cu nişte oameni gri, dar şi cu nişte oameni cool.
  • Am învăţat Python
  • Am scris cu Micvs serverul de FLO în Python într-o noapte
  • Am încheiat o etapă din FLO, l-am lansat în producţie şi am mâncat ciupercuţe gratinate la sărbătorirea rezultată
  • Am mâncat mai puţină şaorma, am băut mai puţină cola, şi am mâncat mai multă ciocolată ca în anul trecut.
  • Am downloadat Firefox 3 on Download Day
  • Am învăţat să programez un microcontroller
  • Am învăţat cum funcţionează o parte din sistemul birocratic din facultate
  • Am făcut muncă voluntară la scos fire prin podele false la facultate
  • Am fost la Noaptea Albă a Muzeelor
  • Am luat mai multe note mari la examene decât în toţi ceilalţi ani adunaţi
  • Am făcut un camp în Retezat şi mi-am dat seama ca ne-am pierdut mare parte din spiritul cercetăşesc.
  • Am pornit o idee de eveniment naţional, am lucrat la ea, şi am renunţat (sau măcat am amânat-o)
  • Am primit un MP3 player pe care încă n-am reuşit să-l pierd, să-l stric, sau să-l desfac
  • Am făcut un webserver embedded cu mâna mea (pentru FLO)
  • Am învăţat să folosesc Google Maps API
  • Am amânat zeci de idei interesante pentru că nu am avut timp de ele
  • Am făcut un site şi am luat bani pentru că am facut un site
  • Am păcălit un hosting server să mă lase să pun register_globals Off
  • Am fost la ski pe 29 decembrie
  • Am aburit-o pe Teo
  • Mi-am scăpat Cola pe tastatură
  • Am fost în Şureanu, în noiembrie, cu adulţii din Centrul Local
  • Am fost în Şureanu, în februarie, cu restul Centrului Local
  • Am mâncat la restauranul Camelot din Timişoara (recomand celor care mâncă mult, bine, şi cu mâna)
  • Am luat 10 la testul practic de la Reţele
  • Am primit certificat de la Oracle (şi şapcă :P)
  • Am făcut un dispozitiv pentru trecut orice semnale către un NXT prin I2C
  • Am vizitat castelul de la Heidelberg
  • Am vizitat castelul de la Salzburg
  • M-am întristat să văd cât de puţin promovat este RobotX în România, şi mi-am propus să fac ceva să schimb asta
  • Am fost criticat că sunt destructiv (sunt?)
  • Am construit un catarg suspendat din resturi de lemne
  • Am ajutat la un foc de tabără din 4 tractoare de lemne
  • M-am prăjit sub soare la Cricău
  • Am râs şi am beut mult vin de revelion
  • Am fost la standup comedy la Trupa Cealaltă la Deko şi am râs
  • … And others

     
     

     
     

    Cele mai multe din chestiile de mai sus nu le-aş fi făcut niciodată dacă nu erau prietenii şi colegii mei, din diferite grupuri şi echipe. Mulţumesc găştilor mele :P

     
     

     
     

     
     

     
     

Cocostârcu Ciung la Gravity Challenge

Redbull Gravity Challenge este un eveniment RedBull în care mai multe echipe încearcă să salveze câte un ou.

Mai concret, provocarea e să construieşti un aparat original de zbor care să protejeze un ou de găină în timpul unui picaj de la 12 metri (şi, evident, în momentul impactului cu solul). Cele mai multe puncte merg la echipa care reuşeste să salveze oul, să nimerească zona de aterizare definită, oul lor să atingă cu coaja proprie solul, şi juriul să fie impresionat.

Ca la orice chestie RedBull, juriul contează de la jumate în sus.

M-am trezit într-o dimineaţă pe la 11 cu două mesaje pe mobil. Unu, care anula posibilitatea unei vizite la Cluj vineri seara, şi unul de la Florin, care ma trimitea la un link către drăcia asta cu Gravity Challenge.


Florin mi-o descris pe scurt ideea lui, am stabilit că e destul de crazy ca să şi funcţioneze, între timp era şi Micvs pe fir, şi ne-am ales cu echipa de Gravity Challenge: Cocostârcu‘ Ciung.

Ideea aparatului o fost bazată pe unu din cele mai tari aparate de zbor naturale, sămânţa de arţa (îi treaba aia de se învarte nebuneşte până jos) .


Prima seara de lucru, nişte polistiren extrudat, nişte hartie, raşpil, aspirator, şi ta-daaa, un prototip. De la Micvs de la geam zbura bine cu 3 chei ca şi greutate. Între timp or apărut şi fetele de la RedBull şi ne-or dat un ou de cauciuc, şi evident nişte RedBull. Ultimele teste ales serii de la etajul 4 din P6 erau promiţătoare.

În a doua seară de lucru (şi ultima), a fost produs modelul de zbor, după studii serioase ale formei aripii avioanelor, folosind acelaşi model ca la prototip, dar un profil de aripă mult mai „lucrat”.

Evident, în testele de pe P6 am spart tot ce am pus. Dar să trecem peste asta.

Concursul a fost suficient de bine organizat. Tricouri, mancare, redbull. Aproape 30 de echipe. Mulţi dintre ei tineri de la calculatoare, cu iniţiativă. Vremea, aproape ok. Galeria: Gia şi Sonia. Bubble wrap head bands, check. Florin semnat proces verbal că nu sare de pe macara când ajunge aia la 12 metri, check. Prezentatorul ne citeşte prezentarea, Florin face semne de ok, ne facem momentu cu laptopu şi cu adjustări, Florin lanseaza şi ….

Totul se învârte ca la carte, toata lumea se minunează la minunea zburătoare, dar pe la jumatea celor 6 metri aripa cocostârcului ia o pală de vânt şi deviază de la traseu. Nu am spart oul, dar nu am nimerit zona de aterizare. Am intrat direct pe locul II, dar n-am rămas acolo prea mult, deşi pentru impresie artistică aveam note destul de bune :).

Concluzia, o experienţî interesantă, o vineri după-amiaza petrecută ok, o tigaie cadou, şi un tricou nou :P.

Poze la Gia pe Picassa. Şi film de la Florin, pe iutub.

Întâlnire RobotX

Anult trecut m-am implicat într-o echipa a facultăţii la un concurs de robotică (www.eurobot.org). Experienţa a fost interesantă şi am rămas în gaşca aia „de la robot” şi anul ăsta.

Eurobot este un concurs inventat în Franţa acum vreo 10 ani, a cărui scop e să creeze o atmosferă de concurs în care să se dezvolte robotica practică în licee şi facultăţi. Francezii au o grămadă de proiecte pe treaba asta, la fel si belgienii, şi elveţienii parcă. Ideea e că sunt o grămadă de ţări băgate, şi o gramada de bani şi de idei.

Ţările care au mai mult de 3 roboţi care îşi doresc să participe la concurs sunt încurajate să facă o etapă „naţională”, unde să se selecteze cele mai bune 3 echipe care apoi să reprezinte ţara respectivă la Eurobot.

Faza naţională românească e organizată de o organizaţie studenţească de la FILS şi de o doamnă profesoară din politehnică, şi se numeşte RobotX. Anul trecut, la prima mea experienţă cu RobotX, concluzia a fost clară că oamenii sunt mai ocupaţi să-şi dea aere şi importanţă decât să facă treabă. Probleme şi certuri în echipa de organizare, întârzieri majore în time-line-ul concursului, probleme cu presa. Nu un fiasco total, dar oricum, mult mai puţin show decât ar fi putut să fie.

Anul trecut eram hotărât să ajut sa fac RobotX să crească. Profesorul nostru îndrumător a încercat în mai multe cazuri, şi gentil, şi mai puţin gentil, să ia concursul sub „aripa” noastră, la Calculatoare, şi să ne ocupăm noi de tot. Doamna profesoară de la politehnica care „se ocupă” ne-a refuzat, mai gentil şi mai puţin gentil, de mai multe ori, în ideea că să rămână ea şefa, şi să organizeze oamenii ei de la FILS treaba.


Nu mai rămânea nimic de zis, dacă nu ne chema la o şedinţă organizatorică unde sa ni se plângă de toate probleme de organizare pe care le are, să justifice de ce nu o reuşit să facă nimic şi să se plângă că nu are cu cine lucra, că ăia de la FILS n-o ajută and so on. Am plecat de acolo de la şedinţă scârbit să mai vad oamen de-ăştia care se ţin de o chestie doar de ciudă să nu i-o ia altu, ca şi cum concursul ăsta de robotică ar fi al ei, şi ar putea să-l păstreze. Dar uite că e România, şi poate.

Aştept încă un fiasco din partea RobotX, înca un eveniment ne-promovat, nici intern, nici extern, făcut de formă să plece cineva „afara”. WTF, ne mai batem pe ieşit afară????

Până una alta, am primit ieri un mail de la doamna profesoară pentru încă o întâlnire administrativă, la dânsa în birou (ie, data trecuta am fost 4 echipe si am stat în picioare, acuma dacă mergem 13 o să stăm unii peste alţii). Aştept să mi se plângă cu X nu e gata şi Y din echipa administrativă nu îşi face treaba ca să îi zic la revedere şi să plec.

Postu ăsta e scris după mult filtru la rece, şi după multă apă trecută pe Mureş, la săptămâni bune de la eveniment. Still, scârba pentru oameni şi acţiuni de genul ăla persista puternic.