Naujausi įrašai

Turinys

« 1 2 ... 5 6 »

Sausis12

Populiariausios 2009 m. programavimo kalbos (Komentarai 6)

Žymės: php,ruby,java,go,objective-c,tiobe

Kompanija „Tiobe“ paskelbė populiariausių 2009 metų programavimo kalbų sąrašą. Šis sąrašas sudaromas pagal Tiobe indeksą, kuris remiasi paieškos sistemų (Google, Google Blogs, MSN, Yahoo!, Wikipedia ir YouTube) rezultatais.

Tiobe indeksas

Labiausiai (1,25%) į viršų pakilo „Google“ programavimo kalba „Go“, kuri, nors buvo pristatyta tik metų gale, Tiobe indekse užėmė 13 vietą. Visgi, kadangi ši programavimo kalba labai nauja, neaišku, ar šis populiarumas yra pelnytas, ar tai buvo vienkartinis susidomėjimas.

12 vietoje atsirado „Objective-C“ programavimo kalba, kuria kuriamos programos iPhone. Natūralu, jog iPhone populiarumas atsispindėjo ir šiame indekse. Ši kalba pagal populiarumą pakilo 1,24%.

Tendencingesnių programavimo kalbų sąraše verta paminėti ir PHP, kuri pakilo 1,19% ir, aplenkusi C++ ir (Visual) Basic, atsidūrė 3 sąrašo vietoje bei Ruby, kuri pagaliau įkopė į dešimtuką, išstūmusi iš jo „Delphi“.

Lyderio pozicijas toliau išlaiko Java, nors jos populiarumas nukrito 1,54%.

Gruodis23

Sveikinimai ir gimtadienių priminimai - patogiau

Žymės: sveikinimai,šventės,kalėdiniai sveikinimai,Kalėdos

CARDS.LT

Prieš didžiąsias metų šventes CARDS.LT padariau keletą patobulinimų, kad sveikinti draugus ir artimuosius būtų kur kas paprasčiau nei anksčiau.

Į kontaktų sąrašą įtraukę sau artimus žmones, visus kontaktus turėsite vienoje vietoje, o CARDS.LT pasirūpins, kad nepamirštumėte artimųjų gimtadienių.

Tam, kad galėtume kurti kontaktus, tereikia prisijungti su savo OpenID paskyra. Tam tiks ir Jūsų Google (GMail) ar Yahoo paskyra.

Prisijungę kairėje pusėje esančiame meniu "Vartotojo zona" matysime 2 naujus punktus:

  • Kontaktai - kontaktų kūrimas, redagavimas:

Kontaktų sąrašas

  • Gimtadieniai - kalendorius su Jūsų artimųjų gimtadieniais:

Gimtadieniai

Jei esate patvirtinęs savo el. pašto adresą (tai galima padaryti pasirenkant punktą "Gauti atvirukai"), el. paštu gausite priminimus apie kitos dienos solinezantus:

Priminimas apie gimtadienį

 

Atvirukų kūrimas draugams dar niekada nebuvo toks paprastas. Jums nebereikės galvoti, koks draugo el. pašto adresas - CARDS.LT tuo pasirūpins už Jus, o draugų, turinčių Gravatar'us, bus rodomos ir nuotraukos.

Kontaktų automatizavimas

Gerų švenčių! :)

Spalis22

Komunikacija su Iframe per Javascript bei JQuery

Žymės: html,javascript,jquery

Iframe - HTML elementas, leidžiantis tam tikroje tinklalapio vietoje įkelti kito tinklalapio turinį.

Nors HTML5 buvo atsisakyta tradicinių rėmelių (frameset), tačiau Iframe yra plačiai naudojamas ir, panašu, kad ateityje šio elemento naudojimas bus dar intensyvesnis, žinant, jog tiek socialinių tinklų aplikacijų platformų (pvz.: OpenSocial), tiek ir įvairūs Interneto servisai (pvz.: Google Maps) veikimas pagrįstas Iframe pagrindu.

Komunikacija tarp pagrindinio tinklalapio ir Iframe'o Javascript pagalba galima tik tuo atveju, jei abu puslapiai yra užkraunami iš to paties domeno (pvz.: http://www.foo.com ir http://www.bar.com bus negalima). Netgi norint realizuoti komunikaciją tarp skirtingų 3 lygio domenų (pvz.: http://foo.example.com ir http://bar.example.com), būtina abiejuose puslapiuose nurodyti, kad šie abu tinklalapiai priklauso tam pačiam domenui. Tai galima padaryti Javascript komanda:

document.domain = 'example.com';

Norint realizuoti komunikaciją tarp skirtingų domenų, reiktų naudoti Iframe proxy. T.y. skriptas, esantis tame pačiame domene, turėtų tiesiog atvaizduoti kitame domene esančio puslapio HTML turinį.

Komunikaciją tarp pagrindinio puslapio ir į jį įterpto Iframe'o atspindi šie pavyzdžiai.

Pagrindinis puslapis (pvz.: index.html)

<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.3.2");
</script>
</head>
<body>
<iframe id="myIframe" src="iframe.html" width="100" height="100" scrolling="no" frameborder="0" marginwidth="0" marginheight="0"></iframe>
<div id="foo">FOO</div>
<script type="text/javascript">
    // Naudojant skirtingus subdomenus, nurodome bendrą domeną:
    document.domain = 'example.com';
   
    $('#myIframe').load(function()
    {
        // jQuery pavyzdys:
        var frame = $('#myIframe').contents();
        console.log('jQuery: ',frame.find('#bar').html());
       
        // Javascript pavyzdys:
        frame = document.getElementById('myIframe').contentDocument;
        // Jei neveikia contentDocument, galima naudoti contentWindow.document
        console.log('JS: ', frame.getElementById('bar').innerHTML);
    });
</script>
</body>
</html>

Iframe puslapis (iframe.html)

<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("jquery", "1.3.2");
</script>
</head>
<body>
<div id="bar">BAR</div>
<script type="text/javascript">
    // Naudojant skirtingus subdomenus, nurodome bendrą domeną:
    document.domain = 'example.com';
   
    // jQuery pavyzdys - ieškome #foo elemento window.parent.document kontekste
    console.log('jQuery: ', $('#foo', window.parent.document).html());
    // Javascript pavyzdys:
    console.log('JS: ', window.parent.document.getElementById('foo').innerHTML);
</script>
</body>
</html>

Šie pavyzdžiai Firebug konsolėje parodys atitnkamų elementų turinius.

Spalis20

PHP loginiai operatoriai ir operatorių eiliškumas

Žymės: php

Atliekant veiksmus su loginiais operatoriais ir naudojant juos sąlygos sakiniuose, dažnai tikimasi tokios sąlygos schemos:

if ( <sąlyga> [ == <rezultatas> ] ) <atliekami veiksmai>;

Tačiau naudojant sąlygose loginius operatorius, ši schema negalioja, kadangi operatorių eiliškume palyginimo operatoriai yra aukštesnio prioriteto nei loginiai. Dėl to gauname ne visada tikėtą rezultatą. Pvz.:

$a = 5;
$b = 2;
echo ($a & $b == 0)?'nulis':'ne nulis'; // ne nulis
echo (($a & $b) == 0)?'nulis':'ne nulis'; // nulis

$a = 1;
$b = 2;
echo ($a & $b == 2)?'du':'ne du'; // du
echo (($a & $b) == 2)?'du':'ne du'; // ne du

 

Operatorių eiliškumas iš PHP manual'o.

Associativity Operators Additional Information
non-associative clone new clone and new
left [ array()
non-associative ++ -- increment/decrement
non-associative ~ - (int) (float) (string) (array) (object) (bool) @ types
non-associative instanceof types
right ! logical
left * / % arithmetic
left + - . arithmetic and string
left << >> bitwise
non-associative < <= > >= <> comparison
non-associative == != === !== comparison
left & bitwise and references
left ^ bitwise
left | bitwise
left && logical
left || logical
left ? : ternary
right = += -= *= /= .= %= &= |= ^= <<= >>= assignment
left and logical
left xor logical
left or logical
left , many uses

 

Spalis15

Neversijuotų SVN failų trynimas (Komentarai 3)

Žymės: svn,subversion,linux

Dirbant su versijų kontrolės sistema Subversion (SVN) pasitaiko atvejų, kai tenka ištrinti failus, neįtrauktus į versijų kontrolę.

Pavyzdžiui, perjungiant (switch) į kitą šaką (branch), ar turint nereikalingų failų, juos ištrinti galima komanda (veikia Unix sistemose):

svn status --no-ignore | grep '^\?' | sed 's/^\? //' | xargs rm -rf

Ši komanda ištrins net ir tuos failus, kurie buvo direktorijoje su svn:ignore savybe (property), atitnkančia tuos failus.

Rugpjūtis31

Su tinklaraščių diena!

Žymės: blog day

Blog Day 2009

Šiandien (2009 m. rugpjūčio 31 d.) - 5-oji tinklaraščių diena. Tradiciškai šią dieną skatinama parašyti įrašą su 5 naujai atrastų tinklaraščių rekomendacijomis.

Mano naujausi atradimai:

O ką naujo radai TU? :)

