26. tammikuuta 2011

ATXMega 192A3 ja Ubuntu 10.04

Minulla on nykyään Atmelin ATXMega-sarjan mikro-ohjaimella varustettu lauta, kuten aikaisemmassa jutussa kerroin. Hiljattain minulla oli aikaa perehtyä sen ohjelmoimiseen Linux-ympäristössä. Eteen tuli pari ongelmaa, joihin esittelen ratkaisuni seuraavassa.

Laitteisto:
  • Ubuntu 10.04
  • ARVISP mkII -ohjelmointilaite
  • ATXMega 192A3

Koeponnistus Arduinolla
AVRISP mkII (Kuva Windell H. Oskay, www.evilmadscientist.com)
Aluksi yritin ohjelmointia Eclipseen asennettavalla liitännäisellä, mutta se ei suostunut tunnistamaan ohjelmointilaitetta lainkaan. En ole kuitenkaan fakkiintunut IDE:n käyttämiseen, joten minulle komentorivillä kääntäminen ja Makefilen värkkääminen käsin käy ihan yhtä hyvin. Otin siis käteen Lauri Jämsän kirjoittaman oppaan AVR-kehityksestä Linuxissa. Ensimmäiseksi testasin robottiautoartikkelissa mainitsemaani Arduinoa, minkä ohjelmointi ei sarjaportin kautta enää onnistu, kun Arduinon bootloader ei siinä suostu enää toimimaan. Ensin kokeilin yhteyttä Arduinoon komennolla

avrdude -c avrispv2 -p m168 -P usb
Sen jälkeen kopioin malliohjelman tiedostoon, latasin Makefilen sabluunan, tein Jämsän mainitsemat muutokset (tietenkin omalle ohjelmoijalle ja mikro-ohjaimelle) muutokset, käänsin ja latasin koodin lautaan. Homma sujui kuin tanssi. 

Yo dawg!
Seuraavaksi vaihdoin XMega-laudan tulille ja kokeilin yhteyttä ja sain virheilmoituksen. Tulin siihen tulokseen, että ohjelmointilaitteen firmware on liian vanha kyseisen piirin ohjelmoimiseen, joten edessä oli ohjelmoijan ohjelmointi. Sitä en edes yrittänyt tehdä Linuxissa, vaan teetätin sen koulussa Tomilla, joka teki sen käyttäen AVR Studiota ja siihen sisällytettyä ohjelmointilaitteiden päivitysominaisuutta. Illalla kun pääsin kotiin kokeilin uudestaan komentoa
avrdude -c avrispv2 -p atxmega192a3 -P usb
 ja sain laitteelta kohteliaan ilmoituksen, että yhteys on kunnossa.

JAMK XMega

Kääntäjäongelma
Muokkasin seuraavaksi testiohjelman ja Makefilen uudelle laudalle sopivaksi ja yritin kääntää sen. GCC vastasi ilmoittamalla, että käyttämäni kohdemikro-ohjain ei ole tuettu. Aloin selvittämään, mikä versio avr-gcc:stä tukisi mikro-ohjaintani ja se urakka osoittautuikin odotettua hankalammaksi. Kyseessä on ilmeisesti patch, jonka ovat tehneet FreeBSD-projektin kehittäjät, mutta jota jostain syystä ei ole käännetty Ubuntun versioon paketista. Lopulta löysin deb-paketit kääntäjästä, joissa uusimpien XMega-piirien tuki oli mukana. Poistin ensin Ubuntun oman paketin, asensin korvaavaan, käänsin ohjelman ja latasin sen lankkuun ongelmitta.

22. tammikuuta 2011

Musiikin nauhoittaminen Linuxissa

Minut tunnetaan innokkaanaa muusikkona, joten usein minulta kysytään, mitä ohjelmia käytän musiikin tekemiseen. Vastaus ei tosin useinkaan miellytä kysyjää, sillä käyttämäni työkalut eivät ole saatavilla Windowsille.

Ihan ensimmäiseksi haluan huomauttaa, että en nauhoittele itsekseni kotona musiikkia kovinkaan usein. Nykyisin jos jotain olen tekemässä, niin minut löytää todennäköisemmin oikeasta studiosta. Silloin tällöin kuitenkin saan päähäni nauhoitella jotain kitarariffejä paremman tekemisen puutteessa ja siihen käytän seuraavia ohjelmia.

Rummut
Hydrogen
Rumpukoneet ovat yhtä hyviä kuin niiden mukana tuleva sample-pankki. Koska samplet ovat rahanalaista tavaraa ja vieläpä hintavia sellaisia, niin kelvollisen rumpukoneen löytäminen oli haastavaa. Lopulta päädyin käyttämään ohjelmaa nimeltä Hydrogen. Sen käyttöliittymä oli mielestäni oikein miellyttävä ja intuitiivinen käyttää ja ominaisuuksiakin on minun käyttöön ihan riittävästi. Samplet voisivat olla paremmat, mutta kun ilmaiseksi saa, niin ei pidä liikaa valittaa.

