19. elokuuta 2011

Häikäilemätön mainos: Connection Fixer

Taas tulee oman edun nimissä kirjoitettua markkinointihuttua. Tällä kerralla Versine parantaa maailmaa auttamalla yhteysongelmaisia Android-käyttäjiä takaisin verkkoon.


Minulla oli ensimmäisen Android-puhelimeni kanssa kiusallinen ongelma. Puhelin pudotteli itseään verkosta lähes päivittäin, ilmeisesti vaihtaessaan 2G- ja 3G-verkkojen välillä. Lopputulos oli se, että puhelut kuin bittikin lakkasivat kulkemasta, eikä puhelin osannut aina oma-aloitteisesti hakea verkkoja takaisin. Valitin asiasta operaattorille, mutta sieltä suunnalta ei tullut mitään apuja. Lopulta jouduin lopettamaan 3G-verkon käyttämisen kokonaan, jotta ihmiset voisivat soittaa puhelimeeni.

Connection Fixer on yksinkertainen työpöytä-widget, joka herättää puhelimen verkkoyhteydet yhdellä painalluksella. Kerralla korjaantuu
  • GSM
  • mobiilidata
  • Wi-Fi
  • Bluetooth
Widget on tuttuun tapaan saatavilla Android Marketista naurettavan edukkaaseen hintaan. Kaikki kipinkapin ostoksille. :)

12. elokuuta 2011

Häpeilemätön mainos: Kuvat.fi

Tämä on häikäilemätön mainos. Olen ollut pari kuukautta töissä Versine Oy:ssä. Versine on julkaissut ensimmäisen tuotteensa ja se on Kuvat.fi-sovellus Androidille.


Kuvat.fi-palvelu on espoolaisen Mediadrive Oy:n kehittämä ja ylläpitämä tuote. Palvelu tarjoaa ilmaiskäyttäjille 5GB tallennustilaa kuville ja videoille. Tarjolla on myös maksullinen 50GB Pro-versio, joka maksaa 24e vuodessa.

Kuvat.fi Androidille mahdollistaa kuvien ja videoiden lataamisen palveluun suoraan puhelimesta. Ohjelma tukee useita gallerioita sekä usean tiedoston lähettämistä kerralla. Kirjautumisen jälkeen Kuvat.fi näkyy jaa-valikossa aina kun haluat jakaa kuvia tapahtui se missä sovelluksessa hyvänsä. Suomessa hintaa ohjelmalla on 1,99e, maailmalla hinta vaihtelee paikallisen arvonlisäveron mukaan. Lisätietoja  ja kuvakaappauksia voi tiirailla Versinen tuotesivulta tai Android Marketista.




Disclosure: Jos jollekin ei vielä ollut selvä, niin minun taloudelliset intressini on välillisesti sidottu tämän tuotteen myyntimenestykseen.

17. kesäkuuta 2011

Salasanoista osa III

Tämä on salasanoja käsittelevän artikkelisarjani viimeinen osa. Tässä kerron miten minä olen hoitanut omien salasanojeni hallinnan.


Disclosure: Mainitsen tässä jutussa muutamia kaupallisia tuotteita. Minulla ei ole mitään tekemistä niiden tomittajien kanssa eikä minulle makseta niiden mainostamisesta.


Hajoita ja hallitse
Olen vuosien varrella rekisteröitynyt kymmeniin tai kenties satoihin verkkopalveluihin. Minulla oli ennen muutama eri salasana, joita käytin eri palveluissa sen mukaan, miten tärkeiksi näin niiden turvaamisen. Ongelma salasanojen kierrättämisessä on se, että jos yksi palvelu on vastuuton ja tallentaa salasanat tekstinä eikä tarkistussummana ja juuri se palvelu krakkeroidaan, niin silloin rikollisilla on hallussa salasana, joka käy muihinkin palveluihin mihin olet rekisteröitynyt. Heillä on myös mahdollisesti sähköpostiosoitteesi, mikä on monissa palveluissa käyttäjätunnus. Heillä on helppo työ kokeilla varastamaansa salasanaa ja osoitetta suosituimpiin palveluihin.

Lääke tätä ongelmaa vastaan on käyttää joka paikassa eri salasanaa. Koska eri palveluja on kymmeniä on selvää, että jonkunlainen salasananhallintatyökalu on välttämätön. Minulla se on LastPass. LastPass muistaa kaikki salasanani ja täyttää ne automaattisesti puolestani. Minun tulee muistaa vain yksi turvallinen salasana avatakseni salasanaholvin ja sen jälkeen ohjelma hoitaa loput. LastPass on saatavilla Windowsille, OSX:lle ja Linuxille, sekä useille mobiilialustoille. Mobiilialustojen käyttäminen vaatii tosin maksullisen version, mutta onneksi se on naurettavan halpa, eli 12 USD vuodessa.

Heikko kohta
Jos olet hieman vainoharhainen kuten minä, olet jo varmasti tajunnut, että LastPass-holviisi tunkeutumalla hyökkääjä saisi salasanat kaikkialle. Onneksi se on käynyt mielessä myös palvelun kehittäjillä. Kaikki salasanat kryptataan asiakkaan koneella, jonka jälkeen ne läheteään LastPass-severille, missä ne kryptataan uudestaan (käsittääkseni useampaan kertaan). Heillä siis ei ole missän olosuhteissa pääsyä käsiksi sinun salasanoihisi, eikä siten ole tunkeutujallakaan.

