Când m-am mutat acum câteva luni în apartamentul ăsta, în camera mea erau două găuri în perete unde a fost, probabil, la un moment dat, un soi de etajeră. Pentru că nu prea am timp de lucru prin „casă”, a durat destul de mult, dar, picătură cu picătură mi-am inventat două rafturi în cameră.
După ce am găsit luna trecută (prin multiple încercări :) niște șuruburi care să se potrivească în găurile existente, astăzi am decis că am timp să mă duc să fac rost și de scânduri. Cu puțin noroc, la cel mai apropiat magazin de materiale de construcții am găsit două bucăți, ușoare, din lemn de ceva rășinoase, cu 50 de lei amândouă. Continuă să citești A little „hardware” project
Duminică eram la Sibiu, în vizită cu Andra și Miha la Adi Cozma după Adunarea Generală și nu știu de unde ne-a venit o mega-idee: ce-ar fi să ne facem o plută de PET-uri și să ne dăm drumu cu ea pe Mureș?
Atât pentru proiecte personale, cât și pentru chestii comerciale, folosesc SVN pentru version control. Îmi e la îndemână, deși, având în vedere că de cele mai multe ori folosesc un GUI pentru accesarea lor (gen Eclipse sau RabbitVCS sau ceva de genul ăsta) – aș putea folosi pentru ce fac eu și orice altceva – Dan ne-a trecut, spre exemplu, la robot, pe Mercurial.
Trac este util mai ales pentru echipe și pentru bugtracking, este scris în Python și are și o interfață XMLRPC (pe care eu încă nu am reușit să o folosesc din Eclipse – pentru Trac 0.12 cu Mylyn).
De fiecare dată când vreau să pornesc un proiect nou – poate și pentru că nu se întâmplă foarte des, trebuie să dau un google sau să verific pagina de man pentru cum se creează un repo în SVN, care sunt permisiunile care trebuie setate, cum se creează un environment în Trac, pe unde am pus eu folder-ul care conține site-urile de Trac pe server, și alte chestii cu care îmi cheltui timpul aiurea.
Allright, în seara asta în sfârșit am reușit să închei un task care mi l-am propus acum mai mult timp, și de care am reușit să mă ocup doar printre picături. O să scriu repede ce am făcut, și mai jos o să dau și detaliile plicticoase.
Nu știu dacă am mai scris despre Gnome Do pe aici. Gnome Do este un progrămel (el își spune launcher) prin care poți realiza o serie de acțiuni din doar câteva taste. Este destul de general, așa că să vă dau un exemplu: scrii Run, apoi apești <Tab>, apoi scrii numele unui program, și apeși <Enter> și programul este rulat. Asta e cea mai basic și intuitivă chestie. Poți să scrii însă și Reboot, Power Off, cu rezultatul pe care îl presupuneți.
Și de aici, lucrurile devin interesante: poți să scrii numele unei formații (evident, ale cărei cântece le ai pe calculator :P), și îți arată albumele, și de acolo poți ajunge la cântecele efective, și le poți da play. Poți să scrii un ID de messenger, și îți deschide o fereastră de messenger cu persoana respectivă. Poți scrie o adresă de stradă și îți deschide Google Maps. Mai mult decât atât, învață care opțiuni le selectezi mai frecvent pentru care obiecte, în așa fel încât opțiunile relevante să iasă întotdeauna în față :).
Toate acțiunile astea pot fi definite de oricine, atâta vreme cât înțelege un pic de programare. Gnome Do e scris în Mono, și, evident, există doar pentru Linux (și presupun că doar pentru … Gnome ;). Acum ceva vreme, am reușit să scriu un mic plugin care se folosea (țărănește) de un script python pentru a trimtie un SMS la un număr dat. Următorul obiectiv a fost să nu mai dau numărul de mână (că unde mai era utilitatea dacă trebuia să introduc numărul), ci să-l iau din baza de date cu contacte a Evolution (aka Outlook pentru Linux). Well, aici am întâmpinat o problemă, pentru că evolution-sharp, pachetul care permite accesul din mono la datele din Evolution era stricat, și nici acum, dupa 4 luni, nu s-a ocupat nimeni de el.
Așa că am scris un mic server în Python, care se conectează la evolution cu python-evolution și citește contactele. Apoi, am modificat pluginul oficial de Evolution și i-am schimbat doar modalitatea prin care își ia datele de la sursa de date (metoda UpdateItems), pentru a le lua, pe DBus, de la serverul Python. A mai trebuit să forțez o interfață pe obiectul de tip telefon, pentru a potrivi tipurile de date, și în final am reușit :D
Acum pot scrie numele unui contact, apoi să aleg telefonul lui mobil din listă, și apoi să aleg SMS din lista de acțiuni și să introduc SMS-ul. Un Enter și whooosh, Gnome-Do apelează scriptul, scriptul deschide conexiunea Bluetooth la telefon (prin gammu), și trimite SMS-ul. Complicat? Nu prea, check this out:
Pentru un update, mă gândesc să nu trebuiască să mai trebuiască să alegi mobilul, ci acțiunea cu SMS să fie valabilă doar pentru contactele cu telefonul mobil completat. But this also works ;)
Dacă este cineva interesat de povestea asta, mă găsiți pe email sau pe messenger. Sau pe SMS :P
Am tot zis că o să scriu despre ce fac pentru doctorat, dar tot n-am apucat. Dar o să scriu. Ideea e că astăzi a venit în sfărșit noul webcam (că webcamul vechi eram cam pușcat), un Canyon CNR-WCAM813 cu 50 de lei de la eMag, Acuma, ideea a fost să construim un dispozitiv experimental (adică cu care să putem face experimente) în care webcam-ul să vadă ce văd eu, inclusiv când îmi mișc capul. Ne-am gândit la un sistem stil frontală (pentru ne-munțomani, frontala îi lanterna aia ce ți-o pui pe cap :P), care probabil va fi și soluția finală, dar pentru prima tură de experimente am folosit o șapcă, primită sponsorizare de la cei cinci care au rămas patru (mulțumeeesc).
Un pic de bormașina, niște prinzătoare de plastic, și, taaa-daaaa:
La primele teste, inclusiv unghiul camerei este bun, as in centrul imaginii este drept în fața mea :) One more picture: