Kaikki kirjoittajan Tuppu artikkelit

Koodauksen esoteerisyys

Mitä itse ohjelmointia olen tehnyt, niin aina tulee vastaan tiettyjä ajatuksia, jotka eivät ole mitenkään uusia, vaikka itse luulee jotain ymmärtäneensä. Monet vähänkään enemmän ohjelmoineet ymmärtävät, että ohjelmointi on oikeasti jotain aika erikoista. Koodi itsessään ei ole mitenkään kummallista, vaan sen kategorisoiminen tiettyyn ryhmään on hämmentävän vaikeaa. Ohjelmakoodi itsessään on täysin loogista ja rutiininomaista suorittamista, joka ehkä onkin isoin ongelma.

Kuva 1. Oli työkaverini kanssa puhetta minun happamasta orginaalista gallialaisesta belgialaisille nuorille kehitetystä itse panemastani oluesta, jota hän epäili jonkinasteiseksi villihiivaolueksi [wiki/lambic, Zamnesia/galliaOlut]. Suoritteli tätä ”keskiaikaista” luostariolutta ostamaan.[belgianBeerFactory]
Jotenkin aina itse tehdystä oluesta tulee mieleen seuraavan videon ale eli pintahiivaolut, joka ei siis ole tätä nykyistä ruokakaupoista saatavaa kliinisen kirkasta lageria. Ehkä pitäisi tuntea huonoa omaatuntoa, kun Rome Total War peliä pelatessa pitäisi oluen ja sianlihan sijaan nauttia italialaista punaviiniä ja pizzaa [beachHouseKitchen].

Ehkä kuitenkin on oikein samaistua pohjoisiin barbaarisiin kansoihin, joihin itse vähintäänkin kuulun, jos kerran 2k vuoden takaiset belgialaiset/hollantilaiset (Gallia) ja saksalaisetkin (Germaanit). Kiva peli kuitenkin, kun pääsee hyppäämään antiikin aikaisen johtajan saappaisiin.

Nykyajan menestyneeltä johtajalta ehkä odetaan jotain muuta kuin ei-meidän-kaverihin kuuluvien mahdollisimman suurta hävitystä ja psykopatiutta? Melkoisen sairasta se isojen poikien toiminta Raamatun kirjoitusaikana oli. Ikävän usein moni tekee itsemurhan tässä maailmassa, eivät koe vahvimman vallalla hallitsevien vallanpitäjien puolustavan heitä.

TTY:n laitosjohtaja Tommi Mikkosen näkemys siitä, että onko ohjelmointi tiedettä, taidetta vai kansanperinnettä, niin on yhä hyvä kysymys. Itseäni kovasti myös mietityttää, että miten ohjelmointia tulisi opettaa. Olen tässä blogissani väittänyt tai ainakin esittänyt näkemykseni, jonka mukaan ohjelmointia tulisi opettaa ammattikoulussa. Tietysti taustalla on omat tekijänsä, mutta nykyinen opetusmalli on ilmeisen heikko ohjelmoinnin opettamiselle. Ei varmasti ole vieras tai uusi ajatus, että yliopistossa on isoja ongelmlmia sen suhteen, että miten ohjelmistoalaa tulisi opettaa. Osaamista varmasti on nykyisistä ohjelmistomenetelmistä, ongelma ei siis ole siinä, vaan sen vähäisenkin tiedon siirtämisessä opiskelijoille.

Ohjelmistoalaa usein teknillisestä taustastaan johtuen nähdään hyvin insinöörimäisenä. Tämä ajatustapa korostuu etenkin Suomessa, Yhdysvalloissa ohjelmistoala nähdään enemmänkin käsitteenä CS eli Computer Science eli omana tieteenalana.  En osaa sitten sanoa, että onko suomalainen vai yhdysvaltainen käsite enemmän pielessä, vaan taustalla on paljon syvällisempi ongelma.

Itse olen känyt Seinäjoen ammattikorkeakoulun, jossa oikeasti yritettiin olla erittäin käytännönläheisiä. Mielestäni ajatus oli erittäin hyvä, etenkin sulautetuissa järjestelmissä rento ilmapiiri auttoi paljon, oppimista tapahtui. Toisaalta valitettava fakta ohjelmoinnin opetuksen takana oli se, että minulla taustalla omaa täysin vaatimatonta harrastuneisuutta, joka antoi aivan uskomattoman etulyöntiaseman moniin lukion käyneisiin opiskelijakavereihin. Jo ennen opiskeluaikaani pidin tätä panosta naurettavan vähäisenä, nykyäänkin hämmästelen, että miten en osannut nuorempana tajuta, että miten kriittistä ja merkittävää se pienikin näpräys oli.

Ehkä vieläkään opetuksessa ei täysin ymmärretä, että ohjelmointi on erittäin latteaa vaatimustastoltaan. Ohjelmointi ei vaadi mitään syvällistä ymmärrystä yhtään mistään, vaan hirveästi ymmärrystä monesta pienestä tekijästä yhtä asiaa kohti.

Ohjelman koodaus on kuin valehtelua. Sinun pitää tuottaa jokin toimiva vale, joka kestää kaikki kriittisimmätkin tarkastelut, eikä koskaan voi olla täysin varma oman valheensa paikkansapitävyydestä. Valettasi voidaan käsitellä oikeudessa, tuhansien vuosien päästä, kenen tahansa tai minkä tahansa kulttuurin ja aikakauden aikana.