Entä keyloggerit? Niitä tilanteita varten, kun joudut kirjautumaan julkiselta koneelta LastPass antaa useita vaihtoehtoja turvata tilisi. Ensimmäinen vaihtoehto on kuvaruutunäppäimistö. Silloin salasanasi on vain hiiren liikettä ruudulla, eikä keylogger saa sitä. Toinen vaihtoehto on kertakäyttösalasanojen käyttäminen. Ne ovat tosin julmetun pitkiä, eivätkä siten kovin käteviä. Kolmas vaihtoehto kahden tekijän autentikointi. Yubikey on pienen USB-tikun kokoinen laite, joka näkyy tietokoneelle USB-näppäimistönä. Se syöttää yhdellä napin painalluksella 20 merkkiä pitkän kertakäyttösalasanan, joka siis vaaditaan tavallisen salasanasi lisäksi. Hyökkääjän on mahdotonta avata tiliäsi ilman salasanaasi ja Yubikeytäsi. Yubikey maksaa postikuluineen ja veroineen noin 25 EUR.

Nyt voin käyttää jokaisessa palvelussa eri salasanaa, eikä minun tarvitse muistaa niitä, joten ne voivat olla vaikka kymmeniä merkkejä pitkiä. Minun tarvitsee vain muistaa LastPass-salasanani ja pitää visusti huolta Yubikeystani.

10. kesäkuuta 2011

Salasanoista osa II

Edellisessä kirjoituksessa esitin, että datan kryptaamiseen käytettävän salasanan tulisi olla vähintään 19 merkkiä pitkä ja käyttää isoja ja pieniä kirjaimia, numeroita sekä erikoismerkkejä. Luulisin, että suurin osa käyttäjistä pitää moista ratkaisua käytännössä mahdottomana. Tietoturvaguru Steve Gibson on keksinyt tavan, jolla voi tehdä erittäin vaikeasti arvattavia salasanoja.


Tämä juttu tulee hyvin pitkälti olemaan referaatti podcastista, jossa Steve Gibson esitti niksinsä. Suosittelen kuuntelemaan sen, koska siinä asia on selitetty erittäin selkeästi.

Miten salasanoja murretaan?
Salasanojen koneelliseen murtamiseen on kaksi tapaa. Ensimmäinen ja nopein on sanakirjahyökkäys. Siinä käytetään nimen mukaisesti sanakirjaa ja kokeillaan kaikkia sieltä löytyviä sanoja. Mikäli sanakirjahyökkäys ei toimi hyökkääjä joutuu käymään läpi kaikki mahdolliset merkkiyhdistelmät. Sanakirjahyökkäyksessä arvattavia sanoja on vain kymmeniä tai satoja tuhansia, mikäli käyttäjän äidinkieli tunnetaan. Kun arvauksia voidaan tehdä jopa satoja miljardeja sekunnissa on helppo ymmärtää miten oikean sanan käyttäminen on katastrofaalista murtovarmuuden kannalta.

Sanakirjahyökkäystä voidaan kehittää helposti kokeilemalla muutamia variaatioita jokaisesta sanasta. Esimerkiksi l33t 5p34k ei pelasta, kun implementoidaan muutamien merkkien korvaaminen saman näköisillä numeroilla. Lisäksi on helppo kokeilla numeroiden lisäämistä sanan alkuun ja loppuun. "kissa12" ei oikeasti ole salasanojen eliittiä, vaikkakin legendaarinen.

Kun edellä mainitut keinot on käytetty, niin hyökkääjälle jää enää yksi keino. Se on järjestelmällisesti käydä kaikki merkkiyhdistelmät läpi. Tämä tapa tunnetaan nk. brute force eli raaka voima -menetelmänä. Raakaa voimaa vastaan suojautuminen tapahtuu edellisessä jutussa käsitellyin keinoin: kasvattamalla salasanan merkkiavaruutta ja pituutta.

Miten tehdään helposti muistettava turvallinen salasana?
Kun ymmärrämme murtajien keinot voimme keksiä vastalääkkeen. Tarvitsemme siis salasanan joka on pitkä ja joka käyttää kaikkia merkkiluokkia, eli 95 merkin avaruutta. Vastaus on salasanojen toppaaminen. Ota siis joku lyhyehkö salasana, joka käyttää isoja ja pieniä kirjaimia sekä numeroita. Sen jälkeen toppaa salasanaa erikoismerkkikuvioilla kunnes se on tarpeeksi pitkä. Esimerkiksi:
.....#*#*Kissa12*#*#.....
Esimerkki on 25 merkkiä pitkä ja sen murtamiseen menisi reilusti yli 100 vuotta, vaikka otetaan huomioon laskentatehon jatkuva kasvaminen. Kuitenkin on helppo nähdä sen säännönmukaisuus, mikä tekee siitä helpon muistaa. Tuota säännönmukaisuutta on koneen mahdoton arvata tai ennustaa, joten se on salasanana yhtä vaikea arvata kuin täysin satunnainen 25-merkkinen salasana 95 merkin avaruudesta, vaikka sen todellinen entropia on huomattavasti pienempi.

Jokaisen pitää keksiä oma tapansa topata salasanansa ja pitää se visusti salassa. Onneksi se on helppoa. Tällaisen salasanan huono puoli on sama mikä on sen etu: helppo muistettavuus. Jos joku sattuisi näkemään sen kirjoitettuna lapulle, niin se on helppo painaa muisiin sekunneissa, toisin kuin täysin satunnainen merkkijono.

Seuraavalla kerralla kerron, miten minä hallitsen salasanojani.

3. kesäkuuta 2011

Salasanoista osa I

Salasanat ovat luultavasti tärkein tietoturvatekijä. Asiantuntijat ovat jo vuosikymmeniä kehoittaneet ihmisiä kehittämään turvallisia salasanoja, mutta tutkimusten valossa viesti ei ole mennyt suurimmalle osalle tietokoneiden käyttäjistä perille. Tässä kolmeosaisen juttusarjan ensimmäisessä osassa kerron perusasioita salasanojen muodostamisesta ja miten niistä tehdään turvallisempia.


Merkkiavaruuden vaikutus

