Vuosittain eri korkeakoulut suoltavat satoja nuoria ohjelmistosuunnittelijoita. Silti ohjelmistoalalla ei tunnu olevan koskaan tarpeeksi tekijöitä. Nopeasti ajateltuna tässä yhtälössä ei tunnu olevan mitään järkeä! Kävin viime viikkoina hieman teemaa sivuavia keskusteluita ohjelmistoalan työtilanteeseen, työllistymiseen ja erilaisiin työtehtäviin liittyen.

Half-life, eli puoliintumisaika tarkoittaa Gordon Freemanin seikkailujen lisäksi aikaa, jolloin radioaktiivinen aine on säteillyt puolet alkuperäisestä määrästään pois. Termiä kuulin käytettävän viime viikolla myös ohjelmistosuunnittelijoista. Koodarien siis täytyy olla radioaktiivista materiaalia, sillä ohjelmistoalan ammattilaisia kyllä valmistuu, mutta asiantuntijoita ei tunnu löytyvän mistään.

Mikä saa koodarin säteilemään?

Kysyntä ja tarjonta eivät selkeästi kohtaa: työmarkkinoilla kaivataan ominaisuuksia, joita vastavalmistuneissa ei ole. Tämä ominaisuus on nimeltään kokemus.

Työpaikkailmoituksissa peräänkuulutetaan oikeasta työelämästä saatuja näyttöjä. “Muutama vuosi työkokemusta” tuntuu takaavan työpaikan: paikkoja on paljon ja kilpailijoita on harvakseltaan.

Itse uskon vastavalmistuneisiin: teinhän juuri melkein-valmistuneiden kanssa yhdeksän kuukauden ohjelmistoprojektin yhteistyössä Tampereen yliopiston ja Demolan kanssa. En voisi olla tyytyväisempi ryhmän taitotasoon; nälkä oppia uusia asioita ja näyttää kyntensä ajoi kokemuksen edelle. Palkkaaminen on silti aina riski, joten vastavalmistuneen palkkaaminen on huomattava riski. Parhaassa tapauksessa vastavalmistunut tietysti ylittää kaikki odotukset.

Muutaman vuoden kokemuksella varustettu koodari saa siis paikan, mutta missä he kaikki ovat?

Kuka tahansa hyvä koodari varmasti nauttii koodaamisesta, sillä hyvältä koodarilta vaaditaan omistautumista, halua kehittää itseään ja kykyä pysyä kärryillä uusissa teknologioissa ja muutoksessa. Näin ollen en usko, että on olemassa hyviä koodareita jotka eivät koodaamisesta nauti.

Miksi sitten vastavalmistuneita koodareita löytyy, mutta muutaman vuoden kokemuksella varustettuja ei tunnu olevan tarpeeksi? Mihin valmistunut koodari katoaa muutaman ensimmäisen työssäolovuotensa jälkeen?

Syytän ohjelmistosuunnittelijalle suunnattua tyypillistä uraputkea. Junior-tasoisesta ohjelmistosuunnittelijasta spesialistiksi tai ohjelmistoarkkitehdiksi on vain yksi mahdollinen polku. Työkokemus ei ohjaa kohti vaativampia teknisiä tehtäviä, vaan myös kohti projektipäällikön, myynti- tai markkinointitykin tai hallinnollisen pomon tehtäviä. Kyselkääpä IT-alalla työskentelevien ei-koodaavien johtajien taustoista: monelta saatte kuulla, että myös he ovat joskus koodanneet (ja omien sanojensa mukaan vielä paljon kovempaa kuin sinä koskaan tulet koodaamaan ;) ).

Uralla voi edetä ja vastuuta voi saada muutenkin

Kukapa ei haluaisi edetä urallaan? Vaan tosiasia on se, että varsinaisen koodaustyön jättäminen vain uralla etenemisen takia ei kannata jos koodaamisesta oikeasti nauttii. Keskitason johtoa väitetään olevan liikaa, kun taas kokeneista ohjelmistosuunnittelijoista on pulaa. Ehkäpä johtotehtäviin siirtyminen on nopein tapa edetä urallaan, mutta kannattaa olla varma että se kantaa. Muutaman vuoden kärsivällinen odottaminen palkitaan varmasti, sillä kokenut ohjelmistosuunnittelija on häviävä luonnonvara.

Parhaista projekteista ei tarvitse taistella, kun suuri osa kilpailijoista on siirtynyt muihin tehtäviin. Vastuuta on silti luvassa aivan samalla tavalla kuin muihin tehtäviin siirtyneillä ex-koodareilla; projektin “vanhimmalle” koodaajalle (oli nimitys sitten pääsuunnittelija, spesialisti tai arkkitehti) napsahtaa yleensä vetovastuu arkkitehtuurin suunnittelusta, koodin laadusta ja nuorempien kavereiden ohjaamisesta. Sekä projektipäällikkö että ohjelmistoarkkitehtit ovat asiajohtajia. Tämän lisäksi tietysti vaativat tekniset tehtävät odottavat.

Yritän tässä sanoa, että kärsivällisyys tullaan palkitsemaan ja koodaamisesta ei tarvitse eikä kannata luopua vain uralla etenemisen takia. Tärkeää on tehdä sitä työtä mistä nauttii, koska siinä yleensä tulee hyväksi.

Mikä se koodarien puoliintumisaika sitten on? Missä ajassa joka toinen ohjelmistosuunnittelija jättää koodaamisen ja siirtyy muihin tehtäviin? Kuinka monen vuoden työkokemus pitää olla takana ennen kuin kriittisiä valintoja täytyy tehdä? Sulkeeko jonkun urapolun valinta jotain pois? Voiko koodin pariin vielä palata? En minä vaan tiedä.

{ 7 kommenttia }

Tulipa ostettua miniläppäri muutamaa erityistilannetta varten, kuten luennot ja lähitulevaisuuden matkat ulkomaille. Amazon.de:stä ostoskoriin tarttui Asus X101, Meegolla varustettu lähes Macbook Airin ohuinen miniläppäri. Päätökseen vaikutti lähinnä koko ja hinta. Läppäri on ohut ja kevyt sekä maksoi vain 170 euroa.

Meegoa ei jaksanut katsella pitkään: onhan se aika rajoitettu mm. ohjelmistovalikoimaltaan. Yksi tärkeimmistä kriteereistä miniläppärilleni oli se, että sillä voisi koodailla edes kevyesti. Tällä hetkellä tarve on suuri Haskell Platformille, jota ei ainakaan suoraan olisi Meegolle saanut. Asentelin läppäriin siis Ubuntun, joka tuntui siihen aika raskaalta. Kokeilin myös Lubuntua, siis kevyempää versiosta Ubuntusta. Lubuntu on aika hyvä: se on kyllä kevyt ja nopea, mutta sen käyttö nojaa paljon hiireen ja etenkin klikkailuun.

Tästä syystä Lubuntukaan ei jaksanut kiinnostaa kauaa. Miniläppäreissä on nimittäin yleensä aivan surkea Trackpad: vaikka kursori kyllä liikkuu mukavasti, on klikkaaminen myös X101:n tapauksessa vaivalloista. Halusin tehdä itselleni käytettävyydeltään hyvän, mutta mahdollisimman paljon näppäimistöön nojaavan työpöytäympäristön. Alla on ohjeet vastaavan ympäristön luomiseksi. Sanottakoon, että työpöytä on todella nopea, mutta myös näyttävä.

Paneeli Unity 2D:stä, Window Manageriksi Compiz

Aivan aluksi asennetaan muutama sovellus helpottamaan konfigurointia. Työpöytään käytetään Ubuntun mukana tulevaa Compiz -window manageria, mutta sitä kustomoidaan rankasti. Aja seuraava komento terminaalissa:

sudo apt-get install compizconfig-settings-manager compiz-plugins-extra

Tämän jälkeen luodaan uusi sessio, joka voidaan käynnistää Lightdm:n (kirjautumisesta vastaava daemon) kautta. Aja seuraava komento avataksesi tiedoston uutta sessiota varten:

gksu gedit /usr/share/xsessions/compiz-session.desktop

Copy-paste seuraava sisältö tiedostoon, tallenna ja sulje se:

[Desktop Entry]
Name=Compiz
Comment=Light but good looking session for desktop
Exec=/usr/local/bin/compiz-session
Type=Application

Yllä olevassa Exec-kohta viittaa tiedostoon, mitä ei ole vielä olemassa. Luodaan siis se. Aja seuraava komento terminaalissa, jolloin tekstieditori aukeaa jälleen:

gksu gedit /usr/local/bin/compiz-session

Liitä alla oleva tiedostoon, tallenna ja sulje se:

#!/bin/bash
if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval `dbus-launch --sh-syntax --exit-with-session`
fi
compiz --replace ccp & wmpid=$!
sleep 1
if [ -f ~/.compiz-session ]; then
source ~/.compiz-session &
else
xterm &
fi
# Wait for WM
wait $wmpid

Aja seuraava terminaalissa antaaksesi tiedostolle suoritusoikeudet:

sudo chmod 755 /usr/local/bin/compiz-session

Kohti omia kustomointeja

Yllä olevassa on periaatteessa kaikki mitä tarvitaan. Kuitenkin Compizia kannattaa muokata käytettävyyttä parantaen. Lisäksi sessiolle täytyy vielä mainita tietyt sovellukset, jotka käynnistetään automaattisesti kirjautumisen yhteydessä. Aja siis seuraava komento terminaalissa:

gedit ~/.compiz-session

Lisää tiedostoon seuraava teksti:

#!/bin/bash gnome-settings-daemon &
nautilus -n &
unity-2d-panel &
nm-applet &

Yllä oleva on ehdoton minimi: se lataa asetukset, pistää Nautiluksen vastuuseen työpöydän taustakuvasta, käynnistää Unityn paneelin ja verkkoyhteyksien hallintaan käytetyn appletin. Bluetoothin käyttäjät voivat lisätä listaan myös bluetooth-applet &. Lisäksi kaikki mahdolliset ylimääräiset paneelit ja launcherit kuten Dockbarx tai Slingshot  kannattaa asentaa ja lisätä tiedostoon tässä yhteydessä: tämä tapahtuu lyömällä listan loppuun sovelluksen käynnistämiseen tarkoitetun PATH:sta löytyvän binäärin (siis komento, jolla sovellus aukeaa terminaalista) &-merkillä varustettuna. Itse pärjään yllä olevalla kuitenkin mainiosti.

Vielä tässä yhteydessä kannattaa käynnistää Compizin konfigurointisovellus eli Compiz-Config-Settings-Manager kirjoittamalla komentoriville ccsm. CCSM:stä kannattaa etsiä Effects > Window decoration > Decoration windows ja vaihtaa se “all”-tilasta “!state=maxvert”-tilaan. Tämä mahdollistaa sen, että koko ruudun kokoiset ikkunat toimivat oikein Unity-paneelin kanssa.

Tee siitä näyttävä ja ennen kaikkea omasi!

Mainitsinko, että inhoan klikkailua? Avaa siis vielä CCSM ja etsi Commands-plugin ja aktivoi se. Commandsin avulla voi ajaa omia komentoja ja käynnistää siten sovelluksia. Lisäsin komennot Firefoxille, Gnome-terminalille, Gedit-tekstieditorille ja Nautilukselle ja asetin jokaiselle sovellukselle oman nurkan näytöstä: kun hiiren vie esimerkiksi vasempaan ylänurkkaan, Firefox aukeaa. Oikea ylänurkka avaa taas terminaalin. Vaikka Trackpad onkin yleensä hirveä käyttää (Macbookit ovat poikkeus), on kursorin vieminen johonkin nurkkaan äärettömän helppoa. Juuri Commandsin käyttö vapautti itseni klikkailusta ja hiirellä tehtävästä tarkkuustyöstä ja lisäsi siten käytettävyyttä!

Komentojen ajamiseen voi toki yhdistää myös näppäinkomentoihin, jos ne tuntuvat luonnollisemmilta.

Oletuksena päällä oleva Scale Windows -plugin on mahtava! Avaapa usea sovellus usealle eri työtilalle ja paina Windows-näppäintä (joka on muuten nimellä “Super” Compizissa) ja w-näppäintä yhtä aikaa luodaksesi yleissilmäyksen käynnissä oleviin sovelluksiin.

Työpöytäympäristö on valmis! Kirjaudu ulos ja valitse kirjautumisikkunasta Compiz Ubuntun tai Ubuntu 2D:n sijaan. CCSM:ää kannattaa kuitenkin käyttää vielä joidenkin asetusten viilaamiseen. Itse käynnistin ensimmäisenä Cube ja Rotata Cube -pluginit kuutioefektiä varten. Tämän lisäksi nostin General-valikon alta työpöytien määrän neljään. Myös Wobbly Windows -plugin on hauska: plugin aktivoituna ikkunat venyvät ja valuvat siirrettäessä.

Näillä asetuksilla ympäristö on vielä todella kevyt, mutta siitä löytyy OS X:stä tuttua käytettävyyttä yhdistettynä sellaiseen näyttävyyteen mitä vain Compiz voi tarjota!

{ 2 kommenttia }

Yhteishaku 2012 on ollut auki jo viikon verran mikä hieman harmittaa, sillä tarkoitukseni oli kirjoittaa siitä jo hyvissä ajoin. Haluaisin tuoda muutaman asian esille kun puhutaan tietotekniikan tai tietojenkäsittelyn opiskelusta. Ne lukijat, jotka ovat tämän blogin Tietoa kirjoittajasta -sivun lukeneet tietävät, että minulla on AMK-tausta jota päivitän tällä hetkellä töiden ohella yliopistossa. Tarkemmin sanottuna olen tietojenkäsittelyn tradenomi Tampereen ammattikorkeakoulusta ja tuleva filosofian maisteri Tampereen yliopistosta.

Itseäni muistan hakuhetkellä askarruttaneen ainakin seuraavat jälkeenpäin ajateltuna tyhmät asiat:

  • Onko AMK jotenkin huonompi kuin yliopisto?
  • Mitä eroa on Tampereen ammattikorkeakoulussa linjoille tietojenkäsittely ja tietotekniikka?
  • Pitääkö tietoteekkarien v******u paikkansa?

Sattuman kautta päädyin opiskelemaan Tampereen ammattikorkeakouluun tietojenkäsittelyn tradenomiksi. Ja parempaa vaihtoehtoa en olisi voinut kuvitellakaan. Tampereellahan vaihtoehtoja ohjelmistoalalle pääsemiseksi löytyy Tampereen teknillisestä yliopistosta (TTY, tietotekniikka), Tampereen ammattikorkeakoulusta (tietotekniikka ja tietojenkäsittely eri koulutusohjelmina) ja Tampereen yliopistosta tietojenkäsittelyn koulutusohjelmasta.

En voi tietenkään puhua kuin niistä opinahjoista joissa olen itse opiskellut. Alla oleva tieto pätee siis pääasiassa TAMKiin ja Tampereen Yliopistoon. Olettaisin että tieto on kuitenkin sovellettavissa kaikkiin vastaaviin korkeakouluihin.

Miksi TAMK, miksi tietojenkäsittely?