Käytännössä Hydrogenilla tehdään hiirellä naksuttelemalla erilaisia tahteja, joita sitten yhdistelemällä tehdään kappaleita. Mikseri-ikkunassa voi eri kalistimien äänenvoimakkuuksien ja panoroinnin lisäksi säätää erilaisia ihmismäisyyksiä, kuten soittotarkkuuden ja iskuvoimakkuuden vaihtelua. Lopputuloksen voi sitten putkauttaa ulos joko MIDI- tai wav-muodossa.

Ei näin
Ylivoimaisesti suosituin open source -äänityssofta on Audacity. Se on monena vuonna voittanut palkintoja alan julkaisuissa parhaana ilmaisena multimediasovelluksena, mutta minä suoraan sanoen inhoan sitä. Audacity kelpaa mielestäni juuri ja juuri musiikkitiedoston trimmaamiseen puhelimen soittoääneksi, mutta mihinkään oikeaan äänen editointiin en käyttäisi sitä ikipäivänä. Perustoiminnot, mitkä kaupallisissa kilpailijoissa ovat yhden hiirenpainalluksen päässä, on piilotettu valikoihin niin syvälle, että hommasta ei vain kertakaikkiaan tule yhtään mitään. Lisäksi käyttöliittymä on ruma kuin synti, vaikkakin se on sivuseikka.

Rajaton raituri
Ardour on mielestäni yksi ällistyttävimpiä open source -projekteja. Sen kehittäjä Paul Davis jätti päivätyönsä kovapalkkaisena ohjelmoijana ja koodaa Ardouria täysipäiväisesti lahjoitusvaroilla. Hän ilmoitti, että niin kauan kun hän pystyy elämään lahjoituksilla hankkimatta päivätöitä hän on sitoutunut kehittämään Ardouria. Toinen ällistyttävä seikka Ardourissa on sen laatu. Käyttöliittymää myöten se on priimaa ja täysin useimpien kaupallisten kilpailijoidensa tasolla, jos ei ihan kalleimpiin ohjelmistoihin verrata. Sitä on myös käytetty osana kaupallisia tuotteita.

Ardour Digital Audio Workstation
En todellakaan ole mikään raiturin tehokäyttäjä, joten en ole varmasti tutustunut edes promilleen Ardourin ominaisuuksista. Olen ainoastaan nauhoittanut raitoja, trimmaillut ja yhdistellyt pätkiä eri otoista sekä säätänyt mikseristä tasot kohdilleen ja joskus laittanut vähän kaikua. Ardourissa ei ole mitään rajoituksia raitojen, väylien, pluginien (ts. efektien) tai edes undojen suhteen. Tämän tasoinen softa käyttää luonnollisesti JACK-äänipalvelinta.

Klippejä tai pv
Tällaisen jutun kirjoittaminen olisi typerää ja julmaa ilman jotain kättä pidempää. Alla linkki biisiin minkä nauhoittelin kesällä 2008.  Biisissä ei ole muita soittimia kuin Hydrogenilla tehdyt rummut ja n kappaletta kitaroita. Musiikki-ihmisille tässä pakollinen lista laitteistosta:

  • Ibanez RG 7620 -kitara
  • Behringer V-amp 2 -mallintava efektiprosessori
  • Terratec DMX 6fire 24/96 -äänikortti


Fun Song mp3 4,23MB

Loppusanat
Eniten Linux-käyttäjänä jään kaipaamaan kunnollisia rumpusampleja. Hydrogenin peruskirjasto välttää, mutta Drumkit From Hellin kanssa siitä ei voi puhua edes samana päivänä. Raituriohjelmana Ardour on varmasti riittävä kaikille muille paitsi ehkä ammattimiksaajille.

Äänikortin osuutta nauhoittamisessa ei pidä myöskään väheksyä ja sillä rintamalla Linux-käyttäjille tulee valitettavasti lunta tupaan. Vähänkin erikoisemman kortin omistajat törmännevät pian siihen tosiasiaan, että niiden ominaisuuksista vain olennaisimmat ovat tuettuna open source -ajureissa. Perusteellinen googlaus on siis paikallaan ennen äänikortin ostamista, sillä joillekin korteille on täydellinen tuki, kun taas toisista voi olla esimerkiksi digitaalinen I/O tai MIDI-ominaisuudet implementoimatta.

18. tammikuuta 2011

Arduino ja BluetoothBee

Tilasin ennen joulua itselleni Kiinasta XBee-kantaan käyvän Bluetooth-moduulin käytettäväksi Arduinon kanssa erilaisissa projekteissa. Tarkoituksena on lähinnä tutustua Bluetooth-teknologiaan ja selvittää mihin kaikkeen se soveltuu. Yksi sovelluskohde mitä olen miettinyt on käskyjen välittäminen GPS-robottiautolleni. Testirautana on Arduino Duemilanove, Xbee Shield, BluetoothBee. Tässä jutussa kerron miten yhdistin Arduinon puhelimeni kanssa.