Ensimmäinen asia salasanoista on se, että se ei missään nimessä saa olla oikea sana. Sanakirjahyökkäyksellä okeat sanat voidaa murtaa naurettavan helposti. Paris Hiltonin tili murrettiin, koska hän käytti salasanana lemmikkikoiransa nimeä, joka oli yleisesti tiedossa. Älä siis käytä oikeita sanoja tai nimiä.

Salasanalla on tietoturvan kannalta kaksi merkittävää ominaisuutta: pituus ja merkkiavaruuden koko. Mahdollisten kombinaatioiden määrä on merkkiavaruuden koko potenssiin salasanan pituus. Otetaan esimerkiksi kuusi merkkiä pitkä salasana, jossa on käytetty vain pieniä kirjaimia (ääkköset pois lukien). Silloin kombinaatioiden määrä on 26⁶, eli 321 272 406. Aika paljon, eikö? Ei. Tuollainen salasana murtuu kotikonsteinkin alle sekunnin sadasosassa, jos hyökkääjä on saanut ladattua salasanasi tarkistussumman omille koneillensa.

Entä jos salasanan yksi merkki on numero? Silloin merkkiavaruus kasvaa kymmenellä merkillä ja kuusimerkkiä kombinaatioita on jo 36⁶, eli noin 2,2 miljardia. Sen murtamiseen kotikonstein menee jo kaksi sekunnin sadasosaa, mutta vieläkään ei mistään pomminvarmasta ratkaisusta voida puhua.

Lisätään salasanaan vähintään yksi iso kirjain. Silloin merkkiavaruus kasvaa jälleen 26 merkillä. Kuusimerkkisiä kombinaatioita on 62⁶, joka on noin 58 miljardia. Nyt murtajalla menee aikaa jo yli puoli sekuntia. Edelleenkin tarvitaan lisää kombinaatioita!

Tehdään siis niin kuin tietoturva-asiantuntijat suosittelevat, eli lisätään yksi erikoismerkki. Erikoismerkkejä on 33, joten nyt merkkiavaruus on jo 95 merkkiä, mikä on jo huomattava parannus alkuperäiseen 26 merkkiin. Mahdollisia salasanoja on silloin jo noin 740 miljardia, joka venyttää murtamisajan 7,4 sekuntiin.

Vertailun vuoksi vielä:
  • pamela, löytyy sanakirjasta, murrettu nopeammin kuin kissa aivastaa 
  • pbmela, 321 272 406 kombinaatiota, murrettavissa 0,00321 sekunnissa
  • pBmela, 20 158 268 676 kombinaatiota, murrettavissa 0,202 sekunnissa
  • pBm3la, 57 731 386 986 kombinaatiota, murrettavissa 0,577 sekunnissa
  • pBm3l@, 742 912 017 120 kombinaatiota, murrettavissa 7,43 sekunnissa
Miten pitkä salasana riittää?

Ensinnäkin hyökkäyksiä on kahta eri laatua. Verkossa tapahtuvissa hyökkäyksissä on useita tietoturvaa helpottavia tekijöitä. Ensinnäkin salasanojen arvaaminen verkon yli on huomattavasti hitaampaa. Lisäksi kaikki vakavasti otettavat palvelut pidentävät arvausten välistä aikaa eksponentiaalisesti tai lukitsevat tilin kokonaan liian monen väärän yrityksen jälkeen. Kolmanneksi käyttäjä pystyy vaihtamaan salasanansa kesken verkkohyökkäyksen.

Jos oletetaan, että käyttäjä vaivautuu vaihtamaan salasanansa edes kerran vuodessa ja että arvausten määrä rajoittuu tuhanteen arvaukseen sekunnissa (mikä on todennäköisesti ronskisti yläkanttiin) niin salasanan tulisi olla ainakin kuusi merkkiä pitkä. Tämä siis silloin kun käytetään 95 merkin merkkiavaruutta.

Paikallisissa hyökkäyksissä tilanne on murheellisempi. Hyökkääjällä on silloin esimerkiksi käyttäjän data kryptattuna paikallisella kovalevyllä. Silloin käyttäjä ei pääse vaihtamaan salasanaansa, ja hyökkääjä pääsee tekemään arvauksia miljoonia kertoja nopeammin. Silloin salasanan pituusvaatimus kasvaa huomattavasti.

Miten pitkä salasana on murtamaton?

Aluksi on todettava, että jokainen salasana on murrettavissa, jos aikaa on tarpeeksi. Jos murtamatomaksi määritellään salasana, jonka murtamiseen menee ihmisen elinikä (pyöreästi 100 vuotta), niin silloin voimme tehdä arvioita siitä, miten pitkä salasanan olisi oltava. Yritän muotoilla tässä pahimman mahdollisen tilanteen. Oletetaan, että joku valtiollinen tiedustelupalvelu on saanut datasi haltuunsa ja on päättänyt murtaa sen resursseja säästämättä. Oletetaan, että tuollaisella organisaatiolla on käytössä tuhatkertaiset prosessointiresurssit kotikäyttäjään nähden. Silloin arvioisin arvauksia tapahtuvan sata biljoonaa sekunnissa (10¹⁴).

Kun puhutaan aikavälistä, joka on vuosia, joudumme ottamaan huomioon saatavilla olevan laskentatehon kasvamisen. Rohkenen käyttää Mooren lakia tässä yhteydessä ennustamaan saatavilla olevan laskentatehon määrää tulevaisuudessa. Oletetaan siis, että laskentateho tuplaantuu kahden vuoden  välein, ja että murtomies pystyy lennosta vaihtamaan tehokkaampaan laitteistoon. Ensimmäisen 2v aikana pystytään murtamaan siis 2 nykyvuosimurtotehon (edempänä NVMT) edestä. Sitä seuraavien kahden vuoden aikana 2*2 NVMT edestä, sitä seuraavana 2*2*2. Lasketaan siis montako vuotta nykyisillä tehoilla salasanan murtaminen pitäisi kestää.



Kuinka pitkä salasana tarvitaan, jos käytetään edellä käytettyä 95 merkin avaruutta, jotta NSA:n kaltaisella organisaatiolla menisi sata vuotta sen murtamiseen?


Vastaus: 19 merkkiä.

Tiedän mitä suurin osa teistä ajattelee. Eihän kukaan voi muistaa 19 merkkiä pitkää salasanaa! Kyllä voi, ja seuraavassa jutussa kerron miten se tehdään.

Korjaus: Väitin kombinaatioiden määrän olevan merkkiavaruuden koko potenssiin salasanan pituus. Se pitää paikkansa täsmälleen sen mittaisille salasanoille, mutta murtaja joutuu käymään ensin läpi myös mahdolliset lyhyemmät salasanat. Lyhyemmät salasanat on otettu huomioon kombinaatioiden kokonaismäärien laskelmissa.

12. maaliskuuta 2011

MakerBot osa 1: käyttöönotto

Pari vuotta sitten ehdotin koululle, että hankkisivat Makebotin, edullisen 3d-tulostimen. Laite ja varsinkin sen huokea hinta herättivät alustavaa kiinnostusta, mutta asia ei oikein edennyt. Viime syksynä kampuksen viereisessä Paviljongissa oli Robomaa esittelemässä Makerbottia ja sain houkuteltua pari opettajaa kojulle vilkaisemaan härveliä. Hieman ennen joulua Dynamolle ilmestyi kookas pahvilaatikko ja minä lupauduin osana 3d-mallinnuksen kurssin suoritusta huolehtia koneen asentamisesta ja käytön dokumentoinnista.

Siis mikä?
Makerbot on 3d-tulostin, eli kone jolla voi tulostaa kolmiulotteisia kappaleita. Erityistä siinä on sen halpa hinta. Teollisuudessa käytössä olevat tulostimet maksavat satojatuhansia euroja ja niillä tulostaminenkin maksaa helposti satoja euroja per ajo. JAMK itse asiassa omistaa tuollaisen hienon tulostimen, mutta sen käyttäminen on niin kallista, että edes talon sisäisen laskutuksen hinnoilla sillä ei ole varaa tulostella. Makerbot sen sijaan maksaa alle eurotonnin ja sen tulosteiden hinnat hinnat ovat noin 30 euroa kilolta.
Makerbot Cupcake kuvassa oikealla

3d-tulostimia on monenlaisia. Makerbot pursottaa sulaa muovia ohuina kerroksina suuttimen alla liikkuvalle alustalle. Etuja ovat tulostusmateriaalin suhteellisen edullinen hinta ja se, että tulostusainetta ei juurikaan mene hukkaan. Huono puoli on se, että sillä ei voi tulostaa tyhjän päälle. Tämä tarkoittaa sitä, että kappale voi leventyä ylöspäin vain tietyn verran. Noin 45° levenemiskulma näyttäisi olevan käytännössä maksimi. Sen ei pitäisi kuitenkaan aiheuttaa suuria ongelmia niin kauan kun suunnittelija ottaa sen huomioon malleja tehdessään. Yksittäisen kappaleen maksimimitat ovat 10 x 10 cm vaakatasossa ja 15 cm korkeussuunnassa.

Makerbotin mielenkiintoa allekirjoittaneelle lisää myös se, että projekti on täysin avoin. Koneen ohjauspiirit ovat Arduinosta kehitettyjä ja ohjaussofta ReplicatorG pohjautuu Arduinonkin käyttämään Processing-kehitysympäristöön. Muissa osissa on mahdollisuuksien mukaan käytetty aina suoraan kaupan hyllyltä löytyviä osia, esimerkiksi teholähteenä käytetään tavallista ATX-virtalähdettä.

Käyttöönotto
Lämmitettävä tulostusalusta valmiiksi juotettuna
Kone toimitettiin enimmäkseen kasattuna. Ohjauselektroniikasta puuttui firmware ja lämmitettävä alustalevy tuli kokonaan osina. Firmwaren polttamisesta tuli varsinainen sirkus, kun epäonninen yhdistelmä puuttuvia verkkoyhteyksiä ja käyttöoikeuksia aiheutti juoksentelua luokasta toiseen ja ohjelmien lataamista, kääntämistä ja asentelua usealla tietokoneella ennen kun piirit saatiin poltettua.

Seuraavana piti pyytää labrainsseiltä kone, johon saisi asennettua Linuxin sekä tulostimen ohjaamiseen tarvittavat ohjelmat. Pari päivää myöhemmin olin saanut koneen ja kaiken tarpeellisen asenneltua muiden kouluhommien ohessa. Sitten tulikin kiire saada kaikkien kurssien harjoitustyöt ja raportit valmiiksi ja Makerbot sai jäädä rauhaan joululoman ylitse.

Tämän vuoden alusta päätin käyttää perjantai-iltapäiviä tulostimen kirjoituspään kalibroimiseen. Koneen mukana tuli muutamia lisävarusteita, kuten kaksi kolmannen osapuolen tulostuspäätä sekä lämmitettävä tulostusalusta. Tomi juotteli tulostusalustan komponentit paikalleen jo ennen joulua. Alustan asentaminen jäi odottamaan kapton-teippiä. Vasta kuukausia myöhemmin löysimme rullan teippiä robotin mukana tulleiden tarvikkeiden seasta. 

Tulostaminen osoittautui lähes ylivoimaiseksi. Ensimmäinen ongelma oli se, että z-akseli toimi väärin päin. Tulostuksen aluksi tulostuspään pitäisi nousta alustasta noin 5 cm ja tehdä koepursotus, jolla varmistetaan, että tulostuspää on oikeassa lämpötilassa. Nousemisen sijaan kuuma tulostuspää sukelsi suoraan akryylialustaan ja sulatti siihen kuopan. Oli aika kaivaa asetukset esille ja yhtä oikein sijoitettua ruksia myöhemmin akseli toimi oikein päin.

