Tuesday, 25 September 2012

Aikaa ei ole - tarina erään nuoren syksystä


Minä olen kyllä aivan sekaisin - Kertaus ja historiikki

Neljäs yritys herättää Dreamerandthewine kesähorroksestaan. Jos tällä kertaa ei tähtäisi Yeggehtävään 10 sivun esseeseen, sillä vaikka tykkään kaverin kirjoitustyylistä ja siitä, miten hän sanoo kaiken mitä on sanottavana, vanhojen blogitekstidraftien kimppuun on hemmetin vaikea palata, eikä niin pitkiä voi kirjoittaa yhdellä istumalla. Nyt yritän siis kertoa julkaisukelpoisesti miten keväisiin pohdintoihini on löytynyt ratkaisu, ja kuinka kaheli se on.

Kuten kaikki toivottavasti muistavat, keväällä vietin viikkoja kiroten kuinka mistään ei saa työtä, kaikki koulut ovat pelottavia ja mistään ei tule mitään. Lopputuloshan oli, että sain töitä (Pharmadatalta, hieno paikka, hienoja ihmisiä, hyvänä esimerkkinä minä), ja hakemistani kouluista {Metropolia@Leppävaara, Laurea@Leppävaara, Helsingin Yliopisto} vain helsinkiläiset tykkäsivät että parempi onni ensi kerralla. Ammattikorkeisiin pääsin heittämällä sisään. Päätin kuitenkin työskennellä välivuoden verran, ja ilmoitin metropoliaan että katotaan jos ensi vuonna tulisin opiskelemaan. Lisäksi minulla heräsi viime tammikuussa himo lentää pesästä. Koska persoonani on eriskummallinen, ei pesästälento tässä tapauksessa tarkoita sitä että hankkisin kämpän lähempää koulua/duunia, vaan pitkää lentoa, jonka päätepisteenä olisi opiskelupaikka Brittein saarilla.

Ratkaisuja

Kesällä päässäni naksahti. Päivät menivät C#:tä ja Javaa kirjoittaen, illat tein mitä tein. Riittikö se? No ei tietenkään! Soitin kaksoistutkintolukioni, TYKin, kansliaan ja kerroin tilanteen. Oli päästävä opiskelemaan (pitkää) matikkaa! Otin siihen rinnalle myös saksan, jota en kyennyt amiskassa lukemaan, mutta jota olin lukenut 2/3 yläasteestani. Nyt päivistäni oli tullut sellaisia, että aamulla kun lähti töihin seitsemältä, oli hyvällä tuurilla kahdeksalta kotona. Nyt ihmiset katsoivat minua kuin hassua, ehkä ansaitusti, ja ihmettelevät miten jaksan tätä. Vakio vastaihmettelyni on, että kuinka ihmeessä jaksaisin kotona homehtua kaikki illat.
Kuitenkin tähän saakka saksan ja matikan opiskelu oli päämäärätöntä "opiskelenpa tätä kun en muutakaan tehdä osaa" - tyyppistä opiskelua. Viikonloppuna kävin Tässin kanssa pitkällisen keskustelun siitä, kuinka suomalaiset kolmannet asteet ovat tylsiä ja tavallisia, mutta voisimme mennä Skotlantiin, Dundeen yliopistoon opiskelemaan matikkaa ja pelien tekemistä. Minä matikkaa, Tässi pelejä, tietysti :P Vai olikohan se toisinpäin?

Pelien tekeminen on kuitenkin hiukan naurettavaa lyhyellä matikalla ja peruskoulufysiikalla. Lisäksi yliopiston nettisivulla oli hieman vaatimuksia, joita en kuitenkaan osannut suomeksi tulkata, kummastakin. Mutta mikä ettei, minähän olin jo pitämässä välivuotta-opiskeluilla, joten samalla vaivalla voisin pitää kaksi, ja kirjoittaa sekä opiskella kunnolla sekä pitkän matikan että fysiikan, jolloin jo kehtaan hakeakin yliopistoon.

Eli loppuvuodeksi ja seuraavaksikin kalenterini on täysi. MERPG kehittynee perinteisellä yököttelytahdilla, kunhan sekin saadaan potkittua liikkeelle vuotuiselta kesälomaltaan. MEsE pitäisi joku viikonloppu kirjoittaa valmiiksi, ja Pröngin Java-(Clojure?)toteutus pitäisi aloittaa. Kiirettä pitää.

