Search Results for ‘Processing’

Processing 2 -> Processing 3

Pitkän jähnäilyn jälkeen päätin lopulta yrittää PETSCII-editorini päivittämistä Processing 2:sta Processing 3:lla toimivaksi. Yhtäältä P2 alkaa olla jo ammoinen versio, eikä sillä tehtyjen softien toimivuus nykykoneilla ole enää taattua, ja toisaalta sorsaversiosta kiinnostuneille on melkoista riesaa roikottaa koneella vanhentunutta ohjelmaa vain tämän takia. En mitenkään erityisemmin itse rakasta P3:a, sillä se ei ole joka suhteessa parannus aiempiin, mutta minkäs teet.

Processing 3 – haaskataanpa tilaa oikein kunnolla näihin tabien väleihin 🙁

Parin illan pakerruksen jälkeen uskoisin saaneeni jo suunnilleen kaiken toimimaan tyydyttävästi. Osa korjauksista oli triviaaleja, kuten ikkunan koon asetuksen vaihtaminen settings()-funktioon ja args:n kohdalla lisätarkistus, ettei taulukko ole null – P2:ssa taulukko on tyhjä, jos komentorivillä ei ole annettu parametreja. Ikkunan otsikko vaihdetaan nykyään surface.setTitle()-funktiolla aiemman framen sijasta.

Mutkikkaat asiat ovat kuitenkin mutkikkaita, ja etenkin esikatseluikkunan kanssa taistellessa oli usko loppua. Vanha (sekin huono) tapa avata toinen ikkuna ei enää toiminut alkuunkaan, mutta toisaalta esimerkeistä löytyy nykyään ihan semivirallinenkin keino kahden ikkunan käyttöön. Ongelmat alkavat siinä vaiheessa, kun toinen ikkuna pitäisi pystyä sulkemaan ilman, että koko ohjelman suoritus loppuu. Päädyin siihen, että toista ikkunaa ei kannata edes yrittää sulkea, vaan se on parempi piilottaa, kun sen halutaan olevan “kiinni”. Lopulta esikatseluikkunan koodista tuli selkeämpi ja siistimpi kuin vanhasta, joten ainakin tämä muutos oli parannus.

Toinen suuri kompastuskivi oli vasemman ja oikean shift-näppäimen toisistaan erottelu, joka oli jo ennenkin hankalaa ja vaati keyPressed(KeyEvent ke)-purkkaamista. Nyt vanha konsti ei toiminut enää ollenkaan, mutta onneksi keyEvent-oliosta saa edelleen kaivettua AWT:n eventin, jonka alta löytyy tuttu KeyEvent.KEY_LOCATION_LEFT. Tämäkin tapa on jo menossa kiellettyjen listalle, mutta ainakin toistaiseksi se vielä toimii. Olisi tietysti yksinkertaisinta, jos Processing vain suoraan tukisi shiftien erottelua, mutta se lienee turha toivo.

Oikeasti merkittävä parannus olisi, jos saisin höskän toimimaan 2D-kiihdytettynä, mutta tällä hetkellä piirtokoodi on niin tiukasti sidottu pikselien suoraan sorkkimiseen, että se ei ole kohtuudella mahdollista. Vaihdoin kokeeksi grafiikkaengineksi P2D:n, mutta se oli lähinnä ruma ja läginen (tämä on toki kiinni lähinnä omasta piirtokoodistani), joten olkoon toistaiseksi. Linuxilla ja Windowsilla kiihdyttämätönkin ikkuna on aivan tarpeeksi nopea, mutta Mäkillä meno on hieman hyhmäistä nykyisillä Javan versioilla, joissa ei ole enää Applen optimointeja mukana.

Add comment November 17th, 2020

Processing 3 and right/left shift

In Processing 2 it was relatively easy to tell the difference between the right and left shift by overriding keyPressed(java.awt.event.KeyEvent ke), but in Processing 3 event handling has changed and the function doesn’t even get called any more. I really really wanted to use the two keys differently and came up with this blurb for the keyPressed() handler:

if(keyCode==SHIFT)
{
  java.awt.event.KeyEvent ke;
  ke=(java.awt.event.KeyEvent)keyEvent.getNative();

  if(ke.getKeyLocation()==KeyEvent.KEY_LOCATION_LEFT)
  {
    // It's the left shift
  }
}

Note that this will only work with the default renderer, as the others don’t use AWT. The “solution” is also deprecated, so it might stop working any time and then we need another hack to work around the issue. Things would be so much easier if Processing simply provided a different keyCode for the two keys, but I wouldn’t hold my breath waiting for that.

Add comment November 16th, 2020

Lisää vaan Processingia

Kun kerran into on löytynyt, ainakin pariksi päiväksi:

  • Karuhko interaktiivinen Mandelbrot-generaattori: mandelzoom
  • Reaaliaikainen Julia-generaattori: juliaset
  • Dragon-fraktaali: dragonfractal. Tarkoituksella hidas, että iteraatiot näkee.
  • Saa sen 3D:n kiihdytettyäkin: kolmereegl, mutta ainakin Linuxilla vaati Javan turvallisuusasetusten höllentämistä (System – Preferences – Sun Java 6 Plugin Control Panel – Advanced – Security – Mixed code – Disable verification), kun en halunnut nyt ruveta tutustumaan tuohon onnettomaan koodin allekirjoitukseen.
  • Rekursiivinen puu ja jonkun sortin motion blur: recursion

Mandelzoom toimi Processing.js:lläkin, mutta oli todella hidas. Dragonin luulisi olevan ok ja Julian sitten taas hidas.

Add comment October 19th, 2010

Jälleen Processingin äärellä

