There and back again, dintr-un foc

Duminică și luni am fost repede repede până la Cluj și până la Timișoara. La Cluj, pentru că voiam să mă întâlnesc cu noua generație de potențiali / viitori lideri ai centrului local, iar la Timișoara, pentru că mam mea a dat și ea o raită prin România.

Cluj: am plecat de la București cu un accelerat nefericit la 7:30AM. Urât, devreme, dar am trântit rucsacu sub mine si am dormit aproape până la Teiuș, unde mi s-a alăturat și Pătrat. Am ajuns la Cluj pe la 4, am mâncat ceva ceva cu Sabu, și l-am eliberat de MSI u90x-ul lui, pe care l-am cumpărat de la el pentru robot. Înainte să ma văd cu Sabu, am văzut un lucru care m-a impresionat, atât pozitiv cât și negativ, în același timp.

Pe unul din trotuarele largi din centrul Clujului, o șatră de țigani (cu oameni de toate vârstele și de toate sexele) făceau ture cu un scuter de-ăla praf, îl ambalau și îl plimbau înainte și înapoi pe 10m. La un moment dat, tocmai când am ajuns eu lângă ei, unul (sau, mai repede, una) dintre ei a accelerat scuter-ul și l-a scăpat de sub control, a căzut, s-a lovit de asfalt, și și-a pierdut cunoștiința. Nu sunt convins dacă scuter-ul a căzut peste ea sau nu, dar era lovit(ă) destul de serios. Prima reacție a fost să ma duc să văd despre ce e vorba, dar ceilalți membrii ai șatrei s-au aruncat peste ea, au început sa urle și să tragă de ea, să-i dea palme.., și mi-am zis că nu e tocmai ok să mă bag între ei. Am sunat la 112 și operatoarea mi-a confirmat că mai primiseră apelul (probabil de la alți oameni de pe-acolo). În maxim 2 minute de la ”accident” a ajuns o dubă de poliție, din care s-au coborât niște jandarmi și au mers direct către victimă, să îi împartă pe țiganii care trăgeau de biata persoană în toate părțile, și apoi, la înca 20 de secunde în spatele mașinii de poliție, a ajuns și ambulanța. Timp de răspuns, în centru, 3 minute. Impresionant. E drept, analizând după aia, era ziua maghiarilor de pretutindeni și poliția era în alertă. Mai mult, stația de salvare e chiar lângă centru. Cu toate astea, impresionant.

M-am întâlnit cu Vladuț, Simo, Chris, Cristinuța, Georgi, Andra, Pătrat, Cătălin, Gopo și Ioana, Pătrat, să discutăm despre care vor fi următorii pași pentru refacerea unui sistem coerent pentru exploratorii de la Alba. O parte din ei sunt studenți boboci și, acum 6 luni am hotărât să amânăm decizia de a-i pregăti ca lideri până când ei cred că or înțeles cum e viața de student. Acum, momentul a venit pentru ei să ia o decizie și eu am mari speranțe pentru viitorul lor în Centrul Local și în cercetășie. Anyway, la întâlnire am fost foarte fericit că au început să sară idei din stânga și din dreapta, și chiar idei faine. Se pare că inventăm o serie de activități cu canoele pe Murăș în js, tura criminală de test urmând a fi condusă de Gopo.

Chris and Cristinuţa
Chris and Cristinuţa
Gopo, Ioana şi Pătrat
Gopo, Ioana şi Pătrat
Simo şi Chris
Simo şi Chris

După întâlnire ne-am dus la un concert (TheOthers, din Brașov) de care am aflat (tipic pentru Cluj) de la alți cercetași / prieteni (în special Puiu) într-un club care pe mine m-a atras totdeauna în Cluj (pentru că are terasă peste Someș, sub nivelul străzii), La concert a venit o grămadă de lume cunoscută, a fost o experiență interesantă, și a fost atmosferă și o grămadă de prieteni. Pe la 12 a apărut și Rareș, și-am mai dat o tură de oraș, am mai mâncat o tură de șaorme, și am terminat seara prin baruri :).

În concluzie, câteva ore prin Cluj, productive și distractive, și am trecut din nou la sentimentul că viața mea din București nu a fost tocmai trăită, și că mutatul la Cluj la terminarea facultății este o idee chiar bună.

Timișoara: Pe la 5AM am luat Foamea de la Cluj la Timișoara (și am fost surprins de vagoanele decente de pe renumitul accelerat). În Timișoara, am avut doar câteva ore la dispoziție, și le-am petrecut cu mama mea, și rezolvând diferite probleme ”administrative” din apartamentul bunicii mele (net, curent, cărat un frigider vechi la gunoi). Am reușit, pe plan cercetășesc, să mă întâlnesc cu Nicu și cu Nico, și să vorbim despre întâlnirea mea la Cluj cu ”tinereii” și despre ce avem de făcut în următoarea perioadă (și sunt muuuuuuuuuuuuuuulte de făcut). Am reușit să stau de vorbă și cu mama. și aproape să o conving că ceva home-brewed este mai ok pentru un startup decât Drupal (pe care ea îl susține cu încăpățânare, nu știu de ce). Este cineva care are păreri de ce ar fi Drupal mai bun decât o soluție home-brewed? Înafară de motivul că e ”gata scris”.

Proiecte din CS.Poli

Justificare: În liceu, datorită prieteniei mele cu Cătă Muntean, dar și a faptului că am avut șansa să avem la liceu un director foarte deschis către elevi (dl. Cerbu), am fost implicat în tot soiul de „proiecte” pornite din ideile elevilor și care au existat pentru elevi. Implicarea mea în proiecte mi-a dat o înțelegere mai bună a modului în care funcționează lumea, și, eram sigur, când urma să merg la facultate, treaba asta cu proiectele urma oricum să fie exponențial mai tare decât ce am făcut în liceu și urma să nu îmi mai văd capul de câte proiecte cool o să mă atragă.

Ideea asta ponește parțial de la faptul că singurul lucru pe care mi l-a dat facultatea când am ajuns aici a fost o palmă după cap și o găleată de apă rece peste, ca să îmi revin din asemenea vise și speranțe. Am fost dezamăgit, și, după cum colegii mei care au îndurat 5 ani în CS.PUB știu, prima parte (primii doi ani, cel puțin) nu ajută de nici un fel la construirea moralului. Eu am avut noroc de oameni deosebiți în jurul meu care m-au sprijinit și m-au ajutat să-mi dezvolt unele calități care altfel supersistemul de aici mi le-ar fi inhibat, dar sunt mulți oameni în facultate care nu au. Și ideea asta este despre ei, nu despre mine.

Idee: Ce ar fi dacă cineva (eu?) ar porni un proiect în care să listeze toate proiectele interesante care ruleaza acum în Poli (și când zic interesante mă refer la proiecte care sunt și altceva decât formalități pe hârtie pentru cumpărat echipament). Proiectele de diplomă ar putea avea o secțiune dedicată (cele considerate interesante, anyways), și eventual viitorii ingineri ar putea să facă invitații către colegii lor. Studenți de ani mai mici ar putea fi informați în legătura cu unele lucruri efectiv super tari care se fac în școală și s-ar putea autoîndruma spre responsabilii de proiect. Headhunterii și marile firme internaționale de profil din București și nu numai ar putea sprijini anumite proiecte de care altfel nu au cum să audă. Viitori studenți ar putea găsi ce eu am sperat să găsesc când ajung la facultate. Ar putea exista și o secțiune liberă, unde idei (ca asta) să fie discutate și eventual făcut un matchmaking intern pentru implementarea lor.

Condiții: O asemenea aplicație ar trebui să aibă o bază de utilizatori (care pot să înscrie proiecte) controlată fie prin cunoașterea directă a persoanelor implicate, fie prin baza de date a facultății. Totodată, așa ceva ar avea succes numai dacă proiectele de care știu eu NU sunt singurele proiecte worth mentioning din facultatea noastră. și, mai ales, dacă studenții nu au ajuns înca ATÂT de plante încât să rejecteze și ideile interesante împreună cu orice altceva li se servește în facultate.

Observație: Ideea asta pornește de la ideea menționată anterior și de la conceptul că proiectele studențești ar trebui promovate în cazul în care sunt interesante (nu doar în sesiuni de comunicări științifice) Ideea asta se bazează și pe o idee discutată anterior cu Micvs, idee în care ne gândeam că poate ar fi cool să știm ce fac unii dintre colegii noștri la licențe, pentru că s-ar putea să fie interesant.

Acțiune: Momentan, și probabil la rata asta de idei, timpul meu este și o să fie praf permanent, dar poate că dacă încep eu ceva și îi dau drumu’ la vale către una din organizațiile de prin școală … Sau poate că a mai avut cineva ideea asta și atunci totul e rezolvat :)

Proiecte ProgramareWeb