Loppuun vielä ilmoitus. Koska Taitajakisoista en stressannut laisinkaan, ja ne olivat niin kevyet (vai mitensenytoli?), ilmoitin juuri ex-maikoille että ellei työpaikalla ole jotain todella hyvää perustetta, kuten esimerkiksi se että olen työsuhteessa, yritän päästä ensi kesänä Saksaan WordSkillsseihin.

Minä tykkään kirjoittaa emacsilla <3

Sunday, 2 September 2012

Noulife-statusta metsästämässä

Kesän aikana on tapahtunut paljon kaikenlaista. Olen uiskennellut, olen ollut sosiaalinen (hyh meitä nykynuoria), ja kuten olen täälläkin hehkuttanut, olen löytänyt uusia blogeja, joita olen sitten lukenut ja analysoinut tarkemminkin. Eräs näistä blogeista, Yeggen Steven sellainen, on hehkuttanut Emacsia ja Lispejä niin paljon, että kiinnostukseni heräsi.

Emacs

Latasin siis Emacsin, sekä tutustuin ja rakastuin sen kirjoittamisominaisuuksiin. Alkuun ohjelman kuuluisissa pikanapeissa ei ollut mitään järkeä, mutta jo toisena päivänä, jona tein duunissa erästä XML-projektia Emacsilla, olin oppinut kuinka avataan- tai tallennetaan tiedosto, miten haku-ominaisuudet toimivat, miten päästään käsiksi komentoriviin, ja mikä tärkeintä, miten suoritetaan Lispiä.

Avaus- ja tallennuspikanapit (C-x-f ja C-x-s) ovat ihan yhtä hyviä kuin Windows-kulttuuriinkin pesiytyneet (C-o ja C-s), mutta jo ees- ja taaspäinetsintä oli tehty paremmin kuin Windows-tekstinkäsittelijöissä yleensä. C-S antaa kirjoittaa ikkunan alalaitaan hakusanan, jota sitten haetaan kursorin jälkeisistä sijainneista. C-r taas hakee hakusanaa kursoria ennen sijaitsevasta dokumentista. Hakiessa ei tarvitse koskea laisinkaan hiireen, mikä voittaa mm. Visual Studiossa löytyvän hakuhärpäkkeen, jossa ei toki hyvinä päivinä tarvitse koskea hiireen, mutta jolla on tarve esitellä itseään graafisesti ja viedä näyttötilaa :P

Emacsin komentoriviominaisuudet ovat MAHTAVAT! M-! (missä M viittaa Altiin tai Esciin) tuo ikkunan ala-laitaan kyselyn, jonka tulos ohjataan järjestelmän shelliin, mikä Windowsin tapauksessa on cmd.exe. Eikö kuulostakin kivalta? Ai että mihin sitä voisi käyttää? Noh, ainakin Mercurial - versionhallinnan kanssa on usein pidettävä IDEn ohella komentoriviä auki, koska IDE:n Mercurial-integraatio on huono, ja graafisen TortoiseHg:n opiskelu oli paljon raskaampaa kuin komentoriviloitsujen. Jos IDE:n korvaa e-tiedätte-kyllä-millä-macsilla, voi kömpelön alt+tabaamisen sijaan painaa M-! ja kirjoittaa hg - komentoja suoraan emacsista. Näin voimme integroida emacsin kaikkiin versionhallintoihin, joissa on komentoriviliittymä, eli joukkoon, joka käsittää jotain Visual Studioon kolvattuja sourcesafeja lukuunottamatta kaikki käytetyt versionhallinnat.

Lisäksi, jos jollakulla sattuu olemaan emacs juuri nyt ladattuna, kokeilkaapa painaa ensin C-u, sitten M-! ja kirjoittaa komeentokehotteeseen "ECHO Hello World!". Ai mitä? Tuloste, jonka olisi pitänyt ilmestyä Shell Command Output - bufferiin, ilmestyikin auki olleeseen dokumenttiin? Kai ymmärrätte tämän tarkoittavan sitä, että C-u M-! - näppäinyhdistelmän avulla millä vain kielellä toteutettuja toimintoja voi hyväksikäyttää emacsissa?