Opetettuani viikon Processingia koululla se jäi vähän päälle, ja tuli taas näpyteltyä jokunen sormiharjoitus:

  • Piechart. Piirakkadiagrammi-komponentti. Tätä voisi suorastaan käyttääkin johonkin tarvittaessa. Värit hieman sinne päin ja tekstien paikkaakin pitäisi miettiä, mutta kaikkiaan simppelin toimiva.
  • Kolmeree. Hieman hitaanpuoleinen 3D-demotus. Hidastelu tulee jostain muualta kuin kuutioiden määrästä — sadalla menee melkein yhtä lujaa.
  • Objtest. Valmista Objloader-palikkaa käyttävä .obj-mallin pyöritys. Helpostihan tuohon saa jotain ruudulle.

2D-graffassa Processingin pikselipohjainen koordinaatisto on ihan jees, mutta 3D:n tapauksessa parannettavaa olisi. frustum() ei toimi kuten glFrustum, vaan säätää ainoastaan projektiomatriisin muodon. Ratkaisuni oli translatoida ja skaalata grafiikka widthin ja heightin suhteen, jolloin ikkunan koolla ei ole merkitystä ja origon saa ruudun keskelle. Lievänä ärsytyksenä koordinaatisto on vielä vasenkätinen

Add comment October 11th, 2010

Processingin rumat fontit

Kokeilin ekan kerran Processingia Linuxilla ja tuntuu toimivan ok. Jostain historiallisista tai käytännöllisistä syistä sitä ei saa paketinhallinnasta, vaan se pitää ladata sivuilta erikseen. Ubuntussa piti asentaa Sunin Java-paketit (sun-java6-jdk, -jre ym.), sillä heti alkuunsa tuli valitus, ettei Icedtean kanssa luvata yhteensopivuutta. Icedtea kannattanee käytössä muutenkin unohtaa — eipä nimittäin toiminut sen selainlaajennuskaan (sun-java6-plugin koneeseen ja johan soi). Muuten näytti jo hyvältä, mutta editorin fontti oli kohtuuttoman ruma ja palikkainen ilman antialiasointia. Kerrottakoon nyt kaikille muillekin varmuuden vuoksi: kotihakemistossa sijaitsee .processing/preferences.txt ja siellä oleva editor.antialias=false pitää muuttaa muotoon true. Mäkillä fontit ovat tuntuneet olevan vakiona ok, joten sen kanssa ei ole tarvinnut tähän säätöön kajota.

Add comment September 25th, 2010

Vuosikatsaus 2022

Ensi alkuunsa, kun yritin miettiä vuotta 2022, en oikein keksinyt mitään sanottavaa. Normaali perusryytymys on niskassa ja Euroopassa sota, mutta nämä eivät ole mitään uutisia. Elämä on asettunut uomiinsa niin, että kaksi peräkkäistä vuotta eivät välttämättä juuri erotu toisistaan rutiineineen: samat duunit, harrastukset ja tapahtumat pyörivät painollaan tutussa rytmissä. Käydään nyt kuitenkin läpi edes niitä.

Duuni ja tutkimus

Tässä kohdassa melkein toivoisin, että voisin sanoa vuoden olleen samanlainen kuin edellinen, mutta näin ei ikävä kyllä ole. Laitosten ja koulutusohjelmien yhdistäminen tuotti runsaasti ylimääräistä työtä ts. stressiä, kun koko kurssirakenne myllerrettiin ja uusia kursseja vedettiin ensimmäistä kertaa ilman tarpeellista kokemusta. Suoraan sanoen en keksi, mitä iloa tästä kenellekään oli, ja vanha kettu tietää jo, että muutaman vuoden päästä on taas luultavasti edessä samanlainen rumba, kun ehdottomasti tarvitaan joku uudistus. Huonot, jatkuvasti vaihtuvat tietojärjestelmät ja kasvanut sihteerintyö eivät nekään tunnelmaa nostata. Aika surkeaksi on akateeminen työelämä mennyt paitsi omalta kohdaltani, myös ihan kokonaisuutena. Tekisi usein mieli lähteä ns. helvettiin ja etsiä jotain muuta tekemistä, mutta lienen jo sen verran laitostunut, että tuskin it-pisneskään sen luontevampaa olisi. Palkka juoksee.

Juuri mitään aikaa ei jää tutkimukselle sähköpostirallilta, byrokratialta ja opetukselta – pari yhteispaprua sentään tuli pihalle. Opetushommat ovat monelle akateeminen umpikuja, ja nyt tajuan sen paljon kouriintuntuvammin kuin pitkiin aikoihin. Aiheita ja artikkelinraakileita olisi, aikaa ja energiaa sen sijaan ei. Kirjoittamista ei voi tehdä minään tunnin pätkinä, vaan sille tarvittaisiin yhtenäistä aikaa ja ilmaa.

Skenetystä ja retroa

Omat luovat tuotokset jäivät pariin pikaisesti hutaistuun PETSCII-kuvaan, mutta oli sentään taas mukavaa nähdä, kuinka muut laittoivat edikkaa monenlaiseen käyttöön. Tämän vuoden syksyllä työkalulle tulee jo pyöreät kymmenen vuotta täyteen, mikä luonnollisesti vihjaa siihen suuntaan, että tarvittaisiin uusi kohennettu versio. Ryönämestari-tuoteperhe oli opettavainen projekti, joka julkaistiin Vammala Partyillä. Muita vuoden partykäyntejä olivat Orivedelle siirtynyt Zoo ja perinteinen Assembly.

Assembly täytti 30 vuotta ja juhlahvuoden ohjelmaan sisältyi gaala, jossa jaettiin palkintoja merkittäville produille vuosien varrelta. Itse olin vastuussa monimuotoisesta “Restricted”-kategoriasta, jossa oli niin oldskool-demoja kuin pikkuintrojakin. Lisäksi pidin esitelmän retrotietokoneiden opetuskäytöstä; keväällä vedettiinkin Terpan kanssa kaikkien aikojen viimeinen Alive Dead Media -kurssi aiheena pikseligrafiikka.

