You are currently browsing the category archive for the 'Botti' category.

7. OLO-session aihe oli ihana! Muistan, miten joskus yläasteella tein botin QuakeNetin #karjaa -kanavalle, jossa oli minun liskseni myös toinen Karjaan kaupungin ADSL-yhteyden omistavista ihmisistä. Telnet-botti “Karjaa-bot” oli kanavan 3. vakiojäsen. Kopsailin Googlesta löytyviltä muilta boteilta !sää ja !telkkariohjelmat-komennot. Olin hämmentynyt, miten botti osasikin hakea jostain tietoa. Unohdin botit ja IRC-in pariksi vuodeksi, mutta NYT!

Kiinnostuin OLO-sessiossa suuresti Touringin testistä. Miten saisimme botin keskustelemaan? Oppiminen? WWW:nturing oraakkelit? Selailin Javan tutorialista keinot URL:n lukemiseen ja homma alkoi hahmottua. Saatuamme Paniikissa nasta-bottimme IRC-kanavallemme alkoi riemu, röhötys ja hekotus. Botti vastaa uskomattoman hyvin ja hauskasti sille heitettyihin letkautuksiin! Olen aivan rakastunut!

/me <3 nasta

OLOssa suunnitellessamme bottiamme, nousi sen tärkeimmäksi piirteeksi hulvaton huumori ja käyttäjiensä ilahduttaminen. Myös bottimme vitsit, sitaatit ja lait ajavat tätä samaa asiaa. Poikien tehtyä hyvän pohjatyön, oli meidän muiden helppo lisäillä omia luokkia ja komentoja bottiin. Vitseissä, sitaateissa ja laissa on kaikissa suunnilleen sama toiminta idea. Niissä on toteutettu random arpa, joka arpoo, mikä vitsi milloinkin palautetaan.

Positiivista koko botti-projektissa oli mielestäni se, että saimme melkein kaikki suunnitelmamme toteutettua ja jokainen löysi itselleen jotakin mielekästä tekemistä, myös taitojen puolesta. Toisaalta uskon meidän kaikkien saaneen myös hyvän kuvan botin perustoteutuksesta. Samalla oli mukava seurata miten jokaiselle löytyi jotakin ja miten erilaisia asioita kaikki tekivät.

Mitä esitykseemme tulee, olisi sitä varmaankin voinut hioa paremmaksi. Esitykseen käytettävä aika oli kuitenkin melko pieni ja siksi olikin tärkeää antaa nastan (bottimme nimi) puhua puolestamme, sillä sehän oli työmme tulos. Itse olen ylpeä botistamme monella tapaa; siitä mitä se tekee, mutta myös siitä millaisia perusominaisuuksia sillä on. Toivon, että nasta säilyy omalla irc-kanavallamme vielä pitkään. Tosin nastan aitouden takia, pelkään taas pikkuisen enemmän koneita

Noustessani ylös sängystä aamulla oli mielenkiintoni ryhmämme irkkibottia kohden kääntäen verrannollinen kofeiinintarpeeseeni. Tästä huolimatta lähdin kouluun, Paniikkiin, jonne olimme sopineet koodaussession. Paikalle oli jo saapunut kourallinen muita ryhmämme jäseniä, mukanaan enemmän tai vähemmän toteutuskelpoisia ideoita botin toiminnasta.

Avattuani Eclipsen ja aloitettuani koodauksen, niin ei kestänyt kauaa, kun olin yhtäkkiä botin lumoissa. Suurin syy tähän lienee se, kun lopullisesti tajusin, ettei alkuunpääseminen ole vaikeaa kiitos valmiin PircBot-rajapinnan. Aloinkin siis saman tien tutkia bottimme toimintaa ja koodata omaa “osatehtävääni”. Pienen vaivan jälkeen sain tämän henkilö-status-listan toimimaan, jonka jälkeen pohdittavaksi jäi kuinka liitän oman luokkani botin toimintaan. Tämä ei tosin ollut suuri ongelma.

Ja kun Svante ja Suni saivat botin oikeasti “keskustelemaan”, oli selvää, että ryhmämme oli taas jälleen kerran saanut jotain lähes ainutlaatuista aikaan. Tosin työmaata on edessä, sillä kaikki toiminnot pitää vielä koota yhteen. Seurauksena deadlinen siirrttymisestä torstaille, ei ole täysin varmaa, milloin botti lyödään lopullisesti kokoon. Sitä odotellessa..

Syntyykö bottimme ajoissa? Laskettu aika alkaa lähestyä. Tyylikäs runko on paketissa, mutta jokaiselle ryhmän jäsenelleStudBot

viime OLO-session lopussa jaetut osatehtävät vielä työn alla. Nyt kaikille tsemppiä.