Seeedstudio BluetoothBee
BluetoothBeen ohjelmointi
Ensimmäisenä moduuli pitää tietenkin ohjelmoida. Sitä varten tarvitaan ensinnäkin ohjelma, jolla voi helposti lukea ja kirjoittaa sarjaliikenneporttiin. Oli suorastaan käsittämättömän vaikeaa löytää kätevä graafinen ohjelma Linuxille. Loputtomalta tuntuneen googlauksen löysin Ohjelman nimeltä CuteCom mikä oli juuri sellainen kuin mitä olin etsimässä.

Seuraavaksi sitten piti keksiä miten komennot saa välitettyä BluetoothBeelle. Asiaa tutkittuani selvisi, että sarjaportin kautta saa komennot menemään moduuliin laittamalla XBee shieldin ns. USB-moodiin. Käytännössä se tarkoitti kahden jumpperin siirtämistä ja mikrokontrollerin irroittamista Arduinosta. 

Sen jälkeen, kun asetukset CuteComissa olivat kohdillaan, alkoi moduuli vastaamaan käskyihin. Huomioitavaa Linux-käyttäjille on se, että jokainen komento aloitetaan ja päätetään DOS-tyyppisellä rivinvaihdolla, eli carriage return ('\r') ja line feed ('\n') on lähetettävä molemmat. Komennot ovat hyvin selostettuna datalehdellä. Itse asetin Bluetooth-moduulin slave-moodiin, nimeksi Arduino, asetin PIN-koodin sekä laitoin sen automaattisesti käynnistyessä yhdistämään siihen laitteeseen mihin se on viimeksi ollut yhteydessä. Ennen jokaista komentoa pitää lähettää yksi tyhjä DOS-tyyppinen rivinvaihto.
+STMOD=0
+ STNA=Arduino
+STPIN=1234
+STAUTO=1
Yhteyden luominen ja testaaminen
Arduinon yhdistäminen puhelimen kanssa aiheutti myös hieman päänvaivaa. Aluksi moduuli pitää laittaa inquiry-tilaan, jotta se näkyisi muille laitteille. Se tapahtuu komennolla
+INQ=1
GetBluen kuvaruutukaappaus
 Sen jälkeen puhelimesta Bluetooth päälle ja skannataan kuuluvuusalueella olevat laitteet. Listassa komeili Arduino-niminen laite, joten käskin puhelimen yhdistämään laitteeseen. Seuraavaksi piti näppäillä moduulin PIN-koodi ja sen jälkeen laitteiden parittaminen oli tehty.

Nyt puhelimen Bluetooth-laitteiden listassa näkyi Arduino, jonka kohdalla luki tarkenteena "Paired but not connected". Yritin käskyttämällä moduulia saada yhteyttä aikaiseksi, mutta joka kerta moduuli palautti "CONNECT:FAIL". Google-fu tuotti tulosta, kun moduulin valmistajan forumilla joku mainitsi, että yhteyttä ei voi luoda, ellei puhelimessa ole softaa mikä pystyy sellaisen avaamaan. Androidin sovelluskaupasta löytyi ohjelma nimeltä GetrBlue, jonka avulla alkoi bitti liikkumaan Androidin ja Arduinon välillä. Tein Arduinoon pienen ohjelman, mikä luki Bluetoothin kautta merkkejä ja palautti ne niin, että jokaisen merkin arvoa oli kasvatettu yhdellä. Ennen sitä piti tietenkin laittaa Arduinon mikro-ohjain takaisin paikalleen.

Mitä seuraavaksi?
Seuraavana on ohjelmassa tehdä oma Android-ohjelma, joka osaa avata yhteyden Arduinoon ja lähettää esimerkiksi sensoridataa sille. Hieno tavoite voisi olla tehdä ohjelma, mikä toimii robottiauton langattomana rattina. 

12. tammikuuta 2011

Linuxia kansalle

Slashdot nousi pitkästä aikaa tietoisuuteeni uutisella, jonka mukaan Putin on antanut määräyksen Venäjän liittovaltion virastojen siirtyä käyttämään Linuxia seuraavan neljän vuoden sisällä. Lisäksi luodaan oma avoimen lähdekoodin ohjelmistovarasto. Minua lähinnä ihmetyttää, miksi tähän ei ole vielä pystytty Suomessa.


Köyhällä ei ole varaa ostaa halpaa
Open sourcen edut ovat mielestäni kiistattomat. Ensinnäkään avoimien lähdekoodin ohjelmistoista ei tarvitse maksaa lisenssimaksuja, mistä kertyy valtiolle ja kunnille yli sadan miljoonan euron kustannukset vuosittain. Microsoft väittää omassa propagandakampanjassaan, että maksulliset ohjelmat tulevat itse asiassa halvemmaksi, kun otetaan huomioon ilmaisten ohjelmien mukana tulevat kohonneet tukipalvelukustannukset. En pysty alkuunkaan ymmärtämään, mistä ne kustannukset tulevat.

