p0001344

O naluca a vremurilor noastre – partea II-a

Nu demult, povesteam despre cum vad eu educatia formala a unui inginer de sistem si spuneam ca in afara de aceasta (de educatia formala), un bun inginer de sistem mai are nevoie de cateva calitati:

Curiozitatea, definita ca “acea particularitate interactivă a unei ființe prin care își explorează spontan ambiența și caută schimbări în structura sau dinamica acesteia“, este acel motor care indeamna o persoana sa mearga dincolo de “cortina” si sa afle ce (si cum) face cortina sa se miste. Curiozitatea va face ca un inginer de sistem sa descopere si sa exploreze proactiv lucruri care ii vor fi de folos mai tarziu, inclusiv in domenii conexe (networking, programming, etc)

Perseverenta, sau “continuarea realizarii unei actiuni in pofida obstacolelor intampinate“, este un alt element definitoriu al unui bun inginer de sistem, care il face pe acesta sa nu renunte atunci cand toate sansele par a fi impotriva lui. Perseverenta in rezolvarea unei probleme, duce un inginer de sistem in zone noi pe care e posibil sa nu le fi explorat niciodata si ii deschide calea spre noi competente, chiar daca initial ele vor fi la nivelul unui incepator (programare in limbaje noi, protocoale noi, utilitare noi, paradigme noi [cloud], etc).

Creativitatea, acel motor interior care face un inginer de sistem sa gaseasca solutii surprinzatoare, functionale, ce rezolva o problema data intr-un timp rezonabil. Un om creativ si curios, va fi un inginer de sistem cel putin surprinzator, capabil sa ofere solutii creative in situatii conventionale.

Pragmatism, sau capacitatea de a lasa la o parte preferintele proprii pentru indeplinirea unor scopuri mai tangibile. Un inginer de sistem pragmatic va folosi Bash pentru script-uri uzuale, Perl pentru procesare de fisiere text, Ruby pentru cine stie ce API-uri si Python pentru programare folosind thread-uri, in conditiile in care limbajul sau preferat este C++.

Coloana vertebrala. Un bun inginer de sistem nu va ascunde faptul ca anumite tehnologii, limbaje sau tehnici nu ii sunt cunoscute deloc. Dimpotriva, va recunoaste cu prima ocazie acest lucru, si va folosi orice timp liber are la dispozitie pentru a invata cat mai multe.

IMHO, acestea sunt printre cele mai importante calitati ce pot face diferenta intre inginerii de sistem.

p0001344

Mirror mirror …

Multi stiu putini cunosc, ca atunci cand studentii aveau acces la Internet doar de pe calculatoarele/terminalele din laboratoarele facultatii in loc de calculatorul personal, mobil, frigider sau cardul de memorie din aparatul foto, un rol foarte important in distributia de software OpenSource l-au avut acele entitati care gazduiau mirror-uri.

Conceptul de mirror este destul de simplu. O entitate (educationala sau privata), ce avea acces rapid la Internet si capacitate de stocare, punea aceste resurse la dispozitie si facea o oglinda (un mirror) la un continut care prezenta interes pentru comunitatea din zona respectiva. Accesul la continut era gratuit, rolul primar al unui mirror fiind sa puna la dispozitia celor geografic apropiati continut, contribuind astfel in mod indirect la procesul de educatie si de cercetare din Romania. Mai mult, pe anumite proiecte (Debian, Apache, etc) anumite servere, de obicei cele mai rapide si cu resursele cele mai multe, erau servere master la nivelul intregii tari (sau regiuni), fiind folosite ca sursa primara de alte servere din regiunea respectiva.

Student fiind, era mult mai rapid sa descarc un fisier de tip rpm ce avea 2-3M prin reteaua locala a facultatii cu o viteza de 10Mbps decat sa-l iau de pe internet. Ca sa intelegeti mai bine, in vremurile alea, toata comunitatea academica din Iasi avea acces la Internet printr-o linie de 2Mbps. 2Mbps este o fractiune din viteza disponibila in 2017 pe un telefon mobil cu suport de 4G (Vodafone spune ca prin 4G puteti atinge 150Mbps la download, de pe un telefon mobil !).

De exemplu, disponibilitatea unui mirror de RedHat in apropiere, m-a ajutat ca student sa folosesc RedHat pe calculatorul personal de acasa in conditiile in care accesul la Internet la “domiciliu” era un lux, si chiar daca aveai resursele necesare implinirii unui astfel de lux, functiona la doar 56Kbps.