Lisp

Sanokaa mitä sanotte, en ole kovin hyvä Lispissä, ja olen mahdottoman laiska lukemaan internetissä sijaitsevia "kirjoja". Siksi en jaksanut opiskella Elispiä, vaan sen sijaan menin ja ostin Amazonilta Peter Seibelin kirjan Practical Common Lisp, joka on puolen viikonlopun lukemisen jälkeen saanut minut näkemään ohjelmoinnin uudessa valossa. Tietysti olen oppinut kieltä vasta sen verran, että osaan toteuttaa CL:llä juuri ja juuri keskinkertaisia komentoriviohjelmia, jotka vaativat Lispboxin alleen runtimeksi, mutta kirja on ehtinyt näyttää lispistä puolia, joista saa muualla vain haaveilla. Makrot mahdollistavat kielen kustomoinnin tavalla, joka saa Java- ja C# - ohjelmointiin tottuneen pään pyörälle... tai sitten se on tämä syysnuha, jota olen kehitellyt viikonlopun aikana.

Toinen kirja, jonka ostin samalla, oli O'reillyn kustantama Clojure-kirja, joka ei ole tässä käden ulottuvilla, joten en voi luntata siitä yksityiskohtia. Kunhan saan Common Lisp-kirjan siihen pisteeseen, että voin myöntää itselleni osaavani jotain (katsotaan siinä 2030 uudelleen), opiskelen Clojurea ja todennäköisesti pyrin siirtämään ainakin kotijavaprojektini sille. Jos joku on elänyt tynnyrissä, Clojurehan on kieli, joka tarjoaa paljon Lisp-herkkua, Java-luokkakirjaston ja Javan alustariippumattomuuden samassa paketissa. Taivaassa tehty tulitikku siis.

Kuten sanoin, siirrän todennäköisesti vain kotiprojektini Clojurelle. Syy siihen on, että ihmiset ilmeisesti eivät tykkää opiskella uusia asioita, joten suhtaudun epäillen siihen että töissä koodipohjiani sörkkivät arvostaisivat minua lispin valinnasta. Jännä nähdä, sillä en omaa kokemusta siitä miten ihmiset reagoivat C-murteiden ulkopuolelta tuleviin kieliin, vaan perustan sanomani Yeggen Steven kokemuksiin.

Linux

Tämä on viimeinen pisara, jolla virallisesti möin sieluni "normaalien ihmisten" ulottumattomiin. Olin äärettömän kyllästynyt pikkuläppärilläni olleeseen Windows XP:hen, jossa ainoat käyttämäni non-portaappelit ohjelmat olivat Office ja Visual Studio, joiden toiminnallisuus tippuisi rajusti jos asentaisin taas raudan tehoja syömään seiskan. Lisäksi Lisp-maailmaan sukeltaessani olin huomannut kuinka Lispereille(kin) asiat olivat paremmin vaihtoehtokäyttisten maassa, ja Windowsia tuettiin jos ja kun jaksettiin.

Kokemukseni Linux-maailmasta olivat kuitenkin keskinkertaiset. Aina kun olin kokeillut distroja, oli joko jotain hajonnut, moni asia oli ollut huonommin kuin Windowsilla, tai tilanteessa ei ollut mitään syytä siirtyä Windowsilta pois. Nyt kuitenkin sain työkavereilta suosituksen kokeilla CentOSää. Viime kappaleen perustelut tuovat monia syitä tuoda vaihtoehtokäyttis vähintään Windowsin rinnalle, ja korvattavien nonportaappeleiden ohjelmien vähyyden vuoksi en nähnyt mitään syytä potkia terästankoa, joten tyhjensin pienpäpän kovalevyn täysin ja asensin CentOS kuudennen sille.

Tähän mennessää tämä vaihto on vaikuttanut erittäin hyvältä. Emacs korvaa hyvin raskaat IDEt, Java- ja Lispit toimivat, ja vaikka Pidgin onkin pikaviestimenä heikko esitys verrattuna Livemese -09iin, työn alla oleva MEsE/yool-messenger korjannee kyseisen ongelman. Toivottavasti. Joskus.

Metabloggausta