Aivan ensimmäiseksi; ohjelmistoalalla ei ole juurikaan merkitystä onko taustalla ylempi vai alempi korkeakoulututkinto. Ammatissa pärjäämiseen vaikuttaa halu ja kyky pysyä kärryillä, sillä tämä ala kokee muutoksia aivan jatkuvasti! Lisäksi aivan jatkuvasti kuulee vieläkin valistuneita arveluita siitä, että AMK-tutkinto ei olisi korkeakoulututkinto. Tehdäänpä nyt selväksi: AMK-tutkinto on ammattiin valmistaja korkeakoulututkinto ja ohjelmistoalalla mikä tahansa korkeakoulututkinto on yhtä arvokas.

Leipätyö on koodaamista sekä ohjelmistosuunnittelua ja palkka määräytyy aivan muiden ansioiden mukaan: jos motivaatio dippainssiksi opiskeluun kumpuaa suoraan valmistumisen jälkeen saatavista ohjelmistoarkkitehdin, hankepäällikön tai muista viiden tonnin kuukausipalkalla tehtävistä hommista, ohjelmistoala ei ole sinun juttusi.   Osalla tuntemistani tietoteekkareista tuntuu olevan aivan käsittämätön kuva siitä, kuinka he valmistuvat suoraan tradenomien ja insinöörien pomoksi. Vähän nöyryyttä pyydän: AMK-tutkinnolla varustettu koodari on ollut työelämässä jo 2-3 vuotta, kun diplomi-insinööri tai filosofian maisteri valmistuu. Ja linjan kuin linjan päässä odottaa samat työtehtävät ja tittelit.

Myönnän: kuvittelin itsekin jossain vaiheessa, että tradenominpaperilla varustettua koodaria ei oteta vakavasti. Ja kyllähän tradenomeista kaikenlaista kirjoitellaan. On kuitenkin huomattava, että tradenomit ovat yleensä liiketalouden ammattilaisia: puheet tradenomeista harvoin pätevän tietojenkäsittelyn tradenomeihin.

Tosiasiassa kaikki alasta jotakin tietävät ymmärtävät, että dippainssin tai insinöörin tutkinto ei takaa tällä alalla yhtään mitään. Ainoa tietämäni poikkeus on lehtorina työskentely: Akateeminen ote ja kyky esimerkiksi ohjata opinnäytetöitä saavutetaan vain ylemmän korkeakoulututkinnon suorittamalla. Lehtorin virkaa havittelevat tähtäävät siis yliopistoon. Siltikin esimerkiksi AMK-opettajien kokemusta aidosta työelämästä arvostetaan. Miten työelämälähtöistä ohjelmistosuunnittelua voisi opettaa henkilö, joka ei ole tehnyt kuin akateemista tutkimusta?

Yliopistotutkinto on noin 5-6 vuotta, AMK-tutkinto taas 3-4. Käydäänpä läpi niitä asioita joita TAMKissa opin ensimmäisen vuoteni aikana:

  • Java-ohjelmoinnin perusteet
  • Relaatiotietokantojen perusteet
  • Tiimityöskentely, projektityöskentely, koulutustaidot (vastuuta pelkäämättömät saivat arvokasta kokemusta projektien johtamisesta)
  • Web-tuotantoa: XHTML, CSS, JavaScriptin perusteita.
  • Tietoliikennettä niin paljon, että rahkeet riittävät Cisco Systemsin CCNA-sertifikaatin suorittamiseen
  • Testaamisen perusteet
  • Dokumentoinnin perusteet
  • Liiketalouden perusteet
  • Joitakin muuta pakollista

Insinööri- ja diplomi-insinööriopiskelijat lukevat liiketalouden tilalla esimerkiksi matematiikka ja muita luonnontieteitä. Näen liiketalouden opinnot alaa katsottaessa oleellisempana, kuin kemian, fysiikan tai sähköopin. Enkä ole kuullut että missään muussa korkeakoulussa tehtäisiin relaatiotietokantaa käyttävää Java-sovellusta ensimmäisenä opiskeluvuotena (saa korjata jos olen erehtynyt). TAMKissa siis pääsee heti koodaamaan!

Jos AMK ei valmistumisen jälkeen riitä…

…voi aina jatkaa yliopistoon! Insinöörin tai tradenomin paperilla pääsee suoraan yliopistoon pääsykokeiden ohi ja vieläpä niin että kandin saa suoraan hyväksiluettua. Näin ollen siis opiskeluaika ei kasva juurikaan (yliopistossa 5-6 vuotta vs. AMK:ssa 3-4 vuotta + yliopistossa maisteriohjelma 2 vuotta)! Tästä saa vielä mielestäni parhaan yhdistelmän: ammattiin valmistava alempi korkeakoulututkinto + akateeminen ylempi korkeakoulututkinto.

Kuitenkin nyt 3 vuotta AMK:ssa ja sieltä valmistuneena ja lähes kaksi vuotta yliopistolla satunnaisesti pyörineenä voin vakuuttaa, että ainakin Tampereen ammattikorkeakoulu on antanut minulle enemmän valmiuksia ohjelmistosuunnittelijan ammattia ajatellen: teknologiat ovat työelämälähtöisiä: Javaa, relaatiotietokantoja, webbisivuja ja mobiiliohjelmointia. Ja parasta on se, että näihin päästään kiinni jo heti opintojen ensimmäisistä viikoista lähtien! Onpa jopa nykyään tietojenkäsittelijöille tarjolla kurssi Ohjelmistotuotannon uudet suuntaukset, joka tarjoaa työelämään hyppääville koodarinaluille latest of the latest -tyyppistä osaamista!

Korkeakoulututkinnon suorittaminen on tärkeä asia. Tutkinnon nimi on taas kuriositeetti, kun puhutaan esimerkiksi työhaastatteluista. Kysymys ei ole siitä missä olet opiskellut, vaan siitä mitä osaat, ja mitä voit oppia.

{ 11 kommenttia }

Nokia Lumia 800:sta on varjostanut kaksi bugia heti sen myynnin ensipäivästä lähtien. Eniten on uutisoitu heikosta akunkestosta, vaikka ainakin itselläni juuri akkukesto on tuntunut parantuneen Android-maailmasta siirryttäessä. Ehkä tuo johtuu myös osittain Samsungin omasta firmwaresta jota tässä taannoin jo haukuinkin: Galaxy S:n perusfirmiksessähän on pakotettu virransäästö kun akkua on jäljellä 15%. Akkua voi siis käyttää enintään 75%, jonka jälkeen älypuhelin on oikeastaan vain perusluuri: kameraa, musiikkitoistinta ja Youtubea ei voinut enää käyttää.

Toinen asia, mikä myös itseäni on vaivannut todella paljon, on huono äänenlaatu käyttäen nappikuulokkeita. Ongelmaa ei esiintynyt kaikilla kuulokkeilla: esimerkiksi Koss Porta Pro:lla ääni on yhtä hyvää kuin missä tahansa muussakin laitteessa, mutta Sennheiser CX300II:lla äänestä tuntuu puuttuvan paljon (omiin korviin etupäässä bassoa). Nokia on ilmoittanut, että ongelman laajuus vaihtelee kuulokkeiden vastuksen mukaan (siksi eroavaisuuksia eri kuulokkeilla) ja Bluetooth-setillä ongelmaa ei ole ollenkaan.

Windows 8 Consumer Previewin ja uuden iPadin julkistus ovat tärkeitä asioita, ja niistä pitäisi kirjoittaa. Kuitenkin loppuviikosta Lumia 800:lleni tippunut päivitys tuntui jotenkin suuremmalta kuin mikään muu lähiaikojen IT-uutinen, sillä ensimmäistä kertaa yli kuukauteen olen voinut pyöräillä töihin ja nauttia hyvästä äänenlaadusta musiikkia kuunnellessani. Akunkeston osalta päivitys ei ollut myöskään mikään triviaali: GSMArena raportoi akkukeston parantuneen yli kolminkertaiseksi!