Koodailtua tuli sinänsä hiukan jopa vapaaehtoisesti, kun värkkäilin Processingilla muksuille harjoitusohjelmia. Tyllerölle tein kikkaleet kellonaikojen ja lukujen nimien harjoitteluun sekä molemmille muksuille yhteiskäyttöisen slangivalmentajan. Sivumennen olen itsekin opetellut hiukan lisää vanhaa Stadin slangia ihan mielenkiinnosta. Friidu bongas snögestä fyrkkaa ja stikkas ne fikkaansa. Uutena tuttavuutena tällä saralla myös Scratch, jolla tein pari pikku kokeilua, kunnes sen rajat alkoivat tulla vauhdilla vastaan. Monet asiat olisi yksinkertaisesti vain nopeampi kirjoittaa sen sijaan, että rallaa listaa eestaas ja yrittää etsiä oikeaa laatikkoa haluttuun tarkoitukseen.

Muuta tekniikkaa

Vanhat tietokoneet saivat olla suhteellisen rauhassa kaapeissaan ja hyllyissään, mutta modernimpaa rautaa tuli viriteltyä monenlaisissa koneprojekteissa enemmän kuin pitkään aikaan. Toivottavasti vuosi 2023 menee sujuvasti nykyisellä raudalla, ettei rahaa tarvi tärvätä hetkeen enempää. Oma pääkone vaihtui syksyllä, minkä myötä siirryin vuosien käytön jälkeen (hieman pakon edessä) Mate-työpöydästä Cinnamoniin. KDE Plasma kävi pikatestissä, mutta ei ollut edelleenkään sydämeni muotoinen – luulisi kaikkien näiden vuosien jälkeen edes bugeja olevan vähemmän.

Paljon aikaa kului erilaisia läppäreitä säätäen, joten Linuxin ja kannettavien yhteiselosta kertyi lisää kokemusta. Takavuosina ongelmia oli niin näytönohjainten, wlan-piirien kuin virransäästönkin kanssa, mutta tätä nykyä Linux on sopivalla raudalla varsin hyvä valinta matkakäyttöön. Välillä korjaustoimet olivat luonteeltaan varsin fyysisiä, kuten ajan myötä tahmaantuneiden Latitude 6230 -rannetukien fiksailu. Akkuja, muisteja tai SSD:itä tuli päivitettyä ja vaihdeltua varmaan muutaman kymmentä kertaa. Ihan viihdyttäväähän tuo yleensä oli, ja plussapuolena jopa hyödyllistä, kun kyse on käytössä olevista laitteista eikä pelkistä pölynkerääjistä. Monen serriläppärivuoden jälkeen on ruvennut hiljalleen kutittelemaan ajatus hieman paremmasta koneesta, jossa olisi erillisnäyttis ja IPS-paneeli.

Hiirirumban myötä piti tutustua lyhyesti OpenRGB:hen, joka säätää näppisten, hiirten ja emolevyjen (täysin turhia) ledivalaistuksia. Yli kahdenkymmenen vuoden Logitech-käytön vaihdoin lopulta merkkiä, kun luottovalmistajan rimpulat tuntuivat hajoavan perheessä jatkuvasti. Poitsulta ehti jo levitä yksi HyperX, joten ihan hirveän toiveikas en ole muidenkaan merkkien suhteen. Tällä pöydällä ovat nyt parhaillaan käytössä Leenan sekä Corsairin pelihiiret. Muiden ohjainten osalta tuli tutustuttua myös pelipädien toimintaan Steamin kanssa.

Pelejä

Aiemmin en ole viitsinyt peleistä juuri kirjoittaa, koska niitä on tullut hakattua melko vähän eivätkä ne ole itsessään olleet erityisen kiinnostava aihe. Tilanne on hiljalleen muuttunut, joten kyllä ne jo ansaitsevat oman kohtansa tähän postaukseen. Taustalla vaikuttaa luonnollisesti se, kuinka Proton on kohentunut edelleen siihen pisteeseen saakka, että tuhansia Windows-pelejä voi asentaa ja ajaa Steamista ilman sen kummempaa vaivaa ja hakkerointia.

Tutut merkkiteokset, kuten Limbo, Inside tai Gris, tulee taottua läpi ainakin pari kertaa vuodessa, mutta tänä vuonna olen laajentanut katsantoa myös niiden ulkopuolelle. Vuoden pelitapaus itselleni – ja epäilemättä monelle muulle – oli tietysti Return to Monkey Island, jonka ehdin jo suorittaa niin tavallisella kuin vaikeallakin tasolla. Sarjasta olisi enää kokematta asteen vastenmielinen kökkö-3D Escape from Monkey Island, joten kaipa se on lopulta otettava työn alle tänä vuonna. Saattaahan vaikka käydä niin, että yllätyn iloisesti?

Muita peliaikaa saaneita pelitaiteen edustajia olivat ainakin Inmost, A Short Hike sekä Myth II. Inmost nousi palikkaisen indiehyppelynsä yläpuolelle mutkikaalla juonellaan ja Hikke puolestaan tarjosi lupsakkaa söpöilyviihdettä yhdeksi illaksi. Myth II on hieman eri sarjaa parinkymmenen vuoden takaa, aikanaan vaikuttava reaaliaikataktiikka, jonka Project Magma on pitänyt hengissä nykykoneilla pelattavana. Joululomilla työn alle lähti vielä kaunis (Microsoftin julkaisema!) Ori and the Blind Forest, jonka kanssa WASD-ohjaukseen tottumattomalla tosin alkaa loppua ketteryys. Vuodenvaihteen Steam-alennusmyynneistä tarttui kokoelmaan taas toistakymmentä tekelettä, joista tulee postauksia, jos niistä on jotain merkittävää sanottavaa.

Läppäriprojektin yhtenä osa-alueena on ollut kartoittaa Linuxin ja integroitujen näytönohjainten soveltuvuutta pelikäyttöön. Vaikka iso näyttö ja watteja nielevä GeForce ovatkin edelleen se juttu, niin yllättävän paljon kannettavallakin pystyy tekemään. Suurin osa omasta Steam-kirjastostani kokeilemistani peleistä on toiminut ihan riittävästi, vaikka raskaammat 3D-pläjäykset toki menevät helposti hitaiksi. Aina ei ongelma ole edes näytönohjaimessa, vaan toisinaan melko kontrastiton matalan resoluution näyttö on kynnyskysymys, kun taas joskus pahimpana pullonkaulana on prosessori.

Shakki, matti ja patti

Omat taitoni ovat polkeneet tänä vuonna jokseenkin paikoillaan: en ole ainakaan huomannut mitään suurta harppausta osaamisessa. Kroonistuvalla väsymyksellä on varmasti tekemistä asian kanssa, kun tarkkuus tuntui usein olevan hukassa. Roolini on ollut pikemminkin natiaisten valmentaja, sponsori ja kilpailuihin kuskaaja. Kuluneena vuonna myös tyllerö 7-vee alkoi käydä kisoissa sekä viikottaisessa shakkikoulussa, joten isäukolta tarvitaan taas hieman enemmän panosta – olen valinnut ja tehnyt päivittäisiin taktiikkatehtäviin varmaankin parituhatta pulmaa eri teemoista.

Lautoja ja nappuloita on jo niin paljon, ettei niitä todellaan tarvitse enempää, eikä muukaan haaliminen enää innosta kaappien täyttyessä. Niinpä 2022 en ostanut juuri mitään pelivälineitä. Muksuille sen sijaan voi vielä jotain hankkia, joten kumpikin sai komeat Staunton-tyyliset painotetut napit laatikkoineen ja niihin sopivan puulaudan. Ajatuksena oli, että nämä olisivat “ikuisia” kunnon settejä eivätkä hukattavia ja hajoavia leluja, joiden tilalle täytyy kuitenkin joskus hankkia kunnolliset.

Leffaa ja sarjaa

Vuoden alussa mediaa kului enemmän, kun taas loppua kohti iltaisin ei oikein jaksanut katsella mitään. Netflixin tärkeintä antia olivat Cobra Kai sekä sekalaiset saippuat. Kaitsu ei oikein yltänyt edellisten kausien lentoonsa, mutta tälle vuodelle huhuttu uusi kausi tulee varmasti silti katsottua, etten missaa mitään keskeisiä käänteitä. Lost in Space oli yllättävän hyvin modernisoitu tulkinta vanhasta sarjasta, jossa niin ikään raahauduttiin loputtomien vaikeuksien saattelemana avaruuden halki. Muutakin skifiä toki kului: karu High Life, höpsö Saturn 3, musiikkivideomainen Blood Machines, nostalgiahörö Knight Rider 2000, pitkästä aikaa Starship Troopers ja niin edelleen.

Leipälajini western on tullut koluttua aika pahasti läpi, eikä tuoreesta päästä tunnu oikein ilmestyvän paljon mitään katsomisen arvoista. Ei katselu silti mihinkään loppunut, joten työn alla on ollut sekalaista kökköä indietä, jossa on tiettyä henkistä yhteyttä bulkkispagettiin tai -fiftariin: tehdään markkinoille halvalla taiteellisesti kunnianhimotonta katsottavaa, koska katsojia riittää. Camp-henki on välillä tahallista ja usein myös tahatonta. Tuttuun tapaan puolivuosittaiset länkkärimaratonit pyörivät sekä keväällä että syksyllä, ja katsojia riitti tälläkin erää mukavasti. Syksyn maratoni oli peräti kuudestoista, joten pikku instituutiosta voinee jo hyvin puhua. Klassikot tuli hätäisesti ryöstökalastettua alkupään maratoneissa, mutta kattaus on silti onnistuttu pitämään alati laadukkaana laajentamalla reviiriä vähemmän tunnettujen helmien ja kummajaisten suuntaan.

Olen jo aiemmin tehnyt pariin leffaan tekstitykset, mutta vuoden ensimmäistä maratonia varten ahkeroin kunnon vaivalla spagettilänkkäri Californiaan (1977) sekä enkku- että suomitekstit. Aikaa meni varmasti parikymmentä tuntia, sillä vanha enkkudubbaus on lievästi sanoen pielessä, eivätkä italiantaitoni riitä pitkälle. Osittaiseksi avuksi tulivat sentään saksan- ja portugalinkieliset fansubit. Paketinhallinnasta suoraan tuleva avoin Aegisub on ihan käyttökelpoinen työkalu tähän tarkoitukseen, vaikkei sekään toimi aivan tarkalleen niin kuin haluaisin.

Mitähän mahtaa tuoda vuosi 2023 tullessaan? Aika pitkälti varmasti samaa kuin edellinenkin, mutta vienosti toivon, että sekä tutkimukselle että luovalle koodaamiselle löytyisi enemmän aikaa ja motivaatiota. Organisaatiouudistusten ja tietojärjestelmien kanssa painimisen toivoisin puolestaan vähenevän, vaikka se toki on paljon pyydetty. Blogaus jatkuu, joten täällä sitten kuulette – ja onnea vuoden 2023 haasteisiin!

Add comment January 1st, 2023

Isikoodausta: lukutraineri

Jälleen pikku koodiprojekti natiaisen harjoittelukäyttöön, nimittäin lukutraineri. Kikkale arpoo luvun 1000–9999 ja nappia painamalla saa näkyviin (usein pitkän) lukusanan:

Yheksäntuhatta neljäsataakuuskytkuus

