cata

Cerere de informare la STS

Tocmai am trimis această cerere de informare la STS. Vă anunț ce răspund. 🙂

Bună ziua,

În baza Legii 544/2001 privind accesul la informațiile de interes public, doresc să primesc o copie a codului-sursă pentru aplicația Check DCC pentru scanarea certificatelor Covid-19.

Doresc ca informațiile să îmi fie furnizate prin e-mail la adresa cata@francu.com.

Precizez că sînt inginer software și doresc să studiez codul-sursă pentru a mă asigura că face doar operațiile necesare (validarea certificatelor) și nimic altceva, în special că nu transmite nicăieri informații despre ce persoană a fost la ce adresă IP la ce moment în timp.

Vă mulțumesc,
Cătălin-Andrei Frâncu

De ce este relevant: Aplicația oficială pentru scanarea certificatelor în mall-uri, restaurante, hoteluri etc. este Check DCC, o aplicație neliberă în sensul libertății software (adică al cărei cod-sursă nu este publicat). Asta înseamnă că trebuie să ne punem încrederea în dezvoltator (STS — Serviciul de Telecomunicații Speciale) că aplicația face doar ceea ce promite și nimic insidios.

Ce promite să facă aplicația? Să scaneze un certificat Covid și să confirme sau infirme validitatea certificatului. Atît este suficient pentru ca gazda să aibă încredere că i-am prezentat un certificat valid. (Rămîne întrebarea de ce nu i-aș putea prezenta un certificat descărcat de pe Internet, dar validarea identității este o altă discuție).

Ce lucru insidios ar putea să facă aplicația? Avînd în vedere că printre permisiunile necesare este accesul deplin la rețea, ar putea face orice. De exemplu, să trimită la compania-mamă (STS) informația că eu am fost la o adresă IP anume într-o zi anume, la o oră anume. Din adresa IP, dacă este o adresă de cablu / fibră optică (de exemplu wifi-ul restaurantului), se poate afla destul de ușor adresa fizică. Iar STS ar putea să stocheze aceste informații pentru o durată și un scop nedeterminate.

Există și varianta candidă, în care aplicația nu trimite nimic prin rețea, sau în care aplicația trimite aceste date strict pentru validare, validarea se face pe serverul STS, iar STS nu stochează nimic. Din păcate, aceasta este problema cu software-ul neliber: el face un apel la încredere care pur și simplu nu ar fi necesar dacă am folosi software liber.

Revin cînd am noutăți.

Discuție despre tehnologie și societatea de azi

Ieri am avut plăcerea să fiu invitatul lui Alin Popescu într-un episod al podcastului său despre tehnologie. Am discutat despre problemele pe care le naște sau, dimpotrivă, le rezolvă tehnologia în societatea de azi. Mi s-a părut un subiect interesant, desigur prea vast pentru cele 45 de minute ale podcastului, dar cred că a ieșit bine.

Îl puteți asculta mai jos sau pe pagina podcastului.

Convalescență după religie

Am început să scriu o serie de povestiri despre experiența mea de creștin ortodox. Partea voluntară a acestei experiențe a durat 23 de ani, la care aș mai adăuga vreo 10 ani anteriori, ai copilăriei, în care pur și simplu credeam și făceam ceea ce vedeam la oamenii din jur.

Voi scrie pe Medium, nu pe acest blog, pentru că acolo aș putea avea mai mult de cinci cititori. 🙂 Vreau să scriu bilingv (îmi traduc toate povestirile și în engleză), iar acest blog aș vrea să rămînă în limba română. În plus, intenția cu care încep aceste scrieri este să-i ajut pe alții să iasă dintr-o situație similară sau să-și scoată prietenii din ea. De aceea, cred că aceste opinii, deși pornesc de la experiențe personale, nu-și au locul pe un blog strict autobiografic.

Deocamdată am două capitole:

Cum să devii angajator ca persoană (fizică)