Tätä tekstiä ei ole kirjoitettu bloggerin selainnäkymässä, vaan päätin kokeilla Yeggen strategiaa kirjoittaa näitä emacsilla. Asiaa/pituus - suhde, sekä silkka pituus, vaikuttavat tässä tekstissä melko hyviltä. Pääsen myös soveltamaan skriptejä tämän toteuttamisessa. Ainoa skripti, jota käytin, lisää </p> \n <p> - merkit puskuriin aina painaessani returnia. Tämä johtuu siitä, että tässä pikkukoneella taginapit ovat erittäin pöljässä paikassa, ja kirjoitan tätä html:nä, joten tuollainen skripti säästää aikaa ja vaivaa. Jos jotakuta kiinnostaa miltä tämä koodi näyttää, niin olkaa hyvä: (defun insert-paragraph () (interactive)(insert "</p> \n <p>")) (global-set-key (kbd "<RET>") 'insert-paragraph)

Ensi kertaan! Silloin minulla saattaa olla asiaa MEsEstä/yool-messengeristä, tai mahdollisesti emacs-blogger - integroinnista, jota suunnittelen tutkimatta onko sitä jo toteutettu. Nähdään!

Friday, 10 August 2012

MERPG-musiikkeja

Allekirjoittanut ei ole mikään musiikillinen ihminen. Okei, kuunneltavan musiikin kanssa olen melko tarkka, mutta soittaa en osaa kuin suutani... tai näppäimistöäni. Olen siis tammikuusta 2011 pelännyt sitä hetkeä jolloin MERPGiin pitäisi suunnitella ja toteuttaa musiikkeja. Viime syksynä tajusin että Nightwishin Song Of Myselfin nelososan musiikkia pitää soveltaa, olettaen että uskallan kysyä ja saan luvan käyttää sitä.

Tänään eksyin Tässin kanssa kuuntelemaan youtubesta Imaginaerumin kasibittisiä sovituksia (suosittelen etsimään esim. "Nightwish Song Of Myself 8-bit" - hakusanoilla videoita, jaksa kaivaa linkkiä :P), ja muutamasta osasimme nimetä suoraan mihin tilanteisiin ne sopisivat taustamusiikeiksi. Tässä lista näistä:

Storytime - Hoputusmusiikki tilanteisiin, joissa tapahtuu pian jotain suurta ja ihmeikästä
Ghost River - Citymusiikki
I Want My Tears Back - Suuren Lopputaiston taustamusiikki
Last Ride of The Day - Tallustelumusiikkia kaupunkien välille
Song Of Myself - Traileria, routea, bosseja... Sillisalaattia :)

Monday, 23 July 2012

MEsE - työnimi

Pärstäkirjan puolella minulta kysyttiin MEsEstä, kun esittelin yhtä ruutukuvaa projektista. Tämä innosti minut julkaisemaan koko projektin. Kirjoitin projektista speksin, ja heitin sen Dropboxiin.

Eli:

Te, jotka olette kiinnostuneita tästä eriskummallisesta MEsE-projektistani, lukekaa tämä dokumentti! Jos on kysyttävää tai kommentoitavaa, blogiin voi kommentoida ja pärstäkirjakin ymmärtääkseni sallii sen. Jos kysymys on kiva, se tulee löytymään speksistä, joka tulee vielä elämään vaatimusten ja tavoitteiden mukana.

Sunday, 15 July 2012

Dynaamisia poroja skriptattuna ilmaan

Tästä tuli taas pidempi ja rönsyilevä teksti. Lopusta löytyy tl:dr - osio yhteenvetoineen.

Olen hämmentynyt. Tutkiessani blogosfääriä tässä eräänä päivänä, tutustuin Steve Yeggeen. En lähde antamaan tarkkoja linkkejä, vaan referoin häntä kuten olen tekstejään ymmärtänyt, ja miten ne ovat jääneet päähäni. Kyseinen kaveri on siis nyt Googlella töissä, ja on viettänyt vuosia myös Amazonilla. Kiinnostavan hänestä tekee se, että hän on blog(e)issaan kumonnut nykyisen ohjelmointimaailmankuvani - vuosia ennenkuin se on syntynytkään.