Tällä erää grafiikan ohjelmointiin ei paljon aikaa suttaantunut. Lähinnä sillä puolella yllätyksenä tuli, kuinka pitkiksi näinkin pienet lukusanat jo kasvavat – ikkunan leveyttä piti kasvattaa ja kasvattaa, eikä se 32 pisteen fontilla enää läppärinäytölleni edes mahtuisi. Kellonaikoihin verrattuna lukusanat ovat säännöllisempiä, kun tuhansia, satoja ym. edustavat numerot voi käydä mekaanisesti yksitellen läpi. Näin pienillä luvuilla en jaksanut käyttää silmukkaa, mutta isommilla se tokisi tulisi väistämättä vastaan. Joitakin erikoistilanteita piti silti jälleen huomioida:

  • Nollan kohdalla ei tarvitse yleensä tehdä yhtään mitään, lukuun ottamatta tapausta 10 eli kymmenen
  • Systemaattisen käsittelyn rikkovat myös 11–19 eli yksitoista–yhdeksäntoista, jotka voi sentään generoida helposti
  • Oikealta lukien kolmen numeron välein tulee välilyönti eli “kaksituhatta neljäsataa”
  • Tuhat, sata ja kymmenen pitää käsitellä erikseen, koska ne eivät tietenkään ole “yksituhatta” jne.

Koodinpätkään tarvitaan tietysti yksinkertainen mäppäystaulukko numerosta tekstiksi; nollaa ei tosin näemmä käytetä yhtään mihinkään. En tiedä, tuleeko tälle trainerille juuri käyttöä todellisuudessa, mutta olipahan ainakin itselleni pientä sormiverryttelyä ja sivussa opin jotakin suomen kielen lukusanoista. Vähäisellä vaivalla paikat voisi vaihtaa, jolloin lukusanaa yritettäisiin muuttaa takaisin numeroiksi. Saatan kokeilla myös puhekielisen version tekemistä ihan mielenkiinnosta: ovatko arkiset lyhyemmät lukusanat yhtä säännöllisiä?

edit: Kolmen numeron palasia voi käsitellä ilmeisen itsenäisesti, joten yleispätevä ratkaisu ei olisi itse asiassa paljonkaan mutkikkaampi. Perään lisätään vaan “miljoonaa”, “tuhatta” jne.

Add comment January 21st, 2022

Isikoodausta: kellotraineri

Tiistai-illan iloksi tuli väkästettyä pitkästä aikaa peräti hieman koodia. Juniorin kanssa on opeteltu viime aikoina viisarikellon ajan lukemista Muumi-lelukellolla, mistä pälkähti päähän ajatus digitaalitekniikan hyödyntämisestä samaan hommaan. Tietska kun jaksaa arpoa ja kysellä aikoja paljon sitkeämmin kuin väsähtänyt isäukko. Reilun puolen tunnin Processing-neppailun jälkeen syntyi ilmeisesti toimiva kellotraineri.pde, joka antaa välilyöntiä takomalla ensin uuden ajan ja sitten näyttää ratkaisun tekstinä alareunassa:

Karu, mutta pelkistetty näkemys kellotaulusta

Natiainen tuntee jo tavallisen kellotaulun aika hyvin, joten nostin samalla vaikeustasoa jättämällä numerot pois monien rannekellojen tapaan. Samassa pelkistyksessä saivat mennä myös minuuttiviivat. Kellonaikoja arvotaan nyt viiden minuutin tarkkuudella, mutta suurempi tarkkuus ei olisi suuri lisäys. Koodipuoli ei ollut kaikkiaan järin haastava, mutta jokunen pikkuinen pähkinäkin mukaan sentään mahtui purtavaksi:

  • Miten muutetaan tunnit ja minuutit viisarien asennoksi? Harkintaa vaati lähinnä tuntiviisari, jonka tietysti pitää liikkua myös minuuttien mukana.
  • Miten tulostetaan kellonaika luettavana tekstinä? Eri tapauksia ovat “tasan”, “puoli”, “yli” ja “vaille”.
  • Ylimääräisenä kompastuskivenä pitää vielä tunnistaa erikoistilanteet, joissa siirrytään kahdestatoista yhteen, kuten 12:45 ts. “viisitoista vaille yksi”.

Kohtuullisella takomisella näyttäisi siltä, että sain algoritmintyngän käsittelemään kaikki tilanteet oikein – joku erikoistapaus saattaa toki vielä räjähtää, mutta ainakaan toistaiseksi sellaista ei tullut vastaan. Hetken aikaa mietin, jaksaisinko mäpätä vielä numerot tekstiksi tyyliin 11 -> yksitoista, mutta siitä tuskin olisi ollut sanottavaa hyötyä. Kaikenlaista parannettavaa olisi toki helppo keksiä: rajattu vastausaika, animointeja, viittä minuuttia tarkemmat kellonajat, numerokelloon vertailu ja niin edespäin. Ehkäpä niitä sitten joskus tarpeen mukaan. Jo tässäkin muodossaan kellotraineri on ihan hyödyllinen ja liittyy muiden, hetken viihdyttäneiden isikoodausten, kuten liikennevalosimulaattorin, näppäimistötrainerin ja yksinkertaisten piirto-ohjelmien seuraan.

Add comment January 11th, 2022

Katsaus vuoteen 2021

Siinä meni toinen koronavuosi, eikä loppua näy. Päällimmäinen tunnelma on yleinen ryytymys, joka on näkynyt kaikessa tekemisessä: tuottavuus on ollut pohjalukemissa ihan joka saralla ja innostuksen hetket vähissä. Kyse on tuskin pelkästä koronakaranteenista ja Zoomissa kykkimisestäkään, sillä onhan ruuhkavuotisella niskassaan yhtä sun toista velvoitetta, jotka ajan oloon saattavat alkaa nakertaa voimia. Osansa hajoiluun on tuonut painostava työelämä, mutta siitä alempana omassa kohdassaan. Ei tämä nyt mikään täysin kurja vuosi sentään ollut, mutta aika vähiin jäivät huippuhetket urautuneen puurtamisen seassa.

Töitä ja tutkimusta

En kaunistele tätä liiemmin: vuosi 2021 töissä ei ollut motivoiva. Parhaita hetkiä olivat ne, kun vedin omia maisterikurssejani, mikä on kuitenkin valitettavasti vain pieni osa kaikista hommista. Hallinto, huonojen tietojärjestelmien kanssa taistelu ja tietysti lähes kirosananomainen organisaatiouudistus. Taiteen ja median laitokset yhdistyvät koulutusohjelmineen, minkä lisäksi maisteriopetuksen resursseja kuristetaan ja sitä myötä kurssitarjonta menee uusiksi. En ole ollut mitenkään “pahimmissa paikoissa”, mutta joka tapauksessa turhalta tuntuva puuhastelu, joka kaikkea muuta kuin edistää normaaleja päivätöitä, lisää stressiä. Olen jo itsekin joutunut kandiopetukseen, ja vaikken sitä vähempiarvoisena duunina pidäkään, niin olen sittenkin puolipakolla rekrytty väärä tyyppi kyseistä kurssia vetämään – joku joutilas piti nakittaa.

Syksyn alussa tuli sentään onnelliseen loppuunsa iän kaiken kestänyt arviointiprosessi, jonka myötä nimikkeeni on nyttemmin vanhempi yliopistonlehtori. Postuumisti näyttää tosin siltä, että olisin voinut hakea ylennystä jo paljon aikaisemmin sen sijaan, että tein kuuliaisesti pedaopinnot ja postdocin loppuun. Pian valtaosa laitoksen opettajista lienee näitä senioripehtooreja, joten lehtorien urapolkuun iskee tietty inflaatio. Tutkimuksen osalta vuosi jäi surkeaksi, mutta ehkäpä ensi vuonna niitä arvoisia vertaisarvioituja julkaisuja taas nähdään. Jotain on ainakin työn alla. Jatkoin edelleen huippuyksikön nimellisenä jäsenenä, mutta osallistuminen oli lähinnä kokouksissa harvakseltaan istumista.

Eräänä elämänmuutoksena jätin taakseni Alasin Media oy:n, jota olin perustamassa niinkin kaukana kuin 2004. Alkuinnostuksen jälkeen kontribuutioni jäi lähinnä kokouksissa istumiseksi, joten nyt tarjouksen tullessa hyväksyin sen, että myyn osakkeeni takaisin ja aktiiviset jampat jatkavat omillaan. Rahallisesti tässä “yrittäjyydessäni” ei ollut paljon järkeä, mutta näköalapaikka kotimaisen uusmediatoimiston arkeen oli toki kokemuksena arvokas.

Skenetystä

Valitettavan vähän kerrottavaa tältä saralta, mutta tokihan armaan tiimimme 30-vuotisjuhla oli eräs vuoden kohokohta saunomisineen, yhteislauluineen, kilpailuineen, demokatselmuksineen, muisteloineen ja kaljoitteluineen. Jokin gravitaatio on porukkaa yhdessä pitänyt jo kolmen vuosikymmenen ajan. Suunnitelmissa oli tietysti synttäriprodukin, mutta sellaista ei tältä ryytymykseltä lopulta irronnut. Onneksi Yzi sentään kantoi lippua parissa pikkuintrossa. Omat tuotokset jäivät muutamaan petskariin ja Vammala Partyillä näytettyyn Processing-pätkään. Pariin kuvaan olin jopa ihan itsekin tyytyväinen. Ja niin tosiaan, opetin demokoodausta opiskelijoille yhden viikon Alive Dead Media -kurssillani 🙂

Tietotekniikkaa

2021 oli tekniikkaharrastajalle poikkeuksellisen hankala vuosi, kun komponenttipula piti laitteiston hintoja koholla. Näytönohjaimet ovat toki se ilmeisin voivottelun aihe, mutta lievempää hintojen turpoamista ja pahoja saatavuusongelmia näkyi monissa muissakin osissa. Media tarttui aiheeseen hanakasti ja toitotti vuoden varrella Taiwanin vesipulaa, rahtiongelmia, tehtaiden tulipaloja jne. siinä määrin, että hetkittäin alkoi iskeä jo hieman foliohattufiilis: ovatko nämä kaikki “valtaisat vastoinkäymiset” oikeastaan vain kätevä tekosyy pumpata hintoja? Ongelma on monimutkainen eikä varmasti ratkea hetkessä, joten 2022 tuskin palauttaa hintoja ennalleen – voi olla, etteivät ne ikinä enää palaakaan. Konepäivitysprojektit saivat siis olla tämän vuoden suosiolla jäissä, vaikka muutama välttämätön palanen toki piti hankkia hajonneiden tilalle. Ajoitus oli kerrankin hyvä, sillä päivitin perheen konekannan sopivasti toissa vuonna ennen komponenttipulaa, joten näillä pärjäilee tarvittaessa vielä mukavasti vähintään vuoden.

Joitakin pikku laitteisto- ja softaviritysprojekteja tuli sentään tehtyä. Eräs hauskimmista oli perheen uuden sähköurun kytkeminen USB-MIDI:n kautta ScummVM:ään. Vuoden lopulla piti tutustua Linuxin ACPI:n ihmeisiin ja vuoden alussa asentaa hieman kotipolttoisesti WLAN-korttia sohvakoneeseen. Ikuisuusprojekti Appen USB-näppiksen näppiskartan kanssa koheni pykälän ja vähemmän hauskana puhteena jouduin tappelemaan melkoisesti saadakseni Ryzen+RTX 2080 -kokoonpanoni toimimaan vakaasti, kiitos Nvidian ajuribugien (tämä ongelma sentään jo onnellisesti takana).