Preambul: voi folosi termenul persoană ca să mă refer la ceea ce legea numește persoană fizică. Mi s-a părut dintotdeauna o nomenclatură tembelă. Sînt persoană, deci evident că sînt și fizic. Comasarea noțiunilor de persoană, firmă, asociație etc. sub termenul-umbrelă persoană creează confuzie și induce noțiuni greșite (cum ar fi aceea că firmele pot avea drepturi umane).

Nu prea îmi stă în fire să scriu how-to-uri, dar ăsta pare util. Codul Muncii le permite persoanelor să angajeze alte persoane. Nu este nevoie de firmă sau de PFA. Nici nu este foarte greu; se rezolvă din două drumuri + niște formulare de completat. Puteți face totul într-o dimineață. Doar că procesul este prost documentat. Sper ca acest rezumat să vă fie de folos. Precizez că nu îl voi ține la zi cu modificările ulterioare din lege.

1. Pune-te de acord cu angajatul asupra detaliilor contractului

Pare de la sine înțeles, dar e mai bine să puneți pe hîrtie și cele mai evidente detalii, pentru că oamenii au noțiuni foarte diferite despre ce este evident. 🙂 Vorbiți despre salariul net și brut, concedii, numărul de ore, natura muncii. Eventual elaborați și o fișă a postului. Vei avea nevoie de codul COR pentru funcția în cauză.

2. Descarcă, adaptează și semnează contractul de muncă

O căutare pe Google după [contract individual de muncă] dă rezultate promițătoare. Presupun că orice vine de pe site-ul Inspectoratului Teritorial de Muncă este suficient. Eventual vorbiți cu un contabil pentru detalii. De exemplu, eu am folosit un model care include și hărțuielile cerințele GDPR. Semnați contractul cu începere peste 3-4 zile lucrătoare, ca să ai timp să faci drumurile descrise mai jos. Probabil este primul contract pe care îl semnezi ca angajator anul acesta, deci dă-i numărul 1/2020.

3. Instalează programul Revisal și generează registrul în format .rvs

Programul Revisal permite introducerea în format electronic a datelor contractului de muncă de mai sus: datele de identificare ale tale și ale angajatului, data începerii și durata contractului, codul COR etc.

Modul în care statul român a înțeles să digitizeze acest aspect este unul absolut tiranic, din punctul meu de vedere ca adept al software-ului liber. Revisal este un program neliber care rulează doar sub Windows. Ambele, Revisal și Windows, sînt programe pe care le rulezi pe încredere, fără să ai acces la codul-sursă. Revisal este făcut de Teamnet, firma unui fugar șantajist mituitor și spălător de bani. Și nu știu dacă mai există un alt mod de a înregistra un contract de muncă. Dar în fine.

În Revisal, generează un registru. În acel registru adaugă-te pe tine ca angajator, adaugă-l pe angajatul tău ca salariat și introdu datele contractului individual de muncă proaspăt semnat. Apoi salvează acest registru. Vei obține un fișier cu nume de forma P.F.Nume-Prenume.CNP.Dată-Oră.rvs.

Pune fișierul pe un stick USB (sau pe două, pentru siguranță). Astfel îl vei duce la ITM. Stickul îl vei primi înapoi.

4. Mergi la ITM (Inspectoratul Teritorial de Muncă)

Pentru București, mergi la sediul din O. Goga nr. 2 (intrarea este pe jos, dinspre Splai). Ia cu tine:

  • stickul / stickurile USB;
  • buletinul tău și o copie;
  • o solicitare pentru eliberarea parolei (model);
  • mi-au mai cerut și o împuternicire (pentru mine însumi…) pentru depunerea registrului în format electronic; nu aveam la mine, dar mi-a dat funcționara un formular;
  • eu am luat și contractul de muncă și o copie după buletinul angajatului, dar nu mi le-au cerut.

Funcționarul va importa acel fișier .rvs în registrul oficial și îți va da, pe loc, o parolă cu care vei putea accesa sistemul pentru modificări ulterioare (numele de utilizator este CNP-ul tău). Contul meu era deja activ cînd am ajuns acasă.

5. Fă un screenshot 🙂