Ainoaksi häiritseväksi ongelmaksi itselleni on jäänyt enää pieni rautavika, jonka vuoksi puhelin “helisee” liikuttaessa sitä. Tätä ei kuitenkaan esiinny kenenkään tuttuni Lumiassa. Ilmeisesti näppäimet ovat hieman löysät. Mieltäni askarruttaa myös Windows 8 Consumer Previewin toiminta Lumian kanssa. Developer Previewiinhän Zune ei suostunut asentumaan.

Joka tapauksessa nyt on pari syytä enemmän suositella Lumiaa!

{ Ei kommentteja }

Trendi tuntuu olevan pöytäkoneita vastaan. Kuluttajille myydään kokoajan enemmän läppäreitä, tabletteja ja älypuhelimia. Vain osa laitteista menestyy, joten sen parhaan laitteen metsästys on edelleen käynnissä. Miniläppäribuumi oli ja meni ja niiden käyttöalueita ovat vallanneet tabletit ja ultrabookit. Tämän lisäksi “ei-pöytäkoneiden” käyttömahdollisuudet kasvavat nopeasti. Macbook Air tunnettiin vielä pari vuotta sitten kevyenä mopona; nythän siinä on tarpeeksi potkua mihin tahansa peruskäyttöön ja riittävästi esimerkiksi satunnaiseen videoeditointiin tai kevyeen pelailuun.

Rasperry Pi katsoo vielä pidemmälle tulevaisuuteen. Kyseessä on pieni, halpa ja vähävirtainen tietokone, joka perustuu ARM-arkkitehtuuriin. ARM:n käyttö tekee Rasperry Pi:stä vähävirtaisen ja halvan, mutta tarjoaa kuitenkin tarpeeksi tehoa peruskäyttöön. Virran Rasperry Pi saa micro-USB -liittimestä, joten koneen saa käyntiin millä tahansa nykyaikaisella kännykän laturilla. Rasperry Pi:ssä on tarpeeksi tehoa 1080p-tasoisen videon pyörittämiseen (ja HDMI-liitäntä!) tai vaikkapa Quake 3:n pelaamiseen. Laitteesta on kaksi versiota, joista riisutumpi maksaa 25 dollaria. Kalliimpi verkkoliitännällä varustettu malli maksaa 35 dollaria. Laitteella voi ajaa esimerkiksi Debianin, Fedoran tai Arch Linuxin ARM-versioita.

Kaiken takana on hyvää tahtova säätiö

Tarkoituksena on tuottaa mahdollisimman halpa tietokone lapsille tietotekniikan oppimista varten. Omasta mielestäni mahtava idea, sillä olen itsekin Bittileirillä jo lähes 15 vuotta käyneenä huomannut, että lasten tietotekninen mielenkiinto on siirtynyt siirtyneen etupäässä pelailuun ja median kuluttamiseen. Harva 10-vuotias tietää kuitenkaan mitään sen ihmeellisempää tietotekniikasta; koodailu on tuttua nykyään lähinnä Robinin biisistä…

Rasperry Pi -säätiön harteilla on tulevaisuuden tietotekniikan ammattilaisten kasvattaminen. Säätiö toivoo, että Rasperry Pi palauttaisi lasten innostuksen ohjelmointiin. Itse haluaisin laajentaa tavoitetta kaikkeen tietotekniikan syvempään osaamiseen: pitäähän verkko- ja ylläpitoammattilaistenkin mielenkiinto jotenkin sytyttää.

Potentiaalisia käyttötarkoituksia

  • Linuxin opettelua: jo käytössä olevaa tietokonetta ei tarvitse uhrata
  • Koodailuleluksi: Rasperry Pi:lle voi koodata esimerkiksi Qt:lla. Robottiharrastajat saavat kytkettyä Rasperry Pi:hin piirin jolla voi ohjata servomoottoreita. Katso Gertboard.
  • Apple TV:n haastajaksi (35 dollaria vs. 99 dollaria) tai mediakeskukseksi
  • Konsoli-emulaattori: on vain ajan kysymys koska suositus NES ja SNES-emulaattori käännetään ARM:lle
  • Tietokone autoon: pieni koko ja vähävirtaisuus ovat loistava yhdistelmä.
  • Jotain muuta kivaa (säätutka tai vaikkapa infotaulu)

Ensimmäinen erä tulee menemään nopeasti

Laitteen myynti aloitetaan pian! Rasperry Pi:ssä ei ole vielä edes koteloa, joten se on suunnattu lähinnä harrastelijoille. Ja heitähän tarvitaan, sillä koko hankkeen onnistuminen vaatii vahvan vapaaehtoisuuteen perustuvan yhteisön, joka voi näyttää mihin tästä luottokortin kokoisesti tietokoneesta voi parhaimmillaan olla.

Yhteisön mielenkiinto on ollut todella suurta: ensimmäiset beta-laitteet myytiin huutokaupassa keskimäärin tuhannen dollarin kappalehintaan! Lisäksi keskustelu foorumeilla ja blogissa on aktiivista. Myynti alkaa luultavasti tällä viikolla, ja kaikki halukkaat eivät tule saamaan laitetta ensimmäisestä erästä.

Mikäli kiinnostusta riittää suosittelen liittymään Rasperry Pi:n sähköpostilistalle, josta kuulet todennäköisesti ensimmäisenä kun laitteen myynti alkaa.

{ Ei kommentteja }

Isn’t it nice when a phone manufacturer releases a great product and manages to sell it massive amount. After a while manufacturer stops providing updates stating that the device does not have enough resources and that the user interface customizations are too much to handle. Thanks Samsung, good job with Galaxy S. Luckily warranty has expired in most cases so there simply is no reason not to root the Galaxy S and install Ice Cream Sandwich yourself! As a proof I’ve provided the picture below! Sorry it’s in Finnish.

Originally I wrote this article in Finnish (my blog is in Finnish) but due to massive amount of traffic to this article I decided to translate it to wider audience. Let’s dive in to the guide itself.

1. Backup everything you can think of and more

During this process you probably lose most of your data so backup everything. I’ve got no clue what you need, as in my case pretty much everything is synced with Google. Consider at least taking backups of your photos as they are not replaceable.

It’s important to understand that it’s not possible to take full backup of unrooted device. In case you value for example your high scores in Angry Birds I recommend using Titanium Backup after rooting.

2. Right tools for the right job

At first some required tools should be downloaded. Windows XP, Vista or 7 should be installed in order to connect Galaxy S with the PC. Galaxy S driver should be installed also. The driver comes bundled with Kies (horrible, horrible piece of software), but Kies must not be installed during this process. The only way is to install the driver separately. The last piece of the puzzle is Odin, which is a program for flashing firmware´ to Android devices.

  1. Remove Kies!
  2. Download standalone version of Galaxy S driver (32-bit / 64-bit). Install it.
  3. Download Odin and extract it.

3. Upgrade to latest Samsung firmware

It may be possible brick your device if something unexpected happens during the update. In order for the actual rooting and ICS installation to be reliable there must be a same starting point. In this guide we use leaked Samsung firmware 2.3.5 XXVJS as baseline firmware.

  1. Download XXJVS from here. Extract the package. Password is samfirmware.com UPDATE: the link does not work anymore. Find the same files from this package
  2. Unplug the device from computer, if attached. Turn off the device. Wait for a vibration that Galaxy S does when powering off.
  3. Turn the power back on while holding “Volume Down” and Home buttons. The device boots in to “Downloading” state.
  4. If this does not happen (the device boots normally), turn off the device and try again. You notice when you are succesful.
  5. Start Odin.
  6. Connect Galaxy S to PC with USB-cable. “Added” text appears in Odin.
  7. In the right side of Odin there is a form with labels PDA, PHONE, CSC and PIT. Correct files must be selected for each of these form inputs. The correct files are shown in this picture. Use file s1_odin_20100512.pit as PIT.
  8. Enable the following checkboxes: Re-Partition (in most cases this should be checked when using PIT-file and vice versa), Auto Reboot and F. Reset Time. Do not touch other settings!
  9. Double check two previous steps!
  10. Cross your fingers and press Start! Do not unplug or power off your devices! When done, Galaxy S will boot with Android 2.3.5.
  11. Unplug the USB cable.

