PEEGELDAJA
Olen uhke, et mul pole häbi öelda
Olen uhke, et mul pole häbi öelda

Kuidas inimesest saab häkker

Tõepoolest, ma ütlen teile: igast inimesest võib saada häkker. Märkamatult. Vähemalt iseendale. Ühel hetkel avastad, et oled. Aga siis on juba hilja.

Kust asi alguse saab? Pealtnäha väikestest, süütutest asjadest. Näiteks on sul 90-ndatel aastatel õnnestunud endal teha kodulehte internetis ja saada iseõppijana esimesed teadmised html-ist. Näiteks kuidas teha linki, muuta tekst paksuks, muuta teksti värvi, teha kaldteksti, tabelit, manada lehele foto…

Samal ajal töötad kusagil uudiste alal. Vahet pole, kas meediaväljaandes või kusagil võimu juures pressiesindajana. Ühel hetkel hakkab sulle tunduma, et igasuguseid liigutusi tuleb mõttetult palju teha. Iga kord pead kirjutama enda nime, ehk määrama kuupäevagi. Paned ühtaegu tähele, et mõnel veebilehel on olemas selliseid funktsionaalsusi, mille peale poleks osanud 1990-ndatel tullagi. Näiteks mõni uudisteleht värskendab ennast ise ning võimaldab luua erinevaid vaateid, postitab tellijaile uusi uudiseid e-kirjana… mida iganes. Niikuinii on sul juba kogemusi oma vana töökoha uudiste-intranetiga, mis kogub kokku ja näitab toimetajale erinevate agentuuride toodangut, kusjuures selline mõttetus nagu stiil ja disain sealt sisuliselt puudub.

Mõte asub tööle. Vat see ja see ja see peaks käituma nii, see ja see vorm sisestama sinna ja tänna seda ja teist, ühel teatud juhul peab info olema kõigile nähtav, teisel juhul mitte… Peaks ju olema võimalik?

Organisatsiooni veebilehte uuendatakse. Osaled selle ettevalmistamise protsessis, kirjutad kasvõi valmis mingi osa võimalikust lähteülesandest. Aga kõike, mida kokku fantaseerid, ei juhtu. Pealegi ei tea sa ju hetkel midagi andmebaasi rollist veebilehe sisus. Võib-olla kuuled väidet, et see, mida ette kujutad, pole võimalik või on liiga kallis või liiga keeruline. Kui uskuma jääd, valdab sind õnnetunne ning oled edasisest päästetud.

Aga kui ei usu?

Siis on kaks võimalust. 

Esimene võimalus on lihtsalt mitte uskuda.

Teine võimalus on vähemalt iseendale tõestada, et näiliselt võimatu on tegelikult võimalik.

Räägimegi teisest võimalusest.

Vahepeal on sulle tekkinud mingi täiendav kinnisidee, et Eestis võiks eksisteerida teatud asjade jaoks üks universaalne avalik register. Ütleme, et see oleks teoseregister, mis sisaldab kõiki teoseid esituskunstide vallast ning mille vahendusel saaks informatsiooni ka teose sisu kohta. Tahad ise luua mingi mudeli, algselt puhtalt iseenda jaoks. Lood endale mõne veebimajutaja juures pesa ning hakkad otsima oma mudeli loomiseks vajalikku vaba tarkvara – ja leiadki! Selleks võib olla näiteks veebilehe sisuhaldussüsteem Joomla! ja selle lisakomponent Fabrik, mis võimaldab luua mistahes sisutüüpe ja andmeseoseid.

Katsetad ja lood oma mudelist mingi alge. Töö käigus tekib aga täiendavaid ideid, mida iseenesest hea komponent veel ei paku. Samal ajal seda komponenti pidevalt arendatakse. Hakkad arendamisprotsessis kaasa lööma. Loed, milliseid lahendusi ja ideid leidub arendaja veebifoorumis ning teed ise sinna oma ettepanekuid (feature request).  Vaata www.fabrikar.com