Am mai scris mai demult că ajut la câteva laboratoare de ProgramareWeb semestrul ăsta. Well, o să încerc să revin odată și odată cu detalii, am avut doar experiențe plăcute până acum la laborator, am râs și am văzut mulți studenți extrem de apți, este o experiență foarte interesantă pentru mine :).

Studenții care au PW trebuie să își aleagă o temă de proiect, și au o mână de teme din care pot să aleagă, dar pot (și sper eu se simt încurajați) să-și inventeze teme proprii. Deși știu că multă lume și-a ales materia asta ca să se scape de-o grijă (pentru că profesorul nu are reputație de baubau) am fost foarte plăcut impresionat de unele din temele pe care studenții care m-au contactat până acum le-au propus. Le voi cere la un moment dat acordul să scriu și aici despre ele, și cred că în cazul în care se vor ocupa de ele vor ieși niște aplicații web nu doar mișto ca idee, dar și utile înafara ariei „academice”.

Eu am descoperit în web un mediu excelent de exprimare a ideilor proprii (și aici nu mă refer la blog-uri, ci la idei în modul general, aplicații, concepte …) în special din cauză că timpul de la concept la implementare este foarte scurt, uneori doar câteva ore. Îmi puneam problema ieri că poate o mare parte dintre studenții care chiar sunt interesați de dezvoltarea ideilor lor nu au realizat asta (parțial pentru că nu le-am spus niciodată, parțial pentru că nu au fost suficient de curioși încât să încerce :) ) și mă gândeam chiar că din cauza abordării minimaliste de genul „ce-mi iasă mie din asta” sau, mai rău „dacă nu primesc puncte pe asta de ce să mă chinui” unii dintre ei s-ar putea să piardă ceva nu doar interesant, ci și util.

Printre alte idei mai bune sau mai proaste pe care le-am avut, mă gândeam inclusiv să le oferim un spațiu în care nu doar să își testeze aplicațiile (pentru că pot face asta pe webserverul de test de la ei de pe comp) ci să poată să arate altor colegi ce au reușit să facă și să poată discuta cu ei despre (și cu noi) probleme pe care le-au întâlnit. N-ar fi ăsta un super exemplu de Web2.0? O să reflectez un pic asupra ideii ăsteia, care se oprește de fapt doar dintr-o lipsă momentană de resurse (cum ar fi server și timp :P).

Merg la eLiberatica

Nu știu exact de la ce-am pornit, dar fluxul meu de gânduri s-o întors din nou (cum face de atâtea ori) la posibilitățile curentului OpenSource și Free Source Software (FLOSS pentru cine știe). Și, pentru că așa e întotdeauna la mine, îmi zboară gândurile instant, mi-am amintit că am citit undeva că meseriașul meseriașilor când vine vorba de FOSS, none other than Richard Stallman. Și după aia mi-am amintit că am citit că vine la eLiberatica, care este Evenimentul românesc când vine vorba despre asta.

Bine, cineva mi-a atras atenția că de fapt nu vine, trimite un video (scrie acolo sub poza lui, da’ eu mă uit la poze și gata :P). Mai puțin fenomenal, dar în continuare foarte cool.

Anul trecut m-am gândit să merg și eu acolo doar așa, chiar în ziua în care începea conferința, și era oarecum complicat, pentru că este totuși o conferință serioasă cu înregistrare’n’stuff. Dar acuma am profitat că mi-am amintit, și mi-am asigurat un loc profitând de calitatatea mea încă ne-expirată de student. Trei clickuri, un număr de card și 12 euroi și acum merg și eu la eLiberatica :P. Mai vine cineva?

A, chiar. Anul ăsta o să fie chiar la noi în Poli, deci îi chiar aproape :P

logo

Roboteală

Una din ocupațiile mele de la facultate este să robotesc. Adică să construiesc roboți, în special autonomi (mai multe informații despre grupul nostru de robotiști aici). Ultimele 3 săptămâni m-am luptat cu fel și fel de probleme la unul din roboții pe care îi avem la laborator, și, deși încă nu am reușit să rezolv toate problemele, am învățat o grămadă de lucruri în proces. Eu n-am reușit niciodata în cele 5 – 6 materii cu și despre electronică din facultate să înțeleg cum funcționează trăznăile alea de pe-acolo, dar acum, cu ajutorul domnului profesor Vârbănescu (aka profu’) și cu „ajutorul” problemelor cu robotul cu care lucrez, am înțeles și eu în sfârșit ce-i aia o punte H, cum merge un tranzistor (în mare), cum funcționează MOSFET-urile, să mă joc cu osciloscopul, faptul că trebuie o masă comună între diferite alimentări (care e destul de LMCu, dar dacă-l uiți îi bai)…

