F I Oculus Rift Lumetodellisuuden airut OHM & Assembly Hakkerikekkereiltä pelihelvettiin Ohjelmointisarjat jatkuvat QML ja OpenGL Tietokone tietäjänä Ymmärtääkö tekoäly?. Tietokonekulttuurin erikoislehti 2013.3 S K R O L L I
35 OpenGL-ohjelmointi osa 2 Puskureita ja shadereita ohjelmointikurssilla. 26 PDP-1 Emulaattorimatka hakkerikulttuurin juurille. 16 Arduino hallintaan Liitimme ihmisen Arduinoon. 8 Assembly 2013 Livemusiikkia, visionäärejä ja demoja. 11 Kolumni – Ninnu Koskenalho Vieno pyyntö Opetushallitukselle. 32 Vektorista kvaternioon Vektorit ja muut tarpeelliset peruskäsitteet tutuksi. 48 Rogueliket Vähäeleiset ja ruudikkaat rogueliket. 30 Ei näin! Apple Pippinistä ei tullut olohuoneen omenalajiketta. 44 Tikku-ukoista pikselitisseihin Näin bittiporno kiersi kasarilla. 47 Kolumni – Tapio Berschewsky Masentunutta narinaa internetseistä. 40 Kauan, kauan sitten, vuonna 1982… Star Wars -peliuniversumin aamunkoi. 2 2013.3 3 Pääkirjoitus 4 Testissä Oculus Rift Varhaisen omaksujan virtuaalitodellisuus. 24 Parhaasta koodista kultaa Kisakoodaus, penkkiurheilun parhaimmisto. Sisällysluettelo. 20 Ymmärryksen juurilla Kuinka tekoäly kokee maailman. 51 IRC on paras Nettichattien kuningas ei suostu kuolemaan. 14 QML osa 2 Käyttöliittymä C++ -tontulle. 19 Pähkinänurkka Pulmakulmassa ykkösiä ja nollia. 12 OHM 2013 Hollantilaisen hakkerileirin antimia
Heidän asiantuntemuksensa avulla olemme voineet laajentaa käsittelemiemme aiheiden kirjoa huomattavasti. Koska kasvoin lukien 80-luvun harrastuslehtiä ja selaan niitä ajoittain edelleen, oli ajatus jonkin samanlaisen synnyttämisestä aivan liian houkutteleva. Lehteä tekemällä ei rikastu, eikä se ole tarkoituskaan. Sitten tutustuin muihin toimituksen jäseniin, joista suurta osaa en ollut ennen edes tavannut. Jos koet, että sinulla olisi kerrottavaa Skrollin lukijoille, lähetä sähköpostia tai tule roikkumaan IRC-kanavalle. Ja vaikka olin nähnyt omaa tekstiäni painettuna jo monta kertaa, ensimmäinen Skrolli tuntui silti aivan erityiseltä. Teille ja meille. Lehdelle taloudellinen riippumattomuus on toki tärkeää, jotta voimme jatkaa ilmestymistä. Vielä tärkeämpää on kuitenkin tehdä sellaista Skrollia, josta pitävät sekä me itse että lukijamme. Kauppinen, Ronja Koistinen, Sade Kondelin, Juho Lehtinen, Elias Linjama, Oona Räisänen Tämän numeron avustajat Anna Heinonen, Panu Kalliokoski, Aleksi Kinnunen, Antti Laaksonen, Waltteri Lahti, Santtu Pajukanta, Juho Pietarinen, Annika Piiroinen, Visa-Valtteri Pimiä, Tuomas Puikkonen, Rauli Puuperä, Manu Pärssinen, Ville Ranki, Mikko Rasa, Markku Reunanen, Miikka Saukko, Kalle Viiri, Jari Viitala Julkaisija Alternative Party ry Painopaikka Tammerprint, Tampere, ISSN 2323-8992 (painettu) ISSN 2323-900X (verkkojulkaisu) 441 878 Painotuote Kannen kuva: Ville-Matias Heikkilä. Vakuutuin siitä, että tämä porukka saa kyllä lehden aikaiseksi. 3 Yhdessä, ilosta Skrollia tehdään, koska se on sen arvoista. Se, miten pitkälle tämä tarina jatkuu, riippuu ennen kaikkea teistä. Aiempi kirjoituskokemus ei ole tarpeen – tärkeintä on, että sinulla on jotain sanottavaa. En tiennyt tuolloin, kuinka monta numeroa – jos sitä yhtäkään – tätä lehteä ilmestyisi. Osittain siksi käsillä oleva numero onkin tähänastisista ajankohtaisin. Vuoden kuluessa toimitusporukkaan on tullut lisää jäseniä, ja olemme myös löytäneet lukuisia uusia avustajia. Ensimmäistä kertaa voimme jopa maksaa kirjoituksista nimellisen palkkion. Itselleni kysymys on ennen kaikkea siitä, että haluan saada päässäni pyöriviä tarinoita paperille. Leipäpuuni on toisaalla, kuten muillakin Skrollin tekijöillä ainakin toistaiseksi. Useimmat avustajista ovat itse ilmoittautuneet toimitukselle, ja tähän rohkaisemme myös jatkossa. Vajaa vuosi sitten lähdin mukaan tekemään uutta tietokonekulttuurin erikoislehteä – siitäkin huolimatta, että elämän muiden kiireiden vuoksi ei olisi ehkä pitänyt haalia enää yhtään lisävastuita. Mikko Heinonen asiantuntijatoimittaja Pääkirjoitus Skrolli Tietokonekulttuurin erikoislehti Yhteydenotot toimitus@skrolli.fi ircnet — #skrolli Päätoimittaja Ville-Matias Heikkilä Toimituspäällikkö Toni Kuokkanen Toimitussihteeri Ninnu Koskenalho Taitto Risto Mäki-Petäys Mediamyynti Jari Jaanto Talous Anssi Kolehmainen Muu toimitus Lauri Alanko, Mitol Berschewsky, Tapio Berschewsky, Mikko Heinonen, Jukka O. Mukana on reportaasit peräti kahdesta harrastetapahtumasta, minkä lisäksi puemme päähämme tuoreet Oculus Rift -virtuaalitodellisuuslasit
Teksti: Mikko Rasa Kuvat: Mikko Rasa, Wikimedia Commons-käyttäjä Sergey Galyonkin I mmersiivinen virtuaalitodellisuus on pelaajan nirvana ja science fictionin peruskauraa. Tämä on ymmärrettävää, koska paneeli on vain muutaman sentin päässä silmistä. Ympäriinsä katseleminen tuntuu luonnolliselta, eikä minimaalista viivettä huomaa, ellei sitä erikseen tarkkaile. Riftin asentosensori ja sitä lukeva kirjasto suoriutuvat tehtävästä mallikkaasti. Half-Life 2 Riftillä pelattuna on hieno kokemus. Myöhemmin ilmestyvään kuluttajaversioon on kaavailtu 1920×1080 pikselin paneelia, jossa myös pikselirajojen pitäisi olla kapeammat. Immersion täydentämiseksi kuvan on reagoitava pään liikkeisiin. Kuulokkeita Riftissä ei ole, mutta sen muotoilu mahdollistaa omien isojenkin kuulokkeiden mukavan käytön. Laajempaa tukea on epäilemättä luvassa lähitulevaisuudessa, sillä ainakin Valve ja Id Software ovat osoittaneet kiinnostusta laitteen tukemiseksi peleissään. Kuvassa on voimakas hyttysverkkoilmiö, jossa pikselien väliset rajat erottuvat mustina viivoina. Myös kuvan tarkkuus on vaatimaton. Jos tekniset ominaisuudet onkin saatu kohdalleen, on hinta ollut liian kova kotikäyttäjälle. Maailma silmikkosilmin Lupaukset ovat historian valossa suuria, mutta kun laitteen saa päähänsä, epäilykset haihtuvat. Ihmisaivot olettavat ympäröivän maailman olevan pään liikkeistä riippumaton, joten kun käyttäjä kääntää päätään oikealle, on kuvaa liikutettava vastaavasti vasemmalle. Sen viimekesäisen Kickstarterkampanjan suosio ylitti odotukset moninkertaisesti, ja toimitukset alkoivat tämän kevään aikana. Syvyysvaikutelma on niin todentuntuinen, ettei siihen tajua kiinnittää huomiota, mutta jälkeenpäin tavallisella monitorilla esitetty 3D-grafiikka näyttää lattealta. 4 2013.3 Testissä Oculus Rift Lumemaailmojen sukelluslasit Katsoimme keinotodellisuudeen houkuttavilla laseilla. RiftEnabled-sivusto listaa noin 150 peliä ja ohjelmaa, joissa on natiivi Rift-tuki. Näytön 1280×800 pikselin tarkkuus on jaettu vaakasuunnassa kahtia, joten kumpikin silmä saa 640×800 pikselin näkymän. Sen mahdollistavat laitteet ovat tehneet tietään kuluttajan luokse jo 1990-luvulta asti. Koska kyseessä on uusi laite, joka ei vielä edes ole kuluttajamarkkinoilla, on pelituki varsin rajallinen. Tämä on kuitenkin vasta kehittäjille suunnattu versio. Silmikon tarjoama näkymä kattaa lähes koko näkökentän, joskin reunoille jää laitteen rakenteesta johtuva musta alue. Rauta. Näyttöpaneelin edessä olevien linssien ansiosta silmät eivät rasitu, ja mukana on vaihtolinssit likinäköisille. Pääseekö jo pelaamaan. Pelaaja tuntee todella astuvansa Gordon Freemanin ” Oculus Rift lupaa mullistaa pääsyn lumemaailmaan. Aivan täydellinen laite ei ole. Näistä suurin osa on teknologiademoja ja harrastajien kokeilumielessä tekemiä pikkupelejä, eikä isoja julkaisuja ole kuin muutama. Mikäli näin ei tapahdu, syntyy valheellinen mielikuva virtuaalimaailman kääntymisestä pään mukana. Oculus VR-yhtiön virtuaalisilmikko Rift lupaa mullistaa pääsyn virtuaalimaailmoihin. Matkalla on ollut ongelmia, kuten huonot resoluutiot, epämukavuus ja hidas tai puuttuva pään asennon seuranta. Valve on ensimmäisenä suurena yrityksenä lisännyt Rift-tuen Source-pelimoottoriinsa. Erillinen peliohjain onkin vr-kypärän kaveriksi oivallinen valinta. Pelien kontrollien tosin olisi syytä löytyä lihasmuistista, koska näppäimistöä ei silmikko päässä pysty tiirailemaan. Reaktion on oltava riittävän nopea, tai aivot eivät osaa yhdistää pään kääntämistä ja katselusuunnan muutosta toisiinsa
Seuraava suuri haaste ei ole näytön resoluution kasvattaminen, 360:n asteen juoksumattojen kehittäminen tai 3D-ohjainten suunnittelu. Näin osat hyppäävät irti paperista. Virallinen ohjelmistonkehityspaketti sisältää myös pään asennon seuraamiseen tarvittavat rajapinnat ja algoritmit. Olen haaveillut immersiivisestä näyttölaitteesta niin kauan kuin muistan. Joihinkin peleihin saa lisättyä Rift-tuen avoimen lähdekoodin VireIO-ajurilla. Saavatko uudet keinomaailmat minut välittämään kuvitteellisista hahmoista entistä enemmän. Sovita kuviot päällekkäin katsomalla kuvia silmät ristissä. Vieläkään ei oikeastaan tiedetä, millaiset kokemukset parhaiten soveltuvat virtuaalitodellisuuteen. Oculus Rift ei kuitenkaan ole vielä kaikkien unelmien täyttymys. Laitteiden hinnat ovat tavallisten ihmisten kustannettavissa. Pelin aikana tähtäin näkyy kahdessa eri paikassa, ja todellisuudessa laukaus osuu näiden väliin. Riftin näytölle piirtyvää kuvaa täytyy vääristää voimakkaasti, jotta se linssien läpi katsottuna näyttäisi oikealta. Oculus Rift (kehitysversio) Näytön tarkkuus: 1280x800 kuvapistettä Näkökenttä: noin 110° Pään asennon seuranta: integroitu Kuulokkeet: ei ole Hinta: 300 dollaria Linkkejä: http://www.oculusvr.com http://www.riftenabled.com http://www.vireio.com Virtuaalitodellisuuden tulevaisuudennäkymät Teksti: Visa-Valtteri Pimiä V ihdoinkin! Oikeasti toimivien virtuaalitodellisuuslaitteiden aikakausi on koittanut. Unityssä ja Unreal Engine 3:ssa on valmis tuki Riftille, ja muidenkin grafiikkamoottorien käyttö onnistuu, jos näkee hieman vaivaa. Koska peli ei tiedä Riftistä ja sen aiheuttamasta vääristymästä mitään, kaksiulotteiset käyttöliitymäelementit eivät toimi kuten pitäisi. 5 saappaisiin. Virtuaalitodellisuus mahdollistaa kuvitteellisiin maailmoihin uppoutumisen ja niiden sisällä toimimisen ennennäkemättömillä tavoilla. Kontrollit ovat hieman oudot, sillä hiirellä on vaakasuunnassa ruudun keskellä pieni kuollut alue, jolla kursoria voi liikuttaa vapaasti ennen kuin se alkaa kääntää pelihahmoa. Tämä kuitenkin jättää paljon toivomisen varaa. Todelliset puutteet ja mahdollisuudet piilevät ohjelmistossa. Näkymän parametrit on säädettävä kohdilleen käsin. Itsenäisten kehittäjien luomien virtuaalikokemusten aika on koittanut! Toivon, että näitä moderneja silmälappuportaaleja kokeilleet tunnistavat niiden valtavan potentiaalin ja keksivät, kuinka parhaiten valjastaa ne ainutlaatuisia mielikuvitusmatkoja ja mahtavia elämyksiä varten.. Jos jokin juonen syvyyttä sisältävissä peleissä on tärkeää, niin rooleihin ja tilanteisiin eläytyminen. Jos kokemus on aiempaa uskottavampi, vetoavatko tekoni voimakkaammin tunteisiin. Esimerkiksi Portal 2:ssa valikko on hankalasti näkökentän vasemmassa laidassa. Kaikkein eniten odotan syvällisiä, juonellisia kokemuksia jotka käyttävät virtuaalitodellisuuslaitteistojen ainutlaatuisia ominaisuuksia hyödykseen. Kehittäjäsivustolta voi ladata ilmaisen dokumentaation ja lähdekoodit, jotka sisältävät tarvittavat matemaattiset kaavat vääristymän kompensointiin. 3D-grafiikkaa harrastavat bittinikkarit voivat luoda itse omia virtuaalimaailmoja. Seuraan tätä kehitystä ja osallistun siihen etujoukoissa. Tuki löytyy Windowsin lisäksi Linuxille ja Macille. Vääristymän tarkoituksena on keskittää enemmän pikseleitä kuvan keskialueelle. Toistaiseksi ei ole kehitetty täysimittaista, suuren budjetin tai korkealentoisen konseptin immersiivistä kokemusta.Tarjolla on lähinnä puolihuolimattomasti tehtyjä konversioita vanhoista 3D-peleistä tai yksinkertaisia esimerkkiohjelmia laitteiden potentiaalista. Millaisia olisivat virtuaalimaailmassa koetut elämykset esimerkiksi demotaiteen parissa. Valve on ilmoittanut tämän olevan vielä keskeneräinen beta, ja Team Fortress 2:ssa tuen pitäisi olla valmiimpi. Miltä tuntuisi eläytyä elämään neliraajahalvaantuneena sänkypotilaana, joka pystyy kommunikoimaan vain päänsä liikkeillä. Uskon sen olevan merkittävin askel pitkään aikaan videopelien ja muiden immersiivisten kokemusten kehityksessä kohti yhä kunnianhimoisempia ja uskaliaampia suuntia. Katseen suuntaa ja hahmon liikesuuntaa ei ole erotettu toisistaan, joten kävellessä ei voi katsella ympärilleen
Teknisen virtuaalitodellisuuden historia voidaan aloittaa 1800-luvun stereoskoopeista eli stereokuvien katsomiseen tarkoitetuista kakkuloista. Kapeat, 30-50 asteen näkökentät puolestaan loivat illuusion ennemminkin pimeässä huoneessa leijuvasta näytöstä kuin joka suunnalta ympäröivästä keinotodellisuudesta. Laitteessa istuvalle henkilölle esitettiin filmiltä laajakulmaista, värillistä stereoelokuvaa stereoäänillä, ja lisäksi hänelle tuotettiin liike-, tuntoja hajuaistimuksia. Tässä juppilelussa oli jo liikesensorit ja kuva oli värillinen, mutta näkökenttää oli vaivaiset 45 astetta. Cyberfacen kuva oli mustavalkoinen, mutta se tarjosi peräti 145 asteen näkökentän. 1980-luvulla tekniikka ei enää vaatinut miljoonien dollarien laskentarautaa, ja ensimmäiset graafisin työasemiin tarkoitetut järjestelmät pääsivät tällöin prototyyppiasteelle. Liiketunnistukseen ja latenssin minimointiin ei panostettu riittävästi, mikä aiheutti käyttäjille päänsärkyä. Vasta tulevat vuodet kuitenkin näyttävät, riittääkö tämä lumetodellisuuden läpilyöntiin, vai saammeko kenties odottaa vielä vuosikymmenen jos toisenkin.. Stereovalokuvauksesta tuli 1850-luvulla oikea buumi, ja stereoskooppeja myytiin satojatuhansia. Näytöt edustivat lisättyä todellisuutta, jossa tietokonedataa heijastettiin osaksi lentäjän näkökenttää. 6 2013.3 Jokohan tällä vuosikymmenellä. Erikoisaloille tarkoitetut järjestelmät olivat kuitenkin aivan liian kalliita sohvankuluttajalle. Kypärän kuvan tuotti toisessa huoneessa ollut kamera, jota moottorit pyörittivät käyttäjän pään liikkeiden mukaan. Jopa käsitys fyysisen todellisuuden "virtuaalisuudesta" oli olemassa jo varhaisessa buddhalaisessa filosofiassa. Laite jäi kuitenkin kuriositeetiksi, sillä keksijä Morton Heilig ei saanut rahoitettua laajempaa tuotantoa. Näitä olivat Eric Howlettin Cyberface ja VPL Researchin EyePhone. Vuosituhat vaihtui, mutta eri valmistajat jatkoivat samojen perusvirheiden tekemistä. Samantapaisen kypärän yhdisti tietokonegrafiikkaan vuonna 1968 amerikkalaistutkija Ivan Sutherland, jonka järjestelmä esitti käyttäjälle muutamasta viivasta koostunutta huonenäkymää. Kuva tuotettiin punaisilla lediriveillä ja pyörivillä peileillä. Stereoskoopit ovat monelle lapsuudesta tuttuja. Kypäränäyttöjä alettiin 70-luvulla kokeilla sotilastekniikassa. TV-valmistaja Philco rakensi vuonna 1961 ensimmäisen kypäränäytön, joka mahdollisti todentuntuisen etäläsnäolon. Vaikkei kuusiirtokuntia ja ajatusohjauspantoja saataisikaan vielä lähivuosina, niin saataisiinko edes ne toimivat virtuaalikypärät. Kuluttajatason virtuaalitodellisuuden pettymyksentäyteinen historia alkoi vuonna 1995, kun Nintendon Virtual Boy -konsoli tuli markkinoille. Myös sata vuotta myöhemmin muotiin tulleiden "3D"-elokuvien käyttämä sinipuna-anaglyfia keksittiin 1850-luvulla. Ensimmäiset kaupalliset virtuaalisilmikot tulivat markkinoille 1989. Virtuaalitodellisuus-käsitteen vakiinnutti Jaron Lanier, joka perusti VPL Research -yhtiön vuonna 1985. Ensimmäiset viihdekäyttöön myydyt virtuaalisilmikot eivät olleet juuri stereoskooppeja kummempia.. Hieman enemmän yritystä oli seuraavana vuonna myyntiin tulleessa Forte VFX1:ssä, joka kytkettiin PC:hen ja maksoi hulppeat 1500 dollaria. Niitäkin kun on kehitetty ja odotettu jo aika pitkään. Teksti: Ville-Matias Heikkilä Kuvat: Wikimedia Commons -käyttäjät Evan-Amos, ThePassenger E rilaisia lumetodellisuuksia on esiintynyt ihmisten kuvitelmissa jo ammoisista ajoista alkaen, eikä ihme — onhan esimerkiksi unia nähty jo miljoonia vuosia. Oculus Riftiä lienee suitsutettu etenkin siksi, että riittävän halvalla valmistettu laite on kerrankin onnistunut välttämään yleiset sudenkuopat. Vuonna 1961 rakennettu Sensorama oli kunniahimoinen varhainen lumetodellisuuskokeilu. Laite rakennettiin mahdollisimman halvalla, eikä sinä ollut esimerkiksi minkäänlaista liikkeentunnistusta
7 Maista uusi Kapsi! * * Ei juotavaksi. Tarkempi sisällysluettelo www.kapsi.fi
Maailmalla pelimusiikkikeikkoja on nähty enemmänkin, Suomessa 25-päisen orkesterin ja kuoron esittämät rakkaat teemat ovat aika harvinaista herkkua. Assyjen lauantain kärkiohjelmanumeron paikan vei ensimmäistä kertaa ikinä peli. Perjantaina Kepes Mode onnistui tekemään erittäin vaisun vaikutuksen yleisöön. Ei kiinnostanut, ja sanon nytkin, mistä tykkään. Tuimia nuotteja Jo torstaina kolisi ja kovaa. Jälkikäteen irc-kanavan logeja lukeneelle kävi selväksi, että keskimääräinen assykävijä ei erityisemmin kaivannut räppiä saliin. Jälkimmäisen puolen sovitusta odotellessa. Vähintään soodan metronäyttödemo next train takes no passengers tulee katsoa. Real Wildin kolme parasta vetosivat, vaan niin aina. Hyvä jos edes katsoa, tälläinen likainen skenen ulkopuolinen epänörtti. Huhhuh, että se pianolla soolotulkittu Giana Sistersin intromusa oli kova. Tosin eivät kyllä minulle. Kebu jäi välistä, se harmittaa jälkikäteen suuresti. Teksti: Tapio Berschewsky, Ronja Koistinen, Toni Kuokkanen Kuvat: Aleksi Kinnunen, Santtu Pajukanta Assembly 2013 Multimediaa mahan täydeltä! Kulttuuri. Ei voisi itse asiassa vähempää kiinnostaa peliurheilu, tai ylipäätään muiden lanittamisen katselu. Moniääninen festariartikkelimme kertoo, millaista oli olla ensimmäistä kertaa uuden median edustajana oman alan tapahtumassa. En tajua sitä, mutta se on oma ongelmani. Kiire vaan oli. Kilotavun raytracer sai supistajalihaksen tutisemaan innosta. Takana on kymmenen vuotta juoksemista toisen median leivissä, nyt sai ottaa aika iisisti. Rakkaus oli molemminpuolista, ja näillä näkymin mikään ei pysäytä Skrollia olemasta paikalla myös ensivuonna. Ja junailinpa Jaffankin lavalle. Oli muuten aika hyvä sellainen. Painavia sanoja Vip-vieraana oli tällä kertaa hacktivisti Cory Doctorow. Älkää jättäkö siihen, sillä molemmissa kokoluokissa oli paljon hyvää nähtävää. Eikä se muutenkaan haittaa, sillä Assyt on vähemmän peliorientoituneellekin vieraalle täynnä viihdettä. Pöytävuorot jäivät pitkälti hoitamatta, onneksi muu tiimi paikkaili. Oldskool oli torso, lyhytanimaatiot skippasin, demot jäivät vaisuiksi. Emme halunneet editoida näitä yhteen, vaan julkaisemme kunkin osuuden omalla nimellään ja otsikollaan — kuten ne kirjoitettiinkin. Koodin taikaa Joka vuosi joku kompo on köyhä, tai useampikin. Assyilla tai muualla. Ihan hillittömän kova. Hyvän ja YouTubestakin löytyvän How to Live in a World Made of Computers -puheen jälkeen ehdin istahSkrolli osallistui Assemblyihin lähes koko toimituksen voimin. Keskityin pitkästä aikaa itse tapahtumaan. Mutta ketut siitä, itse pompin eturivissä koko keikan ajan. Pelit ovat nyt myös kesäassyjen ykkösjuttu. Finaalina tarjoiltu Second Realityn läpisoitto toimi sekin, mutta jäi kesken. 8 2013.3 A ssembly-tiimiltämme irtosi tapahtumasta useampikin henkilökohtainen tapahtumareppari. Asuksen StarCraft 2 -turnaus oli päälavalla tapahtuman paraatipaikalla lauantai-illassa — juuri siihen aikaan, jolloin demokompot ennen alkoivat. Nelikiloiset Highway 4K ja YogSothoth olivat Assyjen screenin parhaat minuutit. Käsittelyn saivat niin klassikot vuosien takaa kuin uudemmat suosikit Bubble Bobblesta Baldurs Gateen, Boulder Dashista Haloon. Nuori koodaaja väitti joskus kivenkovaan, että introja ei saa arvostella jos ei osaa ite. Olen pelaaja, mutta käyn Assyilla katsomassa demoja ja moikkaamassa kavereita. Kiitokset hyvistä juhlista kaikille osallistujille! Kaukana skeneltä Teksti: Tapio Berschewsky N yt se on sitten virallista. Super Sound of Video Games hoiti homman kotiin kunnialla. Muut pelilaitteet saimme lainaksi keräilijäyhteisö Pelikonepeijooneilta. Metronäyttömatopelin ständillämme tarjosi yleisölle Helsingin Hacklabin Konsta "sooda" Hölttä
Muistan vieläkin PC:n 64k-kompon voittaneen Mewlersin Viagra-nimisen intron tapahtuman kohokohtana. Sittemmin olen käynyt Assemblyilla ainakin 2003, 2004 ja 2010. Demomaailman paras resurssi Pouet auttaa etsijän eteenpäin. 1995 mieleen jäi musakomposta Skavenin Catch That Goblin, joka kirvoitti yleisöstä melkoiset aplodit. Joka kerta kun näet tietokoneita koskevaa uutta lainsäädäntöä, kysy itseltäsi, hyväksyisitkö tämän lain koskemaan jokaista pienintäkin tekoa elämässäsi. Edellisellä visiitillä konepaikoilla soi tauotta Josh Winkin Higher State of Consciousness, eivätkä volyymit varmastikaan olleet EU-normien mukaisia. Lähelle ydintä Teksti: Ronja Koistinen O len käynyt Assemblyilla ensi kertaa 1999, jolloin fiilikset olivat vähintäänkin epätodelliset. Demoskene ja tuttujen tapaaminen ovat aina olleet omat syyni tulla paikalle. Myöskään kolajuomaövereille ei ollut tarvetta. Enää ei käydä desibelikisoja, mikä on kyllä ihan hyvä. Super Sound of Video Games esitti upeaa pelimusiikkia klassisella orkesterilla ja kuorolla. Pelaajien määrä oli melkoinen, mutta hiljaisuus yllätti. Kyllä journalismi avartaa! Kunniavieras hacktivisti Cory Doctorow piti Assyjen kaikkien aikojen poliittisimman esityksen päälavalla. Hienoisena parannuksena 90-lukuun huomasin, että ES:n nenäänpistävä käry peittää tehokkaasti alleen kolmen päivän ajan marinoituneen eau d'Assemblyn. Tunnelma oli edelleen tallella, vaikka muutoksia on tapahtunut. Olin tällä kertaa paikalla vain yhden päivän, joten Areenan nukkumatilat eivät tulleet tutuiksi. Tästähän voisi vaikka tulla tapa. 9 tamaan Coryn kanssa hetkeksi kahden kesken. Muista myös, että Assemblyt ovat vain se näkyvin Suomen tapahtuma. Kompoista en kerinnyt seuraamaan kuin grafiikan ja jokusen musakompon, joissa taso tuntui vaihtelevan reippaasti, kuten viime kerrallakin. Jos et hyväksy, pyri muuttamaan lakia." 18 vuoden välein Teksti: Toni Kuokkanen K ävin Assyilla ensimmäisen kerran 1995, ja nyt 18 vuotta myöhemmin olin siellä taas. Tänä vuonna fiilis oli ihan erilainen, kun olin paikalla Skrollin kanssa. Skrollin ständillä oli kiva tunnelma, ja kävijöitä tuntui kiinnostavan pieni lehtemme. Ständillä oleskellessa ehti jutella compoista tuttujen nimien kanssa. Peltoreita ei tarvita. Tällä kertaa suosikkia ei muodostunut. Harvassa lienevät festarit, joilla on yli 3000 kävijää ja näin rauhallista. Tuhansien kirkkaiden näyttöjen keskellä vanha dataaja tunsi olonsa etupäässä kotoisaksi. Syvempää skenetuntemusta ja lukemattomia upeita demoja: http://pouet.net Assyproduktiot 20 vuoden ajalta: http://archive.assembly.org HBC:lta on odotettu reaaliaikaista teosta ja nyt saatiin kaksi. Tuntui siltä, että pääsin tekemään lähempää tuttavuutta suomalaiseen skeneen ikään kuin takaoven kautta, leppoisalla metatasolla. Dataporukka on selkeästi sivistynyttä väkeä. Skrolli ei julkaise kovin lyhyeksi jäänyttä haastattelua, sillä itse puhe tyhjensi jo pankin. Katso se YouTubesta. Coryn terveiset lukijoille tosin välitämme: "Koko maailma rakentuu tietokoneista ja kaikki inhimillinen toiminta tehdään niiden avulla. Nelikiloiset voitti kaunis 4K Highway.. Parhaat produt ja ohjelmat Älä tyydy lukemaan, vaan katso itse parhaat Assy-produt tapahtuman hyvästä arkistopalvelusta Assembly Archive. Olin 14-vuotias enkä saanut vanhemmilta vielä lupaa yöpyä tapahtumapaikalla. 64 kilon intro oli älyttömän siisti asia. Tapahtuma on selkeästi sivistynyt, eikä järjestyshäiriöitä juurikaan näy, vaikka ei mitään isompaa muistaakseni edelliselläkään kerralla ollut. Sukella siis syvemmälle skeneen. Näytin koulun alettua sitä tietokoneluokassa kavereille, jotka jostain syystä eivät olleet yhtä vaikuttuneita. En ole ikinä ollut etevä ohjelmoija, joten kosketus skeneen on ollut aika etäistä ja hankalaa. Kaunista ja päätä räjäyttävää materiaalia julkaistaan ympäri vuotta moninaisilla demopartyilla pitkin maailmaa ja Suomessakin partyja on useampia
He tarkkailevat missä kunnossa aikuisviihteelle vaihtaneet kävelevät takaisin kohti Areenaa. Niin kuin kaikissa isoissa tapahtumissa, siellä täällä vilahtelee jointteja. Psykedeelit ja stimulantit ovat läsnä, vaikka marginaalin asemassa. Viinapiru kaataa osan nukkumaan, ja osa siirtyy viettämään iltaa muualla. Yön mittaan väki vaihtuu tiuhasti. Vähän sivummassa eivät edes häiritse niitä muutamaa ahdistuneempaa boozekävijää, joille kukka on murhaa. Tuttuja moikkaillaan, ja molemmin puolin tiedetään mistä on kyse. Nuubit uskoo. 10 2013.3 HUOM! Seuraava teksti saapui anonyymistä sähköpostiosoitteesta Skrollin toimitukselle. Tutun tai tuntemattoman kotikasvattama kukka tuoksuu, suuren tekniikkayrityksen lahjoittama kalja maistuu, ja tunnelma on katossa. Se kertoo vain siitä, miten hyvin demoskene ja sen hengaajat hoitavat hommansa. Skrolli ei kannata päihtymistä tai lain rikkomista, ja esitetyt näkemykset ovat kirjoittajan omia. Joka vuosi Boozet on peruttu, tai siirretty, tai jotain. Boozemblyllä ei virallisesti ole järjestäjiä. Teksti: Nano Muumi H artwall Areenan anniskelutilat ovat kiinni, eikä tuoppia saa vaikka sinnikkäästi anelisi. Jotkut siirtyvät takaisin Assyille, ja joitakin kiinnostaa Hashemblyn puoli. Julkaisemme tekstin lyhentämättömänä. Assyt ovat päihteettömät periaatteella "älä kysy, älä kerro". Suurimmalla osalla juoma kädessä ja joitain takana, osa tukevassakin humalassa. Tässä katsotaan, että riehujat ja hoipertelijat päätyvät toiseen osoitteeseen. Kirjoittaja luovutti tekstin julkaistavaksi täysin oikeuksin. Boozemblyt on peruttu Sanovat Assemblya päihteettömäksi tapahtumaksi. Ovella valvotaan, etteivät vieraat kanna pulloja tai lääkkeitä. Upeita syntetisaattoreitaan suvereenisti käsitellyt Kebu villitsi ihmiset perjantaina.. Humaltuneen oloisia ei päästetä sisään, ja sisältä löytyneet passitetaan ulos. Paperit suuhun Tietokonekulttuuri ei ole mikään poikkeus siitä, että ihmisten juhlintaan liittyy usein päihtyminen. Täällä päihdytään, mutta pääosin taidolla. Pinnan alla kuplii vähän vahvempiakin aineita. Energiajuomaa kovemmat mömmöt jäävät takavarikkoon. Boozet ovat siisti tapahtuma, ja ylilyöntejä ei juuri näy. Samaan aikaan reitin puolivälissä ujoimmat kulkijat seisahtuvat kittaamaan viimeisen kaljan pohjat, jotta tölkin voi jättää tarpeeksi kauas näkyviltä. Assyjen päihteettömyyden verho pysyy uskottavana, vaikka viereisessä puistossa ihmiset kiskovat päänsä täyteen yhtä sun toistakin. Passaa vasemmalle Pidemmällä, metsän puolella, musa soi ja ihmiset bilettävät. Vanhat ystävät tapaavat, monet ainoan kerran vuodessa. Joku ilmeisesti silti hakee sille joka vuosi salaa hupiluvan, sillä poliiseja ei koskaan näy paikalla. Pilvenpolttelukallion rauhallisempi porukka puhuu rennosti ja huomattavasti matalammalla volyymilla kuin isompien epävirallisten bileiden juomaveikot. Jos joku sattuukin vetämään pleksit, ja pyrkii takaisin Assyille, järkkärit ohjaavat sekoajan kohti Pasilan asemaa. Pienen piirin omasta kivasta ei juurikaan näe jälkeä, jos ei osaa katsoa oikein. Iltaisin järjestyksenvalvojat parveilevat Boozembly-reitin päässä. Ilman keskivertokävijää ei Assyja olisikaan.. Reippaasti yli sata iloista päätä erilaisissa sekavuuden tasoissa ja tiloissa jakavat yhteistä kesäyötä. Pieniä sieviä nauttineet tai siltä näyttävät pääsevät takaisin sisään, läpi seulasta. Irkissä muistetaan jekuttaa nuorempia. Hyvä niin — tapahtuman puhdas maine on se, minkä takia vanhemmat uskaltavat päästää lapsensa paikan päälle valvomatta. Alue myös siivotaan huolellisesti joka ikinen vuosi
Kouri robotin aivoja rohkeasti Mitä useampi ihminen osaa ja uskaltaa kurkistaa maailmaa kansoittavien koneiden pinnan alle, sitä vähemmän meidän tarvitsee tulevaisuudessa naamakämmentää kaikkia koskevien tietojärjestelmien uudistuksille. Siihen nähden on yllättävää, että peruskoulun opetusohjelmaan kuuluviin pakollisiin, yleissivistäviksi katsottaviin oppiaiheisiin ei kuulu tietojenkäsittelyn ymmärryksen perusteita. Niiden opettaminen on nykypäivänä vähintään yhtä tärkeää kuin vaikkapa ruotsin kielen, tuon ikuisen kiistakapulan. Ei kaikista tule isona koodereita ja haksoreita. Koululaitoksen tehtävä on koulia lapsista pärjääviä kansalaisia. Minkä tahansa hupikäytettävän hilavitkuttimen saumaton hallinta uppoaa tenavien selkäytimeen paljon omaani nopeammin. Siihen kuuluvat käyttöliittymän perushallinta, tekstinkäsittely ja taulukkolaskenta, tietokantapalvelut, piirto-ohjelma sekä sähköpostin ja hakukoneen käyttö. 2000-luvun kansalaistaidot Tietokonekulttuurista puhuminen on sikäli hupaisaa, että termi kattaa joka päivä suuremman osan kaikkea inhimillistä kokemusta. Ilman näitä taitoja on maailmassa jo nyt surkeaa navigoida, saatika nykylasten aikuisuudessa. Viikonlopun kuikuilun perusteella suurin osa assykävijöistä oli pääasiassa ottamassa osaa isoille laneille. Valtiolla olisi erittäin pätevä syy haluta niin ikään taata tulevaisuuden yhteiskunnalle reippaat rivit tietoteknisten palveluiden älykkäitä, kykeneviä tuottajia. Kuin pyy maailmanlopun edellä Areenan asukkien keskimääräinen koko oli kymmenessä vuodessa pienentynyt. Seitsenvuotiaat siskonpoikani rakentavat Minecraftiin uskomattoman eeppisiä todellisuuksia. Seurataan esimerkkiä!. Visiitti oli minulle ensimmäinen sitten 2000-luvun alun. Etumatkaksi ei riitä elämänmittainen altistus nappien rytmikkäälle painelulle. Peruskoulun on syytä avata lapsille konepellin kansi. 11 O sallistuimme Skrollin kanssa Assemblyille. Kiinnostaako haksorointi, naposteleeko koodaus. Ei kaikista tule matemaatikoitakaan, mutta matematiikan perusopetuksen tärkeys on täysin yleisymmärrettävä seikka. Jokainen ipana ansaitsee saada hyvät matkaeväät kasvaa tietokonekulttuurin saralla enemmän kuin kuluttajaksi. Skrollin flaikkuja nuorten näppiksille jakaessa mietin, moniko mahtaa olla kiinnostunut siitä, mitä pelialustan pinnan alla tapahtuu. Pureeko itsetekemisen promoaminen kymppiluvun nuorisoon. Löydän itseni tivaamasta rakennuspiirrosten patentinhaltijan nimeä ja vaatimasta taidonnäytteiden toistoa valvotuissa olosuhteissa. Seitsemänvuotias minä istui 80-luvulla espoolaisessa lähiökodissa seikkailemassa pelimaailmoissa itsekseen. Tietokoneista on ihmisten maailma tehty, ja niillä sitä pyöritetään. Koodia pennuille Ninnu Koskenalho Peruskoulussa ei opeteta ohjelmointia. Kielilaki takaa kansalaiselle oikeuden viranomaispalveluihin kummalla tahansa kotimaisella kielellä. Valtiolla on velvollisuus taata oikeuden toteutuminen kouluttamalla ruotsin kielen osaajia. Tätä kai tarkoitetaan diginatiiveilla. Vaan kuinka ihmeessä tietojärjestelmien toimintalogiikka ja ohjelmoinnin perusteet eivät ole listalla. Toinen kotimainen kieli on jokaiselle suomalaiselle kielilain nojalla pakollinen opiskeltava. Pihan pojista ei tyttöbakteereja pelkäävinä ollut pelikavereiksi, eivätkä tytöt vielä kasarilla ymmärtäneet hauskan päälle. 2010-luvulla kaikki pelaavat. Jälleennäkeminen herätti ajatuksia suomalaisesta dataipanaskenestä ja tietotekniikan käyttötavoista. Olin tuolloin rampannut tapahtumassa vuodesta -94 tarkkaillen sen hidasta muodonmuutosta yhdessä tietotekniikan viihdekäytön yleistymisen kanssa. Kolumnit ” Virossa ohjelmointia opetetaan 7-vuotiaille.. Tietoteknistyvän mediayhteiskunnan tärkeimpiä kansalaistaitoja ovat medialukutaito ja tietotekninen ymmärrys. Mikä siis olisikaan sopivampaa, kuin että tietokonekulttuurin keskelle syntynyt sukupolvi jo nuorella iällä kansoittaa sen omia tapahtumia. Tietotekniikan kielen puutteellinen ymmärrys on aukko yleissivistyksessä. Kumpikin vaatii kyseenalaistamista, asioiden osiin purkamista ja uudelleen kasaamista. Matemaattisten aineiden opettajien liitto MAOL ry:n julkaisu “Mitä peruskoulunsa päättävän oppilaan tulisi tietää tietotekniikasta” listaa tavoitellun yhteisen taitopohjan. Virossa alettiin viime vuonna opettaa ohjelmoinnin perusteita kaikille koululaisille 7-vuotiaasta alkaen
Hakkeroi. Osallistuminen on helppoa. Hakkeroi. Tapahtumaan myytävä "peruslippu" on nimeltään volunteer ticket, eli kaikkien toivotaan kantavan kortensa kekoon. Tämän vuoden näkyvin teema olivat tietovuodot. Yksi alue oli kokonaan omistettu retropeleille. Rakenna. Tänä vuonna hän hoiti oman esityksensä videopuhelun avulla Ecuadorin Lontoon suurlähetystöstä käsin. Puhujien joukossa oli monia nimekkäitä tietovuotajia Yhdysvalloista ja Isosta-Britanniasta, jotka kertoivat omista kokemuksistaan vuotajina olemisesta. Hakkerin paratiisi OHM2013 -tapahtumassa nörttikulttuuri tuli esiin mitä moninaisimmin tavoin. Verkkoyhteydet hoituivat datavessojen (Datenklo) avulla. Keskieurooppalaiset hakkerileirit ovat erikoisia tapahtumia. Myös monet erilaiset tietoturva-aiheet olivat esillä. Hakkerileirillä näiden lisäksi pitää olla tietysti myös sähköä ja internet-yhteys. Tietovuotoaiheiden lisäksi nelipäiväisessä tapahtumassa oli esityksiä muun muassa politiikasta ja erilaisten laitteiden tekemisestä. Tänä vuonna tapahtuman nimi oli "Observe. Havainnoi. Tapahtuman esitykset oli myös jaettu näihin kolmeen teemaan. Tämäkään kuvaus ei täysin onnistu kertomaan, mistä oikeastaan on kyse. Rakenna. Hack. Leirin ehdottomasti kuuluisin puhuja, Julian Assange, oli vielä neljä vuotta sitten paikan päällä esiintymässä. Pääjärjestäjien lisäksi leirillä tarvitaan paljon vapaaehtoisia. Bajamajoista oli tehty yhdyspisteitä, joista jokaiseen telttaan saatiin vedettyä verkkopiuha. Verkkotiimin jäsenet olivat vetäneet kilometrikaupalla valokaapelia ympäri leirintäaluetta, jotta jokaisella olisi pääsy nettiin. Rokkifestareilla perusinfrastruktuuri, kuten vessat ja suihkut, tuottavat työtä järjestäjille. Orvillecopterin tekijät esittelivät myös isompaa aikaansaannostaan strutsikopteria. Valtava urakka järjestetään täysin vapaaehtoisvoimin. Neljän vuoden välein järjestettävät tapahtumat keräävät osallistujia ympäri maailmaa. Edward Snowden mainittiin monessa esityksessä. Make." Havainnoi. OHM2013 on ikäänkuin rokkifestivaali, jossa musiikki on korvattu konferenssiesityksillä. Leirialuetta kierrellessä voi nähdä Teslakäämejä, erilaisia lennokkeja, kaikenlaisia elektroniikkaprojekteja, tiirikointia, radioamatöörilaitteistoa, 3d-printtereitä, laserleikkureita ja paljon, paljon muuta. Tällaisen valtavan kokonaisuuden pystyttäminen vaatii paljon resursseja. Pelialueella pääsi palaamaan omaan (ja myös vanhempiensa) nuoruuteen vanhojen flippereiden ja kolikkopelien parissa. 12 2013.3 Kulttuuri H ollannissa on järjestetty isoja kansainvälisiä hakkerikonferensseja vuodesta 1989. OHM2013 järjestettiin Alankomaissa Oudkarspelissa Alkmaarin lähellä. Nimekkäin esitelty projekti oli Orvillecopter — rakkaasta lemmikkikissasta tehty nelikopteri. Pari piuhaa ristissä Vertaaminen rokkifestariin on ainakin puitteiden puolesta vähättelyä. Loppuunmyytyyn tapahtumaan osallistui 3000 ihmistä ympäri maailmaa. Teksti: Rauli Puuperä Kuvat: Miikka Saukko Wikileaksin nimekäs pääjehu Julian Assange piti puheen OHMeilla, tosin etänä Ecuadorista.
Jos tietokoneen käyttö on vain pelaamista, siitä jää paljon uupumaan. Vähä-Sipilän mielestä leirien esitykset ovat laadukkaita. Paikalla oli vajaa parikymmentä suomalaista. Jos nyt hakkeritapahtumassa ylipäätään uskaltaa siirtää tietoa langattomasti. Kaikki esitykset arvioidaan etukäteen riittävän hyviksi, eikä mätiä mahdu mukaan. Ihmiset olivat organisoituneet erilaisiksi "kyliksi". Nauhoitettuja esityksiä pääsee katsomaan osoitteesta http://wipkip.nikhef.nl/events/OHM/video/ OHMeilla oli nettikuuluisuutta jos jonkinlaista, kuten Orvillecopter. Osa kylistä oli todella panostanut äänentoistoon ja valoilotteluihin. Vähä-Sipilän mielestä OHM2013-tapahtuman kaltaista hakkerileiriä kannattaa ehdottomasti kokeilla ainakin kerran. Merkkasin OHM2013:n kalenteriin heti, kun siitä tuli tieto, ja ostin liput ensimmäisenä päivänä". Rakkautta vai häväistys. Suurin osa suomalaisista toimi tietoturva-alalla. Perheloma hakkerileirillä varmasti avartaa nuorten käsityksiä siitä, mitä kaikkea maailmassa ylipäätään voi tehdä ja saada aikaiseksi. Kiistellyssä projektissa rakas vanha lemmikki on kuoleman jälkeen muutettu nelikopteriksi. Kylä voi muodostua kansalaisuuden, aatteen, ohjelman, jonkun hackerspacen tai kaveriporukan ympärille. Neljään rakennustelineistä koottuun torniin oli viritetty useita valoja, discopalloja ja liekinheitin. Myös saksalainen Chaos Computer Club (CCC) järjestää vastaavaa tapahtumaa neljän vuoden välein. Kylittäin kavereita Tapahtuman leirintäalue oli monen kirjavaa. Osa suomalaisista majaili Finnish Embassy Perkele -kylässä, joka suomalaisittain kuului leirin vaatimattomampiin. Jos joku semmonen tyyppi pelastetaan täysipainoisen tietokoneharrastuksen pariin — saisi vaikka kipinän tämmösen tapahtuman kautta — niin se olisi hyvä", Vähä-Sipilä veistelee. Hollantilaisen Hack42-hackerspacen kylä kuului näyttävimpiin. Vuoroin vieraissa OHM2013 ja vastaavat hakkerileirit ovat lapsiystävällisiä tapahtumia, ja perheen voi ottaa mukaan. Osallistujia oli Helsingistä, Tampereelta ja Oulusta. Niitä pitävät samat tyypit, jotka käyvät puhumassa "oikeissakin" tietoturvakonferensseissa. "Tänne kannattaa raahata semmoset tyypit, jotka on menossa Assyille vain pelaamaan. "Nämä ovat olleet hauskoja tilaisuuksia. OHMin jatkoa Hollannissa saa siis odottaa vielä neljä vuotta, mutta seuraava mahdollisuus päästä kokemaan kansainvälisen suuren hakkerileirin humua on jo 2015 Saksassa, kun seuraava Chaos Communication Camp järjestetään.. Jotkut olivat työmatkalla, toiset lomalla, mutta kaikki teltoissa yhtä lailla. 13 Jokaisessa datavessassa oli myös WLANtukiasema, ja langaton verkko toimi tänä vuonna paremmin kuin aikaisemmissa tapahtumissa. Tätä kelpasi katsella Alankomaiden hämärtyvässä yössä. Paikan päällä oli myös peräti kaksi omaa GSMverkkoa ja DECT-verkko. Lapsille on tarjolla jonkin verran järjestettyä ohjelmaa — nämä voivat esimerkiksi päästä juottamaan, jos haluavat vaikkapa opetella ledivilkkujen väkertämistä. Radiolaitteet on saatu toimiviksi, mutta joitain pieniä puutteita vielä löytyy.. Esitykset ovat kuitenkin samassa sarjassa, koska ne käyvät läpi hyväksyntäprosessin aivan kuten tavallisissakin konferensseissa. Laatu on vaihtelevaa, koska ohjelmaa on määrällisesti enemmän, ja aiheet ovat laajempia. Sähköntarvetta tyydyttämään alueelle hoidettiin useita agregaatteja. "Poliittiset keskustelut ovat tärkeitä, mutta niitä varten ei tarvitse lähteä telttaleirille", Vähä-Sipilä kommentoi. Tietovuotokeskustelu vei huomiota ihmisten jokapäiväisestä rakentelusta ja nysväämisestä, jotka ovat hänelle tärkein syy tulla paikalle. Suomalainen leirillä Vähä-Sipilä kutsuu pelaajat paikalle Tietoturvan parissa työskentelevä Antti Vähä-Sipilä on käynyt viimeisen kahdeksan vuoden ajan hakkerileireillä. Paikalla oli myös hackerspace-aktiiveja. Kylän asukkaat olivat saapuneet lentäen ja lentokoneiden matkatavaroiden painorajoitukset hankaloittivat kylän kasaamista. Elektronisen sodankäynnin kylässä nähtiin myös tämä restauroitu Vampire V2 75FL93. Vähä-Sipilän mielestä tämänvuotinen leiri oli vähän erilainen kuin aiemmat
Myös lämpötilan muuttaminen QML:stä toimii, vaikka sitä ei tässä esimerkissä tarvitakaan. Teksti: Ville Ranki Kuva: Jari Viitala QML osa 2 Yhteys C++ -maailmaan S krollin QML-kurssin kakkososassa selvitämme, kuinka helposti QML:llä tehdyn ohjelman saa tekemään yhteistyötä C++:n kanssa. Kirjoita listauksen 1 koodi tiedostoon saunacontrol.h ja listauksen 2 koodi saunacontrol.cpp. Kuvitteellisessa esimerkkitilanteessamme meillä on Arduinolla toteutettu saunavahti, joka osaa mitata saunan lämpötilaa ja käynnistää tai sammuttaa saunan. Q_PROPERTY-rivillä kerrotaan, että meillä on ominaisuus temp, sen lukumetodi, kirjoitusmetodi ja signaali, joka kertoo lämpötilan muuttuneen. Signaaleista ja sloteista voi lukea tarkemmin linkistä [1] ja ominaisuuksista linkistä [2]. Käynnistä Qt Creator ja luo uusi Qt Quick 2 -projekti. Lisäksi haluamme näyttää lämpötilahistoriaa viiden tunnin ajalta. QObject on Qt:n luokka, jonka perimällä mikä tahansa luokka saa supervoimia kuten signaalit ja slotit, ominaisuudet (properties) ja muistinhallintaa helpottavia asioita. Anna luokan nimeksi SaunaControl ja kantaluokaksi (base class) "QObject". Aloitamme luomalla uuden projektin ja siihen SaunaControl-nimisen luokan, joka toimii rajapintana QMLja C++maailmojen välillä. Arduinon juttelu sarjaportin yli on toteutettu aiemmin C++:lla, mutta nyt haluamme tehdä sille kosketusnäytöllä käytettävän käyttöliittymän. SetSaunaPower-metodia taas kutsutaan QML-koodista, kun käyttäjä painaa painiketta. 14 2013.3 QML-käyttöliittymien tekoon tutustuttiin Skrollin ykkösnumerossa. Delegate-ominaisuudeksi taas asetetaan QML-elementti, joka Koodaus. Luokassa on rakentaja, metodi näytetyn lämpötilan asettamiseksi ja palauttamiseksi, signaali joka kertoo lämpötilan muuttuneen sekä slotti saunan virran kytkemiseksi päälle tai pois. Merkkijonolista asetetaan "tempHistory"nimiseen kontekstin ominaisuuteen, jolloin se näkyy globaalisti QML-puolella. Nyt teemme liittymän C++-ohjelmalle. Tietomalli asetetaan ListView’n model-ominaisuudeksi. Sen toteutus emittoi signaalin tempChanged(), jonka avulla QML-puoli (ja mahdolliset muut tätä signaalia kuuntelevat) tajuavat päivittää arvon. Perinteisesti ohjelmointikielten välinen tiedonvälitys on työlästä, mutta QML:n ja C++:n tapauksessa tarvittavan liimakoodin määrä jää hyvin pieneksi. cpp:stä. #ifndef SAUNACONTROL_H #define SAUNACONTROL_H #include <QObject> class SaunaControl : public QObject { Q_OBJECT Q_PROPERTY(int temp READ temp WRITE setTemp NOTIFY tempChanged) public: explicit SaunaControl(); void setTemp(int newTemp); int temp(); signals: void tempChanged(); public slots: void setSaunaPower(bool power); private: int temperature; }; #endif // SAUNACONTROL_H Listaus 1: saunacontrol.h #include "saunacontrol.h" #include <QDebug> SaunaControl::SaunaControl() : QObject(), temperature(0) {} void SaunaControl::setTemp(int newTemp) { temperature = newTemp; emit tempChanged(); } int SaunaControl::temp() { return temperature; } void SaunaControl::setSaunaPower(bool power) { qDebug() << Q_FUNC_INFO << power; } Listaus 2: saunacontrol.cpp SaunaControl toimii tiedonvälittäjänä C++ja QML-ohjelmien välillä. SetTemp-metodia kutsutaan main. Tarkastellaan main.cpp:tä. Tässä esimerkissä se tulostaa saamansa parametrin. Klikkaa projektia oikealla napilla ja valitse "Add New", "C++ Class". Sen alussa luodaan lämpötilahistoriaa kuvaava tempHistoryData-niminen merkkijonolista, johon laitetaan muutama kiinteä arvo. Kirjoita listaus 3:n sisältö Qt Creatorin luomaan main.qml-tiedostoon ja listaus 4:n sisältö main.cpp-tiedostoon. Tämän ominaisuusmäärityksen avulla lämpötilamuuttujaan päästään käsiksi QML-puolelta suoraan. Tiedoston main.qml loppupuolella on ListView-olio, joka osaa näyttää tietomallin
Lopuksi asetetaan vielä lämpötila arvoon 64 astetta. "salmon" : "steelblue" radius: 30 width: parent.width height: parent.height/3 anchors.bottom: parent.bottom Text { anchors.centerIn: parent text: powerButton.saunaPower . Yksi, ei ehkä niin siisti tapa on suorat funktiokutsut. Lisää aiheesta voit lukea linkistä [3].. 15 luodaan jokaiselle tietomallin alkiolle, tässä tapauksessa siis lämpötila-arvolle. Nyt SaunaControl:n slotteja voidaan kutsua ja sen temp-ominaisuus voidaan lukea ja kirjoittaa QML-koodista. Tässä esimerkissä käytettiin yksinkertaisuuden vuoksi valmista merkkijonolistaa, mutta delegaatit pystyvät käyttämään myös mitä tahansa sopivasti tehtyä QObjectista perittyä luokkaa. Esimerkiksi lämpötilan asetuksen olisi voinut tehdä myös tekemällä QMLpuolelle JavaScript-funktio, jota kutsuttaisiin C++-puolelta QMetaObject::invoke Method()-metodilla. Main.qml:n alussa oleva Text-elementti näyttää isolla näkyvän tämän hetkisen lämpötilan. Qt tarjoaa esiteltyjen lisäksi myös muita tapoja välittää tietoa C++:n ja QML:n välillä. Lämpöhistorian jälkeen main.cpp:ssä luodaan SaunaControl-instanssi ja asetetaan se juurikontekstille nimellä "saunaControl". Siinä viitataan suoraan SaunaControl:n tempominaisuuteen. Huomaa MouseAreaelementin onClicked-käsittelijä, joka kutsuu saunaControl:n setSaunaPower()-metodia aiheuttaen tulostuksen C++puolella. "Sammuta sauna" : "Käynnistä sauna" } MouseArea { anchors.fill: parent onClicked: { powerButton.saunaPower = !powerButton.saunaPower saunaControl.setSaunaPower(powerButton.saunaPower) } } } ListView { width: parent.width/8; height: parent.height model: tempHistory delegate: Item { height: 25 width: parent.width Rectangle { color: "red" opacity: parseInt(modelData)/100 anchors.fill: parent } Text { text: modelData + "°C"; anchors.centerIn: parent } } } } #include <QtGui/QGuiApplication> #include <QQmlContext> #include "qtquick2applicationviewer.h" #include "saunacontrol.h" int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QtQuick2ApplicationViewer viewer; QStringList tempHistoryData; tempHistoryData << "30" << "42" << "50" << "66" << "75"; viewer.rootContext()->setContextProperty("tempHistory", QVariant::fromValue(tempHistoryData)); SaunaControl saunaControl; viewer.rootContext()->setContextProperty("saunaControl", &saunaControl); viewer.setMainQmlFile( QStringLiteral("qml/skrolli-sauna/main.qml")); viewer.showExpanded(); saunaControl.setTemp(64); return app.exec(); } Linkit: [1] http://qt-project.org/doc/qt-5.0/qtcore/signalsandslots.html [2] http://qt-project.org/doc/qt-5.0/qtcore/properties.html#qt-s-property-system [3] http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration-interactqmlfromcpp.html Listaus 3: main.qml Listaus 4: main.cpp Kuvakaappaus esimerkkisovelluksesta.. Delegaattien avulla saadaan esimerkiksi räiskintäpelissä kuvattua pelihahmot C++-olioina, joiden ominaisuudet päivittyvät itsestään QML-puolelle piirtoa varten. import QtQuick 2.0 Rectangle { width: 500 height: 500 Text { text: saunaControl.temp + "°C" font.pixelSize: parent.height/3 anchors.centerIn: parent } Rectangle { id: powerButton property bool saunaPower: false color: saunaPower . Ominaisuuksia ei näin tarvitse päivitellä käsin pelin pääsilmukasta. Kyseinen arvo näkyy delegaatin modelData-ominaisuutena. Tämäkin on yllättävän helppoa, riittää että oma luokka perii QtQuickItem:n ja rekisteröidään qmlRegisterType()metodilla näkymään QMLpuolella. Toinen ihan hyvä toteutustapa olisi ollut luoda oma QML-elementtityyppi jonka toteutus on C++:aa. Sauna kytketään päälle tai pois main.qml:n powerButtonnapilla
pulse encoder). 16 2013.3 M ikrokontrollerilla voi tehdä paljon muutakin kuin vilkuttaa ledejä tai tehdä saunamittareita. Myötäpäivään pyörittämällä liikutaan valikon tasolla eteenpäin ja vastapäivään taaksepäin. Valitsimen avulla liikutaan LCD-näytön piirtämän, kaksi tekstiriviä kattavan käyttöliittymän valikossa. Sillä voidaan lähettää nuotteja tai kontrollisignaalia. Alustaan on liitetty pyöritettävä valitsin (eng. Esiteltyä ideaa voi kuitenkin soveltaa kaikenlaisiin projekteihin, joissa mikrokontrollerin toimintaa halutaan voida muuttaa lataamatta uutta koodia vanhan päälle. Teksti: Annika Piiroinen Projektin idea ja toteutus: Risto Mäki-Petäys Kuvat: Risto Mäki-Petäys Mikä MIDI. Käyttöliittymän avulla elektronisen musiikin tuottaja saa paremman otteen sellaisista laitteista, joihin ei ole valmista käyttöliittymää tai joiden nykyinen käyttöliittymä on kömpelö ja hidas. Kaikki laitteet saavat kaikki viestit, mutta ne voivat kuunnella vain yhtä kanavaa tai mielivaltaista määrää kanavia kerrallaan. Rauta. Tämä artikkeli on suunnattu niille, joilla on jo kokemusta Arduinolle ohjelmoimisesta, mutta tahtovat tehdä sille jonkin laajemman projektin. Painamalla valitsinta siirrytään alarivin osoittamaan alavalikkoon tai palataan Arduino hallintaan Muokattava käyttöliittymä mikrokontrollerille Säädä arduinosi toimintaa ilman tietokonetta kätevällä käyttöliittymällä. MIDI:ssä on kuusitoista kanavaa per portti, ja laitteet voidaan kytkeä sarjaan, jolloin yksi MIDI-ohjain voi ohjata kaikkia näistä laitteista. Nappulat, jotka nyt säätelevät joitain tiettyjä arvoja, voidaankin asettaa säätelemään aivan toisia arvoja — vaikka kokonaan eri laitetta! Ääntä peliin Risto Mäki-Petäyksen suunnittelema ja toteuttama ohjelmisto moduuleineen kontrolloi MIDI-syntetisaattoreita Arduino Nano -kehitysalustan avulla. rotary dial), joka on teknisestä näkökulmasta pulssianturi (eng. Lisäksi sen avulla pystyy kontrolloimaan useita eri laitteita samasta lähteestä. Niiden ei tarvitse olla vain kojeita, jotka valmistumisensa jälkeen suorittavat uskollisesti aina samaa toimintoa hamaan loppuun asti – tai kunnes niille ladataan uusi koodi. MIDI on sarjaliikenneprotokolla, jota käytetään elektronisten soitinten ohjaamiseen. Muokattava käyttöliittymä tarkoittaa sitä, että laitteen toimintaa voi ohjata käyttöliittymän kautta, mutta myös käyttöliittymän itsensä toimintaa voi muokata. Sen lisäksi siihen on kytketty LCD-näyttö ja MIDI-portit, joihin voi liittää sarjaan useampia MIDI-syntetisaattoreita. LCD-näytön ensimmäisellä rivillä lukee nykyisen valikon tason nimi, esimerkiksi "General settings", ja toisella alavalikon nimi, esimerkiksi "MIDI channel" tai "Return". Palapelin palaset Vaikka valikossa liikutaan vain yhden pyöritettävän valitsimen avulla, käyttöliittymä on erittäin helppoja nopeakäyttöinen
struct MenuCallback { void (*dec_cb)(void); void (*inc_cb)(void); void (*push_cb)(void); }; struct MenuItem { char *rows[2]; struct MenuItem *subMenu; struct MenuCallback cb; }; struct MenuCallback return_cb = { menudec, menuinc, menureturn }; struct MenuCallback enter_cb = { menudec, menuinc, menuenter }; char m_main_title[] = "Main Menu"; char m_preset_title[] = "Preset Edit"; MenuItem menuend = { { NULL }, NULL, {NULL, NULL, NULL} }; struct MenuItem m_main[] = { {{ m_main_title, m_return }, NULL, return_cb }, {{ m_main_title, m_preset_title }, m_reset, enter_cb }, {{ m_main_title, m_global_title }, m_global, enter_cb }, menuend }; Pienellä työstämisellä saa verolevylle sovitettua komponentteja, joita ei ole mitoitettu tuumarasterille. Ylempi rivi ilmaisee aktiivisen valikon, alemmalla rivillä selviää kohde, johon painikkeella valitsemalla sirrytään. Kolmas profiili voisi laittaa potentiometrit kontrolloimaan kokonaan eri laitetta, vaikkapa sampleria. Pyörittämällä voidaan muuttaa arvoa, ja painaminen palaa tasoa ylemmäs tallettaen nykyisen arvon. Siirtorekisteri muuttaa nämä kolme signaalia näytön tarvitsemaksi seitsemäksi. Valikko-objekti, joka vastaa graafisesti yhtä näytön näkymää, on toteutettu MenuItem-tietueena (eng. Näin voi tapahtua, jos valitsimelta tulee pulsseja niin nopeasti, ettei kontrolleri ehdi lukea niitä kaikkia. Taso 1 Taso 2.1 Taso 2.1 Arvo 1 Arvo 1 6 Arvo 2 5 Nimi Esiasetus X Taso 2.1 Paluu Taso 1 Taso 2.2 Taso 2.1 Arvo 2 Taso 1 Taso 2.3 Taso 2.1 Nimi. Globaali pinomuuttuja pitää kirjaa siitä, missä kohtaa valikkoa liikutaan. Nimeä muokataan valikossa siinä missä muitakin arvoja. Valikon avulla voi luoda erilaisia syntetisaattoriprofiileja. Jos halutaan ohjata yhdestä laitteesta useampaa kuin kahdeksaa eri arvoa, sille on luotava useamman sivun verran profiileja. Näytön ohjaamiseen liittyvä kirjasto pitää huolta siitä, että siirtorekisterille lähetetään oikean protokollan mukaista signaalia. Valikon alimmalla tasolla muokataan arvoja, jolloin näytön ylin rivi näyttää arvon nimen ja alempi nykyisen arvon. Näistä yksi on datasignaali ja kaksi kellosignaaleja. Mistä sitten voi nähdä, mitä arvoja potentiometrit milloinkin ohjaavat. 17 ylemmälle tasolle. Jos kontrollerin tahtoo erilleen valikkosysteemistä syöttölaitteineen, kaikkia johtoja ei tarvitse erikseen irroittaa. Eri profiilien ollessa valittuina potentiometrit ohjaavat eri laitetta tai eri arvoja laitteessa. Käyttämämme LCD-näyttö puolestaan veisi muuten vähintään seitsemän nastaa, mutta mikrokontrollerin I/Oporttien säästämiseksi Arduino lähettää siirtorekisterille vain kolmea. Nimenmuokkaustilassa valitsimen pyörittäminen ohjaa tekstirivillä liikkuvaa kursoria, ja painamalla valitsinta päästään vaihtamaan valittua merkkiä. Valikkokoodin runko on toteutettu siten, että se skaalautuu tarpeen mukaan käyttämään useampaakin kontrollia kuin pyöritettävää valitsinta, esim. Ei myöskään tarvitse opetella ulkoa, mikä esiasetus liittyy mihinkin, vaan esiasetukselle on mahdollista antaa nimi. Valitsimen oltua hetken koskemattomana näytölle piirtyy kuva, joka osoittaa potentiometrien nykyiset säätökohteet ja niiden arvon. struct) ja yksi valikon taso taulukkona tällaisia. Esimerkkiprojektissa LCDnäytön reunoja kiertää kahdeksan potentiometriä, joiden avulla MIDI-laitteita ohjataan. Syvin taso on jonkin arvon muokkaus. Näistä valikkorakenne on projektin kannalta kiinnostavin. Entä se muokattavuus. Pyörittämällä merkit Esimerkki hierarkkisen valikon rakenteesta. Kurkistus konepellin alle Koodin voi jakaa periaatteessa neljään osuuteen: valikkorakenne, näytön ohjaamiseen liittyvä kirjasto, syöttölaitteisiin liittyvät kirjastot ja MIDI-signaalin ohjaamiseen tai muuhun haluttuun toimintoon liittyvät kirjastot. Näytön ja valitsimet saa välissä olevan moduulin ansiosta näppärästi irti ja kiinni Arduinoon. Nettijatkoista löytyy moduulin rakentamisessa käytetty kytkentäja katkaisumaski, joka helpottaa verolevylle tehtäviä kytkentöjä. MenuItemillä on kolme attribuuttia, joista kaksi ensimmäistä ovat merkkijonoja, kolmas osoitin alivalikkoon ja viimeinen on funktio-osoittimista (call back) koostuva rakenne. MenuItem-tietueen funktioosoitinten määrittelyyn vain pitää lisätä attribuuttina useampi palautusfunktio, jotka vastaavat uusia näppäimiä. Yhden pyöritettävän valitsimen sijaan voisi tietenkin olla kolme painonappia, mutta pyörövalitsin mahdollistaa nopeamman liikkumisen ja arvomuutokset. Merkkijonot vastaavat näytölle piirtyviä tekstejä, ja funktiot toimintoja, jotka tapahtuvat valitsinta pyöritettäessä tai painettaessa kytkimiä. numeronäppäimistöä. siitä, että nopeasti myötäpäivään pyöritettäessä mikrokontrolleri ei luule valitsimen pyörivän hitaasti vastapäivään. Valikon yhdestä kohdasta on tehty oma structinsa. Yhden profiilin ollessa valittuna potentiometrit saattavat siis vaikkapa ohjata syntetisaattorin oskillaattoriin liittyviä arvoja ja toisessa profiilissa samat potentiometrit sen mikseriin liittyviä arvoja. Asian selvittämiseksi ei tarvitse palata tutkimaan valikoita. Valitsimeen liittyvä kirjasto tulkitsee valitsimen lähettämää kolmea signaalia ja huolehtii mm
Arduino on avoimeen laitteistoon perustuva elektroniikkaalusta ja ohjelmointiympäristö. Projektimme koodissa on kytketty päälle Arduinon sisäinen ylösvetovastus, jolloin keskimmäisen nastan sekä painonapin toisen nastan voi kytkeä maahan. Arduino-laitteita on eri malleja, joista tässä projektissa käytetty Nano on yksi pienimmistä sekä fyysisen kokonsa että esimerkiksi muistinsa puolesta. Merkkijonon editointi, kursori näkyy muokattavan merkin kohdalla, nupin kääntö muokkaa merkkiä. Modernit tietokoneet eroavat muista elektronisista laitteista eniten siinä, että niiden toimintaan voi vaikuttaa. data sheet), jonka voi löytää googlettamalla pulssianturin mallinumeroa, jos sellainen on tiedossa. Uusimmissa kontrollereissa ohjelmointi tehdään USB:n kautta tai Bluetoothin avulla. Painonapin nastat voi kytkeä kummin päin tahansa: yksi nasta maahan ja toinen Arduinon sisääntulonastaan. Liikkeen ilmaisee vastapuolella kaksi kytkintä, joiden yksi yhteinen nasta on yleensä keskimmäinen, ja vastakkaiset nastat ovat reunoilla. Arduino-laitteet perustuvat 8-bittiseen Atmel AVR -mikrokontrolleriin, ja niitä ohjelmoidaan C++:aan perustuvalla Arduinoohjelmointikielellä. rotary encoder) on erilaisia, ja ne lähettävät eri protokollien mukaisia signaaleja. Toteuttamamme koodi tukee yleisintä nelivaiheista protokollaa sekä yhtä vastaan tullutta poikkeavaa kaksivaiheista. Ylärivillä tämänhetkisen valikon nimi, alhaalla valinta. Tässä tapauksessa käytetään inkrementaalista, joka pyöritettäessä nuppia kulkee tiettyä sekvenssiä eteentai taaksepäin. Näyttö oletustilassa: ruudulla näkyy parametrien nimet ja palkkien osoittamat arvot. Sen ei tarvitse olla monimutkainen – tässäkin projektissa käytettiin vain yhtä pyöritettävää namiskaa ja kaksirivistä LCDnäyttöä. Oman pulssianturin protokollan voi saada selville datalehdestä (eng. Painonapitonta voi käyttää lisäämällä ylimääräisen painokytkimen. Pulssienkooderin voi myös kytkeä Arduinoon ja tehdä ohjelman, joka lähettää nastojen arvot sarjaporttia pitkin koneelle. 18 2013.3 viuhuvat näytöllä järjestyksessä, ja oikean merkin löytyessä se talletetaan painamalla. Rakenteletpa vastaisuudessa sitten MIDI-kontrolleria, saunatonttua tai sokkelorobottia, muista että Arduinosta saa enemmän irti, kun sille tekee kätevän käyttöliittymän. On olemassa painonapillisia ja painonapittomia pulssiantureita. Laitetaan siis niistä pienimmätkin tekemään jotain monipuolista!. Arduino-mikrokontrollereista Mikrokontrolleri on elektroniikan komponentti, joka sisältää samalla mikropiirillä prosessorin, ohjelmamuistia, käyttömuistia sekä syöttöja tulostustoimintoja. Pulssianturin käytöstä P ulssiantureita tai pulssienkoodereita (eng. Liikkeen seuranta voi olla mekaaninen tai optinen, joista mekaanisen suurin pyöritysnopeus on yleensä alhaisempi. Käsittelemme aihetta syvällisemmin nettijatkoissa. Tällöin on otettava itse selvää protokollasta esimerkiksi yleismittarin tai oskilloskoopin avulla. Kaikista malleista ei kuitenkaan löydy tietoa netistä. Muussa tapauksessa tarvitsisi käyttää erillistä ylöstai alasvetovastusta. Lähteet: http://fi.wikipedia.org/wiki/Arduino http://arduino.cc/en/. Tämän jälkeen kursoria voidaan liikuttaa seuraavan muokattavan merkin kohdalle. Alustan on nostanut suosioon se, että siihen on helppo liittää kolmannen osapuolen valmistamia lisäosia, kuten sensoreita, moottoreita, LED-valoja ja muita komponentteja. Lisätietoa pulssiantureista yleensä esimerkiksi: http://en.wikipedia.org/wiki/Rotary_encoder#Incremental_rotary_encoder A C B D E A B Pulssianturin nastat ja signaali Esimerkki valikon kohdasta. Niitä käytetään useimmiten sulautetuissa järjestelmissä, esimerkiksi kaukosäätimissä ja digitaalisissa kelloissa. Kun kursori viedään ulos näytöltä, nimi tallentuu ja valikossa palataan takaisin. Tahtoo oman! Skrollin nettijatkoista osoitteesta http://skrolli.fi/2013.3/ löydät projektista lisää materiaalia, kuten esittelyvideon, kytkentäkaavion ja koodin. Jos pulssianturi on painonapillinen, yleensä yhden puolen nastat ilmaisevat liikkeen ja toisen puolen nastat painalluksen
Kuitenkin kaikki perille tulleet bitit ovat samassa järjestyksessä kuin alkuperäisessä viestissä ja ainakin yksi bitti tulee perille. Mikä on odotusarvo sille, kuinka monta erilaista viestiä vastaanottaja voi saada, jos kaikki viestit ovat yhtä todennäköisiä. Ikävä kyllä Uolevin ohjelmassa on bugi ja osa biteistä saattaa kadota matkan varrella. – 20.10.2013 Suvilahti, Helsinki 19 U olevi on koodannut ohjelman, jolla voi lähettää viestejä netin välityksellä. 4.?Entä jos vastaanottaja voi saada tarkalleen 999999 erilaista viestiä. Voitko auttaa Uolevia. Esimerkiksi jos Uolevi lähettää viestin 1101, vastaanottaja voi saada 9 erilaista viestiä: 0, 1, 01, 10, 11, 101, 110, 111 tai 1101. Uolevi haluaa tutkia ohjelmansa luotettavuutta laskemalla, montako erilaista viestiä voi syntyä eri tilanteissa. 1.?Jos Uolevi lähettää viestin 0110001111, montako erilaista viestiä vastaanottaja voi saada. Demos LAN Briim Computers Älymystö Friends Music PARTY! Sauna for people participating in compos! www.altparty.org Buy tickets for you and your friends at a special price! 18. 5.?Uolevi lähettää viestin, jossa on n bittiä. 3.?Vastaanottaja voi saada tarkalleen 123 erilaista viestiä. Jokainen lähetettävä viesti on bittijono eli muodostuu merkeistä ja 1. Kaikki tehtävät on mahdollista ratkaista nopeasti sopivalla algoritmilla — ja osa ilman tietokonetta! Ongelmien ratkaisut löytyvät Skrollin webisivuilta osoitteesta: http://skrolli.fi/pahkina/201303/. 2.?Entä jos Uolevi lähettää viestin 01100 011110000011111100000001111111 1000000000. Pähkinänurkka Tällä palstalla ilmestyy ohjelmointiin ja matematiikkaan liittyviä tehtäviä. Kuinka pitkä on lyhin mahdollinen Uolevin lähettämä viesti
Teksti: Panu Kalliokoski Kuvat: Mitol Berschewsky Kulttuuri. Koneymmärtämisen pohjatyö on tehty jo 60–70-luvulla. 20 2013.3 Ymmärryksen juurilla eli kuinka todellisuus selitetään koneelle Voisivatko tietokoneet ymmärtää maailmaa. Mitä ymmärtäminen ylipäänsä tarkoittaa