Tärkein teesi, joka blogeistaan löytyy, on että Java/C++ ei ole parasta mitä ohjelmointimaailma on tuottanut. C++n hän lyttää, ehkä ansaitusti, suoraan, mutten silti lähtisi toteuttamaan 3D-pelejä millään muulla. C++n käyttäjänä kannattanee muistaa konteksti: Yegge on server-browser - arkkitehtuuria noudattavan softan ohjelmoija. Siellä C++lle on paljon siistimpiäkin vaihtoehtoja. Javasta hän lausuu kauniitakin sanoja, minkä ymmärrän, sillä minulle vasta kirkastuu parhaillaan millaista serverimahtavuutta Servletit sisartekniikoineen (tyyppiturvallisuus, JPA/Hibernate, SOAP muutama mahtavuus nimetäkseni) tarjoavat suhteessa PHPhen, mutta Yegge tuo myös esiin Javan ongelmia. Näistä ongelmista kirkkain on se, että Javan vaatiman boilerplate-koodin osuus järjestelmän koodin rivimäärästä nousee, jos ei nyt eksponentiaalisesti niin ainakin melko jyrkän lineaarisesti, suhteessa järjestelmän kokoon. (Örf, en tiedä millaista käyrää se oikeassa elämässä noudattaa. Boilerplaten osuus koko koodista ei nimittäin voi nousta kovin lähelle 100%. Muuta Javalla edes keskikokoisia systeemejä tehneet ymmärtänevät mistä puhun, ja korjannevat minua)

Yeggen tekstien perusteella allekirjoittaneen pitäisi tutustua mm. johonkin Lispiin ja pariin skriptikieleen, joista seuraavaksi lisää.

En muista paljonko Yegge hehkuttaa Rubyä blogspot-blogissaan, mutta sieltä löytyvän Stevey's Drunken Blog RantsTM - linkin takaa (Blogger kopioi muotoilutkin O.o Kivaa) löytyvässä vanhassa blogissa hän on pyhittänyt useamman teksin Rubylle. PHP jätti minulle erittäin huonon maun suuhun "dynaamisesti tyypitetyistä", eli tyyppiturvattomista, skriptikielistä. Pythonia kokeilin tässä keväällä, mutta en nähnyt syytä tutustua siihen tarkemmin. Yegge kuitenkin tuo tällaiset kielet niin hyvässä valossa, että jos en opiskele tekemään keskikokoista softaa Pythonilla/Rubyllä/Lualla, soveltanen jotain näistä väihntään MERPGissä.

Mistä pääsemmekin seuraavaan asiaan: mm. Javascript hyödyntää prototyyppeihin perustuvaa perintää, kuten tietänette. Javascriptissa ei siis ole luokkia, mikä on oikeastaan ihan hyvä juttu, kun katsoo miten kiva niitä on PHP:ssa käyttää. Dynaamiset tyypit ja luokat eivät, kokemukseni mukaan, toimi samassa kontekstissa. Jos jokainen muuttuja voi sisältää mitä vain, mitä järkeä on esimerkiksi polymorfmismissa, eli siinä että eri olioilla sama metodikutsu voi suorittaa aivan erilaista koodia, kun jokainen muuttuja voi sisältää mitä vain!?

Prototyypeistä olin kertomassa. Allekirjoittanutta häiritsi pitkään Javascriptin luokattomuus. Samaa näkee ympäri nettiä, miltei kaikkien juuri Javascriptilla aloittaneiden koodeissa. Hitto, katsokaa Pröngin Javascripteja, ja tuntekaa koodeja kirjoittaneen epätoivo, joka huokuu noista riveistä, jotka ovat kuin C:tä JQueryllä. Vaikka JQuery ($("#id").olehassu().teejotain() - syntaksi) helpottikin logiikan kirjoitusta, näin jälkeenpäin väittäisin sen vaikeuttavan koodien ylläpitoa ja lukemista. Toisaalta, eipä se kyllä JQueryn vika ole. Ilman sitä logiikka olisi vielä epäselvempää.