Seuraava ongelma oli se, että tulostus lähti käyntiin mainiosti, mutta parinkymmenen sekunnin jälkeen muovi lakkasi pursoamasta. Ongelmaan kokeiltiin monia ratkaisuja. Kokeilimme kiristää syöttömekanismin tarttumiskireyttä, nostaa tulostuslämpötilaa, säätää muovin syöttönopeutta. Tarkastin myös termistorin beta-arvon. Lopputulos oli silti sama; pursotus katkesi edelleen melkein heti tulostuksen alettua. Lopulta päätimme vaihtaa koneessa kiinni olleen 0,25 mm tulostuspään isompaan 0,50-milliseen. Silloin alkoi lyyti kirjoittaa!


Kyseisen jalkapallon kaltaisen esineen (nörtiksi typistetyn ikosaedrin) tulostus osoitti, että ensinnäkin tulostuspään reititykseen käytettävä ohjelma osaa automaattisesti luoda kiinteän kappaleen sisälle kennorakenteen tulostusmateriaalin säästämiseksi. Toiseksi se osoitti, miltä tulostusjälki näyttää, jos nousukulma on liian jyrkkä (kappaleen pohjan lähellä, ei näy kunnolla kuvassa). Jostain syystä kappaleen yläpinta jäi myös kovin rosoiseksi. Valitettavasti en sattunut seuraamaan mitä siinä tapahtui, joten syy jäi vielä toistaiseksi epäselväksi.

Typistetty ikosaedri
Päätin jäädä vielä koululle tekemään toisen testitulostuksen. Siinä negatiivinen nousukulma jää alle 45 asteen, tarkemmin ottaen se on noin 35,26° (yrittäkääpä muuten laskea, meinasi nyrjähtää aivo). Kuten kuvastakin näkyy, siinä tulostusjälki on jo kohtuullisen hyvää kulmasta huolimatta.

Testitulostus

Tässä vielä vähän suttuista kännykkäkameravideota kappaleen tulostamisesta ja vilahdus ReplicatorG-ohjelmasta.


Seuraavalla kerralla kerron, miten valmis 3d-malli muutetaan esineeksi Makerbotilla.

4. maaliskuuta 2011

Varmuuskopiointi - miksi ja miten

Kaikki ovat varmasti kuulleet varmuuskopioista. Valitettavasti useimpien kohdalla niiden tarpellisuus vasta todella ymmärretään ensimmäisen katastrofin iskettyä. Siinä vaiheessa melkein valmis gradu tai lasten valokuvat ovat jo siirtyneet käytännössä peruuttamattomasti bittien taivaaseen. Sen jälkeen voit vain yrittää kerjätä sympatiaa Facebookissa valittelemalla kurjaa kohtaloa, mutta allekirjoittaneelta sitä ei heru. Jos sinulla ei ole varmuuskopioita olet ääliö. Nykyään siihen on niin helpot työkalut, että varmuuskopiointi ei ole rahasta tai osaamisesta kiinni, vain omasta asenteesta. Tässä jutussa kerron miten voit valita itsellesi sopivan tavan varmuuskopioida omat tiedostosi ja kiivetä pois ääliöiden kirjoista.

Disclaimer: Tässä jutussa mainitsen useita maksullisia tuotteita ja palveluja, joista osaa käytän itse ja muista olen kuullut kehuja luotettavista lähteistä. Minulla ei ole mitään suhteita niiden tarjoajiin enkä saa niiden mainostamisesta minkäänlaista korvausta.

Mikä?
Varmuuskopio on ylimääräinen kopio datasta. Jos poltat valokuvat DVD:lle ja sen jälkeen poistat ne koneelta sinulla ei ole varmuuskopiota. Sinulla on vain yksi kopio optisella levyllä, joka vuosien varrella rapistuu lukukelvottomaksi. Elokuvatuotannossa on sanonta, että kuvattu materiaali ei käytännössä ole olemassa ennen kun siitä on vähintään kaksi varmuuskopiota.

Miksi?
Kovalevyt hajoavat. Googlen julkaiseman seikkaperäisen raportin mukaan kovalevy alkaa hajota tavallisesti noin puolentoista vuoden käytön jälkeen. Levyn sisäinen korjausmekanismi pitää levyn käyttökelpoisena siitä eteenpäin merkkaamalla hajonneet sektorit käyttökelvottomiksi. Jossain vaiheessa vikoja on kasautunut niin pajon, että kone ei enää tunnista sitä. Kovalevyn hajoamisriski pompsahtaa ensimmäisen vuoden jälkeen nelinkertaiseksi jä näyttäisi sen jälkeen pysyvän suhteellisen vakiona. Kaksivuotiaista ja sitä vanhemmista levyistä 8-9% hajoaa seuraavan vuoden aikana.

Muita uhkia ovat mm. virukset, sabotaasi, ukkosvaurio, tulipalo, vesivahinko sekä varkaus. Itselläni oli käynyt viime kesänä vahinko kotikansiota siivotessa ja olin jotenkin onnistunut poistamaan koko koodikansioni. Siis kaikki ohjelmat, mitä olin kirjoittanut. Koska en kesällä koodaillut huomasin vahingon vasta pari kuukautta myöhemmin. Onneksi minulla oli silloin varmuuskopiot ulkoisella kovalevyllä ja parissa minuutissa sain palautettua kansion koneelle.

Miten?
American Society of Media Photographers on tehnyt digivalokuvaajille kokonaisen sivuston, missä esitellään suositeltavia käytänteitä ja yksi osa-alue on luonnollisesti varmuuskopiointi. He ehdottavat ns. 3-2-1 -sääntöä. Kaikesta datasta on kolme kopiota (alkuperäinen ja kaksi varmuuskopiota) kahdella erityyppisellä tallennusmedialla ja yksi kopioista on off-site, eli toisessa fyysisessä sijainnissa.