Plačiau apie tinklaraščių dieną day.lt ir blogday.org.

Rugpjūtis27

PHP atnaujinimas CentOS sistemose (Komentarai 5)

Žymės: php,centos,vds,hostex

Prieš kurį laiką persikėliau į Hostex - įsigijau ten VDS su įdiegta CentOS.

Tačiau CentOS distribucijoje programų paketai yra atnaujinami itin retai, dėl to iškyla tiek suderinamumo, tiek saugumo problemų. Naudojant VDS tinklalapių, sukurtų su PHP programavimo kalba, talpinimui, labai pravartu atnaujinti PHP paketą, kadangi įdiegtoje 5.1.6 versijoje trūksta nemažai funkcionalumo. Nieko nuostabaus, juk ši versija buvo išleista prieš 3 metus (2006-08-24).

Tam, kad atnaujinti paketus, mums reikės:

  • Įdiegti yum programą (paketų tvarkymui)
  • Įtraukti repozitoriją, kurioje yra atnaujinti paketai (naudosime http://www.jasonlitka.com/yum-repository)
  • Atnaujinti reikiamus paketus
  • Perkrauti HTTP serverį

Yum galime įdiegti iš RPM paketo, arba per grafinę serverio paketų valdymo aplinką (Hostex atveju - Parallel Plesk).

Repozitoriją įtrauksime, sukurdami failą /etc/yum.repos.d/utterramblings.repo (galime naudoti vi, vim arba nano) ir įrašydami ten tokią informaciją:

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

Paketus atnaujiname iškviesdami komandą:

yum -y update php

Serverį perkrauname iškviesdami komandą:

 

service httpd restart

 

Daugiau informacijos ČIA ir ČIA.

Rugpjūtis26

Mokėjimai.lt saugumo spragos ir dviprasmiška specifikacija (Komentarai 10)

Žymės: php,saugumas,mokėjimai

Mokėjimai.lt

Norint Internete vystyti verslą, kuomet reikia realizuoti mokėjimus Internete, yra 2 galimybės: sudaryti su keliais bankais sutartis, arba rinktis tarpininką. Pirmasis variantas yra gana komplikuotas ir brangus: sutartys su bankais ir mėnesiniai mokesčiai yra dideli, be to, techninė realizacija reikalauja specifinių technių žinių, kai kurie bankai reikalauja ir SSL sertifikato. Kitas, daugeliu atveju paprastesnis variantas yra rinktis tarpininką, kuris turi vieningą interfeisą visiems mokėjimų tipams, o kainą, ypač smulkesniam projektui, gali pasiūlyti itin konkurencingą. Vienas populiariausių tokių servisų Lietuvoje - mokėjimai.lt.

EVP, sukūrę mokėjimai.lt, eparasas.lt, manoid.lt ir kitus projektus, eina teisinga kryptimi, tačiau kai kurie požymiai rodo, jog gražiame įpakavime galima rasti neaišku ką... Vien jų OpenID implementacija, kuomet priimami tik manoid.lt vartotojai, rodo, jog jie nesupranta ir nepalaiko šios sistemos. Kai kurių sistemų siunčiama "User Agent" reikšmė yra "IDAMAS XML Sender", kas irgi rodo, jog kai kurių produktų kūrimu užsiima ne jie. Tiesiog outsource'ingas ar per mažas žinių ir patirties bagažas?

Grįžtant prie mokėjimai.lt, Diegiant ją į savo sistemą, vadovautis jų pateikta specifikacija nepavyks, kadangi ji... neteisinga! Funkcija, kuri turėtų patikrinti, ar mokėjimas teisingas, lietuviškoje ir angliškoje specifikacijos versijoje aprašytos skirtingai.

Lietuviškasis variantas:

 

//DĖMESIO: Nepamirškite funkcijoje įrašyti savo www.mokejimai.lt slaptažodį.
$your_pass = 'slaptazodis'; //irasome slaptazodi is jusu mokejimai.lt sistemos
$test_mode = 1; //1- kuomet testuojate. 0 - kuomet jau veikia sistema tikru rezimu.
if( mk_check ( $your_pass, $_REQUEST['orderid'],$_REQUEST['merchantid'] ) != $_REQUEST['_ss1'] || $_REQUEST['test'] <> $test_mode){
    die ("šaltinis netikras"); 
} 

function mk_check ( $password, $id, $mechant_id ) {
    return md5("{$password}|{$id}|{$_SERVER['REMOTE_ADDR']}|{$mechant_id}");
}

 

Tuo tarpu angliškas (webtopay.com) variantas:

 

    $your_webtopay_pass = md5("mypassword"); // please, enter your webtopay.com password
    if ( TestTransaction( $_GET['_ss1'], $your_webtopay_pass, $_GET['orderid'] ) ){ //verification of information source.
        //Everything is OK
    }else{
        //Something is wrong
    }

    function TestTransaction( $transaction, $userPassword, $ordeID, $test = 0, $status = 1 ){
        return ( $transaction == md5("{$userPassword}|{$ordeID}|{$test}|{$status}") );
    }

 

Kodai akivaizdžiai skiriasi, tačiau, nors angliškasis variantas arčiausiai tiesos, testiniame režime kintamasis $test vistiek bus lygus 0, ir md5 hash'ai nesutaps.

Tiesa, jie visus duomenis pasirašo viešojo rakto principu naudodami SSL sertifikatą, todėl yra ir kitas būdas patikrinti duomenų validumą.

Žiūrint į šią funkciją galima pastebėti vieną dalyką: žinant GET perduodamus duomenis (orderid ir _ss1) galime ir sužinoti prisijungimo prie mokėjimai.lt sistemos slaptažodį. Tai tik teorinė prielaida, tačiau ji turėtų suveikti. Kas nors galbūt ją ir patiktins ;)

