Vilniaus darzeliu registracija – complete failure

Taigi, atejo ir man ta diena, kai teko registruoti vaika i darzeli.

Kovo 25 d. (per sunaus gimtadieni), 8 valanda ryto turejo prasideti vaiku registracija i darzelius per vilnius.lt svetaine. Atsikelus, iskarto nuskubau jungtis. 7:55 man atsidare svetaine, ir pagalvojau, ura! Neluzo si karta!

5 minutes veliau, supratau, kad visgi niekas nepasikeite.

vilnius.lt 504

Siokie tokie pastebejimai is mano puses kol registravau vaika penkias valandas.

Si sistema jau veikia keleta metu, ir kiekvienais metais susiduriama su ta pacia problema. Siais metais, sausi, buvo jau bandyta paleist registracija, bet ji ‘nepavilko’ viso srauto. Todel nutarta ja pataisyti, paoptimizuoti, ir paleido vel kovo 25 d. Deja, savo darbo vilnius.lt IT skyrius neatliko. Pranese, kad viska sutvarke, bet matyt benchmarku nepaleido istestuot, ar tikrai sutvarke.

Siokie tokie pastebejimai, ka galima butu patvarkyti:

Jokio CDN?

Visi paveiksliukai/css/js yra pateikiami is to pacio http://www.vilnius.lt, nenaudojant jokio cdn’o. Jeigu butu naudojamas cdn’as, ar bent jau isskirti atskiri serveriukai statiniam kontentui, situacija pageretu, nes nereiketu pagrindinio http://www.vilnius.lt apkrauti bereikalingom uzklausom kai ju ir taip per daug. Yra ir nemokamu cdn’u, yra ir mokamu cdn’u, ir galima ijungti cdn’a tik tam tikram laikui kai yra didziausia apkrova.

AJAX is cool!

Darzeliu sistema tikrai naudoja daug ajax uzklausu. Bet … ar jos visos reikalingos? Pvz, registruojant vaika, reikia uzpildyti asmens koda, uzpildzius padaroma ajax uzklausa patikrinti, ar jis yra teisingas (t.y. validus), tada daroma dar uzklausa, kad is asmens kodo gauti informacija apie gimimo data, dar veliau daroma dar karta panasi uzklausa (kodel panasios 2 uzklausos – nezinau). Sita dali galima laisvai padaryti is JS puses, nes nera sunkus algoritmas asmens kodo validumui patikrinti, arba gimimo datos istraukimui is asmens kodo. Bet ne, geriau padaryti 3+ uzklausas vien tik sitam reikalui.

Nepamirskim ir visu kitu lauku. Pvz. adresas  – jei as gyvenu ‘Zaumenhofo’ gatvei, ir pradedu rasyti ‘Zaumenhof’, tai po trecios raides daromas ajax requestas kiekvienai raidei, kad dabaigtu adresa. T.y. ‘Zau’, ‘zaum’, ‘zaume’, ‘zaumen’, ‘zaumenh’, ‘zaumenho’, ‘zaumenhof’, ‘zaumenhofo’ – cia jau 8 uzklausos. Aisku, kai sistema veikia gerai (t.y. ne tada, kai buna visas bumas) tai gal uztenka irasyt ‘zau’ ir jau ras jums adresa, bet kai ji neveikia, tai nespeji gaut rezultatu ir rasai pilna adresa. O dar ta pati adresa reikia irasyti antram teveliui ir vaikui, t.y. dauginam is 8 is 3 kartu ir gaunasi 24 papildomi requestai.

Kiekvienas kitas dropdownas veikia panasiai, kazka pasirenki ir siunti ajax uzklausa. Ju per visa registracija turbut yra keleta simtu, bet neskaiciavau…

Sia dali galima butu tiesiog nusiust i atskirus serverius, kurie apdorotu tik tokio pobudzio informacija, kad neapkrauti tu vargseliu serveriu kurie daro viska kita.

Ziema uzklupo netiketai

Kaip ir kas met, ziema uzklumpa netiketai, daznai netgi antroj grodzio pusei. ‘Keliukai’ tam nesugeba pasiruosti, nes nu, is kur imanoma zinot, kad ateis ziema?

Tokia pati situacija ir pas vilnius.lt darzelius – IS KUR galima zinoti, kad kovo 25d. jie startuos ta prakeikta darzeliu registracija. JEIGU zinotu, tai galetu bent jau papildomu serveriu tam darbui skirti…

Kitaip sakant, jie gi patys zino, kokios buna apkrovos tom dienom, kodel negalima tam pasiruosti? Suprantu, kad pirkti daug serveriu vien tam, kad atlaikyti ta viena-dvi dienas mamuciu/tevuciu registraciju butu gal neprotinga, bet gyvenam 2015-tais metais, aplinkui daug visokiu *demesio, tuoj bus panaudotas buzzwordas* DEBESU, CLOUDU</small>, kur galima nupirkti serveri, ar desimt, o gal net 100 porai dienu. Ir nebrangus jie yra. Tam paciam amazone galetu nupirkti pvz 20 serveriu, pajungti juos i savo backenda, ir uz tas pora dienu sumoketi kelesdesimt doleriu. Kaina nedidele, bet uztat nebutu tokio didelio pazoro pries visa Vilniu, Lietuva ir pasauli.