Sen ymmärrän, että tietojärjestelmien uusiminen maksaa, mutta sitä joudutaan tekemään myös maksullisten ohjelmien puolella. Kaikki joiden työpaikalla tai koulussa on siirrytty Windows XP:stä seiskaan tietävät mistä puhun. Merkitsevä ero on siinä, että Microsoft sanelee aikataulun omien tuotteidensa kanssa ja asiakkaat joutuvat sopeutumaan. Kun Microsoft puskee ulos uuden version toimisto-ohjelmistostaan, mikä tietenkin tallettaa asiakirjat johonkin uuteen tiedostomuotoon, on kaikkien siinä yhteisössä siirryttävä myös, tai asiakirjat eivät enää aukene. Lisäksi uuden ohjelmiston mukana tulee uusi käyttöliittymä ja työntekijöiden uudelleenkouluttaminen on edessä. Miten tämä tulikaan taas halvemmaksi kuin open source?

Panttivankidraama
Mieleen tulee kohtaus elokuvasta Social Network, missä toinen Winkelvossin veljeksistä ihmettelee miten Facebook oli onnistunut saamaan 650 käyttäjää ensimmäisenä päivänä, kun itse hän ei pystyisi edes jakamaan ilmaiseksi huumeita päivässä niin monille. Miksi ihmiset jatkoivat Windows-lisenssien ostamista vaikka he inhosivat sitä ja vaihtoehto oli ilmainen?

Ohjelmistojätin niskalenkki asiakkaistaan oli paljon mahtavampi kuin osasin edes kuvitella. Ensinnäkin kauppiaita kiristettiin hinnoittelumallilla, missä he joutuisivat maksamaan lisensseistä muita kauppiaita enemmän mikäli putiikissa myytiin myös koneita ilman heidän käyttöjärjestelmää. Pelottelun lisäksi epäilen myös valehtelua käytettäneen. Mieleen muistuu tapaus, missä ystäväni yritti ostaa tietokonetta ilman Windowsia, mutta myyjä kieltäytyi toimittamasta sellaista väittäen sellaisen olevan laitonta.

Totuuden nimissä kai suurin syy oli ihmisten haluttomuus opetella uutta. Suurimmalle osalle ihmisistä tietokoneet ovat tarpeeksi pelottavia jo itsessään. Jos siihen päälle pitäisi vielä opetella osoittamaan erinäköistä ikonia päästäkseen internettiin, niin kaiketi valtaväestön mukavuuskynnys on jo ylitetty.

Case: Casa de Oksanen
90-luvulla taloomme pesiytyi Windows 95, jonka jäljiltä meillä on vieläkin kaapissa näppäimistöjä, joista on revitty irti caps lock -nappi. Sen painaminen nimittäin kaatoi Windowsin. Windows 95:n suurin saavutus oli totuttaa käyttäjät siihen, että tavallinen tietokone kaatuilee normaalikäytössä useita kertoja päivässä.

Sen jälkeen taloon tuli 98, mikä ei kai enää kaatunut caps lockin painamiseen, mutta viruksia se imuroi itseensä kuin sieni. Meillä oli tässä vaiheessa kotona muutaman tietokoneen verkko ja kun minä onnistuin Kazaalla tai jollain muulla saastuttamaan yhden koneen, niin pian se oli kaikissa. Muistan yhteiset illat isäni kanssa, kun puhdistimme koneita milloin mistäkin satiaisista ja miten kirosimme Windowsin tietoturvan heikkoutta.


2000-luvun alussa sain ensimmäisen oman tietokoneeni. Sen mukana ei tullut käyttöjärjestelmää, joten minun piti tehdä valinta siitä, minkä siihen asentaisin. Tulin pian siihen tulokseen, että on järjetöntä maksaa Microsoftille käyttöjärjestelmästä, mitä olin oppinut vuosien varrella inhoamaan perusteellisesti. Sen sijaan päätin kokeilla Linuxia, josko siitä olisi mihinkään. Odotukseni ilmaisen käyttöjärjestelmän suhteen eivät olleet korkealla, mutta päätin antaa sille mahdollisuuden ennen kun kaivaisin lompakon esille ja ostaisin Windowsin. Pian ymmärsin, että ilmainen käyttöjärjestelmä oli jopa parempi kuin kaupallinen kilpailijansa ja minusta tuli evankelista.


Näihin aikoihin äitini tietokoneen ylläpito oli jätetty minun harteilleni ja lopulta kone oli taas ajautunut tilanteeseen, missä sen korjaamiseksi käyttöjärjestelmä pitäisi asentaa uudestaan. Päätin säästää omia hermojani ja siirtää äitini Linuxin käyttäjäksi. Hän käytti konetta lähinnä tekstinkäsittelyyn, netin selaamiseen sekä pasianssin pelaamiseen, joten siirtyminen ei ollut mikään ongelma. Asensin koneeseen muistaakseni Red Hat 7.3:n, työpöydälle pistin söpön pingviinikuvakkeen, minkä alla luki "Internet" ja homma oli suunnilleen siinä. Äitini jopa piti siitä, että Red Hatin mukana tuli enemmän pelejä kuin Windowsin mukana. Vuosien varrella äitini koneessa on ollut myös muistaakseni joku versio SuSE:sta (Red Hatin vaihdettua strategiaansa ilmaisten jakelujensa suhteen) ja viimeiset vuodet Ubuntu.