Kõige selle käigus koguneb sulle märkamatult teadmisi php programmeerimisest – eelkõige kõikvõimallikest muutujatest (lähtekoodis $ märgiga), veelgi hõlpsamalt aga teadmisi MySQL andmebaasist, seal tehtavatest päringutest ja nende tulemuste interpreteerimise võimalustest.

Parasjagu töötad pressiesindajana linnavalitsuses, mille veebilehest on teatud funktsioonid puudu. Lihtsalt keegi (ka sina ise) ei tulnud omal ajal selle peale, et seda tahta! Programmi kirjutajad aga kirjutavad just seda, mida ametnikud oma mõtlemisvõime piires tahta oskavad.

Niisiis hakkad vabatahtlikult kasutama oma teadmisi selleks, et linna veebilehte paremaks muuta. Õnneks on osa lähtekoodist avatud – näed failides kõiki vajalikke php muutujate krõnkse ning ka päringuid andmebaasist.

Katsetad ja katsetad – ning lõpuks ilmubki linna veebilehe esiküljele sektsioon “Tänased teated” ning seal on näha kõik sellised teated, mis just täna kehtivad. Tänastel uudistel on juures kellaaeg, neil kuulutustel ja sündmuste kohta käivatel teadaannetel, mille algus ja lõpp(tähtaja) vahele jääb praegune hetk, on juures teave selle kohta, et millal algab või algas või sisestati ning millal lõpeb. Kalendri sisu vaatele tekivad juurde ka nädalapäevanimed. Paraku inglisekeelsed. Eestikeelsed nimetused on konfiguratsioonifailis olemas, aga esialgu ei jõua sa jälile ellele, kuidas neid sealt esile manada.

Siis jõuad jälile tõsiasjale, et Google kalendrit ja veebilehte on võimalik panna omavahel suhtlema. Oma linna veeb seda ei võimalda, seevastu võimaldab seda su enda veebipesa Joomla-sait, täpsemalt üks komponendi Fabrik lisa. Peale selle suudab Joomla üks komponente – Eventlist väljutada sündmusteinfot sellise infovoona, mida oskab lugeda ka lauaarvuti kalendriprogramm. Rääkimata juba Google kalendrist.

Jälle katsetad. Tulemus? Lisad Google kalendrisse sündmuse oma lauaarvuti kalendriprogrammi kaudu. Sinu veebisait loeb aeg-ajalt Google kalendrit ja kui leiab midagi uut, siis kirjutab uue info andmebaasi. Kuna oled komponendi Fabrik abil loonud linnavalitsuse eelinfo vaate, siis näitab vastav sait sulle eeloleva nädala eelinfot just sellisel kujul, nagu vaja. Kopeerid tulemuse oma e-posti sõnumisse ja saadad toimetustele.

Kogemustepagas võimaldab jälle linna veebi kallale minna. Nüüd lõpuks saad kätte nipi, kuidas saada konfiguratsioonifailist eestikeelseid nädalapäevanimesid. Ja see pole veel kõik. Tahaksid esilehele ka lühendeid. ETKNRLP. Proovid, mis saab siis, kui mõned read konfiguratsioonifaili juurde kirjutada ja siis tekitada vastavad muutujad faili, mis neid peaksid näitama. Asi õnnestubki. Linna veebi esilehe sündmused on nädalapäevalühenditega.

Nii lõpuks vaatad endasse ja tõded, et ongi häkker valmis.

“Ta rääkis endast,” mõtlete. Nojah. Aga kas te leidsite selle saatusliku hetke? Vaevalt. Mina ka mitte.

Mis sellest häkkeriks saamisest kasu on?

Kui mitte midagi muud, siis vähemalt immuunsus veebirakendusi puudutava müügitöö suhtes. Oskad esitada küsimusi, mis paneb müüjad valiku ette – kas teha oma toode nii kvaliteetseks, et sa rahul oled või jätta parem müügitöö katki ning otsida lolle mujalt.