4. Root your Galaxy

Android is based on Linux so it has user named root. Root is a user that has permissions to every file on the device. Rooting means enabling root user: it enables installation of firmware that device manufacturer has not approved. It also makes it possible to take full backups of your Android device.

XXJVS can be rooted pretty easily. Remember that by rooting your phone will void the. No biggie since in most cases with Galaxy S the warranty has already expired.

  1. Download the file needed for rooting from here. Extract the file but don’t extract the file that that came from the downloaded file (the downloaded file is a zip file which extracts a tar file that should not be extracted). The file in question is a rooted kernel, which replaces the kernel in Samsung firmware.
  2. Power off the device and go to “Downloading” state again.
  3. Start Odin.
  4. Connect the device to PC. Odin prints “Added” again.
  5. Use the tar file from the zip as PDA (choose browse next to PDA and select the tar file).
  6. Leave Re-Partition unchecked but check Auto Reboot and F. Reset Time.
  7. Double check two previous steps.
  8. Press Start! You are getting used to this right?
  9. When the device reboots and asks for PIN code, unplug the USB cable.
  10. Browse the app drawer and notice that there are three new apps: CWM, Superuser and Tweaks. Yummy!

For future steps the most important app is CWM which stands for ClockworkMod. ClockworkMod comes bundled with ClockworkMod Recovery which has replaced the Recovery sofware by Samsung. It is possible to install unofficial firmware using ClockworkMod Recovery without using tools like Odin by copying the firmware files to internal storage of the device and booting the device to the recovery mode.

5. Install CyanogenMod 9

CyanogenMod is one of the most popular unofficial firmware. The stable version of CyanogenMod is based on the same version of Android (Gingerbread, 2.3) that Samsung uses. But we’ll be using the latest of the latest from CyanogenMod. CyanogenMod 9 is still in public beta but pretty much stable in every way. CM9 is based on Android 4.0 (Ice Cream Sandwich). That’s what we wanted!

Basically using ClockworkMod Recovery it’s possible to install any firmware to user wishes. Of course it’s not recommended as most of the firmware roms won’t work because custom firmware is usually designed to work with specific devices. Btw. Odin can be used to install the 2.3.5 version of Android if feeling regret after installation.
  1. Download three files: CyanogenMod9, Google Apps and Face Unlock. You may also need Google Apps fixer which should be used if syncing Calendar with Google does not work. Files can be found from here. I won’t link directly to the files as the latest build today might be old tomorrow. Find the files from the first post in the link.
  2. Copy all the files to internal storage of the Galaxy S. USB cable is your friend. Do not extract any of the files.
  3. Unplug the device from your PC. As you are probably using mass storage mode, do remove the device from PC safely as it should in Windows ;)
  4. Go to Recovery mode. You get there by powering off your Galaxy S and powering it on while holding “Volume Up” and Home buttons. Your device boots in to ClockworkMod Recovery. You can browse the menu using Volume up/down buttons. Select things with Home button (but don’t do anything yet).
  5. First choose “wipe cache partition” and “wipe data/factory reset”. I sure hope you have not overlooked taking backups.
  6. Choose “Wipe Dalvik Cache” from Advanced menu.
  7. Return to main menu.
  8. Choose “install zip from sdcard” -> “choose zip from sdcard”. Browse to the directory where you copied the downloaded files. Choose the ROM file (teamhacksung_galaxysmtd-ota-eng.BUILDxx.zip)
  9. The device reboots! Hello Ice Cream Sandwich! :)
  10. Go back to Recovery state (which is slightly different because of the new firmware) and install Google Apps and Face Unlock using the same process as in step 8. No need to wipe cache or do the factory reset.

In my case I still had my old music and photos available in the device but all installed apps and their data was gone. Restore what you need using backups. USB mass storage mode works with internal storage, which is pretty surprising as it does not work in Galaxy Nexus. Awesome!

Now listen up Samsung: this firmware is a faster and smoother than any of your firmware has ever been. As you protect your own TouchWiz abomination you prevent over ten million Galaxy S owners to get latest updates to their devices. TouchWiz as Galaxy S users know it is not nearly as good in terms of usability as the stock user interface in Android 4.0. You claim that the resources of the device prevent releasing an upgrade to Ice Cream Sandwich but the truth is that it’s TouchWiz which does not scale well!

There was request for video to show performance of the device after the installation so here it is:

{ 2 kommenttia }

Hurraa! Kun sovellus on valmis, se pitää saada Windows Phone -sovelluskauppaan, eli Marketplaceen. Sovellusten lähettämistä varten pitää rekisteröityä App Hubiin. Lisäksi jokaista sovellusta odottaa tietysti jonkinlainen hyväksymisprosessi, jonka aikana Microsoftin kaverit katselmoivat sovelluksen ja joko hyväksyvät sen tai eivät. Toiminta on hyvin pitkälti samanlaista, kuin Applella oman sovelluskauppansa kanssa.

Käyttääkö joku vielä meseä?

App Hubiin rekisteröidytään käyttäen Windows Live ID:tä, siis sitä samaa tunnusta, millä Windows Messengeriä tai Windows Phonea käytetään. Omaa tunnustani olen viimeksi käyttänyt parisen vuotta sitten, joten pieni muistelutuokio omasta tunnuksesta ja salasanasta oli paikallaan. Lopulta kuitenkin kirjautuminen Live-sivuille onnistui. Huomasin myös, että livetunnusta voi vaihtaa! Näin ollen, jos meseä on tullut käytettyä sasukefan_91@puremunananasta.fi -tyyppisellä osoitteella, voi sen vaihtaa hieman enemmän kunnioitusta herättävämpään.

Uuden tilinkin voi tietysti luoda aina.

Opiskelija selviää ilmaiseksi, muut voivat kaivaa luottokortin esille

App Hubin jäsenyys ei ole ilmaista ellet satu olemaan opiskelija (sähköpostiosoite mihin tahansa korkeakouluun saattaa riittää). Vuotuinen maksu yksityishenkilölle on 99 dollaria. Käytännössä siis muutaman mainosrahoitteisen sovelluksen tekeminen tuo jossain välissä tuon summan takaisin. Sijoitus ei siis ole mielestäni iso.

Kaikki tarvittava on käsillä, joten rekisteröitymisen voidaan aloittaa

App Hubista löytyy vielä yksityiskohtainen ohje rekisteröitymiseen, joka kannattaa avata toiseen välilehteen kaiken varalta. Rekisteröitymisen voi aloittaa App Hubin etusivulta klikkaamalla sign in -linkkiä. Itse jäsenyydestä löytyy taas tietoa täältä. Kaikki edelliset kannattaa lukea ennen kuin tekee yhtään mitään.

Sign in -linkkiä klikkaamalla avautuu lomake, johon syötetään Windows Live -tunnus. Jos olet kirjautuneena Windows Live -sivuilla, ei tunnusta enää kysellä vaan käyttäjä siirretään automaattisesti seuraavaan vaiheeseen. Alkuun valitaan maa ja tilin tyyppi (yksityishenkilö, opiskelija tai yritys) ja hyväksytään ehdot. Opiskelijat vierailevat myös DreamSpark-palvelussa varmistamassa opiskelijastatuksensa. Opiskelijastatus varmennetaan valitsemalla koulu ja antamalla koulun sähköpostiosoite, johon aktivointitunnus toimitetaan.