Mokėjimo sistemos veikimo schema yra tokia:

1. Vartotojas formos duomenis (čia turime Order ID) perduoda mokėjimai.lt sistemai

2. Vartotojas nukreipiamas į banką ir ten sumoka pinigėlius. Grįžta į mokėjimai.lt

3. Siunčiama užklausa (su _ss1) kliento sistemai. Klientas pasižymi, kad už jo paslaugas ar prekes buvo apmokėta.

4. Vartotojas grąžinamas pas klientą

Viskas, ką reikia padaryti, kad gauti _ss1 reikšmę, yra pakeisti callback URL (duomenys juk nepasirašomi) kliento puslapyje (tam gali pasitarnauti ir Firebug). Tada 3 punkto užklausa bus siunčiama ne klientui, o ten, kur jūs pageidausite. Štai čia ir sužinosime _ss1 reikšmę.

O toliau elementarus brute-force, arba paieška iš rainbow table (juk jokia druskelė neįmaišoma į MD5 algoritmą).

Ir štai - turime vartotojo slaptažodį, kuriuo prisijungsime prie mokėjimai.lt sistemos.

Apie mokėjimai.lt saugumą taip pat rašė Steponas Kazakevičius.

Liepa20

Twitter vs. IRC (Komentarai 7)

Žymės: twitter,IRC

Twitter buvo sukurtas kaip mikrotinklaraščių sistema. Iš esmės tai tie patys tinklaraščiai, skirti žmonėms, neturintiems laiko rašyti tinklaraščių įrašus ar tiesiog neturintiems ką pasakyti tiek, kad tai išsivystytų į tinklaraščio įrašą.
Viskas atrodo lyg ir gražu - turi, ką parašyti, rašai tinklaraščio įrašą, nori tik mestelti vieną-kitą mintį ar nuorodą, parašai mikro-tinklaraščio įrašą.
Visgi, fenomenalus Twitter populiarumo augimas yra sąlygojamas ne pavienių įrašų, o bendravimo, ryšio tarp tavęs ir tavo sekėjų palaikymo, žinučių persiuntimo (re-tweet), teminių įrašų (hash-tags) rašymas.
Galų gale viskas išaugo į realaus laiko bendravimo sistemą.
Bet juk turėjome IRC ir jis puikiai veikė, tad kas gi nutiko, ir ar tikrai Twitter yra pranašesnis už IRC? O gal jis ir RSS gali pakeisti?
Skelbiame kovą - įvertinkime Twitter ir IRC įvairiais aspektais.