Pentru ca, student fiind, accesul la mirror-urile OpenSource m-a ajutat foarte mult, atunci cand am fost in rolul in care puteam face ceva in directia asta, am facut 🙂 In urma cu mult timp, la RoEduNet Iasi, a functionat unul din primele servere de FTP din Romania ce puneau la dispozitie open mirrors  (continut OpenSource cu acces nerestrictionat). Este vorba despre ftp.iasi.roedu.net, gazduit initial pe un server Sun E450 (cred ca avea 8 procesoare, 2G de ram si 20 de discuri SCSI de 8G) si avea in jur de 15-20 de mirror-uri, serviciul in sine ajungand 15 ani mai tarziu la aproape 100 de mirrors (aproximativ 4TB de date erau stocate, traficul de download ajungand la aproximativ 1T/luna).

Proiectul a fost inceput de altcineva (nu spun cine pana nu am permisiunea lui) si continuat de mine timp de multi ani dupa. Cu timpul insa, pentru ca accesul rapid la Internet nu a mai fost o problema, serverele de mirrors si-au pierdut utilitatea, fiind inlocuite cu CDN-uri/Cache-uri/etc. Imi aduc insa aminte cu placere, ca unii producatori de software (chiar si cei OpenSource) ofereau gratuit modalitati de recompensare a efortului. Una din cele mai faine recompense, arata asa:

p0001344

“O idee din imaginatia mea”

Stiu ca la finalul ultimului post am promis ca revin cu un altul care sa continue povestea si care sa puna naluca in lumina reflectoarelor. Si promisiunea este inca “in picioare”. N-am uitat si inca lucrez la asta.

Insa astazi, uitandu-ma la un experiment interesant al celor de la Canon despre care am mai povestit, am mai descoperit unul cel putin la fel de interesant: un scenariu in care fotografi profesionisti sunt pusi fata in fata cu imaginatia unor copii de 5-7 ani (cine nu stie inca, varsta asta este varsta la care Jules Verne s-a apucat de scris ca sa apuce sa termine ;).

Dincolo de proiectiile copiilor, reactia adultilor este absolut savuroasa. Uimire, supriza, inversarea raportului de forta intre fotograf si “client”, aducerea fotografului in afara zonei sale de confort, reactia copiilor la vederea ideilor lor materializate, toate acestea duc experimentul celor de la Canon intr-o zona foarte faina: fotograful este cel ce creeaza povestea (si trebuie sa munceasca pentru asta) !

p0001344

O naluca a vremurilor noastre

In cei 15+ ani de cand sunt in IT, unele din cele mai dificile discutii (la bere sau pur si simplu aiurea) au fost purtate in jurul unei naluci a vremurilor noastre: inginerul de sistem. Cunoscut ca sysadm, sysadmin, system engineer sau varul mai indepartat, BOFH, inginerul de sistem este o prezenta rara in majoritatea mediilor de lucru (chiar si cel academic ;). Este greu sa gasesti pe cineva care sa aiba rol de inginer de sistem, mult mai greu sa gasesti pe cineva care chiar sa fi lucrat ca inginer de sistem si extrem de greu sa gasesti pe cineva care fie un inginer de sistem bun sau foarte bun.

La o prima “strigare” as spune ca una din cauze este faptul ca rolul de inginer de sistem nu este reglementat in nici o institutie de invatamant din Romania si ca nu exista un master sau curs in urma caruia cineva sa poata spune ca este inginer de sistem. O cauza a lipsei reglementarii este faptul ca rolul unui inginer de sistem este destul de greu de definit in detaliu, in literatura de specialitate el fiind regasit astfel: “Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems“. Intr-un alt loc am gasit o definite ceva mai simpla si mai pragmatica: “A systems engineer is a person who fixes specific system problems“.

In opinia mea, ambele au dreptate. Un inginer de sistem trebuie sa “viseze” operatiile uzuale (managementul sistemului de operare, servicii web,  baze de date, servicii de email, etc), sa stapaneasca concepte generale indiferent de modul in care sunt acestea implementate la nivel de sistem de operare (system init, package management, configuration management, mass provisioning, fail over, backup, etc) si sa inteleaga restul tehnologiilor (AAA, networking, CDN, cloud, security, etc) la un nivel care sa ii permita o viziune pertinenta si de ansamblu asupra unui sistem, viziune care sa ii permita sa poata folosi usor toate cunostinele sale pentru a putea gasi rapid solutia la probleme specifice.

Cred ca nivelul unui inginer de sistem este dat de suma cunostintelor sale tehnice raportate la diversitatea problemelor cu care a fost confruntat in raport cu dificultatea mediuliu la care a fost expus.

