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:n
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

9 comments
Comments feed for this article
marraskuu 28, 2007 klo 10:32 ip
Tiina
Löysinpä aiheeseen liittyvän sarjiksen. Toteuttaakohan nasta tuon määritelmän
http://www.xkcd.com/329/
marraskuu 29, 2007 klo 1:12 ap
Svante
marraskuu 29, 2007 klo 9:51 ip
Suni
Tosiaan… bottimme kehittynein ominaisuus tuntuu olevan sen puhekyky. On uskomattoman hauskaa vain seurailla miten Nasta vastailee kun toiset lähettävät viestiä sille/hänelle. Vaikka Nastan kielellinen lahjakkuus ei ehkä ihan pärjääkään äidinkielen professoreille sun muille alan ihmisille, on aivan käsittämätöntä miten hauskan ja syvällisen keskustelun sen kanssa voi käydä.
joulukuu 2, 2007 klo 11:21 ap
Moona
Täytyy minunkin tulla kehumaan nastan keskustelutaitoja. Ainakaan ei tule tylsää, kun yrittää selvittää, mitä se milläkin voisi missäkin tilanteessa tarkoittaa.
Nasta muuten täyttää hyvin nuo 7. olossa pohdittavana olleet kysymykset, kaikki kolme: sillä on erilaisia toimintoja, siihen pystyy lisäämään helposti uusia luokkia ja näitä luokkia voi muokata erillään ja bottihan osaa keskustella, oppia lauseita ja todeta niitä, joten Turingin testiinkin on mietitty ratkaisu.
Ja nastakin taitaa tykätä Svantesta;)
joulukuu 2, 2007 klo 12:07 ip
Svante
Kyllä se, Moona, tykkää kaikista, jos se vaan oppii ne tuntemaan
joulukuu 4, 2007 klo 9:20 ap
Marianne
Olen ehdottoman samaa mieltä Svanten kanssa – olen rakastunut nastaan. Sunin ja Svanten taiturimaisen työnjäljen tuloksena oli meidän muidenkin helppo tehdä omia luokkia ja saada botti tekemään itseä kiinnostavia toimintoja (!tissit x). Lisäksi nasta näyttää linkin päivän Viivi ja Wagner -sarjakuvaan (!wagner), kertoo muutamia olennaisia asioita (kanan)munista (!muna) sekä laukoo mitä hienoimpia matemaattisia letkautuksia suoraan Tampereen teknillisen yliopiston entiseltä professorilta Armo Pohjavirralta (!pohjavirta). Nämä sitaatit löytyvät netistä http://hellfish.org/~jonmann/armo/armo.html ja niistä vain osa on otettu käyttöön kohtuullisen yksinkertaisessa, samalla tavalla toteutetussa luokassa kuin sitaatitkin, eli random-arvalla heitetään jokin vinkeä ja vavisuttava lausahdus.
Sofin kanssa teimme yhteistyönä yllä olevia luokkia, alunperin tarkoituksena oli tehdä tissi-luokka, mutta koska huomasimme (ihanaksi yllätykseksi!), että se olikin jopa helppoa, teimme muutaman lisäluokan viihdyttämään. Toisaalta harmittaa Sunin sanoja tapaillen aika, sillä olisi ollut kiva keksiä vielä lisää ja ehkä hiukan monimutkaisempiakin rakenteita vaativia toimintoja. Nyt piti lähteä siitä, että varmasti saa jotain tehtyä, ja luotto omiin taitoihin ei ollut järin vahva. Ehkä ensi kerralla uskaltaa haukata suuremman palasen.
Bottimme täyttää tarkoituksensa, se huomioi ja osallistuu, hauskuuttaa ja hupinoi. Ollin toteutus ja toive siitä, että nastalle voi kertoa privassa oman sijaintinsa ja toiminnolla “lista” näkee kaikkien muidenkin sijainnit onnistui myös hienosti ja ajaa täten kutakuinkin sitä hyödyllinenNasta-puolta. Eli, fak tö naamakirja, meillon nasta <3
joulukuu 4, 2007 klo 6:23 ip
Oula
Oma panokseni nastan eteen oli harmillisen pieni. Aika ei tuntunut riittävän, ja ensimmäinen eforttini bottikoodiin tapahtuikin vasta bottiseminaaria edeltävänä iltana. Tässä vaiheessa nasta oli jo täysin toimivana kokonaisuutena ryhmän kanavalla, ja jutteli sujuvasti niitä näitä.
Kuitenkin huomasin yhden itseäni vaivaavan asian nastassa. Koska nastan puhekyky perustuu kanavalla puhuttuihin lausahduksiin, nollautuvat nastan tiedossa olevat lausahdukset joka kerta, kun sen käynnistää uudestaan. Sinänsä nastan uudelleen opettaminen on ihan hauska tuokio, mutta halusin tähän ongelmaan ratkaisun.
Ratkaisu oli lopulta melko helppo. Nastaa käynnistettäessä ohjelma katsoo, löytyykö ohjelman kansiosta lausahdukset.txt -tiedostoa. Jos löytyy, sen sisältö iteroidaan lausahduslistaan niin, että joka rivistä syntyy uusi lausahdus. !tallenna -komennolla nasta taas tekee saman toisinpäin, eli tallentaa lausahduslistan sisällön lausahdukset.txt-tiedostoon.
Nyt siis vanhat lausahdukset saadaan näppärästi talteen, ja halutessaan lausahdukset.txt-tiedostoon voi jo ennen botin käynnistämistä syöttää jotain valmiita letkautuksia.
Samalla hioin hieman puhetoimintoa sellaiseksi, että lausahduslistaan ei tallenneta komentoja (!-alkuisia lausahduksia) ollenkaan, ja että lausahdukseen ei tallenneta nimimerkkiä, mikäli kanavalle ilmestynyt kommentti on osoitettu jollekin henkilölle. Jälkimmäinen onnistui niin, että viestistä etsitään kaksoispiste, ja sen vasemmanpuolinen sisältö jätetään tallentamatta. Ongelma tässä on se, että jos kaksoispistettä käytetään jossain muussa tarkoituksessa, poistuu kaikki sen vasemmanpuolinen teksti. Näin jälkeenpäin ajateltuna olisikin ollut fiksumpaa ensin jakaa merkkijono osiin split-metodilla ja tutkia, onko ensimmäisessä osassa kaksoispistettä ja toimia sen mukaan.
Sainpahan siis kuitenkin tehtyä jotain nastaan, ettei syyllisyys ryhmän pettämisestä noussut aivan sietämättömäksi
joulukuu 5, 2007 klo 11:11 ap
sanna
Verrattuna robotin koodaamiseen, työskentelytapamme oli alusta alkaen varsin erilainen. Ennen Studin syntyä olimme kokoontuneet porukalla useamman kerran suunnittelemaan ja koodaamaan ja kaikki tunsivat Studin ominaisuudet perinpohjin. Nastan synty oli paljon salakavalampaa.
Alussa, kun kukaan ei edes maininnut yhteisiä suunnittelu- /koodausSessioita, pienet vihreät miehet sisälläni tapailivat Highway To Hell- kappaleen sointuja. Enhän minä osaa koodata yksin tai ainakin se vie tuhottomasti aikaa. Onneksi minulle valkeni varsin pian, että yhden komennolla toimivan luokan muodostaminen bottiin ei olisikaan ehkä maailmanluokan operaatio.
Tiinan ja Moonan kanssa mietimme, mitä kaikkea kivaa kaipasimme bottiin, ja päädyimme vitseihin, sitaatteihin ja “lakeihin”. Sitten ei muuta kuin paljon vitsejä kokoon ja random-generaattoria peliin.
Työskentelytavastamme johtuen, jännitys eli sisälläni viime hetkille asti. En tarkalleen tiennyt, mitä kaikkea Nasta osaa, enkä ollut varma kuinka hyvin erillisinä luodut toiminnot saataisiin yhdistettyä. Yhteinen tapaamisemme ennen bottisessiota kuitenki paljasti (ei mitenkään yllättäen, kun ajattelen, ketkä kokosivat Nastan osaset), että Nasta osaa vaikka mitä. Valovoimainen persoona oli syntynyt!
joulukuu 5, 2007 klo 9:59 ip
Suni
Oma panostukseni bottiimme keskittyi suurilta osin botin rakenteen säätämiseen ja sitä kautta bottiin uusien toimintojen lisäämisen helpottamiseen. Uusien toimintojen lisäämisen tulisi olla mahdollisimman helppoa valmiiseen bottiin. Tämä toimiikin ainakin jossain määrin omassa Nasta-botissamme. Nasta osaa hakea myöhemmin lisättyjä luokkia omasta kansiostaan ja käyttää niitä komentojen mukaan. Niinpä yksinkertaisten komentojen lisäys onnistuu pääluokkaa muuttamatta ja jopa suoraan lennosta.
Valitettavasti ajanpuutteen vuoksi tämä jäi vielä vähän kehittelyasteelle ja eri tyyppisten/monimutkaisempien komentojen lisääminen joudutaan vielä tekemään suoraan botin pääluokkaan.