Raundas 1. Centralizuota sistema Vs. Decentralizuota sistema

IRC buvo sukurtas kaip protokolas, ir kiekvienas servisas veikia kaip atskira decentralizuota sistema, tuo tarpu Twitter yra centralizuota sistema ir visi vartotojai yra įsprausti į šios sistemos rėmus. Nepaisant to, jog visi duomenys (įskaitant ir vartotojo duomenis) yra perduodami vienam serviso tiekėjui, sistema yra kur kas jautresnė kitoms grėsmėms. Galime prisiminti Ma.gnolia pavyzdį, kuomet dėl kietojo disko gedimo buvo prarasti visi vartotojų duomenys, o pati sistema uždaryta neribotam laikui.
Taip, Twitter turi API, per kurį su sistema gali bendrauti bet kuri kita programa, ir netgi didžioji dalis aktyvumo vyksta išorinių programų pagalba, bet esmės tai nekeičia.

1:0 laimi IRC.

Raundas 2. Klientai (programos)

Yra sukurta daugybė programų, leidžiančių komunikuoti su Twitter per jų API. Pradedant tinklalapių įskiepiais, baigiant mobiliųjų telefonų aplikacijoms. Tai suteikia galimybę rinktis, o ne tik naudotis Twitter autorių sukurtomis priemonėmis. Integracija su mobiliaisiais įrenginiais, galimybė įkelti nuotraukas taip pat stiprina Twitter pozicijas, tačiau tai ne paties Twitter, o trečiųjų šalių nuopelnas.
IRC, būdamas protokolu, o ne servisu, pats neveikia savaime, tačiau programų kiekis taipogi didžiulis, protokolas aiškus ir dokumentuotas. Taipogi sukurta daugybė bibliotekų interakcijai su IRC serveriu, todėl nei viena šalis neturi privalumo šioje srityje.

Šiame raunde lygiosios, bendras rezultatas - 2:1

Raundas 3. Istorija ir paieška

Twitter turi galingą paieškos sistemą, kurios pavydi tiek Google, tiek kiti interneto servisai. Vartotojų žinutės yra saugomos ir gali būti pasiekiamos bet kuriuo metu... Deja, Twitter neleidžia peržiūrėti visų vartotojo žinučių, todėl tiek paieška, tiek informacijos ilgaamžiškumas nėra Twitter stiprioji pusė. Dėl to atsiranda įvairių servisų, skirtų kaupti Twitter žinutes, tačiau ideologiškai Twitter pasilieka prie trumpalaikės informacijos strategijos, kas būtent ir yra stiprioji IRC pusė.
Lyginti Twitter su pačiu IRC šioje vietoje nesąžininga, kadangi IRC pokalbių saugojimui reikalingos papildomos programos, o centralizuotos paieškos nėra, kadangi pati sistema necentralizuota.

Twitter lygina rezultatą - 2:2

Raundas 4. Trumpi įrašai Vs. Ilgi įrašai

Twitter leidžia kurti įrašus, ne ilgesnius nei 140 simbolių. Integracijai su SMS galbūt tai ir teigiamas sprendimas, bet juk ir SMS galima siųsti kelių puslapių, tad čia - neabejotinas sistemos trūkumas. Įkeliant ilgesnes nuorodas, būtinas jų trumpinimas, o tai vėl atsiremia į prilausomybę nuo trečiųjų šalių. Jei vienas ar keli URL trumpinimo servisai miršta - visos nuorodos miršta kartu.
Kažkada buvo pasirodęs prieštaringai vertinamas straipnis, jog Twitter pakeis RSS... No way.. Su savo 140 simbolių riba tai yra neįmanoma misija.
IRC neturi šių apribojimų, o pats bendravimas yra kur kas sklandesnis, nei Twitter.

3:2 IRC naudai.

Raundas 5. Draugai, sekėjai, whatever...