De exemplu, unei persoane care timp de 10 ani a mentinut servere web care gazduiau site-uri web cu trafic foarte mic ce necesitau doar PHP si MySQL, ii va fi destul de greu sa candideze pe un rol de inginer de sistem la o companie din automotive pentru ca suma cunostinelor sale din domeniul de systems engineering este aproape irelevanta in noul context. De asemenea, un inginer de sistem care timp de doar un 1 an a intretinut (nu construit) sisteme de AAA, servere de mail, site-uri web, clustere, HPC, cloud si a facut si network management va avea dificultati in a proba in adancime tehnologiile mentionate. Dificil si intr-un caz si in altul.

IMHO, formarea ca inginer de sistem ar trebui sa includa cel putin:

  1. acumularea cunostintelor teoretice:
    1. studii tehnice de specialitate in I.T. (FII sau Automatica si Calculatoare)
    2. un master in Inginerie de Sistem, care nu exista in momentul de fata dar care ar trebui sa puna accent pe intelegerea si configurarea tehnologiilor existente la momentul masterului (ar trebui actualizate in fiecare an) intr-un context mai mare. De exemplu:  cum integrezi un OpenLDAP cu sistemele existente de AAA la nivel de networking sau cum construiesti un sistem de monitorizare.
  2. aplicarea cunostintelor teoretice in viata reala:
    1. angajare/voluntariat intr-o institutie de stat, fundatie, asociatie, sau chiar la departamentul IT al institutiei de invatamant pentru cel putin 1-2 ani
    2. internship intr-o companie cu profil comercial pentru 6 luni – 1 an

Scoala trebuie sa construiasca bazele teoretice si sa ofere timpul necesar experimentarii si explorarii, in timp ce lucrul efectiv permite adaptarea cunostintelor teoretice la lumea reala. Este insa suficient ? Eu cred ca mai trebuie ceva, ceva despre care voi povesti in urmatorul articol 😉

p0001344

200000 de km mai tarziu

Nu cred ca o poveste de 8 ani si 200 000 de km poate fi scrisa intr-o singura postare indiferent cat de mult as vrea eu. O astfel de poveste contine trei sferturi emotii, un sfert mai mic de trairi si un strop de realitate astfel incat acum, o sa fiu extrem de realist si o sa povestesc sec, despre cifre, statistici si valori medii sau absolute pe baza informatiilor adunate si colectate de mine in aceasta perioada.

Inainte de relatarea faptelor as vrea insa sa stabilesc un pic contextul. Nu mai departe de 2008 am decis ca urmatoarea mea masina va fi o Toyota Corolla, noua. Pentru ca asa am vrut eu, gri (sotia stie de ce >:) ). Dintr-un motiv care acum imi scapa am decis ca voi pastra cat mai multe informatii financiare despre masina: facturi de service, consum, etc. astfel incat in timp s-a adunat un set destul de consitent de date financiare. Din pacate cred ca am pierdut cateva din facturile de la service dar cele existente cred ca sunt mai mult decat suficiente pentru a putea face o situatie ce are marja de eroare de +/- 10%.

Motivul principal pentru care vreau sa fac publice aceste date este ca nici un producator nu are (sau nu le face publice) astfel de statistici/calcule disponibile pentru public, desi ar putea fi de mare ajutor in cazul achiziei unei masini. Din pacate insa, avand in vedere ca modelele se schimba odata la 5-6 ani si intrucat statistica nu poate fi facuta decat daca ai toate informatiile, datele prezentate de mine pot fi considerate irelevante  pentru ultimul model de Corolla intrucat au aparut modificari intre generatiile aceluiasi model. Cu toate acestea, cred ca o prezentare obiectiva a datelor ajuta atat un potential cumparator (stiind la ce sa se astepte pe baza costurilor modelului precedent) cat si reprezentanta auto a producatorului intrucat poate trage niste concluzii reale, dincolo de slide-urile de prezentare producatorului.

Cateva detalii relevante:

  1. Toyota Corolla Sol, 2.0l D4D, 128HP, 310nm, achizitionata de noua de la reprezentanta
  2. Toate interventiile (mai putin cele ce tin de schimbarea anvelopelor) au fost facute exclusiv la reprezentanta
  3. Majoritatea calatoriilor au fost facute pe traseul: Iasi Bacau {Bucuresti, jud Bacau, jud Buzau} sau Iasi Ungaria .UE
  4. Schimbarea treptelor de viteza in jur de 3k rpm
  5. Viteza de croaziera: 120-140km/h
  6. Pasageri: 2 adulti (inclusiv sofer) + 2 copii