Ongelmia ovat lähinnä aiheuttaneet ajoittain äitini ystäviltään saamat MS-formaatissa olleet tiedostot. Ne ongelmat on kuitenkin nyt jo ratkaistu, mutta jokunen wmv- ja docx-tiedosto saattoi jäädä aukeamatta, kunnes tuki sille tuli jakeluversiopäivityksen mukana joitain kuukausia myöhemmin.

Tavallisen käyttäjän ongelma
Väite siitä, että Linux olisi liian vaikea käyttää "tavalliselle käyttäjälle" on mielestäni täyttä puppua. Jos otetaan käyttäjä, joka ei ole koskaan käyttänyt tietokonetta, niin väitän että Linux ei ole yhtään kilpailijoitaan vaikeampi käyttää. Olen vuosien varrella käyttänyt kymmeniä käyttöjärjestelmiä ja kaikissa niissä on omat omituisuutensa, mitkä ovat pitkään sitä käyttäneen mielestä täysin intuitiivisia. Muistan kun sain ensimmäisen OSX-koneeni ja sen optinen asema oli kelkaton, eikä siinä ollut eject-nappia. Jouduin poistamaan levyn käyttäen klemmaria ja aseman hätäavauskytkintä kunnes vuosia Macintosh-koneita käyttänyt tuttuni tuhahti, että levyt "tietenkin" postetaan raahaamalla aseman kuvake roskakoriin.


Syitä käyttää Linuxia:

  • Ei viruksia
  • Ilmainen
  • Vakaa
  • Turvallinen
  • Ohjelmien helppo asentaminen ja päivittäminen
  • Harvoin tarvetta asentaa ajureita
  • Ohjelmat ilmaisia, ei tarvetta piratismiin
Syitä olla käyttämättä Linuxia:
  • Olet riippuvainen jostain kaupallisesta sovelluksesta, mille ei ole Linux-käännöstä tai OSS-vastinetta. 
  • Käytät todella marginaalista rautaa, mille ei ole Linux-tukea.
  • Pelit

Tulevaisuus
En jaksa enää uskoa Linuxin nousuun tavallisten käyttäjien työpöytäkäyttöjärjestelmänä. En siksi, että Linux ei olisi valmis siihen, vaan siksi että käyttäjät eivät halua sitä. Jos he eivät halunneet vaihtaa käyttöjärjestelmää silloin, kun koneen mukana tuli XP tai Vista, niin nyt kun Windows 7 on osoittautunut huomattavasti edeltäjiään paremmaksi  syitä entistä vähemmän. Yhä useammat käyttäjät tulevat kuitenkin käyttämään Linuxia tietämättään pilvipalveluiden yleistyessä. Lisäksi Linuxin jo pitkään ennustettu esiinmarssi sulautetuissa järjestelmissä alkaa viimein tulla toteen Androidin myötä. Android oli tämän vuoden CES-messuilla selvästi seksikkäin trenidi kuluttajaelektroniikkassa.

Toivottavasti tässä tekstissä oli jotain järkeä. Tämän artikkelin kirjoittaminen oli vaikeaa, koska minulla olisi aiheesta niin paljon sanottavaa. Vaikeinta kirjoittamisessa on tiivistäminen ja asiassa pysymien ja minunlaiselle kirjoittajalle, jolla on muutenkin taipumusta pitkäpiimäisyysteen, se oli erityisen vaikeaa.

24. joulukuuta 2010

Teknologiavuosi 2010 tiivistettynä

Tähän aikaan vuodesta kaikkien pitää kirjoittaa listaa vuoden merkittävimmistä tapahtumista. Luodaan katsaus siis vuoden 2010 tapahtumiin teknologiasektorilla suomalaisittain. Tapaukset ovat merkittäiviä lähinnä siksi, että ne sattuivat muistumaan kirjoittajan mieleen. Kommenteissa voi antaa risuja, jos ja kun jotain tärkeämpää on jäänyt listasta pois.

Nokian uusi suunta
Nokian yritykset tunkeutua Yhdysvaltain markkinoille ovat toistaiseksi kantaneet laihoja tuloksia. Nyt johtoon lopultakin haetaan diversiteettiä rapakon takaa. Keski-ikäisten suomalaisten insinöörien rinnalle hankittiin ensin Microsoftilta Stephen Elop ja heti perään markkinoinnista vastaamaan Jerri DeVard, joka oli mm. vastaamassa Obaman presidentinvaalikampanjan rahoituksesta. Toivottavasti tuollaisella huippuosaamisella Nokiasta saadaan hiottua vieläkin kilpailukykyisempi.

Tabletti
Applen tulevasta tabletti-PC:stä oli kuultu huhuja jo vuosia. Tablettikonsepti sinänsä ei ollut mitään uutta; Microsoft oli flopannut omilla yrityksillään jo lähes kymmenen vuotta aikaisemmin. Applen kuitenkin odotettiin tuotteistavan sen tavalla, mikä vetoaisi kuluttajiin ja nostaisi tabletit miniläppärien rinnalle kilpailemaan paikasta liikkuvaisten ihmisten internetpäätelaitteena. Ipad tuli ja sai monien Applen kannattajien suosion, mutta vielä on vaikea arvioida tuleeko siitä todellinen hitti. Apple ei ole julkaissut myyntilukuja, mutta yleisesti sitä arvioidaan myydyn puolen vuoden aikana useampia miljoonia kappaleita.