Seuraavassa vaiheessa täytetään nimi, sähköpostiosoite ja muut yhteystiedot, jonka jälkeen valitaan kuva tilille ja luodaan Gamer Tag -tunnus, jos sellaista ei vielä Live-tunnukseen ole liitetty. Gamer Tag on maailmanlaajuinen Xbox Live -käyttäjänimi, jota tarvitaan verkossa pelaamiseen ja pelien kehitykseen. Gamer Tag on pakko luoda viimeistään tässä vaiheessa, vaikka Xbox-kehitys tai -pelaaminen ei kiinnostaisi pätkääkään.

Tämän jälkeen laskutustiedot kerätään kaikilta paitsi opiskelijoilta, jonka jälkeen varmistetaan, että tiedot ovat oikein. Itselläni koko varmistus kaatui virheeseen, mutta rekisteröinti näytti menneen läpi. Kuitenkin osa tiedoista kyseltiin myöhemmin Dashboardilla uudestaan. Uncool.

Kiukutteleva App Hub on muuten toimivan ympäristön musta lammas

Tilin luomiseen jälkeen sain sivuston kautta ilmoituksen, että pankkitiliäni koskevat tiedot ovat väärin. Onneksi tähän asiaan oli jo Facebookissa vanha TAMK-opettajani keksinyt jo ratkaisun. Kyseessä on virheelliset profiilin pankkitiedot xbox.comissa. Miten Xbox tähän nyt liittyy?

Helpohkon kehitysalustan ja hyvien kehitystyökalujen luoma kuva mukavasta sovelluskehityksestä muuttui yhtäkkiä painajaiseksi. App Hub -sivusto ei toimi kunnolla (refresh auttaa melkein jokaiseen ongelmaan), ja ajatuksia herättää myös Xboxin sotkeminen koko touhuun. Hyvinä asioina mainittakoon kehittäjien sponsorointi ja opiskelijaystävällisyys.

Nyt ollaan kuitenkin virallisesti Windows Phone kehittäjiä ja seuraavaksi voidaan ladata oma softa sisään Marketplaceen. Kirjoittelen lyhyesti prosessista ja tekemistäni sovelluksista myöhemmin!

{ Ei kommentteja }

Joulukuun aherrus vihdoin palkittiin, ja sain odottamani Nokia Lumia 800:n. Hyviä ja kattavia arvosteluja on netti pullollaan, joissa ollaan yksimielisiä suurimmasta osasta asioita: kamera on hyvä mutta ei pärjää N8:lle, design yhdessä ClearBlack-näytön kanssa on huikean näköinen, Windows Phone toimii sulavasti ja vakaasti ja Nokian kustomoinnit esimerkiksi ilmaisen navigoinnin muodossa ovat toimivia ja käytännöllisiä.

Ensinnäkin laite on hyvin pieni verrattuna muiden valmistajien lippulaivoihin (pois lukien iPhone) 3.7 tuuman näytöllään. Laite tuntuu jämäkältä kädessä ja on yllättävän raskaan tuntuinen. Tämä on omasta mielestäni hyvä asia. Puhelin saakin tuntua kädessä työkalulta, eikä kevyeltä lelulta.

Käyttöliittymä on erittäin sulava! Valikot toimivat vikkelästi ja puhelinta tosi mukava käyttää. Osaksi tästä voidaan kiitellä oikein toteutettua moniajoa.

Hehkuttaa voi myös laitteen monimuotoista tukea ulkoisille palveluille: Windows Liven lisäksi tuettuina ovat ainakin Google, Facebook, Twitter, LinkedIn, Exchange ja tietysti muut IMAP/POP -tilit. Ensimmäisen kymmenen minuutin käytön jälkeen sain synkronoitua kaikki kalenterini, yhteystietoni ja sähköpostini laitteeseen. Pidin tässä asiassa Androidia edelläkävijänä, mutta Ice Cream Sandwichin myötä tuki esimerkiksi Facebookille on poistettu: kilpaileehan se suoraan Google +:n kanssa. Nokia Lumia 800:n kanssa tuntuu ensimmäisen kerran siltä, että minulla on samassa puhelimessa sekä työ että vapaa-aika.

Huonona puolena mainitsen massamuistituen puutteen. Media on synkattava laitteeseen Zune-ohjelmistoa käyttäen. Mac-käyttäjiä varten on tehty myös oma synkronointisovelluksensa, mutta Linux-käyttäjät ovat jälleen kerran tosi pahassa välikädessä.

Loppujen lopuksi Lumiaa on aika helppo suositella tietyin varauksin. Kotikoneen käyttöjärjestelmän täytyy olla Windows tai OS X. Lisäksi 3.7 tuuman näytön tulee riittää. Nykyisen trendin suosiessa yli neljän tuuman näyttöjä, voi Lumian näyttö tuntua alkuun liian pieneltä. Myytyjen iPhonen määrä kyllä todistaa, että alle neljän tuuman näyttö ei ole liian pieni.

Jos nämä kaksi asiaa sopivat sinulle, Lumia 800 on erittäin hyvä puhelin. Android-laitteiden satunnaisten ongelmien, kaatuilun ja tahmailun jälkeen Lumia 800 tuntuu parhaalta koskaan omistamaltani puhelimelta.

{ 1 kommentti }

Updated: Due to massive amount of visitors in this article I’ve decided to translate it to English also. This article is in English here.

Eikö olekin hienoa, kun valmistaja julkaisee hyvän laitteen ja myy sitä tolkuttoman määrän, jonka jälkeen ei tuo päivityksiä vedoten laitteen spekseihin ja valmistajan omiin kustomointeihin. Kiitos Samsung, hyvää työtä Galaxy S:n kanssa… Onneksi laitteen takuuaika on ollut jo itselläni hetken aikaa finito, ja kiitos Microsoftin uusi Lumia on jo matkalla, joten Galaxy S:ää uskaltaa vähän kiusata. Artikkelin agenda olisi asentaa onnistuneesti toimiva versio Android 4.0:sta, eli Ice Cream Sandwichista. Lopputulos näkyy alla olevassa kuvassa!

Tästä tulee pitkä ilta, joten mennään pidemmittä puheitta ohjeisiin. Ohjeet on laadittu samalla kun tein päivitystä omaan luuriini, ja siten testattu toimiviksi.

1. Varmuuskopioi aivan kaikki mitä mieleen tulee, ja enemmän!

Mahdollisesti jossain vaiheessa prosessia kaikki datasi katoaa. Ota siis varmuuskopio. En tiedä mitä tarvitset, mutta itse otin kuvaamani valokuvat. Kaikki muu on oikeastaan joko Googlen pilvessä tai lähtökohtaisesti omalta PC:ltä.

Kannattaa muistaa, että lähtökohtaisesti roottaamatonta luuria ei ole mahdollista varmuuskopioida täysin. Kannattaa kuitenkin tutustua Titanium Backuppiin, jos Angry Birds -tulosten varmuuskopiointi on tärkeää.

2. Oikeat työkalut oikeaan hommaan

Aivan alkuun ladataan ja asennetaan kaikki mitä tarvitaan. Käytännössä, jotta Galaxy S saadaan yhteyteen PC:n kanssa, pitää koneelta löytyä Windows XP, Vista tai 7, sekä Galaxy S -ajuri. Galaxy S -ajurin saa Kiesin (se veemäinen Samsungin sovellus matkapuhelimen päivittämiseen ja synkronointiin) mukana, mutta Kies ei ilmeisesti saa olla asennettuna myöhempää varten: siksi ajuri pitää asentaa erikseen. Ajurin lisäksi tarvitaan sovellus nimeltä Odin, jolla vaihtoehtoisia firmwareja saadaan flashattua laitteen ROM:iin.

  1. Poista Kies!
  2. Lataa standalone-versio Galaxy S -ajurista (32-bittinen / 64-bittinen). Asenna se.
  3. Lataa Odin ja pura se.