UM 2008 2009 2010 2011 2012 2013 2014 2015 Medii Total
Operatiuni in service
Nr interventii 1 3 2 3 4 3 13 3 5 32
Costuri lei 2954 2003 1676 4209 6625 5129 7115 9498 5602 39212
Cost lunar lei 246 167 140 351 552 427 593 792 467 N.A.
Distanta si combustibil
Km parcursi km 3000 33000 33000 25512 25749 37437 33082 12568 29050 203348
Cantitate combustibil l 198 2178 2178 1545 1775 2144 2213 856 1870 13087
Cost combustibil lei 990 10890 10890 8455 10168 12684 13324 4708 10301 72109
Consum mediu l/100km 6,6 6,6 6,6 6,57 6,89 5,73 6,69 6,81 7 7
Alte costuri
Asigurare lei 42 500 500 500 500 500 500 500 443 3542
Vigneta lei 8 100 100 100 100 100 100 100 89 708
Curatare lei 8 100 100 100 100 100 100 100 89 708
Altele lei 17 200 200 200 200 200 200 200 177 1417
Total
Cost lunar lei 335 1149 1122 1130 1474 1559 1778 1259 1.226 N.A.
Cost anual lei 4019 13794 13467 13565 17693 18713 21340 15106 14712 117696

Despre tabel:

  1. La capitolul alte costuri am luat in calcul niste sume modice.
  2. Pentru anii 2009 si 2010 nu am consumul si nici numarul exact de km parcursi astfel incat am utilizat valorea medie a perioadei 2011-2015.
  3. Pentru anul 2008 am luat in calcul doar o luna intrucat masina a fost achizitionata in decembrie. Pret de achizitie aproximativ 87000 de lei
  4. Nu sunt include preturile anvelopelor intrucat nu mai am facturile

Concluzii trase de mine din datele de mai sus:

  1. Cea mai mare pondere in cheltuieli o are combustibilul (61% din total), urmat de interventiile in service (33%) si in cele din urma 6% ce reprezinta cheltuieli cu RCA/vinieta/etc
  2. Costurile sunt semnificativ mai mici in primii 3 ani de exploatare si cresc din ce in ce mai mult de la an la an
  3. Consumul mediu pe toata durata este de 7%, crescand foarte lent de la an la an

Over and out !

p0001344

Prejudecati automobilistice

Multi stiu, putini (re)cunosc, ca la multe din achizitiile noastre de toate zilele credem ca judecam cu capul, ne-am dori sa cumparam cu inima dar cumva ajungem sa luam in calcul un conformism social ce nu este cel mai benefic pentru noi, ca indivizi.

In Romania (nu stiu cum e la altii), una din cele mai populare prime intrebari ce apar dupa achizitia unei masini noi este: “cat consuma ?” Intrebarea in sine, desi relevanta (din calcule proprii pe o perioada de 8 ani, reiese ca mai bine de 60% din costul de operare a unei masini este dat de costul combustibilului), pune accentul pe o teama a celui care intreaba in loc sa scoata in evidenta motivele reale care au stat la baza achizitie. O prima intrebare, mult mai normala ar fi: “Si ? Esti multumit ?” (stiu, sunt doua 😉 )

Evident, intrebarea “cat consuma ?” pe mine ma scoate din sarite. Si nu neaparat pentru ca masina pe care o conduc in prezent consuma cu mult mai mult decat o masina normala (diferenta de +2-3l%), ci pentru ca ea face ca toate celelalte criterii pe care le-am avut in vedere la achizitie sa nu fie luate in calcul. Nimeni nu te intreaba daca iti place, cum se simte, cum se conduce, care e nivelul de confort, etc. Despre prejudecatile in ceea ce priveste marcile nici nu mai vorbesc …

… dupa 14 ani de condus masini cu motor diesel si culori anoste (toate gri), mi-am luat masina cu motor aspirat, benzina. Rosie 😉

p0001344

Preconceptia in fotografie

Majoritatea timpului, o singura fotografie sau o sesiune foto sunt construite pe aceeasi pereche de principii:

  • tu, subiectul, vei incerca sa exprimi (prin comportament, pozitionare, etc) ceea ce tu vrei sa reiasa
  • el, fotograful, va incerca sa captureze ceea ce crede el despre subiect

Atunci cand una dintre parti prezinta o alta realitate, se pot intampla lucruri extrem de interesante, precum cele de aici: