Django

Am scris de mai multe ori aici că mă jucam de-a dezvoltatul unui framework pentru aplicații web, scris în PHP. Aveam o grămadă de idei (le mai am și acum) și am petrecut destul de multă vreme gândind (și scriind cod) pentru asta. Totuși, cu cât m-am gândit mai mult, cu atât am dat de mai multe probleme (interesante, ce-i drept, de rezolvat). Zilele astea, pentru că am fost mai liber, am început să mă uit puțin la framework-uri opensource disponibile.

Am dat un ochi la Symphony, dar nu m-a prea atras. E drept, puteam să sap mai adânc, dar am ales să mă joc puțin cu Django, în schimb. Django este un framework (foarte) cul scris în python, care implementează toate ideile mele pentru yPHP and more, și le implementează exact așa cum mi-am dorit eu (și n-am reușit încă) pentru yPHP. În plus, python e un limbaj în care e absolut fenomenal să scrii cod (bine, aici Dan ar strâmba din nas și ar zice ca e total ne-eficient blah blah blah  :P).

N-am reușit să merg foarte departe, m-am jucat un pic doar cu o parte din componentele framework-ului, dar pare super-interesant. Și, deși comunitatea developerilor pe django / python pentru web este minusculă pe lângă comunitatea PHP, calitatea documentației este admirabilă.

Două chestii pe care vreau să încerc să le implementez sunt o interfață web pentru un gateway sms (Peticel pentru prieteni) și un mic proiect care să aibă de-a face cu google / yahoo maps. Revin cu detalii ;)

Ultimele peripeții pe Căile Ferate Române

Îmi place să călătoresc. Mă simt bine pe drum, indiferent de drum. Nu știu de ce, poate că nu îmi place să stau pe loc. Dar, la noi în țară, dacă esti student (și aici intră și doctoranzi care nu au văzut nici un ban de la iubitul nostru stat român), de cele mai multe ori călătoriile implică mărețele CFR. Am mai avut peripeții cu ei și am mai scris și pe aici din ele.

În ultimele cam așa, 10 zile să zicem, am avut plăcerea să călătoresc cu CFR în valoare de vreo 1200 de km, cu 4 trenuri, din care 3 au avut întârziere de mai mult de 100 de minute, fiecare.

Primul a fost când am plecat de la București spre Cluj, cu acceleratul de 20:08. Acceleratul ăsta se formează din niște vagoane care de fapt ajung la București cu jumătate de oră înainte și care vin de la Constanța. Când am ajuns noi în gară trenul de la Constanța avea 150 de minute întârziere declarate, dar la informații personalul CFR zicea senin că de fapt ei habar nu au unde este trenul de fapt. Ca să dea totuși drumul la tren au pus grămadă niște vagoane și au dat drumu la tren cu doar 140 de minute întârziere, anunțate incremental (10, 20, 40, 85, 110, 140 – ca să nu poți sta liniștit la căldură 2h, să trebuiască să stai să vezi ce se întâmplă). Când am plecat din București, trenul de Constanța avea 200 de minute întârziere și în continuare nu se știa nimic despre el.

Evident, în tren a fost setată clima pe VARĂ, deci am degerat până la cluj unde am ajuns cu 3 ore mai târziu decât era cazul.

La întoarcere, povestea asemănătoare. După ce am ratat un tren din Teiuș (care a venit la fix!), am luat un accelerat până la Alba și de acolo aveam în 5 minute tren la București. Right. Întârziere declarată la sosire, 120 de minute. Întârziere reală, la plecare, 140 de minute. Întârziere în București – tot cam 3 ore. Deși trenul ăsta era, într-adevăr încălzit înauntru, ușa vagonului meu era înghețată bocnă, cu țurțuri.

Ușă vagon rapid

Degeaba avem locomotive „modernizate” în 2008, dacă ele circulă pe linii drepte ca coada porcului.

Placă laterală pe locomotiva rapidului de București

Am stat două zile în București, am încercat să vin înapoi cu rapidul de 19:10 din Gara de Nord. Mi-am luat bilet înainte, trenul a plecat la fix din gară. Pe la Comarnic m-am trezit din somnul default pe care îl bag pe orice tren pentru că mi se părea mie ceva neînregulă. Întreb prin compartiment, stăteam de un sfert de oră, nici măcar într-o stație. De la naș aflăm că e un tren deraiat în față, înafară de restricțiile de viteză de 30 de km/h pe linie și de faptul că una din linii a fost abandonată și se circulă pe un singur fir pe tot culoarul Valea Prahovei (!). Plecăm de la Comarnic cu o oră întârziere, mai pierdem încă aproape o oră pe drum. Între Sighisoara și Alba Iulia mai recuperăm, și ajungem în Alba cu o întârziere de doar 100 de minute.