3. Päivitys uusimpaan Samsungin omaan firmwareen

Koska Android-käyttöjärjestelmään kajoaminen voi pahimmassa tapauksessa tehdä laitteen käyttökelvottomaksi (eli brickata, “tehdä tiiliskiveksi”), seurataan ohjeita nyt kirjain kirjaimelta. Useimmissa helposti seurattavissa ohjeissa lähtötilanne on se, että Galaxy S:stä löytyy Samsungilta vuotanut firmware, Android 2.3.5 versioon perustuva XXJVS.

  1. Lataa XXJVS täältä. Pura paketti. Salasana on samfirmware.com. Päivitys: Linkki ei toimi enää. Samat tiedostot ovat saatavilla tässä paketissa:
  2. Irrota puhelin tietokoneesta, jos se on kytketty. Sammuta puhelin. Odota pientä väristystä, jonka Ässä pitää sammuessaan.
  3. Käynnistä puhelin pitäen samalla pohjassa “äänenvoimakkuus alas” – ja kotinäppäintä. Puhelin käynnistyy “Downloading-tilaan.”
  4. Jos näin ei tapahdu, sammuta puhelin ja yritä uudestaan kunnes onnistuu. Huomaat kyllä kun onnistuu :)
  5. Käynnistä Odin.
  6. Kytke puhelin tietokoneeseen. Odinin alakulmaan ilmestyy teksti Added.
  7. Oikealla Odinissa näkyy kohdat PDA, PHONE, CSC ja PIT. Jokaiseen näistä kohdista valitaan oikea tiedosto. Tiedostot näkyvät tässä kuvassa! PIT-kohtaan valitse s1_odin_20100512.pit.
  8. Valitse seuraavat valinnat: Re-Partition (pääsääntöisesti tämä valitaan aina kun käytetään PIT-tiedostoa, ja päinvastoin), Auto Reboot ja F. Reset Time. Älä koske muihin valintoihin!
  9. Tarkasta kaksi edellistä kohtaa!
  10. Laita sormet ristiin ja paina Start! Älä vaan irrota piuhaa, tai sammuta puhelintasi! Kun homma on valmis, puhelin käynnistyy uudelleen. Galaxy S on nyt varustettu Android 2.3.5:lla!
  11. Irrota USB-kaapeli.

4. Roottaa Galaxysi

Android on Linuxiin perustuva käyttöjärjestelmä, joten siinäkin on olemassa root-käyttäjä: käyttäjä, jolla on täysi valta jokaiseen laitteessa olevaan tiedostoon. Roottaaminen mahdollistaa muiden kuin laitevalmistajan hyväksymän firmwaren asentamisen, mutta myös muuta pikkukivaa kuten mahdollisuuden varmuuskopioida koko puhelin jokaista bittiä myöten.

XXJVS on rootattavissa suhteellisen helposti alla olevin ohjein. Muista, että puhelimesi roottaamalla menetät valmistajan takuun! No biggie, koska suurimmalla osalla Galaxy S -käyttäjistä takuu on luultavasti jo ummessa.

  1. Lataa tarvittava tiedosto roottausta varten täältä. Pura tiedosto, mutta älä pura paketista tulevaa tiedostoa (zipissä on tar-paketti, jota ei saa purkaa). Kyseessä on itseasiassa uusi rootattu kerneli, jolla Samsungin firmwaren oma kernel korvataan.
  2. Sammuta puhelin ja mene “Downloading-tilaan” uudestaan.
  3. Avaa Odin
  4. Kytke puhelin tietokoneeseen. Odin tulostaa taas “Added”.
  5. Valitse PDA-kohtaan zipistä purkamasi tar-tiedosto.
  6. Jätä Re-Partition valitsematta, mutta valitse Auto Reboot ja F.Reset Time.
  7. Tarkasta kaksi edellistä kohtaa.
  8. Paina Start-painiketta (alkaa tulla jo rutiinilla vai mitä?)
  9. Kun puhelin käynnistyy uudelleen ja kyselee PIN-koodia, USB-kaapelin voi irroittaa.
  10. Selaa ohjelma-valikkoa ja huomaa kolme uutta sovellusta, CWM, Superuser ja Tweaks. Namsnamsmumsmums.

Seuraavia vaiheita ajatellen edellisistä sovelluksista tärkein on CWM, eli ClockworkMod. ClockworkModin mukana on asennettu myös ClockworkMod Recovery, joka on korvannut Samsungin mukaan paketoiman Recovery-sovelluksen. ClockworkMod Recoveryä käyttäen on mahdollista asentaa puhelimeen uusia epävirallisia firmwareja ilman ulkoisia apuvälineitä, kuten Odinia. Tämä onnistuu laittamalla uusi firmware laitteen sisäiseen muistiin ja käynnistämällä puhelin recovery-tilaan.

5. Asenna CyanogenMod 9

CyanogenMod on yksi suosituimmista epävirallisista firmwareista. CyanogenModin vakaa versio perustuu samaan Gingerbread-haaraan (2.3), mihin Samsungin oma firmwarekin. Mepä käytämme CyanogenModin uusinta uutta: CyanogenMod 9:ää, joka on vielä julkisessa beta-testauksessa. CM9 perustuu Android 4.0:aan, eli Ice Cream Sandwichiin. Sitähän tässä lähdettiin hakemaan!

Periaatteessa ClockworkMod Recoveryä käyttäen on puhelimeen mahdollista asentaa mikä tahansa kustomoitu firmware. Tätä ei tietystikään voi suositella; eihän suurin osa kuitenkaan toimisi, sillä firware on yleensä suunniteltu juuri jonkun tietyn raudan ehdoilla. Odinia taas voi käyttää 2.3.5-version palautukseen, jos katumus iskee.
  1. Lataa kolme tiedostoa: CyanogenMod9, Google Apps (saatat tarvita myös Google Apps -fixeriä, mutta käytä vain jos esimerkiksi kalenterin synkronointi ei onnistu) ja Face Unlock. Tiedostot löytyvät täältä. En linkkaa suoraan, koska tämän päivän uusin buildi on huomenna jo vanha. Etsi tiedostot sivun ensimmäisestä postauksesta.
  2. Siirrä kaikki tiedostot puhelimen sisäiseen muistiin. USB-piuha on jälleen ystäväsi. Älä pura mitään tiedostoista!
  3. Irrota puhelimesi koneesta. Teethän tämän aina turvallisesti, kuten Windowsissa kuuluukin ;)
  4. Mene Recovery-tilaan. Pääset siihen helpoiten sammuttamalla Galaxysi, ja käynnistämällä sen pitäen samalla pohjassa “äänenvoimakkuus ylös” – ja kotinäppäintä. Puhelimesi käynnistyy ClockworkMod Recovery -valikkoon. Käytä äänenvoimakkuuspainikkeita valikon selaamiseen. Valintoja teet kotinäppäimellä (vielä ei kannata hosua).
  5. Valitse ensin “wipe cache partition” ja heti perään “wipe data/factory reset”. Toivottavasti nyt on tehtynä ne varmuuskopiot!
  6. Valitse myös Advanced-valikosta “Wipe Dalvik Cache”.
  7. Palaa päävalikkoon.
  8. Valitse “install zip from sdcard” -> “choose zip from sdcard”. Selaa valikosta sijainti, johon siirsit ladatut tiedostot. Valitse itse ROM-tiedosto (teamhacksung_galaxysmtd-ota-eng.BUILDxx.zip).
  9. Puhelin boottaa! Hello Ice Cream Sandwich! :)
  10. Palaa vielä Recovery-tilaan (joka on hieman erilainen johtuen uudesta firmwaresta), ja asenna Google Apps ja Face Unlock samalla tavalla kuin Ice Cream Sandwichinkin. Cacheja ja dataa ei tarvitse enää pyyhkiä! Tätä ei tarvitse enää tehdä, sillä firmiksen mukana asentuu Android Market, joka päivittyy itsestään Google Playksi kun sen avaa. Playsta saa sitten ladattua haluamansa Google Appsit.