Twitter bendravimo principas yra vienas-su-daug. Tai reiškia, jog norėdamas, kad tavo žinutės būtų pastebėtos, turi turėti sekėjų, kitaip tavo rašliavos nepasieks jokios auditorijos (pvz.: žinutės "Kas žinote...", "Kaip manote..." neturės jokio atsako).
IRC - bendruomenių tinklas. Užtenka prisijungti prie teminio kanalo ir visi jo nariai matys tai, ką rašai. Ir tu matysi visą dialogą, tuo tarpu vienam Twitter vartotojui uždavus klausimą, atsakymus į jį matys tik jis pats ir visų atsakiusiųjų sekėjai, tačiau kiti vartotojai praranda dalį informacijos, nėra realizuojamas informacijos integralumas.
Rinkodaroje Twitter - galingas įrankis, leidžiantis išpopuliarinti produktą, kurti ryšius su produkto vartotojais, tačiau tai ne visada pasiekiama gražiais metodais. Dažnai sekėjai yra perkami, o pats Twitter vartotojo įėjimas į bendruomenę yra realizuojamas sekant visus, kiek įmanoma, žmones, nepriklausomai nuo tikslinės vartotojų grupės. Žinoma, yra vartotojų blokavimo galimybė, tačiau IRC tai yra realizuota kur kas geriau - yra vartotojo išmetimas iš kanalo, uždraudimas ir pan.

4:2 IRC pirmauja.

Raundas 6: Ergonomika

Šis punktas ginčytinas, kadangi dauguma Twitter aktyvumo sukuriama išorinėmis programomis, lygiai taip pat, kaip ir IRC. Visgi, žmonėms ko gero sudėtinga suprasti, kas tas serveris, kaip prie jo prisijungti, kaip registruoti slapyvardį... One.lt pavyzdys puikiai parodo, jog žmonėms pakanka elementarių funkcijų bendravimui. Aš tai vadinčiau vartotojų kompetencijos trūkumu ir bandos jausmu, tačiau skirkime čia tašką Twitter.

Galutinis rezultatas - 4:3 IRC naudai.

Tad nejaugi tik kritinė Twitter masė ir bandos jausmas lemia Twitter populiarumą ir IRC vartojimo smukimą? Laukiu jūsų komentarų.

Gegužė18

Nacionaliniai nebalsavimo ypatumai (Komentarai 3)

Prieš seimo rinkimus bandžiau išsakyti savo subjektyvią nuomonę, kodėl neverta balsuoti rinkimuose. Pagrindinėmis priežastimis įvardijau politikų vertybių trūkumą, žemo sąmoningumo rinkėjų daugumos lemiamus rezultatus ir stagnacišką rinkimų sistemą, įspraudžiančią pilietį į jo deklaruotos gyvenamosios vietos rinkimų apygardą.

Anąkart sąmoningai nedalyvavau rinkimuose, tuo tarpu šiuose prezidento rinkimuose norėjau išreikšti pilietinę valią, tačiau tapau biurokratinių suvaržymų auka. Varguoliškai skamba, bet taip yra :) Jau rašiau, kiek problemų sukelia gyvenamosios vietos deklaracijos naikinimas. Kadangi, kaip tikroje biurokratinėje valstybėje bendravimas su savivaldos institucijomis vyksta paštu, šis procesas užtrunka beveik mėnesį.

Grįžtant prie rinkimų temos, tokioje situacijoje atsidūrusiems žmonėms, norintiems balsuoti, reikėjo prasinešti iki gegužės 7 - net 10 dienų iki rinkimų datos. Nespėję iki šios datos deklaruoti gyvenamosios vietos yra priverčiami jaustis pilietinių teisių neturinčiais žmonėmis.

Kokią išvadą galime iš to padaryti? Elektroniniai rinkimai būtini! Taip būtų ne tik suteikiamos galimybės balsuoti didesniam gyventojų ratui - nuo daug keliaujančių iki judėjimo negalią turinčių žmonių, bet ir sumažinamas mano patirtų galimų atvejų kiekis.

Naujosiose asmens tapatybės kortelėse jau turime skaitmeninius sertifikatus, tad šiuo klausimu į ateitį žiūriu optimistiškai.

Man ne dzin.

« 1 2 ... 5 6 »

Įrašų RSS Įrašų RSS