On äärimmäisen tärkeää, että varmuuskopiointi on automaattista. Itsekin luulin jaksavani joka viikko ladata varmuuskopiot Googlen edulliselle palvelimelle, mutta todellisuudessa parin kuukauden jälkeen se tapa jäi ja kopiot menivät vain ulkoiselle kovalevylle. Muutamaa kuukautta myöhemmin tuo ulkoinen kovalevy muuten hajosi. Sitä ennen olin onneksi alkanut käyttämään palvelua, mikä ajoi koneeltani varmuuskopiot pilveen joka yö, joten en jäänyt tyhjän päälle hetkeksikään.

Vaihtoehto 1: Elä pilvessä
Tarvitseeko tiedostojen edes olla omalla tietokoneella? Minun sähköpostit on Gmailissa ja nykyään suurin osa asiakirjoista Google Docsissa. Valokuvat voi myös ladata suoraan verkossa olevaan kuvapalveluun ja musiikin kuunnella esimerkiksi Spotifysta. Paikallisen tallentamisen tarve normaaleilla käyttäjillä vähenee jatkuvasti.

Äitini tietokoneella ei ole juurikaan muuta tärkeää henkilökohtaista dataa kuin digikuvat. Niiden menettäminen olisi tosin todella kova isku. Reilu vuosi sitten sain ympäripuhuttua äitini lataamaan valokuvansa Googlen Picasa-palveluun. Kuvia oli muutama gigatavu, joten hän joutuu maksamaan tallennustilasta noin 5 EUR vuodessa. Vastaavasti Google vastaa siitä, että kuvat on varmennettu teollisten standardien mukaisesti. Muita vastaavia palveluja on mm. Flickr sekä suomalainen Kuvat.fi.

Vaihtoehto 2: Ulkoinen kovalevy
Ulkoinen kovalevy on suhteellisen helppo tapa automatisoida paikallisten varmuuskopioiden ottaminen. On tärkeää muistaa kuitenkin, että se ei riitä suojaamaan esimerkiksi ukkosvahingolta, tulipalolta, vesivahingolta tai varkaudelta. Lisäksi ulkoiset kovalevyt hajoavat, kuten minulle kävi ennen joulua. Ubuntussa käytän ohjelmaa nimeltä sbackup. Windowsille voin kuvitella vastaavia ohjelmia olevan läjäpäin.

Ulkoinen kovalevy on mielestäni suositeltavampi kuin optiset levyt (CD, DVD) tai flash-muistitikut. Optiset levyt rapistuvat eikä kaapissa lojuvista levyistä huomaa milloin ne lakkaavat toimimasta. Muistitikut taas tuppaavat hajoamaan tai häviämään. Olen vimeisen parin vuoden aikana tuhonnut ainakin puolentusinaa flash-muistia.

Vaihtoehto 3: Off-site
Nykyään on olemassa monia palveluja, joilla saa helposti varmuuskopiot automaattisesti pilveen. Itse päädyin käyttämään palvelua nimeltä Jungle Disk. Heidän etunaan oli natiivi Linux-tuki sekä edullinen tallennustila ilman siirtomaksuja. Maksan lystistä 2,30 EUR kuukaudessa ja voin olla varma, että tiedostoni ovat tallessa. Mikäli olet Windows tai Mac-käyttäjä ja sinulla on paljon dataa varmennettavaksi kannattaa katsastaa Carbonite. Se tarjoaa automaattiset varmuuskopiot ilman kokorajoituksia noin 40 EUR vuosihintaan. Vastaavia palveluja on kymmenittäin, mutta nämä kaksi mielestäni erottuvat edukseen.

Vahinko tapahtui jo. Mitäs nyt?
Tietojen palauttaminen perinteiseltä pyörivältä kovalevyltä on joissain tapauksissa mahdollista myös kotikonstein. Muutama vuosi sitten kohtuullisen uusi ulkoinen kovalevyni lakkasi toimimasta. Käyttöjärjestelmä valitti partitiotaulun puuttumista. Vika onneksi korjaantui tekemällä partitiotaulun uudestaan fdisk-ohjelmalla. 

Myös fyysisesti vialliselta levyltä on usein mahdollista palauttaa tietoa maksullisella SpinRite-ohjelmalla. Lisenssi maksaa noin 65 EUR ja se toimii millä tahansa 32- tai 64-bittisellä Intel- tai AMD-prosessorilla käyttöjärjestelmästä riippumatta. Sivusto tuo kieltämättä mieleen laihdutuslääkemainokset, mutta älkää antako sen hämätä. Tuote silti toimii.

23. helmikuuta 2011

Turvaa Gmailisi kahden tekijän autentikoinnilla

En tiedä teistä, mutta minulle Google-tilini hallinnan menettäminen olisi katastrofi. Vuosien varrella olen ottanut käyttöön uusia Googlen palveluja ja tässä vaiheessa lähes koko elämäni on heidän palvelimillaan. Sähköposti, valokuvat, asiakirjat, kalenteri, yhteystiedot, jne. Jopa puhelimeni on riippuvainen Google-tilistäni! Ymmärrätte varmaan, miksi haluan turvata sen ulkopuolisilta ja nyt Google on julkaissut siihen työkalut.


Olet mitä tiedät
Tällä hetkellä lähes kaikkien Googlen asiakkaiden tilit on suojattu julkisella käyttäjätunnuksella ja salasanalla. Jos salasanasi on vahva, etkä ole rikollisten tai Kiinan valtion mielestä kovin mielenkiintoinen, niin se kenties riittää. Salasanan voi kuitenkin saada selville monella tavalla: arvaamalla, asentamalla kojeen tai ohjelman, joka tallentaa tietokoneen näppäinten painallukset tai katsomalla sen siitä lapusta, jota pidät näppäimistösi alla.