Steam-kirjasto paisuu toisesta päästä nopeammin kuin ehdin toisesta edes kokeilla, mutta se lienee perin normaali ilmiö. Uusiin tekeleisiin tutustumisen sijasta kävi usein niin, että käynnistin sen saman Gnogin, Insiden tai Grisin ja hakkasin ne vielä kerran läpi. Vuoden uusista löydöistä parhaita oli luotetun Amanitan Happy Game, vaikka sen äärelle ei varmaan suurta tarvetta ole enää palatakaan uudelleen. Lumino City viihdytti pienen hetken, samoin kuin kotimainen Runo.

Shakki

Vuoden loppua kohti myös jalon pelin äärellä vaivasi pieni sotaväsymys, mutta se tuppaa olemaan ohimenevää sorttia. Syksyllä ja alkutalvesta olen lähinnä yrittänyt pitää jonkinlaista rutiinia yllä, etteivät taidot sentään kääntyisi laskuun. Kesällä meni suorastaan mukavasti, kun Lichess-vahvuuslukuni nousivat uusiin huippulukemiin. Ei noita millään säkällä nosteta, joten uskoisin kyseessä olevan ihan oikean tason kohenemisen (joka tosin syksyn uupumuksen myötä näyttää tuttuun tapaan lysähtäneen). Kilpailuihin tuli osallistuttua jälleen koronan vuoksi harmillisen vähän: itse pelasin yhdessä turnauksessa ja lisäksi kuskasin poikaa muutamaan lastenturnaukseen. Tyllerökin alkaa jo ymmärtää peliä paremmin kuuden vuoden iässä, mutta jokin palanen ei ole vielä loksahtanut paikoilleen niin, että osaisi oikeassa pelitilanteessa hahmottaa tehtävistä tuttuja kuvioita.

Nappeja ja lautoja ei ole juuri tullut enää haalittua, kun niitä on sekä pelaamiseen että koristeeksi moninkertaisesti yli oman tarpeen. Poikkeuksen tähän sääntöön tekevät kotopuolesta Vammalasta peräisin olevat Tannin nappulat, jotka ostan kaikki vastaan tulevat. Ensimmäisten löytämiseen meni peräti kaksi vuotta ja viime vuonna tärppäsi edullisesti toiset hieman vanhemman mallin edustajat. Arkipelailussa käytössä ovat useimmiten ihan tavalliset muoviset painotetut klubinapit, jotka eivät loista niinkään ulkonäöllään kuin selkeydellään ja toimivuudellaan.

Leffoja ja sarjoja

Länkkäreitä tuli katseltua edelleen verrattain ahkerasti, mutta tilanne on sama kuin jo aika pitkään, eli uusia kiintoisia löytöjä tulee tehtyä harvakseltaan. Erityisesti uudemman pään bulkkiwesternit jättivät kylmiksi – en tiedä, miten tuollaisia lähinnä väkivaltaisia kotivideoita päätyy ihan Suomessakin myyntiin. Hyllystä yllättäen löytynyt Westworldin ykköskausi jaksoi pitää otteessaan loppuun asti, vaikka seuraavat kaudet tuskin kiinnostavat enää. Toinen onnistunut lännensarja oli Wheelerin suvun vaiheista kertova Into the West; ihan loppuun asti käsis ei kantanut, mutta kelpo viihdettä yhtä kaikki. Korona-aika haittasi jälleen länkkärimaratonien pitämistä ja nyt kerhohuone on taas kiinni hamaan tulevaisuuteen. Kevään maratoni saatiin sentään pidettyä kesäkuussa hikisissä Arizona-fiiliksissä ja syksyn vastaava marraskuulla.

Varsin jälkijunassa hankimme lopulta Netflixinkin. Takavuosina, kun kiinnostusta viimeksi oli, tarjolla oli vain oma toisto-ohjelma Windowsille ja Mäkille, mutta nyttemmin katselu onnistuu sentään ihan selaimella, joten myös Linux-käyttäjä on lähes tasaveroinen asiakas. Ruuhkavuotisen pariskunnan on yleensä paljon helpompi katsella sarjoja kuin kokonaisia leffoja, etenkin kun klassikot tuppaavat olemaan kolmen tunnin pläjäyksiä. Edellä mainitun Westworldin lisäksi projektoriaikaa saivat Queen’s Gambit, Squid Game ja viimeisimpänä Downton Abbey. Näyttää uhkaavasti siltä, että flixi on jäänyt talouteen pysyäkseen. Kuten hieman ennalta arvelinkin, suoratoistopalvelusta löytyy kyllä katsottavaa, mutta harvemmin juuri vaikkapa sitä elokuvaa, jonka haluaisit nähdä. Tilannetta ei sanottavasti auta sisältöjen pirstoutuminen lukuisiin kilpaileviin palveluihin. Nostalgisena paluuna lapsuuteen tuli kaluttua läpi myös Blackadderin kaikki kaudet.

Pikku sivuraiteena sivistin (ja toivottavasti viihdytin) vielä jälkikasvua kasaritoiminnalla/skifillä. Nähtyinä ovat nyt ainakin Predator, pari Terminatoria, muutama Rambo, kaksi ekaa Alienia sekä muutama Robocop. Valikoimaa on pitänyt kuratoida lähinnä liian väkivaltaisuuden tai pelottavuuden takia – Rambo 4 tosin lipsahti katseluun vahingossa – ja toisaalta laatukriteerien nojalla, joiden vuoksi karsiutuivat tuoreemmat Aloenit ja Termarit. Lisämausteena soppaan vielä jokunen wire-fu-klassikko.

Muita puuhia