PROTOTYYPEISTÄ PITI KERTOMANI! Javascriptin luokattomuus siis häiritsee uusia koodareita, jotka eivät vielä tiedä prototyyppiajattelusta. Tunnustan kuuluneeni tähän samaan joukkoon, kunnes luin tämän. Ideanahan on, että jokaisella oliolla on oma Map - tietorakenne, jonne tallennetaan ominaisuuksia avain-arvo - pareina. Kun uusille olioille annetaan prototyypiksi joku olemassaoleva olio, jolla on ominaisuuksia määritelty jo iso läjä, tämä uusi olio saa nämä samat ominaisuudet käyttöönsä. Yksinkertaisimmillaan kyseessä on, Yeggen analogiaa lainaten, samanlainen perintätilanne kuin, pyydän anteeksi luovuuden puutettani, sanoisi: "Feuer kirjoittaa kuin Yegge!". Tällöin minä olen oliomallinnuksen tasolla vai klooni Yeggestä, ja perinnän riemut tulisivat esiin kun minulle annettaisiin omia ominaisuuksia toteamalla "...mutta..."

Onneksi minun ei tarvitse lukea tätä tekstiä. Se vaikuttaa tähän mennessä erittäin rönsyilevältä, mutta toisaalta minulla onkin paljon sanottavaa. Ehkä opin jonain päivänä suunnittelemaan näitä?

MERPGiin palatakseni. Aloin pohtia, että moottoriin voisi joko raa'asti kolvata valmiin JSON-parserin, tai rakentaa itse parserin JSON:n perustuvalle merkintäkielelle. Pelin hahmoluokista voisi sitten tehdä dynaamisempia, niin hieno muotisana kuin se onkin, ja toteuttaa ne Java-luokkien sijasta tekstitiedostoina, jotka moottori lataa, ja joista se parsii lopullisten hahmoluokkien ominaisuudet. Tämä toki avaisi pelin huijauksille, mutta helpottaa myös sen laajennusta ja modailua, ja koska kyseessä ei ole moninpeli, ei huijaukset haittaa oikeasti ketään.

Toinen mitä pohdin, on että jos kenttälogiikkaa ei toteuttaisi Java-mottoriin, vaan iskisin Python-/Ruby-/Lua - tulkin moottoriin kiinni, ja kenttälogiikka pääsisi myös tekstitiedostoiksi moottorin rinnalle. Tämä tarkoittaisi että kentät pääsevät hyödyntämään sitä, mikä ihmisiä noissa kielissä viehättääkään, kenttien testailusta tulisi helpompaa kun moottoria ei tarvitse tappaa kenttien muuttelun välillä, ja moottorista tulee luonnollisesti pienempi ja yksinkertaisempi.

tl;dr

Yhteenvetona sanoin siis seuraavaa: Elämää on olemassa Javan ja C++nkin ulkopuolella, Prototyyppi- ja property - patternit ovat vähintäänkin kiehtovia, niitä voisi soveltaa MERPGiin, ja MERPG tarvitsee jonkin skriptimoottorin itseensä.

Milloinkohan konseptart ja kartat ovat sillä tasolla että kässärin ensimmäisiä sivuja pääsee toteuttamaan? :P

Thursday, 31 May 2012

Se oli sit siinä

Eletään vuotta 2009. Eletään kesää. Eräs nuori mies istuu autossa, matkalla jostain johonkin. "Mitä odotat uudelta koulultasi?" Häneltä kysytään. Hän on juuri päässyt yläasteelta, ja hänellä on koko elämä edessään. Mitä hän tekee tällä elämällään? Minne hän päätyy vuosien kuluessa? Tuleeko hänestä jotain suurta, vai jääkö hän mitättömyydeksi? Huomaako kukaan häntä? "Koulultani..." Hän aloittaa. "En tiedä, ekan vuoden opin koulun tapoja, tokana vuonna sovellan oppimaani, kolmantena vuonna hallitsen koulua." Hän pohtii. Tämä arvio perustui hänen ylä-asteen oppeihinsa, ja toteutui paremmin kuin kukaan olisi ymmärtänyt.

Eletään vuotta 2012. Ilmaan Jeepin jarruja ja kirjoitan Dreamer&Wineen pohdintaa elämän hassuudesta. Ensimmäisen kappaleen tilanteesta on kolmisen vuotta aikaa. Kolme vuotta, lyhyt aika. Mitä niin pienessä ajassa tapahtuu? Ei mitään, kuulen jonkun lausuvan. Tämä on väärin: kolmessa vuodessa koko maailma kääntyy ylösalaisin.