Nykyaikana tavalliset kuluttajat voivat saada käyttöönsä niin paljon prosessointitehoa, että salasanojen murtaminen käymällä järjestelmällisesti läpi kaikki mahdolliset kombinaatiot on lähempänä todellisuutta kuin utopiaa. Saksalainen tutkija Thomas Roth osoitti, että WPA-salasanan voi murtaa kuudessa minuutissa vuokraamalta Amazonilta 400 palvelinta parinkymmenen eurosentin minuuttihinnalla. Tuolla palvelinmäärällä Roth raportoi pystyneensä kokeilemaan noin 400 000 salasanaa sekunnissa. Naapurin WLAN-purkin salasanan murtamisen hinnaksi tulisi noin puolitoista euroa.

Kuva redspotted
Mitä muuta olet?
Autentikoinnissa voidaan käyttää kolmea erityyppistä tekijää:

  • jotain minkä vain käyttäjä tietää (salasana, tunnusluku)
  • jotain minkä vain käyttäjä omistaa (pankkikortti, avain, kertakäyttösalasanalista)
  • jotain mitä vain käyttäjä on (sormenjälki, allekirjoitus, kasvot, ääni, DNA)
Kahden tekijän autentikointi ei siis ole mitään uutta; olet käyttänyt sitä aina käyttäessäsi pankkikorttiasi. Käytännössä kaikki viimeiseen kategoriaan kuuluvat varmenteet vaativat joko ihmisen valvontaa tai kallista teknologiaa ja siksi luonnollisesti Googlen lisävarmuus on haettu keskimmäisestä.

Miten se toimii?
Toinen varmistustekijä Googlen uudessa systeemissä on matkapuhelimesi. Kun yrität kirjautua esimerkiksi Gmailiin saat normaalin kirjautumisruudun jälkeen kehoituksen syöttää lisävarmennusnumeron. Varmennusnumeron voit saada puhelimeesi kolmella tavalla

  • käyttämällä puhelimeen asennettavaa sovellusta
  • tekstiviestillä
  • puheluna
Näistä itse koin kätevimmäksi Android-kaupasta löytyvän Google Authenticator -sovelluksen. Sen luvataan toimivan myös silloin kun internet- tai edes GSM-yhteyttä ei ole saatavilla.

Entä jos puhelimeni varastetaan/putoaa mereen/räjähtää?
Näitä tapauksia varten Google antaa sinulle tulostettavaksi listan kertakäyttösalasanoja, joita voit käyttää siinä tapauksessa, että puhelimesi ei ole enää hallussasi.

Entä jos puhelimen akku on tyhjä, laturi jäi mummolaan ja koira söi kertakäyttösalasanat?
Google Authenticator
Näitä äärimmäisen onnettomia tapauksia varten voit antaa Googlelle toisen numeron, johon kirjautumistunnus voidaan lähettää silloin, kun kaikki muu toivo on menetetty. Se voi olla lankapuhelin tai esimerkiksi puolison tai lähisukulaisen kännykkä.

Entä ne laitteet ja kolmannen osapuolen sovellukset, mitkä tarvitsevat Google-tiliäni, mutta eivät tue kahden tekijän autentikointia? (Android, POP/IMAP, IM-sovellukset, Picasa, jne)
Ilmeisesti Googlella on mietitty homma loppuun asti, kun heillä on tähänkin ratkaisu. Näitä sovelluksia varten voit generoida omat salasanat, joita ei voi käyttää kuin siinä palvelussa tai ohjelmassa, josta sillä ensimmäisen kerran kirjaudutaan sisään.

Kuka nyt minun postejani haluaisi lukea?
Kuka lähettelee salasanoja urkkivia viruksia ympäri maailmaa? Rikolliset tietenkin. Sähköpostiisi käsiksi pääsemällä he voivat helposti murtautua moneen muuhunkin paikkaan. Sieltä todennäköisesti löytyy sähköposteja muista verkkopalveuilsta joita käytät. He voivat pyytää nollaamaan salasanan ja lähettämään uuden sähköpostiisi ja siten päästä käsiksi niihin. Muista palveluista he sitten löytävät kenties luottokorttitietosi ja pääsevät ostoksille sinun piikkiisi.

Älä ole potentiaalinen uhri, vaan pidä huoli tietoturvastasi. Nyt se on helppoa.

20. helmikuuta 2011

ALARM v0.1

Kerroin aikaisemmassa kirjoituksessa Jani Koskelan kanssa yhteistyössä kehittämästämme Android-sovelluksesta. Sen avulla käyttäjä voi asettaa itsellensä muistutuksia, mitkä liipaistuvat käyttäjän sijainnin perusteella. Siivosin tänään koodista pahimmat bugit pois ja julkaisen sen nyt käyttäjien testattavaksi.


Ohjelma on vielä testivaiheessa, eli se ei ole täydellinen. Toivoisin käyttäjiltä palautetta sen toiminnasta yleisesti ja erityisesti bugeista. Tällä hetkellä ohjelma vaatii Android-version 2.1 tai uudemman. Ilmoittakaa jos on tarvetta tukea vanhempia laitteita, niin korjaamme asian seuraavaan julkaisuun.

Toiminnallisuus

  • muistutusten tallentaminen, poistaminen, muokkaaminen
  • sijaintien tallentaminen, poistaminen, muokkaaminen
    • kartalta
    • koordinaateilla
    • osoitteen perusteella
      • alkeellinen toteutus
      • toimii kummallisesti
Tunnetut bugit

  • Sijainnin voi tallentaa antamatta nimeä.
  • Samannimisiä sijainteja voi tallentaa useita.
  • Osoitehaku palauttaa uuden kartta-aktiviteetin, jonka alta paljastuu toinen.
  • Tallennettujen sijaintien valitsin näyttää valitulta vaikka käyttäjä ei olisi valinnut vielä mitään.
    • Jos tallenna-nappi on harmaa, niin et ole valinnut sijaintia.
  • Muistutuksen lukemisen jälkeen poistettu muistutus voi vielä näkyä päävalikossa, kunnes ohjelma käynnistetään uudestaan.