Robotul ăsta, care n-are încă un nume (altul decât robotu’ mare) este o mașinuță cu 4 roți și cu control al direcției ca la mașină (cu diferențial și direcție pe față), și are două motoare, unul care angrenează toate 4 roțile și unul care comandă unghiul la care se întorc roțile. Partea de control este făcută cu o placă destul de deșteaptă, pe nume PMS5005 de la Dr. Robot, care printre alte drăcovenii are un adaptor serial to 802.11 (wireless) ceea ce înseamnă că poate comunica pe WiFi cu un calculator. De fapt, placa e gândită să aibă logica separat (pe un computer) și ea se ocupă strict cu controlul și cu primirea feedback-ului de la senzori (nu e programabilă).

Până acum, etapele pe care le-am isprăvit au fost:

  • determinat cum funcționează modulul serial to 802.11
  • configurat 802.11 pentru ad-hoc cu laptop-ul meu
  • determinat că softul de la placă nu funcționează la mine pe comp nici după update de firmware
  • sniffuit pachete, determinat că de fapt placa funcționează corect, softu nu
  • cerut și primit documentație despre protocolul de comunicație al plăcii de la Dr. Robot
  • implementat protocolul în Java într-o formă barbară
  • testat servo motorul pentru direcție
  • ars servo motorul pentru direcție
  • comandat servo nou pentru direcție
  • stabilit că servo s-a ars din lipsa de masă comună
  • instalat servo nou, testat că funcționează
  • reparat servo vechi (aici eu am avut contribuție minimă :)
  • refactorizat și rearanjat implementarea protocolului, mutat partea de conexiune într-un layer inferior, implementat pentru serial și pentru wifi
  • încercat conexiune prin rfcomm0 (bluetooth), stricat placa mea veche pentru bluetooth
  • configurat 802.11 pentru infrastructure (finally!)
  • testat modul control motor mare
  • ars sursă de calculator (prea puțin curent)
  • multe teste și demontări pentru stabilirea curentului necesar motorului mare
  • reușit comandă PWM motor mare
  • determinat că controllerul de motor are un maxim de 5A (peak)
  • determinat că controllerul de motor fierbe și sub 5A
  • renunțat la ideea de a folosi controllerul de motor
  • petrecut o săptămână citind despre punte H, învățat mult despre tranzistori
  • realizat sursă comună de alimentare pentru toate intrările plăcii de control (6V, 5V, 9/12V)
  • implementat soluție poartă H varianta profu (darlington + relee, 8A max), încercarea 1 (merge)
  • decis că încercarea 1 e prea mare ca și suprafață, implementat încercarea 2, cu sursa comună de alimentare ȘI punte H pe aceeași placă
  • determinat că sub sarcină sursa de 6V fierbe
  • ars un tranzistor
  • ars un releu
  • ars alt releu
  • învățat că rating-urile maxime de curent din documentație sunt pentru răcire eficientă (nu ce făceam eu)
  • făcut radiatoare din aluminiu (bonfaier + bormașină, mersi Adi)
  • făcut cabluri de conectare (ATMega către puntea H, PMS5005 către ATMega)
  • testat super placă pe robot, determinat că nu primește suficient curent și merge bleg
  • consulare de ora 12 cu dl. profesor, micit rezistența dintre +Vbatt și baza Darlingtonului la jumate, adăugat radiator barbar pe Darlington (regulă empirică – dacă are carcasă TO220 – de-aia cu șurub – o să-i trebuiască radiator)
  • testat super placă modificată pe robot, determinată ca merge mai bine, dar tot prea bleg

De fapt, robotul ăsta trebuie să poată să recunoască și să ocolească obstacole, să iasă dintr-un labirint, să nu se bage în pereți și, eventual, la un moment dat să devină ceva mai interesant cum ar fi proiectul meu de diplomă. Mai avem până acolo :)

Azi am făcut și câteva poze bestiei:

Poză ca la mașini :)
Poză ca la mașini :)
Drept dintre ochi
Drept dintre ochi
Punte H + surse de alimentare (check out radiatoarele de pe o placă de bază :P)
Punte H + surse de alimentare (check out radiatoarele de pe o placă de bază :P)
Un ATMega32 lipit cu scotch :P
Un ATMega32 lipit cu scotch :P