Următorul pas este să mergi la ANAF ca să te înregistrezi ca angajator-persoană. Dar acolo îți va trebui dovada că ai înregistrat contractul, prin Revisal, la ITM. Cum faci această dovadă? Cu un screenshot (captură de ecran). Te-ai prins? Facem totul digital, apoi tipărim, scanăm, tipărim din nou și mai scanăm de vreo cinci ori, pentru că așa funcționează digitalizarea instituțiilor statului.

Așadar, intră în sistemul centralizat (care se numește Reges, nu Revisal, pentru maximum de confuzie) și capturează niște imagini cît de cît relevante. Eu am făcut o captură cu secțiunea „Istoric preluări” și una cu contractul de muncă expandat:

O divagație, în caz că și vouă vi se pare ciudat sistemul. Da, este un sistem ticălos, gîndit pentru dublarea sifonării fondurilor. În loc să existe doar un sistem centralizat (Reges), mai există și un sistem-client (Revisal), care este neliber și merge doar pe Windows. În Revisal doar bagi niște nume și numere, iar el generează un fișier eminamente text.

6. Completează formularul 020 (de două ori)

Cererea de înregistrare ca angajator-persoană se face cu formularul 020. Completează-l de două ori, pentru că a început deja să-ți placă, recunoaște. Miniinstrucțiuni:

  • Bifează punctul I.1 (declarație de înregistrare fiscală).
  • Completează toată secțiunea II.
    • La II.1., codul de identificare fiscală este CNP-ul tău.
    • Lasă gol la II.1.1 (nu este cazul de TVA).
  • (Probabil) lasă goală secțiunea III, dacă mergi tu însuți/însăți.
  • Bifează punctul IV.2 (angajator).
  • Completează punctul IV.6 cu data începerii contractului.
  • Sari secțiunea V.1. (nu este cazul de TVA).
  • Bifează (probabil) V.2.1.1 (taxare lunară).
  • Completează 2.2.1, 2.3.1, 2.4.1, 2.5.1 (luare în evidență cu data începerii contractului).
  • Semnează și datează.

7. Mergi la ANAF

Mergi la ANAF-ul de care aparții (eu am fost la Sectorul 1, care este convenabil amplasat în afara Bucureștiului, cu acces pe sub un pod, ca să economisească chirie pe timpul contribuabililor și, astfel, să le rămînă mai mulți bani pentru donat la catedrale). Îți vor trebui:

  • buletinul tău și o copie;
  • formularul 020 completat în două exemplare;
  • contractul de muncă și o copie;
  • captura/capturile de ecran din Reges.

Vei primi de la registratură o copie vizată a formularului 020.

Felicitări! Te-ai zbătut mult, dar acum ai dreptul de a-i da bani statului.

8. Lunar, generează statul de salarii

Iată modelul meu de stat de salarii (sursa LibreOffice și PDF-ul rezultat).

Sînt cîteva lucruri de remarcat.

  • Poți folosi un calculator de salarii ca să calculezi toate taxele de plătit. Sînt o sumedenie pe Internet, eu l-am folosit pe acesta.
  • Dacă contractul nu începe la 1 ale lunii, atunci prima lună va fi plătită și taxată parțial. Folosește un calculator care să știe să țină cont de asta, de exemplu acesta. Tot în acest caz, poate apărea o deducere personală (cred că în situația în care salariul brut parțial scade sub minimul pe economie).
  • Consultă-te cu un contabil, lunar sau măcar o dată la început. Pot apărea atîtea și atîtea situații speciale, de exemplu dacă angajatul tău mai are și altă slujbă. În plus, taxele și plafoanele pot varia în timp.

9. Lunar, plătește taxele

Pe baza statului de salarii, trebuie să completezi declarația 112. Eu colaborez cu un contabil care o generează cu un program (nu știu detalii) și o și depune electronic. Mie îmi revine doar plăcerea de a face două plăți în două conturi bancare separate:

  • CAS + CASS + impozitul pe venit într-un cont;
  • contribuția asiguratorie pentru muncă în celălalt.