Yläasteella tämä päähenkilö oli tunnettu. Hänellä ja ystävillään oli tapana istua portaiden alla, juoda vadelmamehua ja tutkia maailmaa sanallisesti. Heillä oli tapana päivystää pimeässä välikössä koulun viimeisimmässä nurkassa. Kielitalon portaat olivat myös suosittu maailmantutkimuspaikka. Näissä paikoissa mikään ei ollut turvassa, mitään ei säälitty, kaikki tutkittiin ja analysoitiin. Lisäksi koulussa tuli välillä myös opiskeltua, niin hassulta kuin se kuulostaakin.

Puolen tunnin sisään minun pitäisi lähteä Messukeskukseen valmistujaistilaisuuteen, jossa saan ilmeisesti todistuksia parillekkin tutkinnolle ja stipendin tai kaksi. Jos en ole sitä maininnut täällä, valmistun datanomiksi ja ylioppineeksi. Lisäksi minun pitäis erota parista radeon-näytönohjaimesta, sanoa Taitaja-porukoille terve ja saada ikuistettua muutama juna.

Ensimmäisenä vuotenaan tarinamme nuori mies kohtasi paljon vanhaa ja oppi hieman uutta. Matikkaa tuli opiskeltua, enkussa tuli pärjättyä, ja ruotsikin meni. Ensimmäisenä vuotena hän myös verkostoitui. Jokaisesta ensimmäisenä vuotena hänen kanssaan aloittaneesta ei tule jotain suurta, osasta ei tule oikeastaan mitään, mutta muutamalla hahmolla ryhmästä olisi potentiaalia suuriin tekoihin.

Tämä kolmas opiskeluvuoteni oli samalla melko lyhyt että erittäin pitkä vuosi. Oli Taitajia, oli työssäoppimista, oli koulun mielenkiintoisimmat kurssit... oli kaikenlaista. Koulun ulkopuolellakin tapahtui: MERPG alkoi LOPULTAKIN muotoutua. MERPGin ensimmäinen vuosi oli vähän muodon hakemista ja uuden oppimista, nyt meillä alkaa vähitellen olla koossa selvä paletti siitä, miltä pelin hahmot näyttävät, hyvä karttamoottori, ja käsitys pelimoottorin toiminnasta. Lisäksi kässäri on teoriassa valmis, ja sitä on puhtaaksikirjoitettu wanhasta blogista monta sivua.

Ensimmäinen vuosi oli ja meni. Arvosanat olivat kivoja, ja vaikka päähenkilöllämme oli riittämätön fiilis, hänestä tuntui että pitäisi pystyä tekemään enemmän koulun hyväksi, opettajat jaksoivat hokea kuinka hyvin hän opiskeli. Ensimmäisen vuoden ongelmana oli myös että hän oli mielestään tullut opiskelemaan ohjelmointia, mutta ensimmäisenä vuonna siihen liittyviä kursseja nähtiin jopa... kaksi. Nämä olivat kuitenkin hyviä kursseja: tietokantakurssilla perehdyttiin tietokantoihin niin syvemmälle kuin hän olisi ikinä yksin jaksanut. Opettaja oli välillä helvetin pelottava, mutta loistava: järjestys pysyi yllä, ja kukaan ei uskaltanut keskittyä opetuksen ulkopuolelle. Lisäksi se oli fiksu opettaja, Dreamincodesta saa useain lukea kuinka "ne jotka osaa, tekevät; ne jotka eivät osaa, opettavat", ja tämä ei pätenyt häneen.

Viimeisenä vuotenani olen tehnyt tärkeitä kontakteja: työssäoppimispaikkani mukanaantuomat naamakirjakaverit ja kontaktit, Taitajaporukat (= kanssakilpailijani Lauri ja Joukkueen(minkä? O.o)johtaja Juha) ja sellaiset. Hienoja ihmisiä jokainen, ei voi valittaa, ja suurimmasta osasta tullee olemaan hyötyä henkilökohtaisen maailmani valloituksessa.