Itse vertaisin erinomaista ohjelmaa raamattuun. Erittäin hyvä ohjelma kestää kaikkien niiden sukupolvien ja erilaisten ajatusmallien mukaiset käsittelyt. Se on ympäripyöreä kokonaisuus, jossa ei voi tarrata mihinkään terävään kulmaan. Mistään sitä ei saa kräkkeröityä auki, mutta silti se aina on absoluuttisesti ei-väärässä. Se ei sorru sellaisiin kulttuurisidonnaisuuksin mielikuville, kuten että esimerkiksi punainen väri on maskuliinen tai että sukupuolia on 60 kappaletta. Silti se esittää jotain sellaista asiaa, jota sen tavoitteisiin kuuluu. Silti se ei ole tiedettä, vaan ajaa omaa asiaansa.

Hyvän koodarin piirre on se, että ymmärtää hyvin erilaisia ajatusmalleja ja osaa ajatella ”out of the box”. Konservatiivista kulttureista on harvemmin tullut hyviä ohjelmitokeskuksia. Uskon näillä kahdella tekijällä olevan korrelaatiota. Hyvä koodari on älykäs ja vähintäänkin osaa ajatella liberaalisti eli vapaasti. Kutsuisin tätä liberaaliutta tietynlaiseksi luovuuden käänteisyykseksi, jolloin ymmärtää luovuuden haasteet reaalimaailmassa, jotta osaa luoda rajat ja määritellä ohejelman toimintaa. Ohjelmoinnissa jää todella helposti kiinni omasta tyhmyydestään ja tietämättömyydestään. Koska omaa tietämättömyyttään ei tiedä, niin olisi hyvä, että ohjelman testaajana toimisi toinen ohjelmasta täysin tietämätön ohjelmoija tai vähintäänkin ennakkoluuloton lapsi.

/**********************************************/
/* first editions                             */
/*   2017-12-29 Tuomas Liikala Seinäjoki      */
/* Sen lauluja laulan, jonka leipää syön Oy   */
/**********************************************/
/* Itselläni on hyviäkin muistoja Tampereelta */
/* vuosilta 2013 - 2016,                      */
/* synnyin Tampereella vuonna 1988.           */
/* Silti minulle *se kaupunki etenkin         */
/* kaupunkina oli jotekin liian               */
/* vasemmistolainen.                          */
/* Pidin TTY:sta ja monesta                   */
/* muustakin asiasta, ei sillä                */
/**********************************************/
/* Protip: vuonna 2037 pyörähtää              */
/* 32 bittinen ajanlasku ympäri               */
/**********************************************/

Referenssejä:

Manifest for software craftsmanship (#24074)

Aikajärjestelmän määritelmä on suoraa sanottuna kivikaudelta: PHP Document: Date()

Wiki: Juliaanien kalenteri (Saturnalia)

klo 23:59:60 Wiki: Karkaussekuntti

Ajanhenki

Mitäpä nykyajan ihmisistä jäisi jälkeen? Jotain parempaa kuin aiemmista sukupolvista? Ihmiset usein kuvittelevat, että nykyajasta vielä seuraisi jotain, monien usko ihmisiin on jo mennyt.

Monet ihmiset haluaisivat jättää jonkin jäljen tähän maailmaan, kun tietävät, että elämä on hyvin rajallista. Minkälaisen jäljen kukin jättää, miten kauan se säilyy.

Ihmisten toiminta on usein järjetöntä, monia resursseja käytetään jopa toisiaan vastaan. Sota on hyvä esimerkki tällaisesta, mutta paljon muutenkin ihmisten toiminta on tehotonta.

https://youtu.be/CrrSAc-vjG4

Paljon logistiikassa tehdään turhaa työtä, kun ei osata mallintaa resurssivirtoja järkevästi. Paljon käytetään työvoimaa pelkän rahan pyörittelyyn, paljon samaan aikaan on työttömyyttä. Syynä suurelta osin vain on, että ei osata kohdistaa resursseja oikein. [Jorma]

Nyt on paljon myös ollut puhetta uudesta Tokamak-tyypin reaktorista, joka tuottaisi Britanniassa fuusioenergiaa 30-luvulla. [IBT]

Ylipäätänsä uskoisin itse, että kannattaa näytellä positiivista ihmistä. Eihän se helppoa ole, mutta yrittää kannattaa edes. Jos toiselle haluaa olla mahdollisimman paha, niin paras tapa siihen on syrjiminen ja välinpitämätömys.

Wiki-referenssiä: Luettelo matematiikan ratkaisemattomista ongelmista

Uransa huipulla

Nyt on ollut paljon keskustelua siitä, että HS:n toimittaja julkaisi puolustuvoimien salaista aineistoa. Tässäkin on omiin korviini kanatutunut monenlaista näkeystä. Osan mielestä koko asian salailu on erikoista, kun Wikileaksin vuotojen perusteella kaikki merkittävät valtiot vakoilevat toisiaan. Osa taas näkee tään asian erittäin vakavana uhkana yhteiskunnalle, eikä hyväksy lehdistöltä tällaista. Itseäni eniten kummastuttaa, että eikö armeijan tulisi itseään katsoa peilistä, jos kerran heidän omia salaisia papereitaan ovat.  [HS, Wikileaks]

Kuva 1. Piti lähteä töistä vähän aiemmin tänään, kun sain  joululahjaksi tällaisen nykyisen lempiviinini ja herkullisen homejuustolajitelman. [viinilehti]
Itse uskaltaisin väittää, että tämänlainen vuoto on monelle toimittajalle uran kohokohta. Monet usein nauravat uutisille, joita itse typeränä klikkailevat. Kuitenkin taustalla on toimittajan uran huippuhetki, kun 100 k ihmistä lukee uutisen, olkoon sisältönä mitä vain. Tätä moni ei välttämättä tule heti ajatelleeksi, kun ei sitä motivaattoria halutakaan näyttää uutisessa.

Minä olen miettinyt, että mikä mahtaa olla ohjelmistoalalla uran huippu ja etiikka. Milloin ihminen saavuttaa sellaisen tason, että siitä on vaikea päästä ylöspäin. Onko se siinä vaiheessa, kun saavuttaa suurta huomiota, vai onko se jotain muuta. Itse uskoisin, että menestys ei kuitenkaan ole huomiota, ainakaan suurimmalle osalle. Ei se sitä varmasti ole useimmille toimittajillekaan, väittäisin. Monet ovat sitä mieltä, että nykyaikana liikaa tavoitellaan pinnallisia asioita. En osaa sanoa, että onko aiemmin ihmiset olleet yhtään se parempia ja vähemmän huomionhakuisia, vai onko mahdollisuudet ja välineet vain olleet heikommat. [tuppu/menestys]

Minä itse olin todella tyytyväinen, kun ensimmäisen kerran sain tehtyä Patterimadon. Tämä hetki oli jotain sellaista, jossa häkellyin itsekin. Kun näytössä taulukkoon sijoitettu mato liikkuin autoMaagisesti näppäinkomentoja totellen, niin se oli jotain hämmentävää. Itse koin silloin, että valaistuin tietotekniikan mahdollisuuksista. Siinä iässä myös kaikki liikkuva asia oli kiinnostavaa, nykyään ei enää tule kiinnitettyä vastaaviin asioihin niin paljoa huomiota.

Toinen itselleni erittäin valtava huomio oli se, että oikeasti ammattikorkeakoulussa koin menestyneeni, osasin tehdä erilaisia ohjelmia ja ideoida itsenäisesti. Suuri juttu oli, kun tein oman opinnäytetyöni täysin yksin. On todella uskomatonta, että saa toimivan tuhansien rivin ohjelman toteutettua.

Ohjelmointiputkalaisilta irkissä kysyin neuvoa, että miten minun tulisi koodata, ja minkälaisia asioita tulisi huomioida. Ainut ja ikimuistoinen ohje oli se, että ohjelma pitää enkapsuloida pieniksi palasiksi, jotta minä tai joku muu voi myöhemmin mukauttaa kyseisen ohjelman arkkitehtuuria palapelimäisesti uudestaan uuteen ja oikeampaan muotoonsa. [wiki/encapsulation]

Itse myöhemmin suurelta osin muotoilin ohjelman koodia uudestaan, aiempaa parempaan rakenteeseen. Parantamisen varaa varmasti jäi, mutta ohje oli jopa heikolla osaamispohjalla hyvä. Ohjelman tulisi siis aina oltavissa räjäytettävissä atomeiksi (akateemisesti sievennettävissä) ja kasattavissa haluttuun muotoon, muuten projekti menee helposti solmuun vaatimusten muuttuessa.

Kuva 2. visuaalisesti havainnollistettuna ketterän menetelmän pääperiaatteet. [tuppu/uudissana-kettera]
Myöhemmin tyytyväinen olen ollut mm. TTY:lla tekemääni algotimikurssin tehtäviin, joissa ratkaisin julkisen joukkoliikenteen bussiaika -tehtävän. Oli todella hienoa, kun sai tehtyä erittäin monimutkaisen ohjelman, joka käytti n. 100 riviä koodia taustalla. Ohjelmaan syötettiin lähtöasema, määräpää ja lähtöaika, niin ohjelma laski taustalla käytetyn aineiston pohjalla linja-aikataulua, jonka avulla sai selville nopeimman reitin. Koin oppineeni siinä tehtävässä todella paljon ohjelmoinnin ideasta, hieman samanlainen kokemus kuin ensimmäinen itsenäisesti kehittämäni matopeli. Minun mielestäni se on ohjelmointia parhaimmillaan, siis algorithmien koodaus.

Itse tykkäsin todella paljon myös TTY:n ohjelmistotuotannon menetelmät -kurssista, se oli myös yksi minun suosikkikurssejani. Opin silloin erittäin paljon asioita, joita en tiennyt aiemmin. Paljon oli virheellisiä uskomuksia perinteisestä projektimallista. En esimerkiksi tiennyt, että iteraatiomallia on käytetty projekteissa jo kauan aikaa sitten. Vesiputousmalli on nimenomaan aluperin käytetty alkuaikojen projektimallin ongelmien kuvaukseen, hieman kuin nykyään puhutaan feudalismista keskiajan järjestelmänä.[TTY/SoftwareEngineeringMethodology, wiki/feodalismi]

Jotain ehkä opin tai ainakin osasin Tampereen teknillisessä yliopistossa, kun kerran minulle TTY:n toimesta myönnettiin DI:n arvonimi, vaikka nöyryydessäni en käytä sellaisia lisänimiä kaikkialla. En halua kuitenkaan väheksyä koulutusta, se on  Suomen korkein teknillinen koulutusaste tutkijakoulusta lukuunottamatta. TTY:n tasosta tietysti voi väitellä, mutta kansallisen tason puolesta ehkä arvostetuin teknillinen yliopisto Otaniemen jälkeen. Vuosi 2015 – 2016, niin ei ehkä ollut niitä TTY:n kultavuosia IT-alalla, kuten ei muuallakaan Suomessa. Jotain ehkä kertoo ajasta se, että minunlaistani porukkaa otettiin sisälle. Diplomityöstäni sain arvosanaksi kolmosen, että ei nyt mitään ihan tähtitieteellistä. Tosin puolustukseni pitää sanoa, että sen kirjoittamisen aikaan oli omat haasteensa meneillään. Diplomityöni ohjaaja (sekä tietotekniikan laitosjohtaja) Tommi Mikkonen toimi tarkastajana, aivan fantastinen tyyppi! [tut/tjm]

Aamulehti: Valtakriisi Tampereen uudessa yliopistossa

Nyt tällä hetkellä töissä koen suurinta iloa siitä, että on päässyt tekemään porukalla yhteisiä projekteja. Tulisi aina pyrkiä menemään ulos omalta mukavuusalueeltaan, kohti uusia suuntia. En tiedä, että minne tieni tulevaisuudessa vie, mutta aina on tärkeää pyrkiä kehittymään uusille ja tuntemattoille alueille. Omaa tietämättöyyttää ei yleensä tiedä, kun se on mahdotonta. Harvemmin kuitenkaan mitään tehdään turhaan, selityksetkin voivat olla ajanhetki huomioiden täysin perusteltavia, kyse on vain omasta tietämättöyydestä.

Kun sanotaan, että projektin määrittelyvaiheessa huomattu asia säästäisi moninsatakertaisesti aikaa projektissa, niin ei välttämättä heti kerro paljoa käytännöstä. Käytännössä 200x ero tarkoittaa sitä, että päivän koodaustyöhön vaadittava aika optimaalisessa tilanteessa, niin vastaavan määrityksen muuttuminen projektin loppupäässä tarkoittaa yhden vuoden työpanosta koodarilta. On helppo ymmärtää, että miksi vesiputousmallissa on pyritty välttämään muutosia määrittelyvaiheen jälkeen, vaikka asiakas ei olisikaan ollut tyytyväinen. [wiki/vesiputousmalli]

Itse kävin viime viikon torstaina Vaasan Hacklabissa, joka sijatsee 1930-luvun saippuatehtaassa. Kyseinen punatiilestä muurattu teollisuusajan rakennus on saavuttanut ajan, jossa se joutuu purettavaksi. Sen sinällä toiminut kerho hämmästytti itseäni nykyaikaisuudella ja tulevaisuudentoivolla. Itse olin todella kiinnostunut laserleikkurista, josta sain puusta leikattuja paloja, joista kasaamalla saa tehtyä korurasian. Myös 3D-tulostin oli erittäin mielenkiintoinen kapistus, kuten myös yleisesti trendikäs käsityöharrastuneisuus. Uskoisin, että tällaisesta voi tulla paljon osaamista, vuosikymmenien ja sukupolvien aikaisella panostuksella. [VaasaHacklab]

Manifesto for Agile Software Development

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more. [agilemanifesto]

Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
Dave Thomas

Terveydenhoidon visio

Itse kävin jokin aika sitten viimeksi sairaalassa tikkauttamassa pientä haavaani, sain samalla vahvisteen jäykkäkouristukseen, kun muutaman kuukautta aiemmin tullut 10 vuotta täyteen edellisestä rokotuksesta.

25 vuotias pääkaupunkiseutulainen lääkäri hoiti tikkauksen ripeästi. Hänen puheensa oli lääkärille sopivan ylimielistä ja epäinhimillistä, latinalaisia sivistyssanoja olisi vain saanut nykyistä enemmän opetella luettelemaan.

Yllättävän usein joutuu sairaalassa käymään, tulee jopa huono omatunto, kun tietää aiheuttavansa niin paljon kuluja veronmaksajille. Uskoisin kuitenkin, että terveydenhoitoon käytetyt varat maksavat useimmissa tilanteissa itsensä takaisin kansalaisten lisääntyneinä terveinä elinvuosina, samalla vastakkaisesta leikaten sairaita elinvuosia. Suomessa käytetään kansantalouteen nähden puolet vähemmän rahaa terveydenhoitoon kuin Yhdysvalloissa.

Minun mielestäni Ihmisoikeuksia kunnioittavissa maissa terveydenhoitoon valtio käyttää selvästi enemmän resursseja kuin armeijaan ja poliisiin [usDebthClock]. Yhdysvaltain sotaresursseilla voitaisiin ratkaista kurjuus maailmasta. Nyt maassa on 2 miljoonaa vankia. Yhdysvaltain vankilat toimivat sosiaalilaitoksina köyhille [is,  tt].

Terveydenhoito on kehittynyt monen asian tavoin valtavasti viimeisen sadan vuoden, mutta odotukset ovat kovat vastaisuudessakin. Erittäin paljon itse odotan geenihoidoilta, joissa perimän muutoksilla saadaan hoidettua terveyttä. On myös toiveissa, että syövän voisi parantaa elimistön omalla immuniteetilla [YLE].

Nykyään on vaikea edes ajatella, että perusterveitä ihmisiä kuoli erilaisiin kulkutauteihin, jotka levisivät kausittain. Tällaista tilanne on yhä monissa kehitysmaissa, mutta suhteellisesti tilanne on parantunut. Koko ihmiskunnan keskimääräinen elinajanodote on reilusti yli 70 vuotta [worldbank].

”1960- ja 70-luvulla syntyneistä hyvin suuri osa on sairastanut tuhkarokon, hinkuyskän ja vihurirokon.” –Iltalehti

Osataan sitä Itä-Suomen yliopistossakin mokailla, Tiede-foorumilla ja muuallakin ihmetelty D-vitaminisuosituksia, mutta ilmeisesti se onkin ollut pelkkä laskuvirhe. Onneksi Olkoon Pekka Puska ja muut akateemiset tutkijat, kiva tietää, että Suomessa ei osata edes laskea mikrogrammoja oikein kokonaisessa yliopistossa tutkijatasolla:  [NCBI]

Vitamin D math mistake had been made, adults need at least 8000 IU – July 2017

Koska Suomessa uutisoidaan siitä, että mitä tasoa meidän ravintotosuositusten tutkimus on? Ensin Puskan suppeaan ja väärin tulkittuu tilastoaineistoon perustunut amerikasta kopioitu rasvahypoteesti, jota on tuputettu ympäri peruskouluja. Koko korrelaatio voinkulutuksen ja sydäntautikuolleisuuden välillä ei näy viimeisen 30 vuoden aikaisen aineiston pohjalta ollenkaan, kuten toisen maailmansodan jälkeisessä aineistossa sodassa olleiden maiden tilastoista ilmenee. Nyt sitten paljastuu, että vaarannettu koko kansakunta väärin lasketuilla vitamiinisuostiuksilla tien mihin osteporoosioon ja lukemattomiin muihin puutostilasta johtuneisiin sairauksiin. [NCBI, ravitsemusjaterveys]

Jos nyt jotain hyvää saa sanoa tästä Itä-Suomen tutkimuksesta, niin nyt ainakin on hyvää kansallista aineistoa siitä, että mitä D-vitamiinin puutos aiheuttaa väestössä. Diabetes on ilmeisesti yksi D-vitaminipuutoksen oire, sydäntautikuolleisuus ja ehkä jopa masennus? Tällaista miljoonia ihmisiä koskevaa sukupolvien aikaista ihmiskoetta ei ihan helpolla saa tehdä.

Kvanttiohjelmointi tulee

Pitkän aikaa ohjelmien suorituskyky esikännetyllä ohjelmointikielellä on jäänyt miljardeihin riveihin sekunnissa, vaikkakin rinnakkaisuus on lisännyt suorituskykyä. Yksinkertaisesti nykyisiä ohjelmia ei voi helposti optimoida suoritusta lisää, vaan tarvitaan uutta tekniikkaa. Microsoft on tuonut ohjelmoinnista kiinnostuneille kvantti-api:n Q#-kielellä.

Itse opiskeluaikanani tykkäsin paljon alkorytmi-kurssista, TTY:lla se oli minun lempikurssini. Lyhimmän reitin haku ja järjestysfunktiot voivat hyötyä kvanttilaskennasta valtavasti. [TTY]

TTY:lla opiskellessani en kelvannut oman alani työpaikkoihin, niin ei siltä ajalta oikein mitään hyvää jäänyt oppimisen osalta. Sinällään hyvä koulu, mutta ettei töihinhaussa tärpänny opintoaikoina. Erityisesti pidin 24/7-kulttuurista eli koulu ja tietoteekkarikilta oli melkein aina auki. Elämä oli hieman kuin jossain Japanissa [tiede.fi]. TTY:n tiloissa tuli kerran oltua algoritmikurssin viimeisen tehtävän takia 30 tuntia putkeen.

Kuva 1. Minun kuusikulmiollinen vappulakkini (sis. satojen grammojen silkkitupsu) puuvillasivuisen dippatyöni päällä [TEK]
TM: Kielioppivirheistä huomauttelevista ihmisistä paljastui yhteinen piirre: he ovat mänttejä

Diip’a-daapaa

Maailmasta on paljon hämmentäviä asioita, joista ei ole varmuutta tai tietoa. Paljon on myös selitetty aiemmin tuntematonta. Ihmiset eivät ennemminkään olleet tyhmiä, he vain tekivät havaintojensa mukaisia johtopäätöksiä.

Esimerkiksi tautien selittäminen hygienialla oli historiallista ajattelua. Rooman valtakunnassa oli kylpylöitä, joissa ihmiset kykenivät peseytymään. Kuitenkaan peseytyminen homokylpylässä ei paranna tai ehkäise kuppaa tai montaa muutakaan sairautta. Täten oli loogista olettaa, että sairauksien takana on jotain muuta kuin epäpuhtaudet.

Keskiaikana oletettiin, että sairaudet olisivat ihmiset elämäntavasta johtuvia syitä. Ihmiset sairastuivat, koska pahat henget aiheuttivat niitä tai jokin noita oli kironnut heidät. Pahimmillaan tämä johti ihmisten polttamiseen hengiltä ja kiduttamiseen, jotta pahuus olisi saatu pois ihmisistä.

Mikroskoopin myötä ymmärrettiin, että tautien taustalla ovat mikroskooppiset elämänmuodot. Tämän seurauksena elintarvikkeiden säilöntä, desinfiointi ja antibiootit saavuttivat suurta suosiota. Ihmiset halusivat kaikin keinoin tappaa bakteerit kodista, ruoasta, juomasta ja elimistöstä.

Ymmärrämmekä me vieläkään lopullista totuutta sairauksista? Jatkuvasti ihmettelemme, että mistä tulevat erilaiset sairaudet. Emme vieläkään ole saavuttaneet ikuista elämää, vaan yhä mietimme monien sairauksien lähdettä. Meidän ymmärryksemme sairauksista kehittyy yhä.

Tällä hetkellä elossa on 7 % kaikista 50 ka aikana eläneistä ihmisistä [tiede.fi]. Se on hyvä saavutus, kun nykyihminen on käynyt sukupuuton partaalla, kuten muut ihmishaarat ovat hävinneet. Olemme saavuttaneet tason, joka on historiallisesti erittäin hyvä. Nyt ei vain saa jäädä tuleen makaamaan, vaan on edettävä samaa tahtia eteenpäin kohti kestävää kehitystä. Jos niin ei toimita, niin käy kuten muillekin ihmishaaroille.

”Jotenkin hauskaa kuvitella ihmisten olleen lauma 10-12 vuotiaita ”lapsia” joskus, mutta hyvin on tänne asti tultu. Pitäisikö siis aikuisiän raja laskea 10-12 vuoteen?” –anklebone@tiede.fi

Jatkuva kehittyminen

Haavisto: Pohjanmaan peliala ja Suomen seuraavat 100 vuotta. Tapahtuma Seinäjoella 4.12.2017

Itsekin olen elämässäni jo ehtinyt opiskelemaan paljon, mutta silti uutta asiaa tulee enemmän kuin ehdin omaksumaan. En edes ajattele, että itse olisin koskaan valmis ja tietäisin tarpeeksi. Omassa elämässäni vuodet eivät riitä kaiken tarvittavan omaksumiseen, jossain vaiheessa jopa oma osaamiseni kääntyy suhteellisesti laskuun, jonka jälkeen tietämykseni heikkenee nopeampaa kuin ehdin omaksumaan uutta.

Kuva 1. Työkaveriltani lainaksi saamiani kirjoja.

Minun ohjelmintia opettelemaan ryhtyessäni – melkolailla vuoden tarkkuudella vuosituhannen alussa – minulle sanottiin; että ei ole merkitystä, että millä ohjelmointikielellä opettelen ohjelmoimaan. Tämän kommentin sanonut henkilö kertoi, että oli joutunut opettelemaan noin kymmentä erilaista ohjelmointikieltä omassa elämässään, kun työkseen ohjelmoi. Lohdullista oli, että ensimmäisen ohjelmointikielen opettelun jälkeen kaikki muut kielet ovat olleet suhteellisesti erittäin helppoja oppia, kun on ymmärtänyt perusajatuksen.

Itse opettelin ohjelmointia C/C++ -kielellä. Se oli vielä sitä aikaa, että C++ oli C-kieli olio-ohjelmoinnilla.  Silloin C-kieltä pidettiin amatöörimäisempänä, jota tekivät henkilöt, jotka eivät olleet omaksuneet vielä olio-ohjelmointia. Nykyisin C++ ja C-kieli ovat niin paljon erkaantuneet, että C-kielimäinen syntaksi C++-kielessä on melkein syntiä; C-kielen täydellinen yhteensopivuus C++-kieleksi käännettynä oli jo opiskellessani TTY:lla historiallinen jäänne.

Kuva 2. On paljon taitoja, joissa minäkään en ole vielä erityisen hyvä. [youtube]

Väittäisin, että C-kieli oli minun aikanani mitä mainioin valinta ohjelmoiniekieleksi. Valitettavasti en itse koskaan opetellut ohjelmointia kielenä tarpeeksi, vaan keskityin enemmänkin siihen, että mitä saan sillä aikaan. Näin jälkeenpäin sanottuna koko ajatus oli typerä. Toisaalta silloin ei ollut vastaavia tapoja esittää omaa osaamista kuin nykyään Githubien ja muiden aikana, niin saavutukset vain merkitsivät, ainakin itselleni. Oli todella hienoa huomata, että sai matopelin toimimaan, ilman että olisi saanut mitään apua. Mielestäni se oli jopa hyvä saavutus, koodasin sen parissa päivässä, kun saavutin riittävän ymmärryksen C-kielestä. En ole koskaan katunut, että tutustuin tähän ohjelmointikieleen, vaikka en ole sitä koskaan töissä tarvinnut, vaan olen käyttänyt korkeamman tason ohjelmointikieliä.

Kuva 3. Kävin viikonloppuna Sepeli Ry:n pelijameissa ekaa kertaa, niin mallinsin lumiukon. [blender]
Ylipäätänsä itse olen sitä mieltä, että ohjelmointia yhä kannattaisi opetella mahdollisimman matalalla tasolla. En usko, että korkean tason skiptikielet tai muut vastaavat on hyvä asia opettaa kenellekään ohjelmointia, kuten esim TTY:lla minun jälkeeni C++ korvattiin Pythonilla. Mielestäni ohjelmoinnin oikeasti oppii silloin parhaiten, kun ohjelmointikielessä ei ole mitään apupyöriä, jotka antavat virheellisen mielikuvan tietokoneen toiminnasta. Oikeati on hyvä, että ymmärtää kokonaisluvuilla tietokoneen laskevan 2=5/2; Vielä parempi, jos ymmärtää asian bittitasolla, että miten boolean algebrallisesti se lasku menee transistoreiden tai vaikka releiden sähkönjohtavuutena.

En halua mitenkään kritisoida erilaisia tasoja, on hyvä ymmärtää, että ohjelmia tulee mallintaa monella eri tasolla. Täten olen todella tyytyväinen nykyiseen työpaikkaani, vaikka DI:n koulutuksen kautta voisi odottaa ties mitä luontaisetuja ja palkkausta. Itse kuitenkin olin jopa valmis menemään ilman työsopimusta työpaikalle tekemään täyttä päivää, vain sen takia, että saan kokemusta ja osaamista. Todellisuudessa ohjelmistoala on sellainen, että palkka ei paljoa vaikuta työn tuottavuuteen, niin paljon kuin insinöörialojen palkkauksesta puhutaankin. En vain voi ymmärtää, että mitä sillä puheella tarkoitetaan. [taloussanomat]

Oikeasti IT-ala on kutsumusammatti, jossa oletetaan, että työ menee perhe-elämän ja vapaa-ajan edelle. Työhaastatteluissakin aina kysytään sitä, että miten paljon käyttää vapaa-aikaamsa uusien työssä tarvittavien tekniikoiden opetteluun. Itse olen niin laiska, että luen vain oman alani kirjoja ja keskustelen irkissä. Harrastaisin enemmänkin, jos joku edes hieman tukisi Seinäjoen hacklabia. Eikä edes minun itseni takia, vaan tulevien sukupolvien edun nimissä. motivaatio ohjelmoinnin oppimiseen lähtee siitä, että on hyvä yhteishenki ja mukavaa tekemistä, kovat tavoitteet tuottavuudella vain aiheuttavat motivaation romahtamisen ja verenpaineiden nousua. Ehkä sitä aiheuttaa myös seuraava korkeatempoisempi musiikkityyli 90-luvulta.

Kannattaa lukea ja opiskella, eikä luottaa mutuun, mediaan ja muuhun sosiaaliseen paineeseen omissa ajatuksissa. Miljoona kärpästä voi olla väärässä, tiede ei ole demokraattista. Kuten videossa sanottiin, niin jenkkien lisäksi brittien ja EU:n tiedemiesten tutkimukset ovat päätyneet samaan tulokseen.

Kuva 5. Itse panen gallialaista olutta Jouluksi. [Wiki/GalliaBelgica]

Seinäjoki kehittyy

Itselläni on toisinaan ollut epäuskoa Seinäjokea kohtaan. Samoin olen menettänyt toivon siitä, että yleensäkään kannattaa odottaa asioiden parantuvan itsestään. Toisaalta tämä ajatus on muuttunut kun on nähnyt erilaisia ympäristöjä enemmän, joskin vain subjektiisena otantana. Samoin itse voi asioihin vaikuttaa, toisinaan se on jopa yllättävän helppoa.

Kuva 1. Seinäjoella valmistetaan heinäsirkoista ruokaa. [Ilkka]
Opiskelin Seinäjoen ammattikorkeakoulussa tietotekniikkaa. En olisi koskaan uskonut, että esimerkiksi ASP.NET ja ADO.NET tekniikoiden opettelu palvelinohjelmoinnin kurssilla olisi ollut erittäin opettavaista, jopa pidin kyseisen kurssin harjoitustyöstä erittäin paljon. [PalvelinohjelmointiHarjoitustyö]
Kuva 2. Turkinpippuri oli ehdottomasti Seinäjoen paras ruokapaikka tällä kertaa, jos ei kymmeniä käyntejäni El Cebo:lla lasketa. [eat]

Nykyään itse kuitenkin uskon, että Seinäjoen alue kehittyy monelta osalta. Ehkä siinä on myös se, että nuorempana ei kokenut asioiden muuttuvan pidemmällä aikavälillä, eikä kykenevänsä vaikuttamaan omaan elämään ja ympäristöönsä. Usein parhaiten vaikuttaminen tapahtuu niin, että siitä on mahdollisimman paljon hyötyä, eikä vaadi mitään korvausta. Usein positiivinen kierre ruokkii itseään, moni iso kierre voi saada alkunsa jostain todella pienestä. Tulokset tulevat esille vasta vuosikymmenien saatossa.

Hacklab Seinäjoki

Facebook: Sepeli Ry

Jos oikeasti olet kiinnostunut, että miten tietokone käytännössä toimii ihmisen ymmärtämässä muodossa. Ehkä myös haluat opettaa lapsesis ohjelmoimaan ohjelmointikielellä, joka on ollut 40 vuotta täysin käyttökelpoinen. Kirjoittajana henkilö, jolla on kannuksia – UNIX-käyttöjärjestelmän kehittäjä. Nykyajan kaikki PC-tietokoneiden ja älypuhelinten käyttöjärjestelmien toiminta perustuu tähän Linuxista (kevennetty UNIX) , Windowsin (NT) kautta Appleen (iOS):

  1. Kirja PDF-muodossa
  2. Online C Compiler
  3.  Hikipedia: C-kieli

”This is the big hurdle; to leap over it you have to be able to create the program text somewhere,compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy.” –Brian W. Kernighan & Dennis M. Ritchie

Tällä sitten koodailemaan, jos ei innostuu liikaa chättäileen [YLE]:

Itse pidin PHP-kieltä ihan kivana kun olin tottunut C-kieleen, vaikka olenkin suhtautunut nuivasti skriptikilten suorituskykyyn. Oma mielikuvani heikkeni siinä vaiheessa, kun tajusin, että PHP:n arrayiden osoittaminen arrayn ulkopuolelle silmukoissa heikentää suorituskykyä entisestään ihan dramaattisesti! Oma uskoni vielä kielen hienoutta kohtaan oli korkealla, kunnes tajusin ensimmäisen kerran katsoa logeja ja huomata, että miten paljon se tekee turhia tarkistuksia ja poikkeuksia! Nuorena koodasin C-kieltä, niin opin sentäs restarttaamaan ja sammuttamaan tietokoneen ohjelmallisesti Windows-ympäristössä. [youtube , youtube2, youtube3]!

Tietotekniikan teekkareiden akateemisuutta

Kuva 3. Tyypillistä irkkikeskustelua 24/7 80-luvulta asti. kuvankaappaus vuoden tylsimmästä intervallista päivältä 2017-11-29 eli 1557540000 sekuntia ajanlaskun alusta [unixtime].
Toisinaan joskus on enemmän keskustelua irkissä, kun on jotain kiinnostavaa juttua. Ehkä ohjelmoijat ovat joskus tehneet jotain järkevääkin systeemiä, kuten nämä viereen itkemään tulleet naiset osoittavat:

https://www.youtube.com/watch?v=4iyDQhzcBJQ

IRC-gallerian toimitusjohtajana toimiva Jari Jaanto ei ole mielestäni koskaan saanut niin suurta arvostusta, kuin mitä kyseisen sosiaalisen median perustamisesta olisi ansainnut. Asiat kehittyivät edellisen videon mukaisesti jopa oikein hyvin, mutta valitettavasti ei saavuttanut Facebookin tasoista kansainvälistä käyttäjäkuntaa. [MTV3]

”Nyrkki ei heilu, eikä pullo kallistu” – Nykynuoriso elää teinivuotensa kiltimmin kuin vanhempansa

Pakolaispolitiikka

Usein monet kritisoivat kovasti pakolaistoimintaa. Minäkään en ihan täysin ole varma, että miten asiaan suhtautuisin. Mielestäni sinällään on hyvä, että ihmisiä suojellaan vallanhimoisilta ja muilta vastaavilta ihmisiltä.

Jos itse olisin Suomen diktaattori, niin antaisin tälle seuraavalle henkilölle heti turvapaikan, jos vain hän säilyy hengissä ja itse haluaa.

”Lee kertoo poistaneensa näkyvät loiset, mutta niiden aiheuttamat tulehdukset ovat vaarallisia.

Leen mukaan potilaan kunto on niin huono, että hänelle ei voida antaa loislääkitystä.

Loikkarin arvellaan olevan parikymppinen. Hän oli pahasti aliravittu ja hän menetti ampumahaavojen seurauksena 1,5 litraa verta.” –IL

Mielestäni kyseinen toisinajattelija on joutunut kestänyt eläissään jo aivan riittävästi, joten aivan hyvin voisi Suomen valtio tarjota täyden toimeentulon, jos ei mikään muu valtio suostu. Tämä on minun mielipiteeni.

Vihreät ovat ylittäneet jo Keskustan puoluekannatuksessa [HS]. Ruoka on siis tärkeä vihreä arvo, niin Suomessa kuin globaalisti! Itse uskon maatalouden kehitykseen [tuppu/ruoantuotanto].

Touko Aalto Kauhavalla

Tekniikan mahdollisuudet

Itse tein päätöksen IT-alalle työllistymisestä 16 vuotta sitten kuvaputkikauden aikaan [portfolioni/konsolipelit]. Usein moni naureskelee teknisille visioille, ja sen mahdollisuuksille. Asiassa on tietysti se puoli, että moni visio voi olla mahdoton tai ainakin järjetön. Toisaalta moni tekniikka on täysin mahdollista ja järkevää, mutta sitä vain ei ole otettu käyttöön. Täten mitään selvää vastausta ei voi sanoa tekniikan potentaalista, monet ennusteet ovat menneet pieleen. [AoL]

Kuva 1. Jo 1900 vuonna osattiin ennustaa Stasi. [AoL]
Usein ihmisillä on taipumusta aliarvioida lyhyen aikavälin mahdollisuudet, mutta toisaalta ihmiset yliarvioivat pitkän aikavälin kehityksen. Taustalla on ensinnäkin se, että tekniikka ei kehity aina lineearisesti. Toisaalta usein tekniikassa tapahtuu uusia löytöjä, joten moni asia on mahdollista. Tekninen kehitys on yleensä puumaista, jossa uudet ilmiöt pohjautuvat aiempien löytöjen ja tekniikoiden päälle. Poikkeuksena tästä on Mooren laki, joka kuvastaa transistori määrän lisääntymistä mikropiirissä. Mooren lain taustalla on enemänkin markkinallisuudesta seuraava tekniikan iterointi, eikä sinällään itse tekniikan tutkimuksen kehitys.

https://www.youtube.com/watch?v=z78mgfKprdg

Nykyään on mahdollista valmistaa 10 MW tehoisia merituulivoimaloita [PT].  Samoin Kiinassa mereen on rakennettu 40 MW tehoinen aurinkovoimala [EW]. Tesla juuri julkaisi uuden sähkökäyttöisen rekan [Verge]. Vaikka Olkiluoto 3. kymmenen miljardin hankkeena onkin tuottanut vain nolla kilowattituntia, niin samaan aikaan fuusioreaktori ITER kehittyy, kuten myös hyötyreaktorit ovat täysin mahdollisia ja modulaarisia ydinreaktoreita on olemassa [ITER,Vihreät,Wiki/BreederReactor].

Monien ennusteiden mukaan aurinkoenergia alittaa kivihiilen hinnan kymmenen vuoden sisällä, kun taas jatkuvaa realistista tuotantokapasiteettia on tuhatkertaisesti koko ihmiskunnan nykyiseen energiankulutukseen verrattuna. [Independent, tuppu/aurinkoenergia]

Kuva 2. 23andMe-palvelussa on otettu käyttöön itseoppivaan tekoälyyn perustuva huipputieteellinen rotujaottelu.

Usein tekniikassa on tullut vastaan se naurettavuuteen vetoaminen, Olen kuullut väitteen, että Naopoleon olisi nauranut idealle, että kannen alle kamiinaan laitettu tuli saisi laivat liikkumaan vastatuuleen. Toisaalta nykyään pidetään neurattava, että rahtilaivat liikkuisivat purjeilla. Itseäni suunnattomasti ärsyttää tällainen ihmisten ahdasmielisyys. Väittäisin, että usein samat ihmiset ovat valmiita esittämään näitä vastakkaisia väitteitä, kun eivät kykene ajattelemaan, että asioita voi muuttaa. Kyse on vain paljolti siitä, että näitä muutoksia pitäisi jonkun joskus tehdä.

Natsien raketti-insinöörit saivat Yhdysvaltojen rahoituksen turvin ihmisen kuun pinnalle, eikä sitä ole ollut varaa toistaa vuosikymmeniin. Nykyään ei ole enää edes Yhdysvalloilla tekniikka, jolla saisivat ihmisen kiertoradalla, vaan käyttävät Venäläisiä raketteja. SpaceX tekee tähänkin muutoksen, kunhan vain asioita ajetaan eteenpäin.

” If goto statements are bad why does linux src have more than 10k of them?” –ycobinator

Monet tekniikat ovat jo nykyään mahdollisia. Itse tykkään kovasti esimerkiksi Wikipediasta. Wikikonsepti itsessään se on jo tosi hieno systeemi, mutta myös se teknikka on vapaasti käytettävissä ja tarjoaa valtavasti potentiaalia. WWW-sivujen idea perustuu hyperlinkkeihin pohjautuviin HTML-sivuihin, jossa HTTP-pyynnöllä ladataan Internetistä uusi verkkosivu linkkiin liitetyn osoitteen perusteella palvelimelta. Monet hienot konseptit ovat erittäin yksinkertaisia.

”Micaelo luonnehtii Kimin tuolloista elämää ylelliseksi. Hän muun muassa kertoo Kimillä olleen yksityinen kokki. Erään opettajan mukaan Kim oli kerran saapunut kouluun panssaroidulla Mercedes-Benzillä henkivartijoineen.

Kim Jong-un näyttäytyi tammikuussa 2011 julkisesti karvalakissa, jota Pohjois-Koreassa saa käyttää vain maan johtaja.” –Wiki