Open Tuesdays continue as usual

Working grounds

Working grounds

Our lab has been under renovation for some weeks because of sewage leak that resulted in complete rebuild of our WC. Despite of this, Open Tuesdays have continued as usual, and only courses and other irregular events have been postponed to future. We hope that the current situation would be over within a month, and that the new WC room could serve us better than the old one, which was just miserable. We try to make the new room somewhat accessible, but cannot yet promise complete wheelchair accessibility.

For now, our neighbor Sirius has given us permission to use their toilet. Mind that the door has no handle on the other side, so do not lock yourself in! We’ll see if this could be fixed. There is a water tap now in Ell-i room, but in the kitchen the only usable machine is perhaps the microwave. You can follow the current situation on our Flickr feed.

On the brighter side, there’s a new Hacklab in Finland! Kuopio Hacklab is now accepting new members. Also, Tampere Hacklab has found a new home, which is roughly the same size as ours but with higher ceiling.

Github, testausta ja muuta ohjelmoinnin hienoutta alkeista eteenpäin käytännössä maanantaisin.

Joskus keskikesällä kyllästyin odottelemaan kauan kaivattua kurssia tai
työpajaa modernin ohjelmistotuotannon perustaidoista ja päätin ryhtyä vetämään
moista sitten itse. Ohjelma sopii kaiken tasosille ohjelmoijille ja sisältö
sovitetaan joka maanantai läsnäolevalle yleisölle.

Versiohallinta ja automaattinen testaus eri tasoilla on sen sortin hienouksia,
joiden avulla ohjelmiin voi tehdä muutoksia hallitusti. Testauksen avulla
tiedetään toimiiko se (no, melkein ainakin) ja versiohallinta auttaa löytämään
bugin alkulähteille.

Muutenkin versiohallinta on hieno juttu, projektiryhmän joka koodarilla voi
kaikessa rauhassa olla samat koodit auki omilla koneillaan ja muutokset saadaan
kasattua yhteen yleensä automaattisesti tai ainakin kohtuullisella vaivalla.

Tarkemmin asioista puhuttaessa törmätään tosi nopeesti asioiden erisnimiin.
Versiohallinnan puolesta keskitytään yleisimpään yhdistelmään: Git ja Github.
Näissä työkaluissa on vähän hankalahko kynnys yksin alottaa oppimista, joten
yhteinen oppiminen ja keskinäinen opettaminen on paras tapa päästä alkuun.
Vertaillaan myös eri workfloweja ja puhutaan projektien teknisestä hallinnasta
ja branchien filosofiasta.

Miten sitten testaaminen? Testaaminen jakautuu yksittäisiä ohjelman osia
testaavaan unit testingiin ja kokonaisia ohjelmia ja laajempia kokonaisuuksia
testaavaan integraatio/hyväksyttämis testaukseen. Jälkimmäinen jakaantuu vielä…

Testauksen suhteen nyt keskitytään enimmäkseen unit testaukseen ja sivutaan
aiheena muita testauksen menetelmiä. Unit testaus on ohjelmoijan ikioma nakki
ja apuväline, jolla varmistetaan, että tehdyn muutoksen jälkeenkin
ohjelma toimii ainakin niin hyvin kuin se osataan testata. Nää testit tehään
samalla kielellä kun ohjelmakin.

Tähän liittyen harjotellaan Test Driven Development -prosessia, jossa siis
työtä rytmittää jatkuva testaaminen ja testien kehittäminen samaa tahtia
koodin kanssa. Ihan kaikkeenhan se ei tietenkään sovi, mutta mihin sopii,
sopii sitte sitä paremmin. Joku on luonnehtinu, että tää ois vähän niinku
ohjelmoinnillinen vastine kaksinkertaselle kirjanpidolle.

Laajempia testauksia sivutaan Robot Frameworkilla, jolla voi testata vaikka
nyt sitten oskilloskoopin avulla tuliko ohjelmasta oikean muotoinen ääni, tai
osasko PaaS saada uuden version webisoftasta ajoon tai toimiiko vasta tehty
REST API kunnolla vaiko vaan melkein. Robot on älyttömän laajennettava systeemi,
johon voi kirjotella testejä melkein selväkielisesti ja sitä voi laajentaa
helpoiten Pythonilla.