Näytetään tekstit, joissa on tunniste tietotekniikka. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste tietotekniikka. Näytä kaikki tekstit

maanantai 9. heinäkuuta 2012

15 vuotta ASCII-taiteilijana


Tyypillinen Joan Starkin piirros
- söpö ja taitavasti tehty (2001
Kesällä 1997 kirjaston tekstipohjaisilla Telnet-koneilla löysin monia mielenkiintoisia juttuja: IRC, Usenet ja Usenetistä ASCII-taide. Olin törmännyt ASCII-grafiikkaan joskus aiemminkin ja minua viehätti se, miten kirjaimista ja muista näppäimistön merkeistä pystyi muodostamaan kuvia. Kotona oli surkea ikivanha 386-PC, jossa oli 16-värinen näyttö, mutta ASCII-kuvia silläkin pystyi piirtämään.

13-vuotiaan räpellykset saivat Usenet-nyysseissä kannustavaa palautetta. Vähitellen räpellyksistä alkoi tulla taidokkaita teoksia, joissa yhdisteltiin erilaisia tyylejä ja kokeiltiin uusia tekniikoita antialiasointiin eli reunojen pehmennykseen. MS-DOSin Edit vaihtui paljon kehittyneempään ACiDDraw-ohjelmaan. Joskus juttelin muiden piirtäjien kanssa karussa webbichatissa, jonne ASCII-kuvat toistuivat ongelmitta.

Ryhmässä alt.ascii-art riitti naisia. Tärkeimpänä tietysti "ASCII-taiteen kuningatar" Joan Stark eli spunk1111 Geocities-sivustoineen. Usein tuntui kuin hän olisi ehtinyt piirtää kaikki maailman asiat! Ruotsalainen Veronica piirsi kaikkea Escher-jäljitelmistä sarjakuviin, joissa seikkaili itse alastomana.

Varhaista tuotantoani: Hippi (1997?
Itse piirtelin aluksi lähinnä kasveja, eläimiä ja esineitä, joskus sarjakuvahahmoja, kunnes 2000-luvun alussa huomasin, että demopartyt, jotka olivat minulle entuudestaan tuttuja, järjestivät ASCII-kilpailuja eli compoja. Minulle tehtiin selväksi, etteivät "Geocities-ASCII:t" olleet katu-uskottavia tässä ympäristössä. Eli suomeksi: ei mitään tyttöjen juttuja.

Suurin osa demoskene-ASCIIsta koostuu logoista, yleensä enemmän tai vähemmän graffitityylisistä teksteistä. Tyylejä on muutamia erilaisia ja lähinnä viivoista koostuvaan oldskool-tyyliin kuuluu, ettei tekstiä pysty aiheeseen perehtymätön edes lukemaan. Jonkin verran on harrastettu myös esimerkiksi ornamenttikuvioita ja perinteisiä demoskeneaiheita tisseistä lohikäärmeisiin.

Aluksi logojen piirtäminen ei houkutellut. Etenkin oldskool-kuvat näyttivät kaikki samanlaisilta ja eräs niitä piirtävä tuttu sanoikin, ettei hän pidä itseään taiteilijana, vaan enemmänkin artesaanina. Hän toistaa samaa ideaa uudestaan ja uudestaan hyväksi havaitulla konseptilla.

Jossain vaiheessa piirroksiini alkoi kuitenkin tulla enemmän taiteellista kunnianhimoa. Kokeilin erilaisia ornamentteja ja muita abstrakteja tai puoliesittäviä kuvia. Imin vaikutteita niin muinaisesta Egyptistä kuin art decostakin. Välillä visiot osuivat nappiin, joskus tuli tehtyä kammottavia huteja. Se kai kuuluu taiteeseen.



Mahtava misu voitti Icecube-demopartyjen ASCII-compon vuonna 2003 ja päätyi myöhemmin valkokankaalle.

Yksityiskohtaiset kuviot ovat paras tapa saada aikaan näyttäviä ASCII-kuvia, kuten vaikkapa koristeellinen taalainmaanhevonen. Siihen yhdistettiin kaverin piirtämä oldskool-logo sekä hassu nimi, jotta se oli demoskenelle riittävän katu-uskottava. Muutenkin huumori, meemit ja jipot kantavat usein pitkälle. Kilpailumenestystä on tullut mm. George Bushilla, Osama Bin Ladenilla ja Guitar Hero -pastissilla.

Jossain vaiheessa logojakin alkoi syntyä yhä enemmän. Usein graffitihenkisiä, mutta en halunnut rajoittaa itseäni demoskenen tyyleihin. Monesti yhdistin tekstin osaksi esittävää kuvaa, esimerkiksi seepran kasvojen raidat muodostivat kirjaimia. Itäeurooppalaisten demopartyjen kilpailuihin olen uskaltautunut lähettämään niitä "tyttömäisiä" kuviakin: siellä voi pärjätä pöllöllä tai maatuskallakin.

Stripetease (Evoke 2006)
on yksi suosikkejani,
vaikkei kilpailussa menestynytk

Nykyään ASCII-kuvia tulee piirrettyä varsin harvoin. Tärkein syy on demopartyjen ASCII-compojen raju vähentyminen. Vielä 2-3 vuotta sitten vuodessa saattoi olla reilu puoli tusinaa compoa ja yritin osallistua kaikkiin. Nyt määrä on yksi tai kaksi. Kun aikuisen elämä on muutenkin niin kiireistä, tulee ASCII-piirtämistä helposti ajateltua turhana näpertelynä. Ellei tulossa ole kilpailun deadlineä, sitä ehtii tehdä joskus myöhemmin. Tällä lailla rakkaat harrastukset helposti jäävät.

Muutama viikko sitten sain requestin, eli minulta pyydettiin tietynlaista ASCII-kuvaa. BBS eli purkki (kyllä, sellaisiakin löytyy yhä) toivoi itselleen logoa. Aikoinaan minulta pyydettiin paljonkin kuvia logoista Linux-pingviineihin. Nykyään olisi muutakin tekemistä, mutta kuka voi vastustaa, kun joku toivoo jotain juuri sinun tyylilläsi?

Kun aloin jälleen piirtää, se tuntui heti tutulta ja omalta, vaikka edellisestä kerrasta oli lähemmäs vuosi. Työskentelytavat, kikat ja tekniikat ovat yhä selkärangassa. Tämä on minun juttuni, jotain minkä osaan.

Usein ASCII-grafiikkaa pidetään aikansa eläneenä taidemuotona. Miksi käyttää tekstiä, kun nykyään  halvinkin kännykkä, huonoinkin näyttö ja hitainkin nettiyhteys pystyy näyttämään tavallisia kuvia? Pitää kai olla nörtti ymmärtäkseen sitä.

Jotkut jopa sanovat suoraan, etteivät pidä sitä ASCII-kuvia taiteena ollenkaan. He tosin yleensä myöntävät, etteivät pysty perustelemaan kantaansa - se on  vain fiilis. Merkkigrafiikka ei näytä yhtä vaikuttavalta ja "oikealta" kuin Taistelevat metsot. Ehkä kyse on osittain samasta ilmiöstä kuin se, että konemusiikkikin huhun mukaan tehdään "nappia painamalla"?

Omia ASCII-kuviani on kuitenkin nähty taidenäyttelyissä, demoissa, kirjassa, useissa lehdissä kolmessa eri maassa ja jopa Miranda Julyn palkitussa elokuvassa Me and You and Everyone We Know (Epäilen olevani ainoa, jolla on IMDB:ssä titteli "ASCII art courtesy of"). Kerran niitä melkein päätyi erään suuryrityksen mainokseen. Muut ovat tehneet esimerkiksi Star Wars -elokuvasta "ASCIImaation".



Blockparty-tapahtumaan tehty logo vuodelta 2009, sijoittui toiseksi.

Eniten ASCII-taiteilijaa sapettaa se, miten nykyään yhä useammat sekoittavat erilaisilla ohjelmilla ja filttereillä luodut "ASCII-kuvat" aitoon, käsintehtyyn merkkigrafiikkaan. "Ihan sama asia." Niin, ja vesivärit voi heittää pois, koska Photoshopin filtteriä käyttämällä pystyy luomaan vesivärimaalauksia? Moni väittää tietämättömyyttään, että konvertoidut kuvat ovat yhtä hienoja tai jopa hienompia kuin käsintehdyt. No, uskovathan toiset myös, että Google Translate on hyvä korvike oikealle kääntäjälle...

P.S. Jos haluat kokeilla ASCII:n piirtämistä (suosittelen lämpimästi!), siihen käy toki Notepadkin, mutta kannattaa ehdottomasti ladata JavE, jolla onnistuu mm. "siveltimellä" piirtäminen, vapaamuotoisten tekstialueiden siirtäminen ja melkein mikä tahansa. Java-sovelluksena se pyörii useimmilla käyttiksillä. Olen vuosia sitten laatinut myös englanninkielisen tutoriaalin aiheeseen. Lisää piirroksiani löytyy ASCII-sivuiltani.

perjantai 18. toukokuuta 2012

Accenturen IT-miniseminaari

Riikka Karhu

Accenture järjesti 15.5.2012 Metropolian tiloissa ammattikorkeakoulujen tietojenkäsittelyn ja tietotekniikan opiskelijoille IT-seminaarin. Seminaari oli jaettu kolmeen osaan: avaus, työpajat ja Accenture Awards -stipendien jako. Seminaarin tarkoitus oli esitellä Accenturea opiskelijoille työpaikkana sekä kertoa pinnalla olevista trendeistä IT-alalla. Opiskelijoilla oli mahdollisuus testata taitojaan sekä oppia uusia taitoja, sekä luoda hieman kontakteja tulevaa varten. Aion nyt tuoda esiin kiinnostavia pointteja, joita seminaarin aikana nousi esiin.

Seminaari alkoi yleiskatsauksella Accentureen. Kyseessä on kansainvälinen yritys, jolla on toimipisteitä yli 50 maassa sekä asiakkaita 120 maassa. Suomessa työntekijöitä on yli 1200 sekä toimintaa on Helsingin lisäksi Tampereella ja Oulussa. Esittelijä muisti tuoda sen tärkeän ominaisuuden esiin, että Accenture on valittu vuosina 2007-2010 parhaaksi työpaikaksi Suomessa neljänä vuotena peräkkäin. Asiakasyrityksinä Accenturella on 18 Suomen 20 suurimmasta yrityksestä. Näille yrityksille Accenture tarjoaa konsultointi- sekä teknologiapalveluita. Tehtäviä saatetaan myös tarvittaessa ulkoistaa ulkomaille.

Ulkoistaminen nosti seminaarilla esiin pienen keskustelun, siitä kuinka ulkoistamisen rooli tulee kehittymään tulevaisuudessa. Esittelijän mukaan ulkomailta löytyy osaamista koodaus- ja ylläpitotehtävissä. Monien ohjelmistojen kehitystyö voidaan tehdä muualla kuin asiakkaan luona; tällöin ulkoistus voi olla järkevämpi vaihtoehto. Vaikka tehtävine ulkoistaminen ei tule välttämättä tulevaisuudessa kasvamaan yhtä radikaalisti, sen rooli on osaamisen takia merkittävä jatkossakin.

Accenturen yleisesittely kesti vähän reilun tunnin verran. Tämän jälkeen siirryimme työpajoihin. Ilmoittautumisvaiheessa piti valita yksi kiinnostava työpaja neljästä vaihtoehdosta. Ensimmäinen vaihtoehto oli tutustuminen Jazz-projektinhallintatyökaluihin. Työpajaan osallistuneet pääsivät kokeilemaan Jazz-työkaluja projektijohtajan, testaajan ja määrittelijän rooleissa. Toinen vaihtoehto oli SAP Hot Topics, jossa keskityttiin SAP-järjestelmän ja sen ekosysteemin uusimpiin suuntauksiin ja innovaatioihin, joista asiakkaamme juuri nyt ovat erityisen kiinnostuneita. Kolmas työpaja olisi ollut avoimen lähdekoodin Java-kirjastoihin tutustumista, mutta sitä vetämään valittu konsultti ei valitettavasti päässyt paikalle. Neljännessä työpajassa tutustuttiin .NET-ympäristöön sekä Windows Phone 7:n kehittämiseen.


Itse koin neljännen työpajan, eli Windows Phonen, kaikista kiinnostavimmaksi, joten osallistuin siihen. Työpaja alkoi lyhyellä luento-osuudella, jossa käytiin Windows Phonen perusperiaatteita läpi. Koodaaminen tapahtui Visual Studiolla ja C#-kielellä Windows Phonen virtuaalisessa kehitysympäristössä. Aikaisempaa kokemusta mobiilikehityksestä ei tarvittu, mutta .NET-perustuntemus oli suositeltavaa. Itselläni ei ollut kumpaakaan, vaan menin mukaan puhtaasti java-osaamisen tukemana.

Yksinkertaisimmillaan Windows Phone koodaaminen etenee siis siten, että Visual Studion toolboxista siirretään haluttu ominaisuus näytölle. Ominaisuus voi olla esimerkiksi textbox, jonne käyttäjä voi itse syöttää tietoa tai painike. Painikkeeseen saa suoraan kirjoitettua siihen tarkoitetun koodin. Alla esimerkki yksinkertaisen karttaohjelmiston koodista:

Karttasoftan koodia, omaa koodia






Mielenkiintoista Windows Phonessa oli se, kuinka lyhyellä määrällä koodia pystyi saamaan monimutkaiselta vaikuttavan ominaisuuden aikaan. Konsultin demossa esitettyjen ominaisuuksien koodit olivat todellakin lyhyitä eivätkä edes kovin monimutkaisen näköisiä. Koodaamista helpotti myös "testipuhelimen", eli emulaattorin käyttö; koodaaja siis näkee koko ajan miltä ominaisuus tulee näyttämään puhelimen näytöllä ja kuinka se tulee toimimaan. Myös testaaminen oli helpompaa kuin esimerkiksi Eclipsellä tehdyn koodin testaaminen.




Emulaattori käynnissä, omaa koodia

Kun kerta kaikkea ei saa aina pelkästään kehua, voin sen verran antaa kehittävää palautetta, että työpajaa varten valitussa luokassa oli äärimmäisen huono ilma. Lämpötilaero luokan ja käytävän välillä oli varmaan valehtelematta ainakin viisi astetta. Tällaiset pienet tekijät vaikuttavat ainakin allekirjoittaneen keskittymiseen ja oppimiseen. Toinen omaa oppimistani haastanut tekijä oli se, että luentoa pitämään valittu konsultti puhui hyvin nopeasti. Kuten sanoin, minulla ei ollut aikaisempaa kokemusta .NET-ympäristöstä eikä C#:sta, joten luentoa oli välillä haastava seurata. Tästä huolimatta voisin osallistua vastaavaan tapahtumaan toisenkin kerran. Aika pintapuoliseksi tuo esittelytilaisuus jäi ja ymmärrän, ettei ajan rajallisuuden takia millään ehditty syventyä sen tarkemmin Windows Phonen ominaisuuksiin.


Seminaarin lopuksi oli Accenture Awards-stipendien jako. Tapahtumassa Accenture palkitsi hyvin opinnoissaan menestyneitä opiskelijoita, joita näiden opettajat olivat ehdottaneet palkittaviksi. Opiskelijan näkökulmasta stipendi on arvokas, sillä se saattaa helpottaa työnhakua Accenturelta. Muutama oma opiskelukaveri vastaanotti kyseisen stipendin, ja mielestäni täysin ansaitusti. Ehkä minullekin sitten jonain vuonna... ;)


Kaikin puolin Accenturen järjestämä IT-miniseminaari oli antoisa tapahtuma. En itse työskentele Accenturella, mutta en sulje pois sitä vaihtoehtoa, että joskus kyseisestä firmasta hakisin töitä. Mielestäni on enemmän kuin tärkeää tietää jotain firmasta, josta aikoo hakea töitä. Tällaiset seminaarit ovat parhaimmillaan loistava tilaisuus IT-alan opiskelijalle päästä tutustumaan yritykseen sekä sen toimintatapoihin lähemmin.

Lisää Accenturesta voi lukea heidän nettisivuiltaan: http://www.accenture.com/fi-en/Pages/index.aspx 
Windows Phonesta kiinnostuneet voivat täällä tutustua lisää kehittämiseen: http://msdn.microsoft.com/en-us/library/ff402535

keskiviikko 15. helmikuuta 2012

Ohjelmointikieliä aloittelijoille


Kuva: Ramotion Blog (http://www.flickr.com/photos/ramotion/)
Huolimatta siitä, että useampikin nörttitytoistämme on joko huvikseen tai ammatikseen ohjelmoija, ei tässä blogissa ole vielä aikaisemmin ollut juurikaan puhetta ohjelmoinnista. Näinpä ajattelin täyttää tämän aukon antamalla pikakurssin ohjelmointikielien ihmeelliseen maailmaan. Muutaman huomion jälkeen on jokaisesta ohjelmointikielestä malli ns Hello Worldistä. Se on (yleensä, ei nyt puhuta APL:stä) yksinkertaisin ohjelmaesimerkki; ohjelma, joka ajaessaan tulostaa ruudulle tekstin "Hello World".

Assembly
Assembly on askel ylöspäin Matrixista tutuista ykkösistä ja nollista. Se näki päivänvalon 50-luvulla ja sitä käytetään pääasiassa esimerkiksi mikroprosessorien ohjelmointiin. Sen tarjoamat toiminnot ovat kohtuullisen yksinkertaisia ja näin ollen se on (ainakin teoreettisesti) helppo oppia. Assemblyllä on kuitenkin äärimmäisen helppoa tehdä suuria ohjelmointivirheitä, kuten loputtomia kiertoja ja monimutkaisemman ohjelman koodin lukeminen on vähintäänkin rasittavaa.

Hello World:
title   Hello World!                             (hello.asm)

dosseg
.model small
.stack 100h

.data
message db 'Hello, World!',0dh,0ah,'$'

.code
main  proc
      mov    ax,@data
      mov    ds,ax

      mov    ah,9
      mov    dx,offset message
      int    21h

      mov    ax,4C00h
      int    21h
main  endp
end   main

COBOL
COBOL on ohjelmointikielien torakka. Se näki alkunsa 1959 ja COBOL-sovellukset luultavasti jatkavat pyörimistään maailmanlopun jälkeenkin niin kauan kuin virtaa vain riittää. Ja kun koneet käynnistyvät uudelleen, ne aloittavat taas pyörimisen. COBOL on tuskallista ylläpitää ja kehittää, alkaen siitä, että kääntäjät ovat edelleen pääasiassa kaupallisia. Sen tekstinkäsittelykyky on surkea. Se on myös äärimmäisen tehokas ja kykeneväinen käsittelemään massiivisia määriä tapahtumia, joka tekee siitä edelleen suositun esimerkiksi pankkimaailmassa.

Hello World (RM/1 kääntäjälle):
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID.     HELLOWORLD.
000300
000400*
000500 ENVIRONMENT DIVISION.
000600 CONFIGURATION SECTION.
000700 SOURCE-COMPUTER. RM-COBOL.
000800 OBJECT-COMPUTER. RM-COBOL.
000900
001000 DATA DIVISION.
001100 FILE SECTION.
001200
100000 PROCEDURE DIVISION.
100100
100200 MAIN-LOGIC SECTION.
100300 BEGIN.
100400     DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
100500     DISPLAY "Hello world!" LINE 15 POSITION 10.
100600     STOP RUN.
100700 MAIN-LOGIC-EXIT.
100800     EXIT.

C
C kehitettiin vuosien 1969 ja 1973 välillä. Se suurilta osin korvasi Assemblyn sulautettujen järjestelmien koodauskielenä. Sulautettuja järjestelmiä ovat monet, joita ei helposti tule ajatelleeksi hallinnoitavan ohjelmistolla; autojen mottorin hallinta, jarrut, luistonesto, televisiot ja koodasipa entinen opettajani C:llä joskus työkseen sprinklerijärjestelmiäkin. Oma kokemukseni C:stä on, että se on paljon helpompi oppia kuin Assembly huolimatta sen laajemmasta komentovalikoimasta, mutta se voi johtua siitäkin, että olen sillä tavalla vain vähän outo.

Hello World:
#include <stdio.h>
int main(void)
{
  printf("Hello world!");
  return 0;
}

C++
C++ saapui kuvioihin 1983, käytännössä C:n laajennetuna versiona. C++ tarjosi C-kieleen luokkamallin ja tyypitykset, joka helpotti esimerkiksi tekstin käsittelyä. Se on C:tä korkeamman tason kieli, niin sanottu keskitason kieli , koska se yhdistää sekä korkean tason, että alhaisen tason ominaisuuksia. Käytännössä esimerkiksi C++:lla on mahdollisuus tehdä fyysisen muistin varauksia, mutta se ei ole välttämätöntä. Monet pelit koodataan edelleen C++:llä, kuin myös tietokoneeseen liitettävien laitteiden ajurit ja muut vastaavat.

Hello World (huomattavaa on, että edellinen C:n esimerkki toimii myös C++:na, kunhan .c-tiedostomuodon vaihtaa .cpp-tiedostomuodoksi) :
#include <iostream.h>
int main(void)
{
  cout << "Hello world!" << endl;
  return 0;
}

Java
Kuva: Hillary Hartley (http://www.flickr.com/photos/hillaryandanna/)
Jos COBOL on ohjelmointikielien torakka, on Java ohjelmointikielien aasi. Sen tultua kuvioihin 1995 se on pitkälti vallannut maailman. Tähän on kaksi syytä; ensinnäkin Java on alusta lähtien ollut täysin ilmainen niin kirjastojen kuin kääntäjänkin suhteen ja toisekseen se toi mukanaan JVM:n eli Java Virtual Machinen. Kaikki Javalla tehdyt ohjelmat pyörivät JVM:n päällä, poistaen niiltä tarpeen keskustella alla olevan käyttöjärjestelmän kanssa. Tämä tarkoittaa, että Javalla kerran tehty ohjelma ainakin teoreettisesti (ja yleensä myös käytännössä) pyörii missä tahansa käyttöjärjestelmässä, joka oli tuolloin lähes ennen kuulumatonta. Vuosien varrella tämä aasi on kuitenkin lihonut ja hidastunut ja keksinyt omia erikoisia ja rasittavia oikkujaan. Se on silti erittäin laajasti erilaisissa liiketoimintaohjelmistoissa käytössä ja näin ollen kokeneella Java-ohjelmoijalla riittää työn puolesta kysyntää riesaksi asti.

Hello world:

 class Hello {
   public static void main(String[] args) {
     System.out.println("Hello world!");
   }
 }

C#
Vuonna 2001 julkaistiin .Net alusta ja sen myötä C#-ohjelmointikieli. Sitä juhlittiin monissa piireissä Javan tappajana; kevyempänä, nopeampana, helpompana, puhtaampana olio-ohjelmointikielenä. Toisissa piireissä tätä Microsoftin kehittämää kieltä taas kutsuttiin kalpeaksi kopioksi Javasta. C#:lla graafisten käyttöliittymien tekeminen on suoraan sanottuna mukavaa, varsinkin verrattuna Javaan. Toisin kuin Java, C# mahdollistaa nykyään myös funktionaalisen ohjelmoinnin, joka on yksinkertaistettuna paluuta lähemmäs datan matemaattista käsittelytapaa. Ajan kuluessa myös C# on hidastunut, joskin se on myös kehittynyt Javaa nopeammin ja pidemmälle. Se on oppinut Javalta virtuaalikoneajattelua, joskin oman kokemukseni mukaan (josta on myönnettävästi jo jonkin verran aikaa) se ei suju aivan yhtä saumattomasti.

Hello world:

public class Hello1
{
   public static void Main()
   {
      System.Console.WriteLine("Hello, World!");
   }
}

Ruby
Ruby esiteltiin maailmalle 1995, mutta se pysyi pitkään pelkästään yliopistomaailmassa. Vasta Rails-kehikon saavuttua vuoden 2005 aikoihin räjähti Ruby todella laajan yleisön tietoisuuteen. Toisin kuin tässä aiemmin mainitut kielet, Ruby on dynaamisesti tyypitetty kieli, joka tarkoittaa, että kerran luotuun olioon voidaan laittaa millaista dataa tahansa ilman erillisiä toimenpiteitä. Tämä ei välttämättä kuulosta merkittävältä, mutta takaan, että jokainen Javan ClassCastExceptioneita päivitellyt sai tuikkeen silmiinsä kuultuaan tuon ensimmäisen kerran. Ruby on vahvimmillaan selainsovellusten kehityksessä. Esimerkiksi alkeellisen verkkokaupan pystyttäminen nollasta vie noin kymmenen minuuttia Ruby on Railsillä, kun taas esimerkiksi Javalla siihen saattaa mennä päiväkausia. Nopeasti nähtävien tulosten ja helpon ymmärrettävyyden takia Ruby on saavuttanut alaa ns Ensimmäisenä Ohjelmointikielenä ja esim Future Female on Suomessa järjestänyt kurssitusta kielen alkeisiin niin sanotusti pystymetsästä saapuville.


Hello world:

puts 'Hello world'


Scala
Scala, henkilökohtainen suosikkini (jota pääsen kuitenkin käyttämään työssäni aivan liian harvoin), saapui estradille 2003. Se on alusta alkaen suunniteltu hyödyntämään parhaita puolia sekä olio-ohjelmoinnista, että funktionaalisesta ohjelmoinnista. Sen pääasiallisena alustana toimii niin hyvässä kuin huonossakin JVM ja se toimiikin (lähes) saumattomasti aikaisempien Java-ohjelmien kanssa. Scalasta on tehty myös versio .Net alustalle ja se pyörii nätisti myös Android-puhelimissa. Kuten Ruby, myös Scala on laajasti ja jopa pääasiallisesti käytössä selainten hallitsemassa maailmassa. Monet suositut sivustot on toteutettu joko osittain tai kokonaan Scalalla, hyvinä esimerkkeinä vaikka Twitter, Foursquare ja Guardianin verkkosivusto. Scalalle saatavilla oleva Lift-kehikko tarjoaa samat nopeasti nähtävät tulokset, jotka Ruby saavuttaa, kun taas JVM tai (.Net, jos sattuu olemaan sinne päin kallellaan) tarjoaa jämäkkyyttä ja laajennettavuutta.

Hello world:

  object HelloWorld {
    def main(args: Array[String]) {
      println("Hello, world!")
    }
  }


Useita katkeria taisteluita on väännetty netin keskustelupalstoilla, pubeissa ja kaikkialla missä useampi kuin yksi ohjemoija kerääntyy siitä, mikä ohjelmointikieli onkaan kaikkein paras. Ja jos totta puhutaan, ainakin tämä ohjelmoija on onnistunut väittelemään aiheesta myös ihan yksinäänkin. Tärkein asia, joka ohjelmointikielistä kannattaa kuitenkin muistaa on, että ne ovat loppujen lopuksi työkaluja. Vaikka se olisikin mahdollista, Rubylla ei välttämättä kannata lähteä tekemään pankkien taustajärjestelmiä, eikä Cobolilla verkkokauppaa. Ohjelmointikielien kirjo on laaja ja tuskin kukaan pystyy oppimaan käyttämään kaikkia. Tämä setti on vain esimerkki minulle tutuimmista ohjelmointikielistä ja siitä puuttuu monia tärkeitä ja laajasti käytettyjä ohjelmointikieliä (Lisp, Haskell, APL, Smalltalk, PHP, F# ja monia muita), joista joku muu varmasti mielellään jatkaa juttua.

maanantai 23. tammikuuta 2012

Jamittelua indiepelien tahtiin


27. tammikuuta tuhannet pelialan ammattilaiset ja harrastajat kerääntyvät ympäri maailmaa bunkkeroitumaan hämäriin nörttiluoliin viikonlopuksi muiden samanhenkisten kanssa. Ai miksikö? No tekemään pelejä.

Syynä tähän on IGDA:n organisoima, jo neljättä kertaa järjestettävä Global Game Jam. Tapahtuman osallistujamäärä on kasvanut vuosi vuodelta – viime vuonna osanottajia oli yli 6500 – ja mukana on hyvin erilaisilla taustoilla ja taidoilla varustettuja tekijöitä. Suomalaisittain tapahtuma tunnetaan nimellä Finnish Game Jam ja meillä se järjestetään nyt kolmatta kertaa. Rekisteröityminen tapahtumaan on tältä vuodelta liian myöhäistä, mutta aiheesta kiinnostuneille on Helsingin FGJ-pääkallonpaikalla, Nuorisokeskus Hapessa lauantaina 28.1. klo 12-15 tarjolla varsin mielenkiintoisella puhujakattauksella ladattu avoin ja maksuton yleisötilaisuus ”Peliteollisuuden kynnyksellä.”

Mitä tämä jamittelu käytännössä sitten tarkoittaa? Osallistujat jaetaan paikan päällä tiimeihin, tavoitteena on saada aikaiseksi mahdollisimman valmis peli ja aikaa suoritukseen annetaan huimat 48 tuntia. Pelin tulee liittyä vuosittain vaihtuvaan teemaan, joka esimerkiksi viime vuonna oli sukupuutto. Plussaa saa bonuksena määriteltävistä ”achievementeista”, jotka määrittelevät pelille jonkin ominaisuuden tai rajoitteen, joka suunnittelussa ja toteutuksessa on otettava huomioon. Nämä lisätehtävät voivat määritellä esimerkiksi pelin ohjaustavan tai graafisen tyylin.

Kaikessa yksinkertaisuudessaan näistä raameista siis lähdetään liikkeelle, ja loppu on kiinni kunkin tiimin omasta visiosta. Edukseen erottuvilla peleillä tekijät voivat ansaita itselleen mainetta ja kunniaa, ja ainakin viime vuonna Gamesaucen valitsemat 10 kehityskelpoisinta peliä tehnyttä tiimiä saivat palkinnoksi tilaisuuden esitellä hengentuotoksensa Casual Connect Europe -tapahtumassa Hampurissa. Ei siis ihan mikään triviaali porkkana! Viime vuonna suomalaismenestys olikin hurjaa, sillä neljä näistä kymmenestä parhaasta GGJ-pelistä oli suomalaisia, henkilökohtaisena suosikkinani ehkä ylisöpö Snobli Run, josta toivottavasti tulee vielä jotain suurta ja mahtavaa.

Itselleni kyseessä on täysin uusi elämys ja kokemus (harmillisesti kuulin viime vuonna koko tapahtumasta liian myöhään), joten fiilikset ovat tällä hetkellä jonkinlainen hämmentävä sekoitus innokasta odotusta ja pelonsekaista paniikkia. Kävi miten kävi, univajeen ilmeneminen sunnuntaina on enemmän kuin todennäköistä, se nyt on kai sanomattakin selvää. Viikonlopun tapahtumista ja tunnelmista luvassa reportaasia lauantaina 4. helmikuuta, joten palataan silloin asiaan – mikäli selviän tästä intensiivisestä koettelemuksesta jotakuinkin täysissä sielun ja ruumiin voimissa.

lauantai 14. tammikuuta 2012

Tätinörttiys on häiriö


Lupasin pohtia sitä, miten tätinörttiys istuu kulttuurisiin kuviin keski-ikäisestä naisesta. Tästä ei pidä kuitenkaan säikähtää. Tiedossa ei ole laadullisen tutkimuksen jargonia, merkitysrakenteita ja teemoja. Tämä setti vedetään toisenlaisessa tyylilajissa.


Photo courtesy of sethmeranda 
Alkajaisiksi on kai syytä kertoa, että olen tietoinen Nörttitytöt-blogissa käydystä termikeskustelusta ja tunnustan suosiolla, että käytän sanaa nörtti väärin ja teen sen aivan tahallani. Twitter-tilini englanninkielisessä esittelytekstissä kerron olevani geek lady, mutta geek-sanan suomennos nyt vaan on korni.


Nörttiyteni tai jos nyt sitten  ihan tarkkoja ollaan, giikkiyteni, perusta on osittain siinä, että olen patalaiska ja mukavuudenhaluinen. Siksi olen suunnattoman innostunut aina kun löydän sovelluksia tai keksin sovellusten käyttötapoja, jotka auttavat tekemään asioita vaivattomammin ja antavat täten lisäaikaa vielä mukavammille asioille. Olisiko tämä nyt jonkinlaista life hackingia (se joka keksii tuolle termille hyvän suomennoksen, saa erityismaininnan jossakin tulevaisuudessa tai rinnakkaistodellisuudessa ehkä-julkaistavissa muistelmissani). Toinen intohimoni on PowerPoint-halvauksen estäminen.

Tätinörtti on täysin itseironinen nimitys. Täti viittaa siihen, että kuuluun 40+ osastoon ja nörttiyden ironia on siinä, että saan usein kuulla olevani “nörtti” tai kuuluvani johonkin merkilliseen lahkoon “te tekniikkaihmiset”, vaikka en ole tippaakaan kiinnostunut tekniikasta. Muodolliselta koulutukseltanikin olen pesunkestävä humanisti ja kasvatustieteilijä. Tekniikka sinänsä on minusta suunnattoman unettavaa, se kiva juttuhan ovat sovellukset ja appsit. Tätinörtti-nimityksen  ironisuus taas on siinä, että tätihän ei voi olla nörtti eikä oikein edes giikkikään, koska hänen pitää olla valmis rientämään avuksi ja uhrautumaan aina kun lähipiirin hyvinvointi tai mukavuudenhalu sitä edellyttävät.

Kesällä löysin anoppilasta 2000-luvun alussa julkaistun Kotilieden, jossa haastatellut 40+ naiset valittivat muuttuneensa läpinäkyviksi. Lue: Miehet eivät vislaa perään. Naistenlehdet ovat merkittävä kulttuuristen mielikuvien tuottaja, olipa niiden maailmankuvasta ja sisältöjen syvällisyydestä mitä mieltä hyvänsä. Katsotaanpa mitä saadaan saaliiksi kun selataan tuoretta Sara-lehteä, joka on julistautunut 40+ -ryhmän äänenkannattajaksi: Hienoa! Tädin ei tarvitse pukeutua jakkupukuihin vaan hänen liikkumavaransa on paljon laajempi. Myöskään ruoanlaiton ei tarvitse olla prioriteetti numero yksi - helpotus! Miehetkin voivat vislata perään, jos ottaa kehitystehtäväkseen puumanaiseuden. Mutta melko tavanomaisissa asioissa pitäisi pysyä mahtuakseen Sara-lehden profiiliin. Samalla linjalla liikkuu Gloria-lehti. Välillä nostetaan roolimallliksi joku tieteen alalla kunnostautunut tutkijanainen, mutta muuten pyöritään avainsanoissa vaatekaappi, kosmetologi, kampaaja, lifting, kauneusleikkaus, botox, ruokamuoti, luksusturismi, valtavirtakulttuuri, selluliitti, pms ja vaihdevuodet.  


No eihän vaatteissa, kengissä tai pms-oireiden hoitamisessa ole mitään pahaa, mutta arvelen kuitenkin, että suurin osa lehden lukijoista tekee itsensä tälläämisen ohella tietotyötä. Täten he myös käyttävät tietotekniikkaa sekä työssään että vapaa-ajallaan. Laitteet näkyvät lehdissä lähinnä asusteina. Joskus olen havainnut laimean yrityksen kirjoittaa sosiaalisesta mediasta. Eikö naaman liftingin ohella tietotyötaitojen kohentamiseenkin voisi edes kehottaa, vaikka aiheen tunnetuksi tekeminen ei julkaisun päätehtävä olisikaan? Lehdissä kyllä sivutaan työuraan liittyviä asioita, joten kyse ei voi olla siitäkään, että haluttaisiin jättää lehti joksikin työn ulkopuoliseksi saarekkeeksi. Jos suoraan sanon, niin naistenlehtien maailmankuvat ovat pahasti ajastaan jäljessä.

Photo courtesy of brutapesquisa

Naistenlehtiä laajemmassa todellisuudessa stereotypiat tytöistä ja naisista tietotekniikan käyttäjinä ovat toki muuttuneet niistä ajoista kun aloitin IT-tukitehtävissä 90-luvulla. Mm. kotikaupungin tietokonekauppiaat tietävät jo, että kaupan syntyminen on todennäköisempää, mikäli ei ryhdy puhumaan pääni yli ostosreissulle mukaan sattuneelle aviomiehelle. Myös asiakkaat tuntuvat pitävän ihan luonnolliseen maailmanjärjestykseen kuuluvana sitä, että kouluttaja on aikuisen iässä oleva naisihminen.

Ihmisten on kai helpompi käsitellä yksittäistapauksia, mutta yleinen keskustelu tietotekniikasta, iästä ja osaamisesta junnaa merkillisen yksipuolisena. Se huolestuttaa sisäistä kasvatustieteilijääni, koska luutuneet asenteet tulevat mm. olemaan yksi este eläkeiän päästä toteutuvalle työurien pidentämiselle.  Ikätutkijat sanovat, että ikään liittyvät käsitykset muuttuvat vanhanaikaisiksi heti muodostuttuaan koska jokainen uusi sukupolvi luo niitä uudestaan itse elämällä. Käsitysten aataminaikuisuutta ei ehkä huomaa muu kuin se jota ne koskevat, koska muille yksinkertainen luokittelu on helpoin tie. Onko tietäväisempää kuin Y-sukupolveen kuuluva julkkis, joka on päästetty kolumnistiksi tuomaan avarakatseisuutensa hedelmiä muidenkin luettavaksi. Asiantuntevasti hän kehottaa “ikääntyviä apps-kammoisia työntekijöitä” hakeutumaan nuorempien diginatiivien oppiin. Justiinsa. Tunnen monta parikymppistä, joilta oppisin mahdottomasti uutta ja aivan yhtä monta, joille leikepöydän Liitä määräten -toiminto on extreme-laji. Toisaalta esimerkiksi Taloussanomien ja Kauppalehden ikäkirjoittelun kunniaksi on sanottava, että sukupuoleen liittyvä ahdasmielisyys ei sanottavasti häiritse, vaikka keski-ikäiset akat kuulemma kovasti kiukuttelevatkin työpaikolla.

Jos nyt ammattiympyröissä useimmat kestävät sen, että täti innostuu appseista ja softasta enemmän kuin kakkuresepteistä ja liftingvoiteista niin suurin osa sukulaisista ja ns. maallikkotuttavista ovat ymmällään. Ne, joille netti on vierasta ja pelottavaa, näkevät minut saatanasta seuraavana. Ei ole harvinaista, että hihaani liimaudutaan jupisemaan netin kamaluudesta. Onko niin, että kun moraalin peruskallioksi mielletty täti-ihminen puhuu kukkahattunsa lierin varjosta vaarallisen netin ja hömppäyhteisöpalveluiden puolesta, se on liian ahistavaa. Y-sukupolven nettimyönteisyys on helpompi ohittaa vähätellen “nuorten juttuna”. Ehkä tätinörtti asettaa myös paineita antamalla vaivalloisen mallin, sillä onhan yleisille ikään liittyville käsityksille antautuminen helppoa. Annetaan vain periksi sohvan seireenikutsulle kun lehdessäkin sanotaan, että aivot alkavat muuttua muusiksi jo 45-vuotiaana. Eihän kaikkien tarvitse mitenkään erityisesti hurahtaa, mutta ei pidä kitistä ikäsyrjinnästä jos Microsoft Word 2.0 oli viimeisin uusi asia, jonka suostui opettelemaan.

Me tädit kuitenkin jaksamme heilua ja nörttäilläkin. Tämä tätsä poistuu nyt tuolin ja näppäimistön välistä pelaamaan pari kierrosta äkälintuja - parasta päännollausta, koska siitä ei tule krapulaa eikä silmäpusseja.