Seitsemännen tapauksen purku jäi hyvinkin laihaksi. Allekirjoittanut ainakin myöntää, että työtä oppimistavoitteen eteen ei juurikaan tullut tehtyä, ja purkaminen ilman mitään opittua ei välttämättä ole se tehokkain toimintatapa ;) . Aikaa purkuun käytimme n. 15min, aika kauas jäi OLO-menetelmä-ohjelapun 1,5 tunnista! Muutenkin oppimistavoitteet olivat luokkaa “tarkkaile, kuinka irkissä puhutaan”, joten niiden hyöty botin käytännön toteutukseen oli tässä vaiheessa vielä melko pieni.

Nyt kun kirjoitan tätä tekstiä noin viikko session jälkeen, täytyy todeta, että käteen ei jäänyt juuri mitään. Saimme ehkä selvennettyä hieman sitä, mitä bottimme tulee tekemään, mutta erittäin vähän joka tapauksessa. Motivaatio botin tekemiseen tuntui olevan erittäin alhaalla (osittain ehkä johtuen siitä, että ainakin itse luulin bottiseminaarin olevan jo tänään, ja tiesin, että aikaa botin tekoon tällöin olisi), eikä kukaan jaksanut syventyä aiheeseen sen enempää.

Toisaalta oli ihan hauska kokea välillä tällainenkin purku, ainakin oli pää tyhjänä seuraavaa tapausta varten

Oli synkkä ja myrskyinen yö… eiku. Oli aika uuden ryhmäkohtaisen tehtävän… :D

Monille tämä OLO-sessio taisi tulla vähän puun takaa. Viimekertaisen olon jälkeen ainakin itselleni jäi sellainen käsitys, että se olisi ollut viimeinen “normaali” sessio ja että seuraava tapaaminen olisi vain joku pieni ohjeistus seuraavaa tehtävää varten (ja että siihen olisi aikaa ainakin pari viikkoa). Mutta sitten kävikin ilmi, että ihan normaali OLO-sessiohan se oli. Hyvä näin, sillä nyt saimme sylikaupalla ideoita hautumaan tulevaa varten.


äm irk

Tällä kertaa robotin sijasta joudumme suunnittelemaan ja toteuttamaan IRC-botin. Ensi töiksemme saimme eteemme kolme kappaletta virikkeitä, jotka käsittelivät IRCin bottien tarkoitusta ja toimintaperiaatetta. Virikkeet olivat mukavaa luettavaa, mutta ei niistä oikein irronnut “ahaa-elämyksiä” eikä muutakaan varsinaista hyötyä.

Virikkeet luettuamme kävimme innolla tehtävien kimppuun. Ensimmäiseksi rupesimme keksimään toimintoja, joita oma bottimme (tai botit ylipäätään) voisi mahdollisesti sisältää, ja lätkimme ne tuttuun tapaan Post-it® -lappuina taululle. Ideoita syntyi laidasta laitaan: niin hyötytoimintoja (mm. bussiaikataulujen ja Otaniemen ruokalistojen haku) kuin jotain aivan muutakin (mm. vitsien kertominen, paljaan pinnan vilauttelu). Ideat olivat hyviä ja monet niistä ovat jopa toteutettavissa. Suurin ongelma oli keksiä omaperäisiä, täysin uusia ideoita, joihin ei vielä olisi törmännyt aikaisemmin missään.

Seuraavaksi ryhdyimme pohtimaan arkkitehtuuria, jolla toiminnot saataisiin sisällytettyä bottiin jollain järkevällä tavalla. Lähtökohtana pidimme yhtä pääluokkaa, joka hallitsisi botin yleisiä toimintoja kuten IRC-kanavan ja ajan seuraamista ja kutsuisi aina haluttuja toimintoja vastaavia luokkia. Ongelmaksi muodostui se, että kenelläkään ei ollut varsinaista tietoa siitä miten homma käytännössä toimii, joten yksityiskohtaisemman ja monimutkaisemman toimintamallin suunnittelu ei oikein luonnistunut.

Aloitimme pariinkin kertaan (assarin vinkistä) toimintojen järjestelyn jonkin näköiseen järjestykseen, mutta homma tyssäsi aina ennen kuin pääsimme edes vauhtiin, sillä vastaan tuli taas oma tietämättömyytemme. Koska emme tienneet miten botti loppupeleissä toimii, oli hyvin vaikea miettiä toiminnoille ryhmitystä, josta olisi mitään käytännön hyötyä.

Keskustelu oli vilkasta, mutta se ajautui koko ajan botin keskustelukykyyn. Totesimme, että sen toteuttaminen on erittäin hankalaa, koska tekstistä on erittäin hankala poimia ns. tärkeitä sanoja (erityisesti suomen kielestä sanojen taivuttelun vuoksi) ja tehdä niistä päätelmiä. Siitä saimmekin muutaman hyvän oppimistavoitteen ensi kertaa varten.

Vaikka botin lopullinen toteutus on vielä täyttä hepreaa, jäi meille tästä sessiosta käteen iso kasa toinen toistaan parempia ideoita mitä botti voisi tehdä.