Irkissä oli keskustelua rinnakkaisuudesta, minkä innoittamana päädyin kirjoittamaan ylös seuraavat periaatteet. Näita noudattamalla rinnakkaisohjelmointi ei ole yleensä juurikaan sarjallista vaikeampaa. Älä käytä rinnakkaisuutta. Jos on ihan pakko käyttää rinnakkaisuutta, niin pidä ainakin huolta siitä, että säikeet ovat toisistaan riippumattomia. Jos säikeiden on ihan pakko olla tekemisissä keskenään, niin pidä ainakin niiden välinen vuorovaikutus mahdollisimman harvassa. [...]
Lisäys 13.12.: Yliopistolla on nykyisin ohjeet Eduroamin käyttöön Lionissa. Eduroam on kätevä maailmalla liikuttaessa, mutta 802.1X:n asetusten saaminen kohdalleen on välillä tuskaisaa. Niinpä Steve päättikin, ettei käyttäjän tarvitse moiseen pystyä, ja poisti konffausmahdollisuuden uudesta OS X:stä. Välilehdellä, jolla asetukset ennen olivat, on nyt vain teksti “Use a configuration profile to add an 802.1X profile to [...]
Eräs muiden toteuttamien tietorakenteiden käytön haittapuolista on, ettei niiden tarkka käyttäytyminen yleensä ole tiedossa. Tässä eräs esimerkki tältä päivältä irkistä. Dynaaminen taulukko on yksinkertainen tietorakenne, jonka alkioihin viittaaminen on yhtä nopeaa kuin staattisessa taulukossa, mutta jonka loppuun voi lisätä ja poistaa alkioita tasoitetusti vakioajassa. Kursseilla tämä selitetään usein niin, että kun täyteen taulukkoon halutaan lisätä [...]
Yksi tietojenkäsittelytieteen toistuvista kiistakysymyksistä on, mitä johdantokurssilla ja perusopinnoissa pitäisi opettaa ja mitä kieltä ohjelmoinnin peruskursseilla tulisi käyttää. Harvardissa asia on ratkaistu näin: David completely reworked the course from the perspective of someone who learned CS in the PC and Internet era. He had students hacking iPhone apps, writing PHP and JavaScript, building websites. Over [...]
Luonnontieteiden ja matematiikan historiat ovat kiinteästi yhteydessä toisiinsa. Pitkään oli niin, että samat ihmiset tutkivat molempia. Siksi onkin edelleen yleistä, että matematiikkaa opetetaan yliopistossa samassa tiedekunnassa kuin luonnontieteitä. Tässä mielessä laskennallinen tiede onkin vuosituhansia vanha ilmiö. Nykyiseen muotoonsa se kehittyi kuitenkin vasta menetelmätieteiden myötä. Ensimmäinen menetelmätiede oli tilastotiede, joka keskittyy datan keräämiseen ja analysointiin. Klassinen [...]
Olen tämän viikon tutkimusvierailulla Paolo Ferraginan ja Rossano Venturinin luona Pisassa. Tämä on mukava vajaan 100000 asukkaan pikkukaupunki, jossa on noin kahta asiaa: opiskelijoita (yliopistossa niitä on noin 57000) ja turisteja (kaikkihan sen tornin tietävät) hieman vuodenajasta riippuen. Täkäläinen talvisää muistuttaa Helsingin syksyä: on pimeää ja sateista ja lämpötilat ovat jossain 10 asteen tuntumassa. Tuulta [...]
Aloitin jatko-opintoni syksyllä 2007 lukemalla tiivistettyjä itseindeksejä käsittelevän kokooma-artikkelin Compressed full-text indexes (Navarro & Mäkinen 2007). Vuosien varrella olen usein selaillut artikkelia, mutta vasta nyt yli kolme vuotta myöhemmin uskon ymmärtäneeni sen kokonaisuudessaan. Tässä välissä olen lukenut suurimman osan aihepiirin alkuperäisartikkeleista – ja monessa tapauksessa keksinyt itse pyörän uudelleen ennen kuin olen ymmärtänyt sen kunnolla. [...]
Viime perjantaina saavuin Perusta New Yorkiin, ja lomakin pääsi jossain välissä muuttumaan työmatkaksi. Vuoristossa vietetyn ajan jälkeen vastassa oli joukko yllätyksiä: Melkein mitä tahansa jaksaa tehdä hengästymättä. Portaiden kiipeäminen tuntuu jaloissa ennen hengästymistä. Taivas on kirkkaallakin säällä vaaleansininen ja aurinko paistaa himmeästi. Hotellihuoneessa on aamulla kuuma eikä kylmä. Ulkona on öisin jokseenkin yhtä lämmintä kuin [...]
Törmäsin hiljattain mielenkiintoiseen blogikirjoitukseen siitä, miten ohjelmointi on muuttunut viime vuosikymmeninä. Siinä missä ohjelmointiin kuului ennen paljon ongelmien ratkaisemista, keskittyy ohjelmoija nykyisin lähinnä huonosti yhteensopivien palojen liimaamiseen kiinni toisiinsa. Kirjoitus herätti ajatuksen siitä, että on olemassa kolmenlaisia ohjelmoijia: Ongelmakeskeiset pitävät enemmän ongelmien ratkaisemisesta kuin itse ratkaisuista. Työkalukeskeiset innostuvat uusien ohjelmointikielten ja työkalujen tarjoamista mahdollisuuksista ajatteluun [...]
Other variations can be used to predict eye color, intelligence, creativity, lactose intolerance, and many many more features. But why wait for birth, when the same techniques can be used to highlight what is possible or certain based on which mate you choose. (HIIT-seminaari 18.9.) Jos tuo esitelmä pidettäisiin vähän julkisemmin, niin olisi koomista nähdä, [...]