Conturile IBAN țin de județul sau sectorul de domciliu. În cazul meu (Sectorul 1) folosesc RO14TREZ7015503XXXXXXXXX pentru CAS + CASS + impozit și RO54TREZ70120A470300XXXX pentru contribuția angajatorului. Important: atît la detaliile pentru tranzacție, cît și la datele despre beneficiar trebuie să pui CNP-ul tău. Eu am presupus că, fiind vorba despre beneficiar, trebuie să pun CIF-ul Trezoreriei Sectorului 1 și din cauza asta mi se tot întorceau banii înapoi. Am mers la ANAF ca să aflu că asta era problema. Aparent, în mintea lor beneficiarul acelor plăți sînt eu. Ce-i drept, este un mare beneficiu și privilegiu să-i poți da bani statului român.

BONUS: Înregistrează-te în SPV (Spațiul Privat Virtual)

Dacă tot mergi la ANAF, poți face și asta, cu scopul de a putea coresponda cu ANAF fără a mai merge la sediu. Eu de-abia m-am înscris, deci nu pot încă judeca dacă e folositor sau nu.

Înainte de a merge, vizitează pagina de înregistrare. Dă click pe Înregistrare cu parolă și introdu-ți datele. La Tipul de aprobare, selectează Aprobare la ghișeu. Vei primi un număr de confirmare prin email, introdu-l și pe acela. La final, vei primi o confirmare a datelor tale și un număr de înregistrare.

Tipărește acea pagină. Cu ea, cu buletinul și cu o copie după buletin te poți înregistra în SPV, tot la ANAF-ul de care aparții.

Mie mi s-a activat contul în aceeași zi. Momentan n-am nimic în el. 🙂

Nilatac s-a mutat pe Lichess

Săptămîna asta am mutat programul meu de antișah de pe FICS pe Lichess. Contul lui este @NilatacBot și are și un frate mai mic, @CatNail, gîndit ca partener pentru jucătorii de nivel mediu.

Pe FICS cele două programe au fost active din 2002 și respectiv 2003. CatNail în particular a jucat peste 1.200.000 de partide, o medie de 200 pe zi. Și eu, și ele am fost pe FICS în perioada sa de glorie. Dar anii au trecut, iar FICS a devenit desuet (cel puțin după opinia mea și pentru necesitățile mele). Îmi doresc un site unde să pot vedea ușor toate partidele mele și ale programelor, să pot analiza partidele, să le arăt prietenilor mei toate acestea lucruri cu un simplu link. Pe Freechess trebuia să instalezi un client software ca să ai acces la informațiile acestea.

Lichess oferă toate lucrurile astea și, în plus, este gratuit și software liber. Și este făcut de francezi, deci știm că este bun. 🙂 Poate ne vedem pe acolo?

D-ale carantinei

Vremurile sînt grele și ciudate, dar am adunat și cîteva povești haioase!

Am făcut pîine cu… drojdie de vin. Fatalitatea, știu, nu pot scăpa de alcool. Pe 26 februarie, fix cînd coronavirusul intra în România, noi ne-am luat mașină de făcut pîine. N-am luat-o pentru carantină (ignoranța e dulce), ci ca să avem pîine proaspătă și să aruncăm mai puțin plastic. Dar la două săptămîni după asta, a dispărut toată drojdia de pîine din magazine. După cîteva căutări fără succes, inclusiv pe toate magazinele online, am citit despre drojdia de bere și vin și am aflat că, în teorie, ar trebui să meargă foarte bine și la făcut pîine. Așa că am cumpărat, am făcut și… succes! E posibil să aibă un gust un pic mai dulce, dar cred că mi se pare mie. În rest, e fix același rezultat: pîine. Am ales una pentru vin dulce, pentru că e mai puțin adaptată la concentrații mari de alcool (nu voiam să iasă pîinea prea alcoolică…). A, și punga are 500g, e mult mai eco decît 70 de pliculețe de cîte 7g…