O gal pradekime siusti laiskus per pasto karveli?

Nesusije su performansu, bet sunku nepastebeti prierasa apie ateinanti laiska, kad, jei negavote / neradote laisko, tai reiketu paieskoti brukaluose (spam folderyje).

Taigi, gaunam laiska, i Inboxa, ir ziurim… ziurim..
Return-Path: NO-REPLY@vilnius.lt
Received: from mail.vilnius.lt (mail.vilnius.lt. [195.182.82.88])
by mx.google.com with ESMTPS id ol7si1269421pbb.71.2015.03.25.01.57.07
for XXX
(version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
Wed, 25 Mar 2015 01:57:08 -0700 (PDT)
Received-SPF: none (google.com: NO-REPLY@vilnius.lt does not designate permitted sender hosts) client-ip=195.182.82.88;
Authentication-Results: mx.google.com;
spf=none (google.com: NO-REPLY@vilnius.lt does not designate permitted sender hosts) smtp.mail=NO-REPLY@vilnius.lt
Received: from HUB2.vilnius.vilnius.lt (10.13.3.4) by mail.vilnius.lt
(192.168.2.2) with Microsoft SMTP Server (TLS) id 14.2.347.0; Wed, 25 Mar
2015 10:53:24 +0200
Received: from w3r4.vilnius.lt (10.187.87.164) by HUB2.vilnius.vilnius.lt
(10.13.3.224) with Microsoft SMTP Server id 14.2.347.0; Wed, 25 Mar 2015
10:55:03 +0200
Date: Wed, 25 Mar 2015 10:55:57 +0200
To: XXX
From: no-reply@vilnius.lt
Subject: Prisijungimo duomenys
Message-ID: <e3cf4223db7449aa8e31488bfd238c9b@w3r4.vilnius.lt>
X-Priority: 3
X-Mailer: PHPMailer 5.2.9 (https://github.com/PHPMailer/PHPMailer/)
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_e3cf4223db7449aa8e31488bfd238c9b"
Return-Path: no-reply@vilnius.lt
X-Originating-IP: [10.187.87.164]

Na, neskaitant tu idomiu vidiniu tinklu ir keistu laisku ‘persiuntinejimo’ tarp serveriu keleta kartu (is serverio A 10.187.87.164, i serveri B 10.13.3.224 (taip pat 192.168.2.2), i serveri C 10.3.3.4), matome, kad nera naudojamas nei SPF (nurodo, kuris IP gali siusti laiskus is @vilnius.lt) nei DKIM (nurodo, kad laiskas atsiustas su @vilnius.lt is tikruju buvo is ten siustas) nei nera DMARC (nurodo, ka daryti su laiskais kurie nera SPF/DKIM validus). Tai… gal laikas sias NAUJAS, desimtmecio senumo (isskirus DMARC), technologijas pagaliau naudoti ir valstybinese imonese? Sios technologijos yra labai baisiai brangios (free), uztrunka daug laiko jas idiegti (nieko apie jas nezinant, tai gal koks pusvalandukas ar valandyke uztruktu), ir reikalauja daug specialistu darbo.

Suletejes duomenu apdorojimas, ar visgi visiskai netinkamai veikianti paslauga?

Kaip cia radijuose sneka ir internetuose raso: “Registracija į darželius vyksta, tačiau yra sulėtėjęs duomenų apdorojimas”. Keista fraze. Pagal mane, “suletejas duomenu apdorojimas” yra tada, kai duomenys surenkami be jokiu problemu, o tada del duomenu kiekio / kitu bedu, jie apdorojami lietai. Siuo atveju, deja, manau yra visiskai ne ta situacija. Siuo metu “laimingieji”, kurie sugeba prisijungti, paduoda duomenys. O tie nelaimingieji, nepaduoda. Pirmieji eina i eile pirmi, antrieji pasilieka gale.

Pavizdys: naudojamas nginx, ir nginx turi galimybe vartotojus siusti pagal hasha visada i tuos pacius backendus (nezinau, ar pas juos taip daroma, bet cia tik prielaida parodyt kad suletejas != neveikiantis). Taigi, jei turim 100 klientu su skirtingais adresais, ir tarkim 3 serverius,tai 33% (A) eina i serveri 1, 33% (B) i serveri 2, ir 33% (C) i serveri 3. Viskas gerai? Ne….
Jeigu 100% vartotoju A ir 100% vartotoju B bando registruotis – tai jiems ta registracija net neatsidarys, nes serveris 1 ir serveris 2 bus tiesiog uzdusinti. O jeigu is visu vartotoju C eina registruotis tik pvz 20% ? Tai jiems serveriai atsidarines, registruosis ir ziurek, jie pirmi eilei!

Taigi, cia ne ‘suletejas’ apdorojimas, cia paslaugos neveikimas, ir laimes/algoritmo klausimas, kam pasiseke patekti i serveri, kuris nera apkrautas per daug tuo metu.

Atsiprasau, prirasiau nes tikrai uzkniso sios nesamones.

EDIT: dadejau pastraipa apie pasto karvelius ir suletejusi apdorojima, pamirsau parasyti.

Vilniaus darzeliu registracija – complete failure

Solar Eclipse @ March 20, 2015

Today there was a solar eclipse in our part of the world. We’ve climbed up the roof to watch the eclipse, have some coffee and take some pictures.

Here’s some pictures, most of them done through an iPhone camera. We used the magnetic part of the floppy disk to look at the sun / take pictures through it. Was fun :)

Continue reading “Solar Eclipse @ March 20, 2015″

Gallery

Print your … spare server part!

I’ve got some pretty old “server” here and it’s disk said goodbye to me a few weeks/months ago.

I finally found some time to clean it up – clean all the dust inside, apply some toothpaste thermal paste to the heatsink and replace the disk. Unfortunately i didn’t take a picture of how awful it looked before, but here’s a cleaned up version.

cleaned up server
cleaned up server

As you can see – it has a bracket for one disk, and there’s space for another one. It worked with one disk so far, but it would be a waste of space not to add the second one – the disks are so cheap now. I tried to search for the other bracket but couldn’t find it anywhere, and i couldn’t find a spare one to buy at the local stores.

We’ve got a MakerBot in the office out here. So, i’ve asked a friend if he can try printing one for me. The next day he comes back with this:

I was a bit skeptic about the real use of 3d printers in homes / offices, as the printed examples i usually see are keychains or other useless stuff, but now i might change my mind. maybe.

P.S. Not sure how will the heat influence the bracket – hope i won’t see any smoke coming out of the case…

Print your … spare server part!

Annoying Notes app formatting

As a Mac user, i have been (ab)using the Notes app quite a lot – i always copy commands/output/text from terminal or web pages, and it always annoyed me that Notes app, by default, would always format the text – create links, change the quotes, try to have text background (i.e. black when copying from Terminal). That’s the most annoying thing ever…

I remember i tried to look in settings to see if there’s a way to disable this, but I didn’t find anything when i looked. Today, it annoyed me too much again, so i thought i need to find a different software for that… but first let me try to look at it again.

So, after some googling around, i found a solution – you can remap the ⌘V key to paste without formatting!

Steps to achieve that:
– Go to System Preferences -> Keyboard -> Shortcuts -> App Shortcuts
– Add a new shortcut
– Choose “Notes” as the aplication
– Name the Menu Title “Paste and Match Style”
– In Keyboard Shortcut press ⌘V

This should re-map the ⌘V to use ‘Paste and Match style’ rather than the default Paste method.

Life just got a bit less annoying :)

