Esimese ettekade tegid Allan ja Kairi Statistikaametist. Juttu oli rahvaloenduse taga olnud tarkvarast (ja veidi ka riistvarast). Põgusa ülevaate järel Statistikaameti üldisest tegevusest (mis tundus, et kuulajatele väga põnev ei olnud ;-)), jõudsid nad asja juurde ning rääkisid nii tarkvara loomisest kui ka selle reaalsest toimimisest loenduse käigus. Üks huvitav nüanss minu jaoks oli see, et kuigi projekt sai alguse üle 6 aasta tagasi, siis arvasid tegijad ise, et kui oleks suudetud fookust ühel projektil hoida, siis oleks parem tulemus valminud varem. See kinnitab vana tõde, et tegele ühe asjaga korraga – siis tuleb parem tulemus. Kuigi projekti kritiseeriti mitmel korral oma kehva kasutajaliidese pärast (mina kaasaarvatud), siis selgus, et algfaasis olid isegi UX eksperdid nõuga juures olnud.
Teine minu jaoks üllatav info oli see, et sama rakendus, millega sai üle loetud 62% Eesti elanikest, läheb kasutusse ka oluliselt väiksemamastaabiliste küsitluste läbiviimisel. Palju vaeva läkski sellesse, et rakendus oleks universaalne erinevate küsitluste jaoks. Statistikat oli ka palju – kes tahab täpsemalt teada vaadaku video üle. Minule hakkas kõige rohkem silma päevaste kasutajate arvu graafikul üsna viimastel päevadel toimunud peak, kus oli peaaegu 160 000 kasutajat päevas. See on märkimisväärne arv ning ma ei usu, et Eestis paljud sellise koormusega edukalt hakkama saaksid – nagu Statistikaamet sai. Suure üllatusena tuli fakt, et Statistikaamet on oma tarkvara loonud LGPL litsentsiga – seega peaks meil kõigil olema võimalik näha, kuidas selline põnev tarkvara tehtud on. Saatsin juba Allanile kirja, et seda lähtekoodi saada – loodame, et see mul ka õnnestub 🙂
Vaheajal oli vähemalt üheks põnevaks jututeemaks kõigi kokkukogutud andmete kaitse, mis vähemalt Statistikaameti väitel on mõnusalt paranoiliste ja professionaalsete administraatorite kontrolli all.
Järgmisena astus ette Taavi, kellel oma sõnul juhtus lapsepõlves õnnetus ja nüüd progeb ta hobi korras kõigis keeltes mis vähegi saab. Kõigist põnevatest keeltest oli ta välja valinud Erlangi, mis tema hinnagul on oluliselt alahinnatud ning kui rohkem infosüsteeme oleks selles kirjuatatud, siis ei oleks meil probleeme downtime-iga. Erlang on tolerantne nii riistvara kui tarkvara vigade suhtes ning töötavat süsteemi on võimalik vabalt “jooksu pealt” uuendada. Ja nii mitmes masinas korraga. Ehk siis tundub kui ideaalne lahendus olukorras, kus Moore seadus on lakanud toimimast (vähemalt mõnede arvamuste kohaselt). Kuuldavasti on osa Facebook Chat-ist kirjutatud Erlangis ning paljud muud suured tegijad on seda edukalt kasutanud. Üks ettevõtte olevat Erlangiga süsteemil saavutanud isegi “nine nines availability” ehk 99.9999999%. Levinud keeltest erineb Erlang päris palju – tsükleid ei ole ja muutujate väärtusi muuta ei saa ja täisarvudel ei ole pikkuse piirangut. Ning mitmes keeles saad sa kirjutada nii: 16#cafe + 32#sugar. Punkt lause lõpus on oluline – see on sama, mis semikoolon Javas või C-s. Lahe – inimkeeles lõppevad ka ju laused punktiga ;-). [Muide – selle avaldise vastus on 30411865.] Erlangis kirjutatud lihtsa andmebaasiserveri kood mahub ühele slaidilie ära. (Kuigi – tagareast lugemiseks jäi sel juhul kiri veidi väikeseks.) Kokkuvõtteks soovitas Taavi kõigil proovida Erlangit ning mina kavatsen kindlasti tema soovitust järgida.
Viimasena oli kavas The Open-Source Codeborne Show. Andrei ja Anton demonsteerisid edukalt, kuidas keerulisi süsteeme on võimalik elegantse ja lihtsa fassaadi taha ära peita nii, et nende kasutamine ei tekita igakordselt peavalu. MobiiliID on lahe asi ning loodetavasti võimaldab Codeborne pakutud teek selle kasutamiselevõttu veel enamatel veebisaitidel. Progejana oli mul nauditav vaadata ettekannet, kus enamus ajast oli fookus reaalsel koodil IDE-s, mitte slaididel. Clean Code ja Automated Testing on Codebornes au sees ning seda ka edukalt näidati. Teemaks olid head praktikad kuidas teste kirjutada ning pakutud avatud teek Seleniumi peale teeb testide kirjutamise veel lihtsamaks. Julgen kinnitada, sest olen seda ise proovinud 😉
Erik Jõgi
Codeborne, Well-crafted software