Orașul e gol, e o plăcere să mergi pe străzi. Nu mai sînt mașini parcate peste tot, trotuarele sînt libere. Traversez pe unde vreau, cînd vreau. Aerul e mai curat, iar cînd aerisesc dimineața miroase a vegetație și a pămînt ud. Oamenii îți acordă în sfîrșit spațiul personal pe care l-am întîlnit în culturile occidentale, dar niciodată la noi. Cînd mă văd (mai ales fără mască, că n-am găsit de cumpărat), mă ocolesc ca pe un ciumat. E minunat! Fiecare zi ar putea fi așa, dacă am fi două miliarde pe Pămînt în loc de opt. Amintiți-vă asta de cîte ori oamenii (și statul și biserica) vă încurajează prostește să faceți copii.

Mergînd într-o zi la cumpărături cu mașina, m-a prins ora fixă și deci știrile la radio. După știrile medicale, crainicul zice: „Și acum, știrile din sport. În turneul candidaților la șah, în runda a doua…” Am crezut că leșin de rîs! Nu știu cînd e ultima dată cînd am auzit despre șah la știrile din sport.

Toate obligațiile sociale nedorite se suspendă: „scuze, e carantină!”. Știți voi care sînt, le avem fiecare pe ale sale. În schimb, cu oamenii care contează mă văd aproape mai des decît înainte, chiar dacă doar prin videoconferință: părinți, prieteni, colegi de liceu… Într-o seară am jucat chiar și poker! Am folosit un client care știe să organizeze jocuri în rețea. E destul de primitiv, dar ne-am făcut treaba cu el.

Cînd ieși mai rar (o dată la cinci zile), poți să mănînci cîtă ceapă și usturoi vrei. Sigur, cînd te întîlnești cu vecinii pe scara blocului trebuie să începi prin a-ți cere scuze, dar tot merită. Iar, ca să fie tabloul complet, nu m-am mai bărbierit de cînd s-a declarat starea de urgență. Și, surpriză, a început să-mi crească barba! Are 16 zile acum, să vedem cît mă mai suport. Economisesc 15 minute la fiecare 3 zile, nu-i de colo!

Lockdown

Aseară am citit o opinie (traducere în română) despre ce urmează în privința coronavirusului. Nu mă panichez ușor și, mai ales, nu-mi schimb ușor opinia peste noapte (eram destul de relaxat în privința amenințării coronavirusului). Dar mi-e greu să-i găsesc vreo pricină articolului. Iar dacă are dreptate, atunci România ar trebui să impună acum izolarea la domiciliu.

În același timp, premierul Ludovic Orban se declară foarte ofensat la ideea de a închide metroul și celelalte forme de transport public, zice că este fake news și că în nici un caz nu putem discuta despre închiderea Bucureștiului.

Dacă premierul greșește, atunci încăpățînarea lui ne procură doar cîteva zile pînă cînd oricum va urma izolarea obligatorie. Și tot ce obținem în acest timp sînt niște sute de morți în plus pentru că refuzăm să atenuăm puțin exponențiala prin metode de forță majoră.

Încă mai sper că articolul greșește undeva fundamental, dar fiecare zi care trece pare să-l confirme. Rata mortalității în Italia pare să fie de 7,3%, în afară de cazul în care împart eu valorile greșite.

Amprenta mea de carbon

Am tot amînat să scriu acest articol pentru că ar trebui să fie lung. Pentru că pînă a ajunge la el am trecut prin diferite stadii de cunoaștere și procese de conștiință și toate ar merita documentate. Pînă la urmă, avînd de ales între a scrie o chestie incompletă și a nu scrie nimic, am ales să scriu o chestie incompletă. 🙂

De cîtva timp citesc destul de mult despre schimbările climatice și despre viitorul care ne așteaptă dacă nu schimbăm nimic. În retrospectivă, mă simt vinovat că, deși mă consider om de știință, ani întregi mi-a fost prea lene să ascult avertismentele ferme care vin tot mai insistent de la comunitatea științifică. Și mă simt dator să fac ceva pentru cei care vor moșteni planeta pe care noi o prăpădim. Dar ce?

Sînt adeptul teoriei că motivul pentru care omenirea nu se schimbă și continuă să distrugă Pămîntul, deși de 30 de ani nevoia de schimbare devine tot mai urgentă, este greutatea de a schimba sistemul curent. Fetișul nostru cu economia de piață are o legătură strînsă cu extracționismul, cu consumerismul și cu obsesia creșterii. Și deci consider că schimbarea trebuie să vină de la sistem.