Annoying Notes app formatting

apie kibernetinio saugumo teatrą

Originally posted on blogas domas:

Seimas priėmė kibernetinio saugumo įstatymą – berods visų frakcijų pritarimu. Net “sveiko proto liberalai” galvoja, kad jis padės geriau “atremti atakas”. Pradinės redakcijos buvo iš viso tragiškos, netinkančios teisinei valstybei, bet kalbama, kad pavyko pataisyt kažkiek, ir tai tebus tik šiaip farsas.

Visų pirma, pritariu, kad apsaugoti kritinę infrastruktūrą yra svarbu. Kai buvau nepilnametis, “išsiaiškinau” apie įvairių valstybinių sistemų sistemų saugumą, ir tai didelio pasitikėjimo jas stačiusioms kompanijoms nesukėlė. Yra tikrai svarbu, kad nesutriktų elektros ar vandens tiekimas, nenutekėtų žmonių Sodros duomenys (oj, per vėlu), etc.

Nemažai įstatymo nurodytų metodų yra popieriniai – taryba šen, centras ten, įpareigojimai, kompetetingi skyriai ir asmenys paskirti įvairiose institucijose. Kai kurios deklaracijos yra įdomios – pavyzdžiui ką reiškia atsakomybė už saugumą (nebent tikrai užtenka tik vykdyti vyriausybės nurodymus, jeigu tai įmanoma). Kai kurie reikalavimai buvo kontroversiški JAV – pavyzdžiui informacijos apie incidentus centralizuotas rinkimas (žr. https://en.wikipedia.org/wiki/Cyber_Intelligence_Sharing_and_Protection_Act).

Įstatymo įdomiausia dalis yra apie vartotojų duomenų (ir…

View original 1,147 more words

apie kibernetinio saugumo teatrą