Android
Vuoden alussa Androidin osuus mobiilikäyttöjärjestelmämarkkinoista oli alle 5%. Open Source -aktivistit uskoivat sen nousuun, mutta muilla oli epäilyksensä. Nokia esimerkiksi on täysin sitoutunut omiin Meego ja Symbian-käyttöjärjestelmiinsä, eikä mitään viitteitä Androidiin siirtymisestä ole vieläkään. Vuoden edetessä Android kuitenkin kasvatti markkinaosuuttaan suurin harppauksin ja vuoden lopussa se on lähes 12% osuudellaan noussut varteenotettavaksi kilpailijaksi Applen, Research in Motionin ja Nokian tuotteille. Androidilla on niin hyvin jalka oven välissä kännykkäpuolella, että Google on jo kääntänyt katseensa tabletteihin ja on haastamassa Applen siellä seuraavaksi.
Source: StatCounter Global Stats - Mobile OS Market Share



Microsoft
Mitä Microsoft teki tämän vuoden aikana, mikä olisi mainitsemisen arvoista? Eipä juuri mitään ja juttu oikeastaan piileekin siinä. Microsoft edelleen täydellisesti dominoi työasematietokoneissa sekä käyttöjärjestelmän että toimistosovellusten saralla. Työasemat ovat kuitenkin tavallaan menneisyyttä. Tällä hetkellä teknologian etulinjat ovat muualla: sosiaalisessa mediassa, sijaintipohjaisissa palveluissa, hakukoneissa, mobiililaitteissa. Mitä näillä on yhteistä? Kaikissa niissä Microsoft on altavasaaja. Yrittämisen puutteesta redmondilaisia ei kuitenkaan voi moittia, sillä Bing itse asiassa valtaa hakukonemarkkinoita Googlelta. Lisäksi onnettomasti nimetty Windows Phone 7 Series on kerännyt kehuja niiltä harvoilta, ketkä ovat sillä varustettuja laitteita päässeet ihailemaan. Takamatka on tosin pitkä Windows Mobilen kanssa sössittyjen vuosien jälkeen. Kaikki muistamme, mitä tapahtui kun Microsotilla ei ollut kilpailijoita, joten uusi markkinoista taisteleva softajätti tuntuu jälleen uudella tavalla mielenkiintoiselta ja elinvoimaiselta. Myös yhtiön PR-osasto on onnistunut kiillottamaan 1990-luvun lopun jälkeen ryvettynyttä imagoa, milloin firma nähtiin lähinnä öykkärimäisenä monopolina.


Oracle
Nyt kun Microsoft on muuttanut tapojaan ja SCO käräjöi itsensä konkurssiin Open Source -yhteisö tarvitsi uuden sylkykupin. Oracle ilmoittautui vapaaehtoiseksi ensin MySQL-kaupoillaan ja myöhemmin Sunin ostamisen jälkeisillä toimenpiteillä. Oraclen nihkeä suhtautuminen Open Sourceen oli tiedossa jo ennen Sunin ostamista, mutta silti sitä seuranneiden tapahtumien suoraviivaisuus ja nopeus yllätti useimmat. Sunin Open Source -strategiasta vastanneet henkilöt irtisanottiin välittömästi ja OpenSolaris-projekti lakkautettiin. Muutamaa kuukautta myöhemmin Oracle alkoi haastamaan Android-puhelinten valmistajia käräjille väittäen, että Googlen Androidille tekemä Dalvik-virtuaalikone loukkaa Oraclen nykyisin omistamia patentteja. Hätäisimmät ovat ehtineet epäilemään jo koko Javan tulevaisuutta nyt kun sen ohjat ovat Oraclen hallussa. OpenOffice-väki teki omat johtopäätöksensä ja perustivat uuden projektin eivätkä enää toimi Oraclen alaisuudessa. Uusi uljas LibreOffice on sitä varten perustetun The Document Foundationin hallinnoima OpenOfficen haarautuma.

Suomalaiset pelitalot
2010 oli mahtava vuosi suomalaiselle peliteollisuudelle. Max Paynella kultaa vuollut Remedy Entertainment julksisi viimein vuosia hiotun Alan Wake -videopelitrillerinsä. Vastaanotto oli suosiollinen ja pelkästään Iso-Britanniassa peliä myytiin ensimmäisen kahden viikon aikana lähes 150 000 kappaletta. Vuoden lopulla TIME Magazine valitsi Alan Waken vuoden peliksi.