Oma pikku virstanpylväänsä oli kaksikymmentä vuotta kasvissyöntiä. “Kokeilenpa tuota piruuttaan viikon” -projekti lipsahti elämäntavaksi ja muutaman vuoden päästä kääntyy jo ns. siviilijuna, kun olen ehtinyt olla vegenä puolet elämästäni. Mitään erityistä syytä tai tarvetta ei ole ilmennyt palata entiseen, joten projekti jatkukoon. 20 vuoden aikana kauppojen valikoima on monipuolistunut hurjasti eikä ravintoloissakaan ole enää ilmennyt sanottavia vaikeuksia tällaisen erikoisruokavalion kanssa. Pikkupaikkakunnalla tilanne toki saattaisi olla vielä toinen.

Odotuksia vuodelta 2022? No ainakin toivon, että löydän uutta intoa tutkimuksen ja luovien hankkeiden edistämiseen, tosin tällä hetkellä en odota kovin säkenöivää suoriutumista. Korona tuskin mihinkään katoaa, joten voi olla yksi etävuosi jälleen tiedossa (ei sillä, että rakastaisin Otaniemeen raahautumistakaan). Kolmas rokotus pitäisi käydä ottamassa tammikuulla, mutta vahvasti vaikuttaa jo siltä, että se ei jää viimeiseksi.

Add comment January 2nd, 2022

Vammala Party’21

Tuttuun tapaan heinäkuussa saapui taas Vammala Party, joka pidettiin tälläkin kertaa Ikaalisissa (oikeasti Vammalassa on oltu viimeksi vuonna 2000). Tällä erää olin harvinaisen ajoissa liikkeellä kompoentryjen kanssa, sillä ajatus partypaikalla kiireessä koodaamisesta/piirtämisestä tuntui hieman ahdistavalta. Niinpä kaikki oli kasassa jo muutama päivä ennen paikan päälle lähtöä. Valokuviin en hirveästi painostanut, mutta tuli niitä sentään kaksi näpättyä:

Jotakin uutta, jotakin vanhaa

Ensimmäiseen löytyi ajankohtainen aihe maahan heitetystä Pilsner Urquellin mainosmaskista, jossa yhdistyivät ajankohtaisuus, historia, roskaaminen ja korona. Toisessa näpsyssä oli samaa ajankohtaisuutta, kun kävelyretkellä tuli vastaan maahan kaatunut sähköpotkulauta, joista on keskusteltu viime aikoina runsaasti:

Kaatuneiden muistolle

Tuplaimissa olen pärjännyt poikkeuksellisen hyvin jo kahtena aiempana vuonna, ja tällä erää irtosi suorastaan voitto tekeleellä Friman’s Birds. Nämä eivät yleensä hieromisesta juuri parane, enkä käyttänyt yhdistelmien etsimiseen yhtä aamua pidempään. Idea on tärkein ja se joko toimii tai ei – känninen skeneyleisö on omanlaisensa raati, jonka nauruhermojen kutkuttamiseen pärjääminen perustuu. Tässä kaikki kolme pläjäystä:

Kuten arvata saattaa, grafiikkakilpailuun piti väsätä vähintään yksi petskari. Ensimmäinen yritelmä oli M. C. Escherin joutsengrafiikan versiointi, joka näyttää simppeliltä, mutta ei ollut järin helppo tehdä merkeillä. Yhtäältä en rankkaa tällaisia versiointeja keskimäärin hirveän korkealle, mutta toisaalta lopputulos on toimiva ja tekniikka (tietääkseni) uusi PETSCII-maailmassa. Viitossijaa kummempaa ei tällä irronnut, mutta onneksi sentään partyjen jälkeen kehuja on tullut:

M.C.

Toinen petskari oli omaperäisempi, vaikka teknisesti huomattavasti kökköisempi. Idea lähti Madeiran tyylisestä tekstuurista, jossa olisi sarjakuvamaisia päitä – näitähän on sarjiksissa ym. nähty. Luonnostelin ensinnä (turhaan) paperille, mutta siitä ei ollut juuri hyötyä, joten rupesin täyttämään ruutua merkeillä ja annoin niiden viedä. Lopputulos ei ollut yhtään alkuperäisen idiksen mukainen, mutta edes jokseenkin mielenkiintoinen:

We the People

Päät ovat hieman sinne päin, mutta toki merkeillä on vaikeaa tehdä kovin hienojakaan. Graffakompossa tällä heltisi neljäs sija; tällaisessa kuvassa on toki liikaa detskuja ja nähtävää, jotta kaikkea ehtisi lyhyessä ajassa käydä läpi. Jos johonkin olen tässä sukujuhlamaisessa ITE-pläjäyksessä tyytyväinen, niin hahmojen ilmeikkyyteen ja pariin niiden väliseen vuorovaikutukseen (pisnesmies katsoo epäillen renttua, takarivin äijä on selvästi vaikuttunut naishahmosta ym.).

Me, Me, Me!

Tällä erää löysin jostain motivaatiota tehdä myös parissa päivässä Processing-demon, jonka nimeksi tuli Me, Me, Me! Mitenkään virallisemmin tätä tekelettä ei julkaistu, mutta ehkäpä ainakin efektejä kannibalisoidaan johonkin myöhempään “oikeaan” tuotokseen. Visuaalit toimivat mukavasti yhteen Yzin biisin kanssa, vaikka teknisten ongelmien vuoksi smuuthiksi hierottu 60 fps:n sisältö olikin skriinillä sitten tökkivää 30 fps:ää. Fysiikkasimulaatioiden lisäksi mukaan mahtui jopa kepeää tarinankerrontaa, kun narsistinen oranssi pallo on ensin uransa huipulla seuraajien ympäröimänä, mutta joutuu sitten vaikeuksiin ja lopulta murskatuksi.

Add comment July 20th, 2021

Previous Posts


Kommenttien virta

Aiheet