Dar pînă atunci am fost curios și cît de mult pot face eu ca persoană pentru ca, atunci cînd generația următoare mă va privi plină de reproș, să pot spune cît de cît sincer „eu mi-am făcut partea mea”. Și în primul rînd am vrut să văd cît de mult poluez eu față de alți oameni. Și am fost consternat.

Amprenta de carbon este cantitatea de CO₂ emisă anual în atmosferă. Ea se poate măsura aproximativ, dar destul de exact; sînt calculatoare pe Internet care ne ajută să identificăm și să cuantificăm sursele emisiilor noastre. Iar cifrele sînt așa:

  • Media per locuitor al planetei este de 4 tone/an.
  • Media per locuitor al României este de 3,5 tone/an.
  • Media în lumea industrializată este de 11 tone/an.
  • Media la care trebuie să ajungem în 2030 este de 2 tone/an.
  • Emisiile mele în 2018 au fost de 18,2 tone/an.

Cifra asta este năucitoare! Consum de 5 ori mai mult decît un român mediu și de 10 ori mai mult decît ar trebui să consum în mod sustenabil. Și am 10 ani ca să-mi reduc consumul la 10%. De unde să încep?

În ordine, cele mai mari contribuții vin de la:

  • 4,84 tone: un zbor la San Francisco;
  • 2,57 tone: hoteluri și restaurante (estimări rezonabile);
  • 2,52 tone: mobilă și alte bunuri fabricate (ne-am mutat în primăvară, sper să se atenueze în anii următori);
  • 1,74 tone: mîncare, am selectat dieta „consum de carne mediu”;
  • 1,70 tone: gaz natural (încălzire, apă caldă);
  • 1,36 tone: alte zboruri (3 în Europa);
  • 0,94 tone: electricitate (inclusiv aer condiționat);
  • 0,65 tone: calculatoare și echipamente IT;
  • 0,62 tone: mașina personală (4.000 km);
  • 0,50 tone: haine, pantofi;
  • 0,22 tone: curse Uber (conform statisticilor + niște estimări);
  • 0,20 tone: telefon mobil nou;
  • 0,16 tone: asigurare (mașină + casă);
  • 0,10 tone: medicamente.

Și de aici se nasc destul de ușor niște decizii concrete (deja am început să le aplic):

  • Să renunț la zborurile pe distanțe mari, cu excepția nevoilor stricte (medicale etc.).
  • Să renunț la consumerism; voi încerca să scot tot ce pot din mașina, electronicele, móbilele, hainele mele înainte să cumpăr altele.
  • Să reduc consumul de vacă și miel la o masă pe lună, iar alte cărnuri la două mese pe săptămînă. Puteți găsi pe Internet comparații de emisii pentru diverse mîncăruri.
  • Să renunț pe cît posibil la mașină (inclusiv Uber) în favoarea mersului pe jos și a transportului în comun. De cînd fac asta am reînceput să citesc. 🙂
  • Să coborîm temperatura în casă iarna și să o creștem vara.

Concluzia care mie mi se pare tot mai clară este că generația următoare va deconta răsfățul nostru și că nu este etic să le cerem asta.

Campionatul Mondial de Șah

Pentru cine nu știe: de mîine (vineri) începe Campionatul Mondial de Șah! Joacă Carlsen cu Caruana, primii doi clasați în clasamentul FIDE, iar pronosticul este relativ strîns.

Eu cred că voi urmări meciurile pe canalul Clubului de Șah din Atlanta, pentru că îmi place foarte mult de GM Ben Finegold. Dacă el nu comentează live, atunci Clubul de Șah din Saint Louis este o alternativă bună și mult mai notorie.

Meciurile încep de la 17:00 ora României, două zile de meciuri cu una de pauză. Se joacă 12 runde, iar în caz de egalitate 6-6 se recurge la o serie de partide rapide.

Știu, mă extaziază chestii pe care alții le găsesc plicticoase. 🙂