Vielä Remedyn suoritusta korkeammalle olen valmis rankkaamaan Rovio Mobilen suorituksen suoranaisen Angry Birds -manian luomisessa. Peli keikkui viikkoja Iphonen maksullisten ohjelmien myyntitilastojen kärkipaikalla käytännössä jokaisessa maassa ja sen jälkeen valloitti Androidin maksuttomalla mainosrahotteisella versiolla. Pelin huumori on uponnut kännykkäkansaan ja pelin lisäksi oheistuotteet tekevät kauppaansa. Jopa puheita loikkaamisesta elävien kuvien puolelle on kuultu ja vuoden kruunasi pelin fanien järjestämä kansainvälinen Angry Birds -päivä joulukuussa. Harvat pelit nousevat tämän kaltaiseksi popkultturi-ilmiöksi ja siinä onnistumisesta on pakko antaa tunnustusta Roviolle.

Hyvää joulua ja onnekasta uutta vuotta lukijoille.

21. joulukuuta 2010

JAMK XMEGA

Tänä syksynä opinto-ohjelmaamme kuului kurssi, jonka kryptinen nimi oli Industrial and Quality Management. Käytännössä kurssilla oli tarkoitus suunnitella elektroninen vimpain ja valmistuttaa sitä muutama kappale teollisesti. Esittelemästäni tuotteesta en itse voi ottaa lainkaan kunniaa. Jaoimme ryhmän kahteen "firmaan", joista omani epäonnistui yrityksissään saada toimiva prototyyppi valmiiksi ennen deadlinea. Sen sijaan Firma 1 sai ansiokkaasti omansa toimimaan ajoissa ja pääsimme heidän mukanaan 3K-tehtaalle Savonlinnaan seuraamaan miten sen teollinen valmistaminen sujuisi.


Xmegalomania
Firma 1 päätti kunnianhimoisesti suunnitella kehitysalustan käyttäen Atmelin uuta Xmega-mikro-ohjainta. Sen suunnittelusta vastasi pääasiassa Tomi Leinonen, muun ryhmän keskittyessä mm. softaan ja lisälaitteisiin. Xmega-perheestä valikoitui levyn aivoiksi ATxmega 192A3. Pari prototyyppiä myöhemmin oli lankku siinä mallissa, että levyt tilattiin Prineliltä ja suuntasimme osat kainalossa bussilla Savonlinnaan kalustamaan levyjä.

Kolmen koon klaani
Kurssin huipennus oli luokkaretki Savonlinnan 3k-tehtaalle, missä meille oli varattu koko päivä elektroniikan teollisten valmistusprosessien esittelyyn. 3k toimii elektroniikan alalla laaja-alaisesti. Komponenttien ladonnan lisäksi heidän repertuaariin kuuluu myös suunnittelua, tutkimusta, testausta, korjausta sekä kaiken edellä mainitun kouluttamista.

"Testing, 1, 2"
Paikan päällä firmat erotettiin toisistaan. Firma 1 lähti ensimmäisenä ladontalinjalle valmistelemaan omaa eräänsä ja Firma 2 pääsi testausinsinöörin kanssa ohjatulle kierrokselle ihmettelemään mitä erilaisimpia tapoja tutkia ja mukiloita sähköisiä laitteita. Valitettavasti olen niin onneton kamerankäyttäjä, että en ikinä muista ottaa kuvia kaikesta mielenkiintoisesta. Alla on kuitenkin muutamia otoksia, mitkä tallentuivat muistikortille.
Röntgenlaitteella voidaan tarkastella mm. juotosten laatua. Kamera lähetti suoraa kuvaa kapista ja sitä pystyi liikuttelemaan taustalla näkyvältä ohaustyöasemalta. Kuvassa kamera on kallistettu 45° kulmaan, jolloin voidaan vertailla myös juotosten korkeuksia.

Korjausasemalla esiteltiin BGA-piirien juottamista ja irroittamista.

Tämä sementtimylly on todellsuudessa vain astetta miehekkäämpi subwoofer. Sitä käytetään laitteiden tärinänkestävyyden testaamiseen.

Sääkaapissa laitteet voidaan altistaa tarpeen mukaan kuumuudelle, kylmyydelle tai kosteudelle. Vierailuhetkellä siellä testattiin tietokoneen emolevyn toimintaa kuumissa olosuhteissa. Tällä kaapilla saa koko pikkujouluporukan oluet kylmäksi hetkessä.

EMC-testauskaappi on 3K:n omaa tuotantoa. JAMK harkitsee samanlaisen tekemistä omaan käyttöönsä hieman pienemmässä mittakaavassa.


Kirjoittaja patsastelemassa tuntemattomaksi jääneen massiivisen masiinan edessä Facebookin profiilikuvaa varten.
Hihat heilumaan
Esittelykierroksen ja sitä seuranneen lounaan jälkeen oli meidän vuoromme alkaa valmistamaan levyjä. Firma 2 ei saanut omaa hakkuriteholähdettä toimimaan halutulla tavalla tehdasvierailuun mennessä, joten mekin valmistimme kilpailevan firman Xmega-lautaa. Heti kun meille annettiin vähän tekemistä unohdin ottaa kuvia, mutta yritän parhaani mukaan korvata kuvia tuhansilla sanoilla. Koska levy oli kaksipuolinen, niin seuraavat vaiheet tehtiin kahteen kertaan.