Meistä riippumattomat bugit

  • Käyttöjärjestelmän sijaintipalvelu ei tarkista puhelimen sijaintia niin usein kuin dokumentaaio lupaa.
    • Jos muistutukset eivät laukea, niin kokeile käyttää ohjelmaa GPS-päällä.
Asiaan
ALARM_v0.1.apk

Jos ohjelma vaikuttaa käyttökelpoiselta, niin laitamme sen Janin kanssa saataville myös Android-markettiin. Sitä ennen kuitenkin haluaisimme tehdä siitä mahdollisimman toimivan, joten älkää ujostelko risujen antamisen kanssa. Palautetta voi antaa sähköpostilla, Facebookissa, Twitterissä, pikaviestimellä, IRC:ssä, blogin kommenteissa, puhelimessa tai vaikka nykäisemällä hihasta. Mikäli joku haluaa penkoa koodia, niin se on saatavilla projektin Gitorious-reposta.

8. helmikuuta 2011

Älypuhelimen akkukeston parantaminen

Nykyisten älypuhelinten käyttäjät ovat joutuneet palaamaan ajassa taaksepäin noin 15 vuotta akkukeston suhteen. Käyttäjät ovat joutuneet jälleen totuttelemaan siihen, että puhelimen akku on ladattava joka yö, mikäli puhelimen viestintäominaisuuksista ottaa täyden ilon irti. Välillä on jopa vaikea saada puhelin pysymään päällä 8 tunnin työpäivän ajan. Seuraavassa esittelen vastaan tulleita keinoja etenkin Andoid-puhelinten akkukeston parantamiseksi, mutta useat niistä pätevät muihinkin malleihin.

Radiohiljaisuus
Modernissa älypuhelimessa alkaa olla hurja määrä eri taajuuksilla toimivia radiolähettimiä. Bluetooth, GPS, WLAN, 2G ja 3G kaikki käyttävät omaa lähetintä ja seuraavat ympäristöään jatkuvasti, mikä kuluttaa varausta suunnattomia määriä. Lisäksi uusimmissa puhelimissa on myös uusi Near Field Communication, eli NFC-ominaisuus, mikä on RFID:n lyhyen kantaman (n. 10 cm) toteutus. Ensimmäinen toimenpide tulisikin olla ylimääräisten radiolähettimien kytkeminen pois päältä.

Bluetooth tulisi olla jo turvallisuussyistä pois päältä aina kun sitä ei tarvita. Lisäksi mikäli et tarvitse nopeaa mobiilidataa - tai minun tapauksessa mikäli 3G aiheuttaa kuuluvuusongelmia - kannattaa puhelin laittaa käyttämään vain 2G-verkkoa. Android-puhelimessa se tehdään valitsemalla asetuksista Yhteydet ja verkot --> Matkapuhelinverkot --> Verkkotila --> Vain GSM. GPS on tarpeellinen vain silloin kun tarvitaan erittäin tarkkaa sijaintitietoa. Puhelin nimittäin osaa laskea sijaintinsa parinkymmenen metrin tarkkuudella tukiasemien kuuluvuuden avulla. Radiolähettimien käyttöä optimoimalla pitäisi saada puhelimen käyttöaikaa kasvatettua helposti 50%.

Päivitystaajuus
Seuraavaksi kannattaa käydä nettiin huutelevien sovellusten asetukset läpi ja määritellä järkevät arvot sille, miten usein dataa päivitetään. Esimerkiksi HTC:n omassa sähköpostiohjelmassa voi säätää työsähköpostin päivittymään virka-aikaan tiheämmin kuin muulloin.

Kellotaajuus
Tämä vinkki on merkittävä parannus, mutta vaatii hieman hakkerointia. Puhelimen akun saa nimittäin kestämään kauemmin, kun alikellottaa prosessorin. Sitä varten luuriin pitää ensin hommata pääkäyttäjän oikeudet. Ohjeet löytyvät helposti googlaamalla, mutta en suosittele sen tekemistä heikkohermoisille, puhelimen kun teoriassa voi saattaa vahingossa takuukelvottomaksi tiiliskiveksi, mikäli roottaamisen onnistuu sössimään pahasti.

Kun risuaita on hommattu kehotteeseen pitää asentaa ohjelma nimeltä SetCPU. Sen saa ladattua marketista hintaan 1,99 USD tai suoraan sen kehittäjältä maksutta, mikäli vaivautuu käyttämään Googlea. Oma puhelimeni on säädetty pudottamaan kellotaajuus puoleen aina kun ruutu on pois päältä tai kun akussa on varausta alle 33% jäljellä. Näillä asetuksilla huomasin akkukeston paranevan ehkä puolella. Suosittelen lämpimästi niille kenellä hakkerointihenkeä riittää.

Poppakonsti
Seuraavaa menetelmää olen nähnyt hehkutettavan useammallakin forumilla ja sen ainakin väitetään tulleen alunperin HTC:n asiakaspalvelusta akkukestosta valittaneelle asiakkaalle. Itse suhtauduin väitteeseen niin skeptisesti, että en ole sitä vielä kokeillut.

  1. pistä puhelin päälle ja lataa sitä vähintään 8h
  2. irrota latauskaapeli ja sammuta puhelin
  3. lataa tunti
  4. irrota kaapeli laita puhelin päälle ja odota kaksi minuuttia
  5. sammuta puhelin ja lataa tunti
Edellä kuvatun sadetanssin on väitetty jopa kaksinkertaistavan HTC EVO -mallin akkukeston ja sen on raportoitu auttavan myös muiden HTC:n puhelinten kanssa. Mikäli joku lukijoista innostuu kokeilemaan, niin olen kiinnostunut kuulemaan tuloksista.

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.