Toinen loistava opettaja, johon tässä tarinassa seikkaileva hahmo tutustui, oli ohjelmoinnin opettaja. Kuten olen blogissa ennenkin puhunut, hänestä oli paljon apua MERPGin käyntiinsaannissa. Lisäksi vaikken opiskellutkaan kursseillansa oikeastaan mitään mitä hän opetti, sain silti häneltä hyviä arvosanoja, koska kursseillansa eri oppilaiden huomiointi toimi. Minun ei tarvinnut miettiä int- ja float - avainsanojen eroja, vaikka jollakulla muulla saattoikin olla näiden ymmärtämisessä ongelmia. Okei, ei nykyajan datanomit ihan niin pihalla olleet, mutta muutamilla muilla kursseilla kuulin koulun aikana sillti aivan käsittämättömiä juttuja ryhmäläisiltäni: "Mihin me matikkaa muka tarvitaan?"

Viime syksy oli pohjimmiltaan aika kiva. Yläastetta kertailevat kurssit ja ne, joista en pitänyt, olivat loputalkin loppu. Enää oli jäljellä OPSin korkeimmat java-kurssit, sekä dokumentointiin ja kehityskäytäntöihin liittyviä kursseja, sekä MAB 6,7, 9 ja YH 3,4,5. MAB6:sta taisin saada matikankurssien kovimman arvosanan, kympin. Tykkäsin, kolmas vuosi oli loistavin kolmesta tuohon laitokseen käyttämästäni, vaikka toisenkin vuoden kevät oli melko hauska.

Eka vuosi oli, eka vuosi meni. Toinen vuosi oli loistava(mpi kuin ensimmäinen). Kun toisesta vuodesta oltiin nähty ensimmäiset kolme jaksoa, joiden aikana opiskeltiin kaikenlaisia puolikiinnostavia kursseja, sekä enkkua ja äikkää, tuli työssäoppiminen. Sen jälkeen alkoi Java - kurssi, juuri sopivasti MERPGin inspiroineen etelänmatkan jälkeen. Toisen vuoden kevättä tulen muistelemaan vielä vuosien päästä. Siinä keväässä oli samaa viattoman tekemisen tunnetta, mitä löytyy Nightwishin parilta ekalta kiekolta.

Kuten joku voi päätellä, tätä tekstiä on tehty viikonlopun yli, ja teksti on sopivalla tavalla omahyväisen itsekeskeinen: se kertoo vain minusta itsestäni. Nauttikaa elämästä :P

Thursday, 24 May 2012

Kyselyä diabeettisille lukijoille

Erääseen tulevaan projektiini liittyen arvostaisin jos muutama diabeettinen ihminen voisi vastata seuraaviin. Jos vastauksia tulee paljon, tai joku perustelee miksi vastauksia pitäisi piilottaa, tehnen tästä kyselystä lomakkeen, jonka vastaukset menevät tietokantaan, joskus tulevaisuudessa. Nyt odotan vastauksia kommenttikenttään tai naamakirjaan:

  1. Miten seuraatte sokeriarvoja (vihko/mittarin muisti/joku tietokoneohjelma (mikä?))
  2. Jos seuraatte tietokoneohjelmalla, mitä kaikkea kyseinen ohjelma tallentaa? Verensokeriarvon ja mittausajan?
  3. Mitä kaikkea toivoisitte ohjelman tallentavan? Ylläolevien lisäksi olen keksinyt Huomioita - kentän, johon olisi tarkoitus tarinoida arvoon johtaneista syistä ("Tänään klo 19.32, arvo 4.5, Tulipahan pyöräiltyä taas useampi kilometri!"), ja tietysti ateriapari-merkinnän (ennen ateriaa/aterian jälkeen/määrittelemätön)
  4. Mitä verensokerimittaria käytätte?
  5. Jos kännykkäänne voisi tallentaa verensokeritilastoja, jotka synkronoituvat internetin yli tietokoneelle, käyttäisittekö tällaista ohjelmaa?
  6. Jos vastasitte kyllä, mitä käyttöjärjestelmää käytätte kännykässä (Android/iOS/Windows/Symbian/"nokia"/jokumuu?)
  7. Onko verensokerien jaolle someen (=naamakirja/blogit) kysyntää?
  8. Onko huono asia, jos kännykkä => tietokone - yhteys pakottaisi laittamaan arvot julkiseen blogiin?
Siinä muutama kysymys. Kaikki vastaukset auttavat projektissani :) Vastatkaa siis joko tekstin kommentteihin, mikä vaatinee Google-tilin, tai Facebookkiin.