La 5 dimineața, ajuns în gară în Alba, m-am uitat din nou pe afisul cu returnarea unei părți din prețul biletului în caz de întârziere.

Afișul zice așa: peste 60 de minute, 25% din bilet înapoi, peste 120 de minute, 50% din bilet înapoi, și dacă trenul se anulează sau ceva asemănător, full refund. The catch este că dacă ai mai puțin de 4 EUR de luat, nu îți dă nimic. Eu aveam 3.80 :P Dar m-am dus totuși la ghișeu să întreb (da, știu, sunt o kitră, la 5 AM nu e tocmai oră de discutat chestii de genu la gară …).

Tanti de la informații s-o blocat instant, după care mi-o zis: „ah, dar nu se pune încă treaba aia!”. Eu îi zic, dar tanti, este afiș, zice că din 3 decembrie 2009. Tanti se scuza, iese din birou și se duce la afișu din holu gării să citească! WTF? Vine înapoi, o sună pe casieră, vine casiera, zice că ei n-or mai făcut refund-uri până acum. Mă întreabă de unde vin, îi zic că de la București. Zice: păi da, pe linia aia sunt restricții de viteză, e normal să fie întârzieri. Nu e vina noastră, nu putem da refund. WTF? Îi zic, tanti, dar știți, era un tren deraiat în fața noastră, n-o fost numa restricțiiile de viteză. La care ea (!): păi vedeți, clar nu a fost vina noastră!. Am întrebat-o care sunt situațiile în care e chiar vina lor, dar a evitat să-mi răspundă, am rămas că mă duc să mai întreb odată mai încolo :D Data viitoare poate chiar am mai mult de 4 EUR.

Idei de licențe

Înainte să plec la Vienna, am avut o discuție cu profu’ despre cum ar trebui să abordez tema de doctorat și una din chestiile ce le-am decis e că am putea să propunem niște teme de licență, să mai împart ce am eu de descoperit / inventat la mai mulți.

So, până acum am stabilit în linii mari trei idei de teme de licență:

  • Recunoaștere de texte din imagini aleatoare, în principal din outdoor (nume de străzi, firme, reclame, anunțuri, numere de mașină). Tema are două elemente, unul este stabilirea existenței unei forme de text într-o imagine (într-un mod eficient) și al doilea este recunoașterea textului efectiv (care poate fi deformat în mai multe feluri, din cauza poziției, sau a suportului – i.e. un stâlp rotund, sau să fie de sus în jos …)
  • Transformarea de forme geometrice în sunet. Stabilirea unei metode (experimentale) prin care un set de forme geometrice în sunet. Formele geometrice pot fi de la simple (gen un dreptunghi, un disc) la lucruri mai complicate, dar toate vor fi bicolore.
  • Determinarea distanței față de un obiect dat și a poziției obiectului într-un cadru prin analiza dimensiunii obiectului, într-un flux video live, și transmiterea acestei informații pe un canal audio către un utilizator.

O regulă importantă este că ne dorim să dezvoltăm / folosim algoritmi independenți de limbaj și platformă, folosind tehnologii opensource. N-aș vrea să avem programe în Matlab folosind biblioteci proprietare (ca să nu mai spunem hackuite).

Dacă sunteți interesați de așa ceva, sau poate știți pe cineva care ar putea fi, dați un semn. Revin cu detalii după ce mai stabilesc chestii.

ZigBee – Serială

Am zis că o să revin, foarte scurt, cu ultimul dizpozitiv pe care l-am inventat pentru cursul de RIE. E vorba de un adaptor, de la modulul ZigBee de la Atmel de care vorbeam înainte, la o serială (RS232). Pe ăsta l-am și nimerit la fix și încap toate mufele cum trebuie :D

Back
Front
Front

Pentru că deja am lipit chestii SMD (mă rog, pe astea ce le-am avut până acum), placa asta nu a mai fost o provocare din punctul ăsta de vedere. Totuși, am învățat multe chestii de PCB / gSchem cu ocazia plăcii ăsteia. O dată, am făcut update la gSchem cu ce este în repo-ul lor, versiune care se mișcă mult mai bine (și arată mai bine). Am făcut update și la PCB, dar nu am prins schimbări majore.