Itselläni kaikki vanhat musiikki ja kuvat olivat vielä tallella, joten varmuuskopiota en itse tarvinnut. Toisaalta esimerkiksi kaikki asennetut ohjelmat katosivat, ja totta kai myös niiden saavutukset(Angry Birdsissä kolmea tähteä lähes jokaisessa kentässä). USB-massamuistitila toimii muuten, minkä ei pitänyt toimia enää Ice Cream Sandwichissä ulkoista muistikorttia lukuu nottamatta. Awesome!

Ja terveiset Samsungille: tämä on sujuvampi ja nopeampi, kuin teidän oma kurja firmwarenne on koskaan ollut. Omaa Android-abominaatiotanne vaaliessa vaalitte samalla huonompaa käytettävyyttä, ja estätte tärkeät päivitykset yli kymmeneltä miljoonalta käyttäjältä. Yhtälössä, jonka oikealla puolella on tehosyöppö käyttöjärjestelmä ja vasemmalla Android 4.0 + TouchWiz, huonompi osapuoli ei ainakaan ole Android 4.0 joka yksin toimii Galaxy S:lläni erittäin sulavasti. Johtopäätös on aika helppo vetää. Teoria päättyy.

Kommenteissa pyydettiin videota toimivuudesta, joten tässä sellainen. Latasin videon Youtubeen ja tässä se upotettuna sivuun:

{ 157 kommenttia }

Android fragmentoituu, ja pahasti. Tämä johtuu osittain siitä, että valmistajat eivät ole tarpeeksi sitoutuneita tuomaan Googlen uusinta hedelmää omille laitteilleen. Uuden tilaston mukaan käytetyin Android-versio on 2.3.3 uusimman versionumeron kyntäessä jo 4.03:ssa:

Ei ihme, että Androidin puukottaminen on nykyään niin suosittua; laitevalmistajien hitaista rattaista ja kömpelöistä käyttöliittymäkustomoinneista halutaan eroon ja uusia ominaisuuksia halutaan muuallekin, kuin lippulaivoin. Vai onko kohtuutonta odottaa alle kaksi vuotta vanhoihin malleihin päivityksiä uusimpaan softaan? Aloittelevalle Android-modaajalle avautuu ikävä kyllä sekava termien viidakko, jota toivottavasti seuraavat kappaleet selventävät.

Mikä on firmware ja mistä se koostuu?

Android-laitteen käyttöjärjestelmän ominaisuudet ja sen muokkaamismahdollisuudet ovat monen tekijän summa. Laitteen käynnistäminen ajaa ensin bootloaderin, josta jatketaan kernelin lataamiseen. Kun kernel, eli käyttöjärjestelmän ydin on ladattu muistiin, siirrytään init-vaiheeseen, jonka aikana kaikki tarvittavat palvelut käynnistetään yksi kerrallaan. Lopputuloksena on laitteessa ajossa oleva kyhäelmä erilaisia sovelluksia ja palveluita, joita käyttöjärjestelmäksi kutsutaan.

Näiden tekijöiden suhde on vähintäänkin sekava: oikeasti bootloader on itsenäinen sovellus, eikä kuulu teknisesti Androidiin. Kernel, eli käyttöjärjestelmän ydin, on tietysti erittäin olennainen osa käyttöjärjestelmää. Kernel on ytimen yleisnimityksen lisäksi myös erisnimi Linux-pohjaiselle (siis myös Androidille) käyttöjärjestelmän ytimelle.

Kun koko edellä kuvattu komeus kääräistään pakettiin, saadaan firmware. Firmware käsittää koko komeuden, joka voidaan mobiililaitteissa ajatella käyttöjärjestelmän synonyymiksi. Firmware sijaitsee laitteella vain luku -tyyppisessä muistissa, sillä laitteen peruskäytön aikana bootloaderiin, kerneliin tai peruspalveluihin ei tehdä minkäänlaisia muutoksia.

Android-laitteessa on lisäksi vielä sovellus ohjelmiston palauttamiseen tehdasasetuksille. Tähän ohjelmaan pääsee käsiksi mallista riippuen jollakin yhdistelmällä rautanäppäimiä pohjassa pitämällä samalla kun laite käynnistyy. Myös oletuspalautusohjelman, eli Recoveryn, vaihtaminen kuuluu yleensä Androidia kunnolla puukottavan toimenpiteisiin.

Entäpä mikä on ROM?

Edellinen ei ole mikään yleispätevä toimintaperiaate laitteissa, joissa on käyttöjärjestelmä. Esimerkiksi tietokoneissahan ei yleensä ole omaa vain luku -muistia käyttöjärjestelmää varten, vaan käyttöjärjestelmää säilytetään samalla kovalevyllä muun datan kanssa. Tämä tietysti siksi, että tietokoneen peruskäyttö tekee muutoksia käyttöjärjestelmään. Vastaavia muutoksia ei tehdä esimerkiksi televisioissa, digitaalikameroissa tai matkapuhelimessa. Vain luku -muistia käyttämällä laitteen toiminnasta saadaan vakaampi, sillä käyttäjä ei voi vahingossa tuhota laitteensa käyttöjärjestelmää. Tästä syystä sitä yleensä käytetään laitteissa, joissa se on mahdollista.

Vain luku -muisti on englanniksi read-only -memory, josta päästään lyhenteeseen ROM. Matkapuhelimissa tai muissa mobiililaitteissa ROM ei välttämättä ole aitoa vain luku -muistia: roottaaminen tai muu firmwaren käpistely olisi mahdotonta jos ROMin sisältöön ei voisi tehdä muutoksia. Yleensä ROM on suojattu vain ohjelmallisesti. Koska ROMia ei muokata tavanomaisin konstein, puhutaan yleensä firmwaren vaihdon yhteydessä flashaamisesta. Asiaa voi ajatella niin että koko firmware korvataan kerralla, eikä ROMiin jää mitään jälkeä vanhasta sisällöstä. Koska käyttäjäkohtainen data ei sijaitse ROMilla, säästää flashaaminen yleensä käyttäjän oman datan kuten valokuvat tai musiikin. Androidin peruskäyttäjä tietämättään flashaa ROMinsa päivittäessään käyttöjärjestelmän uudempaan versioon.

Rakkaalla lapsella Vaikeasti määriteltävällä asialla on monta nimeä

Ikävä kyllä Android-yhteisö on tottunut käyttämään lähes kaikkia yllä olevia termejä synonyymeinä. Periaatteessa firmware ja käyttöjärjestelmä voidaan nähdä matkapuhelimissa synonyymeinä, mutta oikeastaan kaikki muu puhekielisyys menee metsään. ROM-termi tarkoittaa flash-/roottausslangissa käyttöjärjestelmää tai firmwarea. Toisin sanoen sillä, “flashaanko” Android-laitteeseen uutta ROMia, firmwarea tai käyttöjärjestelmää, on puhekielessä vain harvoin eroa.

Itselleni ainakin tämän artikkelin kirjoittaminen selvitti asioita. Toivottavasti sama ilmiö on havaittavissa artikkelia lukiessa. Loppuun haluan vielä huomauttaa, että ylimääräistä stressiä ei termien käytöstä kannata ottaa tai alkaa besserwisserinä korjailla termejä pitkin nettiä. Me kuitenkin kaikki syyllistymme siihen.

{ Ei kommentteja }