Țara lui Papuc Forța argumentelor învinge argumentul forței

31Dec/111

Dorul de tătucu

La sfârșit de an comemorăm Revoluția din 1989, un bun prilej de aducere în amintire a vremurilor „împușcatului”. Mai mult de atât, zilele acestea am văzut pe la televizor ceea ce se întâmplă în Coreea de Nord la moartea dictatorului lor, ceea ce ne face să ne întrebăm cum ar fi fost, oare, dacă l-am fi păstrat și noi pe al nostru.
Nu este un lucru nou să vezi oameni în vârstă care afirmă că regretă vremurile de dinainte de 1989. Există multe justificări pentru aceasta: în primul rând, amintirile neplăcute se estompează cu trecerea timpului; de asemenea, pentru acești oameni perioada comunistă este, totodată, perioada tinereții lor, deci este firesc să aibă de atunci multe amintiri plăcute.
Acum câteva zile am citit însă întrun articol al lui Mihai Goțiu despre rezultatele studiului Fundației Soroș „Trecutul comunist în conștiința adolescenților”. Vă ofer aici câteva date:

38% dintre adolescenți cred că în sistemul public de sănătate lucrurile mergeau mai bine în perioada comunistă;
57% dintre tinerii chestionați declară că situația este mai rea decât în perioada comunistă;
în ceea ce privește respectul față de lege 65,5% dintre tineri spun că perioada comunistă era mai bună;
Aproape jumătate dintre adolescenții români, născuți și crescuți după căderea regimului comunist, cred că perioada comunistă a fost mai bună decât cea actuală.

Despre ce este, până la urmă, vorba aici? Oare tinerii care au aceste idei cred în ceea ce „bătrânii” nostalgici le spun despre perioada de dinaintea lui 1989? Eu unul cred că explicația este una diferită: ceea ce se întâmplă cu tinerii (dar nu numai cu ei, ci cu întreaga societate) este bine exprimat de către sociologul Vasile Dâncu întrun articol de anul trecut din Adevărul:

(...) societatea românească de azi este una nevrotică, lipsită de proiect. Avem o încredere foarte mică, aproape inexistentă în instituții. (...) În general, aceste tipuri de societăți caută tot soluții nevrotice. În primul rând se caută un lider providențial, se caută tătucul care să rezolve ceva. (...)

Dacă cei care au trăit perioada de dinainte de revoluție pot face o comparație între regimuri pe baza propriei experiențe, tinerii își formează o părere mai mult sau mai puțin obiectivă din relatările celor din jur: familie, școală, mass-media, cărți sau filme. Având în vedere și preferința pentru filme în detrimentul cărților, mi-aș dori ca la formarea unei opinii despre perioada comunistă să ia parte și Lucian Pintilie și Cristian Mungiu cu două filme despre aceste timpuri, și anume Balanța (1992) și Amintiri din Epoca de Aur (2011).

La final, pentru acești tineri nostalgici după vremurile bune de altă dată, am o veste bună: la cum merg lucrurile pe la noi, s-ar putea să vi se îndeplinească dorința. Îmi argumentez afirmația prin compararea a două fragmente video:

1. În fața sediului Miliției, anii '80

(scenă fictivă, filmată în 1992):

2. În fața sediului Jandarmeriei, anul 2011

(scenă reală, filmată în 2011):

Vă invit pe voi, dragi privitori, să trageți propriile concluzii. Iar dacă veți dori să le împărtășiți, vă voi fi recunoscător.

24Dec/112

Crăciun fericit!

Crăciun fericit și sărbători cu bine vă doresc tuturor celor care v-ați abătut de-a lungul timpului prin aceste pagini, vouă și celor care vă sunt dragi! Și pentru că eu nu mă pricep să cânt, invit pe cineva care știe să vă colinde:

Publicat in: Diverse 2 Comentarii
24Dec/112

Cum să… calculezi noua taxă auto în Javascript

Problema: să se calculeze noua taxă auto întro pagină web.

Având în vedere cu ce am lucrat până acum, precum și soluția folosită pentru site-ul acesta, pentru rezolvarea problemei aveam două posibile căi de urmat:

1. PHP

+ limbajul rulează pe server, indiferent ce client accesează pagina, rezultatul va fi același;

- este mai dificil să se adauge o pagină php în WordPress;

2. Javascript

+ este ușor să se insereze în orice pagină web, inclusiv întrun articol WordPress;

- rularea scriptului se realizează pe partea de client; dacă acesta nu suportă JavaScript, de exemplu, nu va obține nimic.

De regulă, pentru facilități importante ale unui site, aleg limbajul PHP, mai ales deoarece nu vreau să mă bazez pe client. De această dată, însă, am ales JavaScript pentru ușurința în implementare.

Acestea fiind zise, să trecem la treabă. Mai întâi, trebuie să aflăm cum se calculează noua taxă auto. Așa că, apelând la prietenul nostru de toate zilele, Google, ajungem la Proiectul de lege pentru taxa auto (a se vedea că acesta este numai proiectul de lege, de fapt ar trebui să găsim varianta finală). După parcurgerea textului de lege ajungem la partea interesantă pentru noi: formulele și tabelele pentru calculul taxei. Toate aceste date sunt adunate întrun fișier .xls pentru a putea fi prelucrate mai ușor în continuare. Fișierul astfel rezultat poate fi consultat aici.

În continuare, având în vedere datele solicitate de formula de calcul și datele din tabelele anexate, realizăm un formular în care utilizatorul va alege sau introduce datele necesare. Toate câmpurile din cadrul formularului vor primi o valoare diferită în cadrul atributului id, acesta urmând să fie folosit ulterior în cadrul scriptului JavaScript. La final, în cadrul formularului se adaugă un buton, Calculează, care va apela funcția de calcul din script.