Apoi, am descoperit trei feature-uri de la PCB care mi-au fost de real ajutor. Prima, cea mai neimportantă, este că poți mări un text dacă stai cu mouse-ul deasupra lui și apeși pe S. Apoi, am reușit să potrivesc dimensiunea discului de cubru care rămâne în jurul găurii (pentru ca ale mele erau prea mici și se corodau sau le luam din greșeală cu bormașina). Și cea mai folositoare chestie ce am găsit-o, utilă îndeosebi când ai și componente SMD și și de-alea normale, dar și când lucrezi la o placă cu două fețe, este posibilitatea de a vedea cealaltă parte a plăcii și de a muta elemente pe cealaltă parte a plăcii (adică le oglindește direct programul).

Târgul de Crăciun de la Vienna

Unul din motivele pentru care n-am mai fost online (și deci în consecință n-am mai scris pe blog) în ultima săptămână a fost că am plecat cu  gașca la Vienna, să vedem Vienna pe iarnă și să dăm o tură la Târgul de Crăciun.

Am plecat cu Miha, Iuliana, Simina și Iuli din București, imediat după ACS Winter Skating, cu 140 de minute întârziere, cu un tren slaped-toghether de CFR din vagoane ce erau pe-acolo degeaba, întrucât trenul nostru „oficial” era dat dispărut între Constanța și București.

Am ajuns la Cluj cu 3 ore întârziere, într-un vagon de clasas 1, dar pe un frig crâncen (eu sunt convins că bietul naș de accelerat nu știa să seteze căldura pe altceva decât 18 grade, vară). Eu am mers (dintr-o împărțeală semi-random) cu Cristina și Horațiu Tătar, cu Simina și cu Neghi. Nu îmi amintesc prea multe despre drumul din România (as i slept), dar am văzut media de viteză pe Cluj – Oradea la Horațiu în bord și era 40km/h. În rest am mers destul de bine, cu Radu și al lui GPS în fața noastră, până la centrul scout din Vienna care ne-a găzduit 4 zile.

În prima zi am dat o tură de oraș, a nins frumos. Am dat de colindători români pe stradă, cântau foarte frumos.

Colindători pe stradă în Vienna. Știau Moș Crăciun

Am fost la Stephansplatz, ne-am învârtit un pic, ne tot ningea :).

Freeezing snow

Ca să nu stăm degeaba, am fost să vedem niște o casă făcută de un artist austriac pe nume Hundertwasser (și la casă îi zice, inevitabil, Hundertwasserhaus). Casa, și stilul, sunt foarte tari, mai ales că sunt exact pe dos față de tot ce vezi în Vienna imperială: toate geamurile sunt puse alandala, casa are colțuri pe unde nu te-ai aștepta, trotuarul e vălurit, sunt copaci pe acoperiș, pereții n-au numai zugrăveală pe ei ci și plăci din tot soiul de materiale. E un super puzzle de culori și materiale, și nu îs două geamuri la același nivel :)). Musai, dacă mergeți în Vienna, să treceți pe acolo. Pozele ce le-am făcut eu, pe ninsoare și iarnă don’t do it justice.

Hundertwasserhaus

Am fost și până la Prater, am dat o tură prin mașinuțe să ne ciocnim :), dar nu s-a dat nimeni în roata mare pentru că ningea și nu s-ar fi văzut nimic. Ne-am oprit și până la Dunăre, doar așa, în trecere, să zicem bună ziua. Am mâncat serios la Subway, la operă (bun loc acolo, e a doua oară când mă scapa de frig anu ăsta). Fetele s-au oprit pe la H&M-uri prin centru, eu am fost cu Bogdănel, Teo și Cristinuța până la Hofburg, pe care eu nu-l văzusem noaptea. Am mai trecut pe la ceasul care cântă colinzi iarna la 5 și la 6 (dar noi am prins doar sfârșitul colinzii), și apoi ne-am dus să vedem obiectivul principal: Târgul de Crăciun.