Ensimmäisenä lautoihin levitettiin juotostahna pintaliitoskomponentteja varten. Kortin aihiot laitettiin liukuhihnalle, mistä kone imaisi yhden kerrallaan sisälle ja kohdisti sen päälle pellistä tehdyn stensiilin, missä oli reiät juotospadien kohdalla. Sen jälkeen kone kaulitsi stensiilin ylitse juotostahnaa ja lastasi sen pois jättäen tahnaa levylle reikien kohdalle. Sen jälkeen kone sylki levyt ulos liukuhihnaa pitkin.

Seuraavaksi oli vuorossa vastusten, kondensaatorien ja ledien ladonta. Kone teki vaihtelevaa jälkeä, joten levy piti tarkastaa ladonnan jälkeen, nimittäin kaikkien kohdalla komponentit eivät tulleet oikeaan asentoon levylle. Mitään vähänkään eksoottisempia komponentteja ladontakone ei osannut käsitellä, joten loput pintaliitoskomponentit (USB-liittimet, kytkimet, IC:t) joduimme asettelemaan levyille käsin ennen levyjen paistamista.


Pintaliitoskomponenttien käsinladonnassa oli apuna liikkuvan varren nokassa oleva pieni imukuppi, millä komponentteja pudoteltin levylle. Masiinalla oli paha tapa irrotessaan tönäistä juuri hienosti aseteltu komponentti vinoon, joten niitä sai sitten hammastikun kanssa asetella paremmin paikoilleen. Niiden asettelu ei kuitenkaan ole nöpönuukaa, sillä tinan sulaessa uunissa sen pintajännitys imaisee komponentit yleensä paremmin kohdalleen.

Tämän käsittelyn jälkeen levyt olivat valmiit uuniin ja miehet valmiita kahvitauolle.

Levy sisälsi paljon läpiladottavia komponentteja (liittimiä, joystick, LCD-näyttö) mitkä jouduimme kolvaamaan kiinni käsin. Paikalla oli kuitenkin huippuluokan juotosasemat ja tinat flukseineen, joten juottaminen sujui kuin tanssi.


Firma 1 tinaamassa.

Kun läpiladottavat komponentit olivat paikallaan lautoihin poltettiin testiohjelmat. Firma 1:n laatujohtaja sai hyvillään merkitä kirjaansa saannoksi 100% ja retkueemme suuntasi bussilla takaisin kohti Jyväskylää.



Perustimme Gitorious-palveluun koodivaraston, minne voimme laittaa tekemiämme ohjelmia jakoon. Sinne varmasti joulun aikaan alkaa ilmestymään koodia, kun miehistömme pääsee kunnolla vauhtiin.

17. joulukuuta 2010

Projekti: Android Location Aware Reminder Mechanism

Tänä syksynä Jyväskylän ammattikorkeakoulu tarjosi ohjelmistotekniikan opiskelijoille useita mobiiliohjelmoinnin kursseja. Android-ohjelmoinin kurssin harjoitustyönä koodasimme Jani Koskelan kanssa ohjelman, mikä antaa käyttäjälle muistutuksia sijainnin perusteella.

ALARM tarjoaa käyttäjälle mahdollisuuden tallentaa muistutuksia, jotka ovat kiinnitettyjä tiettyyn sijaintiin. Käyttäjä voi esimerkiksi laittaa itsellensä muistutuksen käydä ostamassa kitaraan kieliä seuraavan kerran kun liikkuu keskustassa. Hälytystä varten tallennetaan viestin otsikko, muistutusteksti, koordinaatit ja hälytyssäde. Käyttäjän tullessa hälytyssäteelle kohteesta puhelin antaa huomautuksen äänen, värinän sekä puhelimen ruudun muistutusalueelle tuleven ikonin kera.

Softaa kohtaan on ollut ainakin kaveripiirissä kiinnostusta, joten päätimme jatkaa sen kehittämistä kurssin jälkeenkin. Tarkoitus on laittaa ohjelma jossain vaiheessa Androidin markettiin kaikkien halukkaiden saataville, mutta sitä ennen se kaipaa vielä hieman viilailua. Koko lähdekoodi on jo julkaistu GPLv2-lisenssin alla, joten jos intoa löytyy, niin halukkaat voivat jo sen kääntää ja asentaa puhelimeensa.

Aioin kirjoittaa aiheesta jutun, missä olisin purkanut kehityksen aikana vastaan tulleita ongelmia, mutta sitten tulin siihen tulokseen, että kurssin päätteeksi pitämämme esityksen diasarja ajaa kutakuinkin saman asian huomattavasti tiiviimmässä muodossa.



Esitelmän tekemisen jälkeen olemme mm. lisänneet puuttuneet suomennokset, sekä korjailleet bugeja. Tällä hetkellä olen lisäämässä sijainnin valintaa katuosoitteen perusteella. Kirjoittelen aiheesta lisää, kun saan aikaiseksi tehdä julkaisukäännöksen lukijoiden testattavaksi.