Iar acum am ajuns chiar la miezul problemei: scriptul propriu-zis. Din acesta, ne interesează în primul rând funcția calcul, cea care preia și prelucrează datele din formular.

Așadar, să o luăm pe pași:

1. Preluarea datelor:

var Aval=document.getElementById("id").value;

În această expresie, id este acea valoare din cadrul atributului id al fiecărui câmp din formular în parte.

2. Încărcarea valorilor din tabele în variabile array:

Mai întâi declarăm variabila array, cu o dimensiune sau două:

//Nivelul taxei specifice sau tipul autovehiculului din categoria M1 
// - euro / 1 cmc - variabila D din formula
var limite_cilindree=new Array(6); //limitele pentru incadrarea cilindreei
// in categorii - array cu o dimensiune
limite_cilindree[0]=0;
... 
D = new Array (6); // - array cu doua dimensiuni
for (i = 0; i < D.length; ++ i)
D[i] = new Array (limite_cilindree.length);
D[5][0]=0.065;
...

Poate v-ați întrebat mai înainte care este rolul fișierului .xls. În exemplul de mai sus este definit numai unul dintre cele 35 de elemente ale tabloului (array cu două dimensiuni) D. Definirea celorlalte 34 de elemente manual este consumatoare de timp și poate genera erori. De aceea, odată ce avem deja datele în fișierul .xls, folosim o formulă pentru a genera declararea fiecărui element:

="D["&(RIGHT(OFFSET(A4;F4*(-1);0);1)&"]["&F4&"]="&E4&";")

Multiplicăm formula pentru toate cele 34 de valori rămase, apoi rezultatul îl copiem în fișierul .html. Similar procedăm pentru a trece celelalte valori tabelare în variabile JavaScript.

După ce am preluat toate datele din tabelele pentru calculul taxei trecem la implementarea formulelor de calcul. Mai întâi este necesar să determinăm categoria în care se încadrează autovehiculul din punctul de vedere al cilindreei:

//determin incadrarea in limitele de cilindree
i = 0;
do 
{
 k_D = i;
 i++;
}
while ( i < limite_cilindree.length && limite_cilindree[i]<Cval )
Dval = D[NormaEuroVal][k_D];

Astfel am identificat variabila D din formula de calcul a taxei (taxa specifică pe cilindree, prevăzută în coloana 3 din anexa nr. 2). La fel se procedează și pentru a determina valoarea variabilei B (taxa specifică, exprimată în euro/1 gram CO2, prevăzută în coloana 3 din anexa nr. 1). Cu variabilele A, C și E preluate direct din formular, putem calcula rezultatul formulei:

Suma de plată = [(A x B x 30%) + (C x D x 70%)] x (100 - E)%

În funcție de norma de poluare a mașinii, formula de calcul se poate simplifica. Alegerea formulei finale în fiecare caz se face prin folosirea repetată a construcției if.

Înainte de final, dorim să aducem niște mici îmbunătățiri scriptului. Mai întâi, în unele cazuri (norma de poluare a mașinii sub Euro3) formula de calcul nu include nivelul emisiilor CO2. De aceea, dorim ca atunci când se selectează o anumită valoare în câmpul calcul_euro, să dezactivăm câmpul calcul_co2. Mai întâi, la câmpul calcul_euro se folosesc evenimentele OnChange și OnKeyDown, care apelează funcția refresh_a(). La rândul său, această funcție modifică atributul disabled al câmpului în care se introduce nivelul emisiilor CO2.

Totodată, am dori ca valoarea finală a taxei, calculată în lei și euro, să fie formatată în conformitate cu modul de afișare obișnuit din limba română: cu . pe post de separator al miilor și , separator al zecimalelor. Pentru aceasta am apelat din nou la prietenul Google și am găsit o funcție care îndeplinește exact acest deziderat. Rezultatul final îl afișăm întrun câmp span deja definit la finalul formularului:

document.getElementById("calcul_val_euro").innerHTML = valoarea_formatata;

Intenționat sau nu, nu am intrat chiar în toate detaliile scriptului. De asemenea, nu am făcut o tratare riguroasă a datelor introduse - acesta este un punct care ar putea cu siguranță să fie îmbunătățit, pe viitor. Dar, până atunci, puteți descărca fișierul .html care conține formularul și scriptul de aici.

Update 27.12.2011

La cerere, adaug aici o arhivă care conține toate detaliile privind implementarea acestui script, și anume:

  • Articolul de față reprodus întrun document Word
  • Fișierul Excel amintit mai sus
  • Fișierul HTML cu formularul și scriptul


Iar rezultatul final îl prezentăm în continuare - vă invităm să îl și testați:

Tipul autovehiculului:

Norma euro:

Capacitatea cilindrică (cmc):

Valoarea emisiilor de CO2
(grame/km):

Vechimea autovehiculului:

 

Valoarea finală a taxei este =
_______ EURO,
_______ LEI.
21Dec/110

21 – 22 Decembrie 1989 – IN MEMORIAM

19Dec/110

Memoriile lui Gicu Nostalgicu – Gândul



Memoriile lui Gicu Nostalgicu - Gândul
.

Cristian Tudor Popescu aduce în discuție manipularea prin entertainment. Urmărind explicațiile, sunt evidente metodele folosite pentru transmiterea mesajului „formator”. Să nu uităm, de asemenea, că este vorba totuși de anul 1984. Cât de mult și-a făcut efectul această manipulare atunci?
Iar acum, 27 ani mai târziu, oare câți dintre noi pot discerne între informație, entertainment și manipulare din tot ceea ce ajunge la noi de pe toate canalele de informare pe care le avem la dispoziție?