Târgul de Crăciun este de fapt o „piață”, multe multe tarabe în diferite locații în Viena, cea principală fiind piața din fața primăriei (Rathausplatz). Se dă punch, se dă vin fiert, sunt dulciuri, tot felu de artizanate și de alte nebunii numai bune de cadouri de crăciun. După ochiul meu, cam toate prețurile erau umflate, dar nah, când ești la târgul de crăciun, mai bei și un vin fiert, probabil că nu te mai uiți :). Oricum, înafară de niște căciuli de moș crăciun cu beculețe, nu am văzut nimic kitch-ios, totul era de bun gust, reni și oameni de zăpadă de ceramică, bomboane de 1m, animăluțe de pluș, marțipan, turtă dulce…

Am încheiat ziua la Molly Darcy’s Irish Pub, care ne-a mai găzduit și în trecut, cu un Guiness de la mama lui.

Trucaj ordinar!

A doua zi fetele și-au dorit să tragă o tură de shopping, așa că am plecat cu Bogdănel prin oraș (după ce am fugit o stație după tramvai :) ). L-am lăsat pe Bogdan la Muzeul de Științe Naturale, și eu m-am dus să mă plimb prin centru. În mod normal îmi face plăcere să mă plimb prin orașe de-astea vechi și să încerc să-mi imaginez cum arătau în vremurile lor de glorie, dar în ziua aia era un frig de cădeau coarnele la cai, deși era super soare. Am făcut câteva poze pentru o idee pentru doctorat (revin pe tema asta), dar nu era rost de stat afară. După un pic de gândeală, m-am hotărât să merg la Turnul Dunării. De la ONU City am luat-o pe jos printr-un parc înghețat unde erau doar doi – trei oameni, și am ajuns.

Turnul Dunării a fost construit în 1968 și are cam 250 de metri, și e just for fun. Are o terasă de unde se face bungee-jumping și de unde poți să vezi Vienna de sus, o cafenea care se învârte să vezi de la masa ta toată Vienna și un restaurant, la ultimul nivel. Am făcut câteva poze, m-am minunat de cât de mare e Vienna și cât de puțin vedem noi, de obicei, din ea, m-am simțit un pic ca în SimCity sau într-unul din jocurile din seria Tycoon. Foarte tare :) De menționat că se urcă cu liftul până la terasă, la 150 de metri, că liftul zboară cu 6.7m/s în sus, și că are acoperișul de sticlă, să vezi pe unde urci :). De la bază până sus faci cam cât fac eu la facultate de la parter la 3 :P.

ONU City. Nice
Tycoon anyone?
ONU City from uphigh
ONU City from uphigh
Alte Donau (Dunărea veche)a

M-am întors în centru, unde m-am întâlnit cu gașca soră-mii, am fost cu ei până sus în turn la Stephansdom (așa, vreo 350 de trepte, phhh….).

Centrul, de sus
Roata din Prater

Apoi i-am lăsat să mănânce, le-am găsit pe fete la Târgul de la statuia Mariei Tereza, și ne-am îndreptat (cu greu, că ne tot pierdeam unii de alții, cred că era de la vin :P) către Salmbrau, super berăria unde ne-a dus profu’ în martie. Cu mult noroc, am primit o masă în pivniță (dacă mergeți acolo, musai să stați în pivniță!) pentru câteva ore. Am beut bere bună făcută acolo în casă (evident, nefiltrată), și am mâncat un ditai ciolan. În sfârșit am reușit să găsesc mâncarea care să-l dea gata pe Bogdănel!

mâncăul vs. ciolan, 0-1
foooood

De acolo, ne-am dat puțin cu tramvaiul, am mai băut un vin cald la primărie, ne-am strâns cu gașca arhitecților și ne-am dus acasă.

A treia zi am făcut puțină curățenie, am mai dat o tură scurtă tare prin centru. Fiind luni, la târgul de crăciun era plin plin plin de copii de grădiniță și de școală generală, ceea ce mi s-a părut foarte extrem de tare!

Târgul de Crăciun

Pe la 2 am lăsat cheile la Georgi și Teo, care au mai rămas o seară, și am plecat. Ne-am pierdut puțin prin Ungaria, am mâncat ceva pe la graniță, și am ajuns în Cluj pe la 2 noaptea. De acolo, cu mașina lui Cătă până la Teiuș, unde aproape am prins trenul de București, but not quite. Am stat o oră la Cătă la Teiuș, am luat un tren spre Alba, și apoi, cu înca 2h întârziere, am reușit să iau un rapid de București.

The END

Poze de la mine, dar și de la