ANSI colors in Python

It is nice to have colors in modern Linux shell. Colors in bash scripts are quite common, but coloring Python script output is just as easy. Colors in shell are done with ANSI escape codes. Here is an example code snippet on how to get started with ANSI colors in Python.

#!/usr/bin/python
import sys

ansi_red = '\033[91m'
ansi_yellow = '\033[93m'
ansi_end = '\033[0m'

def apply_color(msg, color):
    if sys.stdout.isatty():
        return "%s%s%s" % (color, msg, ansi_end)
    return msg

def apply_red(msg):
    return apply_color(msg, ansi_red)

def apply_yellow(msg):
    return apply_color(msg, ansi_yellow)

print "%s roses and %s submarine." % (apply_red("Red"), apply_yellow("yellow"))

Function apply_color does some minor sanity checking, so that when redirecting output to file it will not insert the ANSI escape codes there.

Date: 2012-11-01 21:27:51

Simple text applet for Ubuntu's Unity panel

Since upgrading Debian left me with broken X, I tried to use Ubuntu for couple of days. I have to confess that Unity is a nice piece of software. On Debian I have nice setup with awesome window manager (framework!) that displays line of text on the panel. I wanted to have the same on functionality with Unity. It was not that hard.

Unity Panel

I wrote a small Python program that executes command every 37 seconds, reads that commands output and puts that on the Unity panel. Simple task. The actual output generated by the command is more complicated, since it displays my next calendar entry, near by weather from the Finnish weather service and couple of mailboxes. I am not going to describe its inner logic in detail here. But basically the Python program is the applet

Here is the Python applet.

#!/usr/bin/env python
import sys
import gtk
import appindicator

import subprocess

PING_FREQUENCY = 37 # seconds

class PetteriApplet:
    def __init__(self):
        self.ind = appindicator.Indicator("petteri",
                                           "petteri",
                                           appindicator.CATEGORY_APPLICATION_STATUS)
        self.ind.set_label("petteri")
        self.ind.set_status(appindicator.STATUS_ACTIVE)
        self.ind.set_attention_icon("new-messages-red")

        self.menu_setup()
        self.ind.set_menu(self.menu)

    def menu_setup(self):
        self.menu = gtk.Menu()
        self.quit_item = gtk.MenuItem("Quit")
        self.quit_item.connect("activate", self.quit)
        self.quit_item.show()
        self.menu.append(self.quit_item)

    def main(self):
        self.check_line()
        gtk.timeout_add(PING_FREQUENCY * 1000, self.check_line)
        gtk.main()

    def quit(self, widget):
        sys.exit(0)

    def check_line(self):
        line = subprocess.check_output(["/home/petteri/bin/combine"])
        self.ind.set_label(line.strip())
        return True

if __name__ == "__main__":
    indicator = PetteriApplet()
    indicator.main()

After the Python program was finished I created ~/.config/autostart/petteri-applet.desktop file with the following content:

[Desktop Entry]
Name=Petteri
Comment=Show string in panel
Icon=Petteri
Exec=/home/petteri/bin/petteri-applet
Terminal=false
Type=Application
NoDisplay=true
NotShowIn=KDE;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=NetworkManager
X-GNOME-Bugzilla-Component=general
X-GNOME-Autostart-enabled=true
X-Ubuntu-Gettext-Domain=petteri-applet

The .desktop dictates that every time I start Unity the Python applet (/home/petteri/bin/petteri-applet) will be also started. Works nicely

Categories: Ubuntu, Avoin, Debian, English
Date: 2012-09-30 18:28:48

Event based Jabber/XMPP bot

Some time ago I wrote superb Jabber/XMPP client based on the ideas of even more superb IRC client ii. I named the client jj and put the source code to github. Since then me and my friends have been using jj for our Jabber MUC (multiuser chat room, something like channel in IRC). And it has been serving us nicely.

Our jj bot resolves URL titles and aggregates Twitter, Google Plus and some RSS feeds to our MUC. The process how this is done is quite easy. Jj has outfile and input FIFO for each channel it sits on. The bot functionality can be distinguished into two different tasks: 1) reacting to input and 2) cron jobs:

  1. URL resolving is done by reacting to what input is coming in. There is one shell script that listens our mucs outfile with inotify. When it gets notified that something is said on the MUC it will inspect the line. If it finds URL on that line, it will call the title resolver and write the resolved title to the MUC in file.

    Here is pseudo bash for it (external tools fecho and gettitle.py are used), note also that I divided the long greps to multiple lines without testing the code:

    nickname="botbot"
    outfile="jabber.tld/mucs/conf@conference.jabber.tld/out"
    infile="jabber.tld/mucs/conf@conference.jabber.tld/in"
    while true; do
        inotifywait -e modify $outfile
        line=$(tail -1 "$outfile" |\
               grep -v "^[0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]\
               [0-9][0-9]:[0-9][0-99][0-9] <$nickname>" |\
               grep "^[0-9][0-9]"|\
               grep -v "[0-9] -\!-" |\
               tac|\
               grep -m 1 -i -E "https?://")
        if [ ! -z "$line" ]; then
            url=$(echo "$line"| grep -o -i -E "https?://.*" | cut -d" " -f1)
            title=$(echo "$url" | gettitle.py)
            fecho "$title" $infile
        fi
    done
    

    Basically this can be used for any kind of reaction tasks. For example for the classic sed like line "s/from/to".

  2. Feeds (Twitter, Google Plus, RSS etc.) are done with cron jobs. Here is pseudo bash example for that (it uses external tools feedcheck and fecho):
    feedlist=$(cat <<EOF
    http://twitter.com/statuses/user_timeline/petteri_.rss
    http://github.com/petteri.atom
    http://23.fi/blogi/feed
    EOF
    )
    
    # Set IFS to newline only. See BASH(1) manpage for details on IFS.
    IFS=$'\n'
    for feed in $feedlist; do
         for x in $(feedcheck $feed); do
             fecho "$x" jabber.tld/mucs/conf@conference.jabber.tld/in
             sleep 5
         done
    done
    

Sadly I had to write the external tools fecho, gettitle.py and feedcheck, since there we no proper ones available. Fecho is already in jj source code repository, but the other ones are not yet. For fecho source see here.

Hopefully these examples will illustrate how to make jj bots. I will try to polish the instructions later and add these to jj source code repository as examples.

Categories: Jabber, English, Jj, Avoin
Date: 2012-07-13 14:13:28

Nokia N9

Nokia N9 on pitkän odotuksen jälkeen kädessä. Tässä ensifiiliksiä sekä jäähyväiset maailman parhaalle puhelimelle (N900).

N900 on palvellut erittäin hyvin kaksi vuotta. Se on ehdottomasti paras puhelin (vai mikä taskutietokone nyt olikaan) mitä olen koskaan käyttänyt. Silti on tullut aika jättää hyvästit. Miksi? Nokian seuraava Linux-puhelin on vihdoin tullut, eli N9. Se ei missään nimessä ole N900:aa vastaava laite, mutta elämä on lyhyt ja vaihtelu virkistää. Välillä täytyy testata uusia juttuja.

http://23.fi/kuvat/nokiat.jpg

N900 on tarjonnut Linuxin taskussa, vieläpä Debianiin pohjautuvan. Tällaiselle Debian-nörtille se on ollut unelmien täyttymys. Nyt kun on pari päivää ollut käytössä N900:n henkinen seuraaja, niin päätin listata tähän puhelimien eroja sekä tunteita kummastakin.

N9 ensivaikutelma on ristiriitainen. Ulkoisesti puhelin on ihan törkeen siisti. Se näyttää hyvältä sekä sopii käteen. Ohjelmisto on sen sijaan vähän huteran tuntuinen. Mikään ei ole suoraan huonoa, mutta aika monesta paikasta paistaa sellainen pieni viimeistelyn puute. Välillä ohjelma ei toimi heti näppäilyn jälkeen (esim. asetusvalikko), tai sitten jotain pitää vaan tökkiä useasti ennen kuin lähtee päälle (esim. viestin kirjoittamisessa virtuaalinäppiksen esiin saaminen). Näiltä osin softapuoli on kuitenkin N900-käyttäjälle tuttua. Nokia varmaan korjaa pikkuvirheitä tulevissa ohjelmistopäivityksissään. N9:ssä on sovelluskehittäjän tila, joka lisää terminaalin ohjelmavalikkoon, sekä käynnistää ssh-palvelimen puhelimeen. Alkuräpellyksen jälkeen loppuilta menikin ssh:lla pöytäkoneelta puhelinta räplätessä. Konepellin alla N9:ssä on samanlainen Linux-ympäristö kuin N900:ssa.

Lopulta N9 tuntuu ihan erilaiselta kuin N900. Ei paremmalta tai huonommalta. Ajattelin kuitenkin käyttää vain yhtä puhelinta, joten tässä pieni vertailulista parin päivän käyttökokemusten perusteella:

N9:ssä parempaa

  • Pienempi
  • Näytönsäästäjässä kello ja ilmoitukset
  • Kuvaaminen ja gallerian käyttö huomattavasti jouhevampaa
  • Tosi siisti "design" softien ulkonäössä
  • Musaohjelma (last.fm-tuki harmittavasti vielä uupuu)
  • Puhelimen SSH-palveli toimii paremmin
  • Terminaaliohjelma
  • Sähköpostiohjelma
  • Puhelintoiminnot

N900:ssa parempaa

  • Näppis
  • Ohjelmien sulkeminen ja vaihtaminen helpompaa
  • Opera mobile -webbiselain pesee N9:n oletusselaimen
  • Viestit-näkymä parempi
  • Joitain terminaaliohjelmia helpompi käyttää (esim. mutt)

Pienistä puutteista huolimatta N9:ä käyttää todella mielellään. Parin vuoden N900-käytön jälkeen tuntuu se pirteältä ja uudelta, mutta silti etäisesti tutulta.

Categories: Avoin, Jabber, Debian, N900, N9
Date: 2011-10-14 22:42:43

Lenovo ThinkPad x201i

Pöytäkone oli temppuillut jo pidemmän aikaan. Yksi ongelmallinen komponentti oli SSD-levy, jota en ollut jaksanut päivittää. Hetken hintojen ja komponenttejen vertailun jälkeen päätin, etten jaksa päivittää pöytäkonetta, sillä se olisi taas johtanut kaikkien komponenttejen uusimiseen. Kokemusta oli erinomaisesta Lenovon x61s läppäristä. Lueskelin netistä, että x201i on sen jatkaja, erona on vain laajakuvanäyttö. Suurimmassa osassa ThinkPadeissa on Intelin komponentteja, joihin on yleensä hyvä Linux-tuki. Linux-käyttäjänä tämä on iso ostokriteeri.

Lenovon x-sarjalaiset ovat aika hyvissä hinnoissa, mutta yllätyksenä sopuhinnalla sai halpismallin x201i:stä. Speksit: i3-370M 2048MB 320GB. Ihan tarpeeksi hyvät mulle. Käyttötarkoitus: nettisurffiminen, musan kuuntelu, viestittely ja koodaus. Vähän pelotti mainoskuvissa näkynyt jenkkityylinen pieni Enter-näppäin. Huojennukseksi suominäppiksellä varustetussa versiossa Enter on normaalin kokoinen. Ensivaikutelma oli pienehkö pettymys. x201i on paljon isompi kuin x61s, jos olisin tämän tilatessa tiennyt, niin olisin varmaan jostain kaivanut uuden x61s:n. Typerä laajakuvanäyttö leventää läppäriä tosi paljon. Lisäksi näytön ympärillä on surureunat ja näytön laatu ei ole lähelläkään x61s:n näyttöä. Suurin pettymys on kuitenkin VGA-portin tai Intelin HD graphics näytönohjaimen laatu. Kun kuva on ulkoisessa näytössä on signallissa aina välillä pientä viivettä. Normaalissa käytössä sitä ei huomaan, mutta esim. liikkuvaa kuvaa ei voi oikein katsoa. Samaa ongelmaa ei ole x61s:ssä.

Vasemmalla x201i, oikealla x61s

Debianin Netinstall toimi aivan ongelmitta, siis jopa kaikki "läppäriominasuudet". Kaiken hyödyn irtiottaminen Intelin näytönohjaimesta vaati kuitenkin aikamoista säätämistä. Kernel sekä liuta muita komponentteja vaati päivittämistä. Lopputulos oli kuitenkin vaapi-kiihdytetty mplayer.

Loppuen lopuksi läppäri on kyllä tosi kiva, kevyt ja tarpeeksi pieni, vaikkei kuitenkaan yhtä pieni kuin x61s. Tehot riittävät hyvin omaan käyttöön, mutta VGA-ulostulon sijaan olis saanut olla joku nykyaisempi tekniikka. Isoin asia on tietysti se, että Linux-käytössä x201i toimii hyvin.

Categories: Debian, Avoin
Date: 2011-01-08 22:02:05

Vuosi N900:sen kanssa

Nyt on vuosi Nokian N900-puhelimen kanssa takana, vai pitäisikö sanoa taskutietokoneen. Internetistä löytyy hirveästi kitinää Nokian Linux-puhelimesta, joten tasapuolisuuden nimissä päätin hieman avautua omista kokemuksistani. Aluksi oli pieniä pelkoja kuinka näyttö ja akku kestäisivät joka päiväisessä käytössä. Nyt voin helpottuneena todeta, että erittäin hyvin. Näyttö on vielä lähes kuin uusi ja vaikka puhelinta joutuukin joka yö lataamaan, ei jatkuva latailu rasita läheskään yhtä paljon kuin arvelin. Sitä paitsi hyvinä aikoina akku on kestänyt jopa kolme päivää.

Loppuen lopuksi suurin pettymys on puhelimen oletusnettiselain. Se on kyllä ihan hyvä, mutta silti N900:sen heikoin lenkki. Onneksi Operan mobiiliselain on tarjolla ja sen kanssa nettiselailu sujuukin erittäin näppärästi. Muuten puhelin on hyvää tekoa ja vaikka onkin pari kertaa tippunut keskellä yötä katukivetykselle, on se silti säilynyt ehjänä.

Parasta on ollut tietysti Debian Linux-ominaisuudet ja helpot kehitysmahdollisuudet. Kaikenmoista onkin tullut koodailtua. Kielinä Python, Bash ja C. Ei mitään kovin isoa, vaan lähinnä pikkuohjelmia ja scriptin pätkiä omiin tarpeisiin. Esim. Sähköpostin ja tulevien tapahtumien näyttäjät, sekä sää widgetti, joka hakee ilmatieteenlaitoksen sivuilta viikon sään. Myös kuvat on kiva synkronoida pöytäkoneelle ssh:n avulla.

Joitain pieniä lastentauteja ensimmäisissä ohjelmistoversioissa oli, mutta Nokia on (kauheasta parjauksesta huolimatta) päivittänyt puhelinta ihan kiitettävään tahtiin. Tällä hetkellä tuorein ohjelmistopäivitys (PR 1.3) toimii jo erittäin hyvin, eikä ainakaan itselläni ole mitään valitettavaa puhelimen tai ohjelmien käytöstä.

Maemo.org:n yhteisö on saanut paljon hyviä ohjelmia aikaan ja viimeisen vuoden aikana seuraavat ohjelmat on olleet ahkerassa käytössä:

  • Maep - Simple tile map
  • Tickstill - Countdown timer which can also count up
  • Khweeteur - Small twitter client
  • Conboy - Note taking application
  • BatterGraph - Displays battery statistics into a graph
  • MyPaint - Pressure sensitive paint program

Puhelimen kameraa on tullut ahkerasti käytettyä ja viime vuosi onkin hyvin dokumentoitu N900:sen ansiosta. Yökuvaukseen kamera ei kyllä sovellu, mutta päivänvalossa kuvat ovat hyviä.

Suomen valoisa talvi.

Krakovan hämärä keväinen ilta.

Queens day Amsterdamissa.

Syksyinen aamu Helsingissä.

Kokonaisuudessaan vuosi N900:sen kanssa on sujunut erittäin hyvin ja taskutietokone on täyttynyt kivasti tehtävänsä. N900 seuraaja tulee lähes varmasti hommattua, jos Nokia vaan saa sen joskus markkinoille.

Categories: Avoin, Ajankuva, N900
Date: 2010-11-28 13:27:36

Mietteitä Linuxin musiikkisoittimista

Musiikin kuuntelu Linuxilla ei ole aivan kivutonta. Monia hyviä mp3-soittimia löytyy, mutta jokaisessa soittimessa tuntuu olevan pieniä puutteita. Viimeisen kymmenen vuoden aikana monta soitinta on tullut ja mennyt. XMMS oli hyvä 2000-luvun taitteessa. Pikkuhiljaa se kuitenkin kuoli pois. Vuosi 2006 oli KDE-soittimen Amarokin kulta-aika, kunnes kehittäjät päättivät kirjoittaa koko roska uudestaan ja suututtivat käyttäjät vaikea käyttöisellä 2.0 versiolla. Amarokin ja XMMS:n jättämiä reikiä paikkaamaan on koodailtu iso kasa puolivalmiita soittimia joissa on pari hyvää idea, tai sitten kauheita megasoittimia, joissa on taas tuki kaikella mahdollisille.

Pari vuotta on tullut testailtua kaikenmoisia erilaisia soittimia. Esimerkiksi XMMS:n puoliviralliseksi seuraajaksi kaavailtu XMMS2-projekti on erittäin lupaava, muttei ole vielä tuottanut yhtään käytettävää soitinta. Arkkitehtuurilta palvelin-asiakas-lähestymistapa vaikuttaa mielenkiintoiselta ja sitä käyttääkin nykyään usempikin projekti. Audacious-soitin oli kuin XMMS, mutta senkin käyttö lopulta loppui last.fm-lisäkkeen bugisuuteen. Banshee näyttää siistiltä, mutta on ilmeisesti kasa monopalikoita, joten se siitä. Rhythmbox oli bugiläjä vuosia sitten, eikä ole siksi nostattanut kiinnostusta sen jälkeen. Käytettävyydeltä Exaile vaikutti ensialkuun hyvältä.

Exaile

Lopulta kuitenki senkin käytössä ilmeni sen verran ärsyttäviä bugeja, ettei soitinta enää jaksanut käynnistää.

Nyt on käytössä DeaDBeeF -soitin, joka yksikertaisuudestaan huolimatta tuntuu toimivan erittäin hyvin. Siinä on kaikki tarvittavat toiminnut (last.fm-tuki), lisäksi sitä on helppo käyttää.

Deadbeef

Soitin tuntuu erittäin kevyeltä. Varsinkin montaa muuta soitinta vaivannut käyttöliittymän jumiutuminen puuttuu. Esimerkiksi Exaile tuppasi lukittumaan jopa minuuteiksi ilmeisesti miettimään ison musakoelman selailua. Kaiken lisäksi deadbeef kääntyi ilman ongelmia jopa N900:lle, kuten alla oleva kuva kertoo.

Deadbeef Nokia N900

Deadbeefistä on juuri julkaistu version 0.4.2, joka ei ole ainakaan vielä tuottanut pettymystä. Ehkäpä tätä voisi käyttää pidemmän aikaa mainion Spotifyn Linux-asiakkaan kanssa musiikin kuunteluun Linuxilla.

Categories: Avoin, N900
Date: 2010-10-18 00:10:58

Jabberin ääni-ja videopuhelut Empathy-pikaviestimellä

Nokia N900 tukee suoraan puhelimesta Jabber-puheluita ja Jabber-videopuheluita, joten oli aika testailla miten puhelut toimivat muiden ohjelmien kanssa. Tällä hetkellä Jingle-tuki, joka on siis Jabberin VOIP-teknologia, on jo aika monessa Jabber-ohjelmassa. Nopean tutkimisen jälkeen kuitenkin selvisi, että valmis tuki ääni-sekä videopuheluille Linuxissa on vain Pidginissä, Empathyssä ja Coccinellassa. Muissa ohjelmissa Jingle on vasta kehitysversiossa. Esimerkiksi lempparipikaviestimessäni Gajimissa tukea vielä kovasti kehitellään. Päätin testailla Empathyllä, sillä se tuntuu olevan kovassa huudossa nykyään, on jopa päätynyt Ubuntun ja Gnomen viralliseksi pikaviestimeksi.

Ensin täytyi tietysti hommata web-kamera. Logitechin C200 maksoi verkkokauppa.comissa 19,90 ja netin mukaan se toimii suoraan Linuxissa. Sen kävin hakemassa. Kamera toimikin suoraan ilman mitään ajurien metsästämistä tai muunlaista säätämistä. C200:ssa on sisäänrakennuttu mikrofoni, jonka käyttöönotto olikin sitten hieman haasteellisempaa. Mutta ensin vähän Empathysta ja sen ongelmista.

Empathy 2.30.1

Empathy on Gajimin kaltainen pikaviestin. Se mainostaa tukevansa eri protokollia, mutta ainoastaan Jabber kiinnosti tällä kertaa. Gajimiin tai Psihin verrattuna Empathy on aika pelkistetty, jopa hieman ankean näköinen. Empathy ei myöskään ole täysin itsenäinen ohjelma, vaan tarvitsee kaikenmoista lisäkilkettä toimiakseen. Tästä johtuen sen käyttöönotto ei sujunut täysin ongelmitta.

Empathy versio, jonka kanssa tappelin oli 2.30.1. En käytä Gnomea enkä käyttänyt tätä ennen myöskään NetworkManageria, mutta ilman niitä Empathy ei suostunut toimimaan. Varsinkin NetworkManager-ongelma oli varsin vaikea löytää. Empathy tutkii NetworkManagerilta, onko nettiyhteys käynnissä. Jos nettiyhteyttä ei NetworkManagerin kautta löydy, niin Empathy ei yhdistä nettiin. Ongelma korjaantuu, kun korjaa /etc/NetworkManager/nm-system-settings.conf -tiedostosta NetworkManagerin ohjaamaan normaalia nettiyhteyttä.

/etc/NetworkManager/nm-system-settings.conf

[ifupdown]
managed=true

Tietysti vielä hämäävämpää oli, että NetworkManager oletuksena ohjaa langattomia yhteyksiä, muttei langallisia. Tästä seurasi, että Empathy toimi aina kun wlan-yhteys oli päällä, muttei koskaan, kun ethernet-piuha oli kiinni. Näin ainakin Debianissa. Tästä on avattu bugiraporttikin, josta löytyy lisätietoa ongelmasta.

Seuraavaksi tuli vastaan mikrofoniongelma. Koneessa näkyy webbikameran kytkemisen jälkeen kaksi äänikorttia. Toinen on emolevyn ja toinen web-kameran. Näistä pitäisi pystyä valita siten, että web-kameran äänikortista käytetään mikrofonia ja emolevyn äänikortista normaalia äänen ulostuloa. Tämä ei tuntunut olevan mahdollista alsamikseristä, eikä oikein mistään muustakaan sovelluksesta. Siis pysyvien asetusten tekeminen. Ongelma löytyi vielä hieman hassusti. Koneen käynnistyessä käyttöjärjestelmä välillä käytti web-kameran mikrofonia ja välillä emolevyn. Ihan ensimmäisellä ihmettelyllä en ongelmaa löytänyt, vaan vaati se useampia koneen uudelleen käynnistämisiä.

Ratkaisuna mikrofoniongelmaan oli ladata äänikorttien ajurit tietyssä järjestyksessä /etc/modprobe.d/alsa-base.conf -tiedostossa ja tehdä /etc/asound.conf, jossa määritellään mitä korttia käytetään ulostuloon ja mitä kaappaukseen.

/etc/modprobe.d/alsa-base.conf

options snd_hda_intel index=0
options snd_usb_audio index=1
/etc/asound.conf

pcm.!default {
        type asym
        playback.pcm {
                type plug
                slave.pcm "hw:0,0"
        }
        capture.pcm {
                type plug
                slave.pcm "hw:1,0"
        }
}

Lopputulos jätti vielä hieman parantamisen varaa, sillä vaikka äänikortit toimivatkin halutulla tavalla, mikseri ei. Esimerkiksi, jos puhuu videopuhelua ja haluan katsoa samalla youtubesta video-pätkän, niin puhelu estää videopätkän äänet. Tähän vielä kun löytyisi ratkaisu, niin kokonaisuus olisi toimiva Tähän löytyikin lopulta ratkaisu käyttämällä ohjelmallista miksausta (dmix) playback-äänikorissa.

        playback.pcm {
                type plug
		slave.pcm "dmix"
        }

Kun Empathyn asentamisen alkuvaikeudet olivat ratkottu, toimivat N900 ja Empathy hyvin yhteen. Kuva ja ääni välittyy mainiosti.

Jingle-videokeskustelu Sinin kanssa

Vaikka välillä Jabberin hidas kehittyminen onkin ihmetyttänyt, niin Jinglen video-ja äänipuhelut ovat aivan mahtavia. Seuraavaksi Jabber-yhteisöllä näyttäisi olevan suunnittelupöydällä Jingle-ryhmävideokeskustelut. Vaikuttaa aika mielenkiintoiselta. Voi vain kuvitella miten satojen IRC-käyttäjien kanavat siirtyvät tulevaisuudessa ryhmävideokeskusteihin, joissa kaikki pälättävät taukoamatta yhtäaikaa.

Categories: Jabber, Debian, Avoin, N900
Date: 2010-06-03 14:03:42

Käyttökokemuksia N900-puhelimesta

N900-kännykkä on ollut pari viikkoa käytössä, joten tässä jotain ajatuksia Nokian ensimmäisestä Linux-puhelimesta, vai mikä taskutietokone viralliselta nimeltä nyt onkaan. Kooste tulevasta jupinasta: ihan paras laite, jos isohko koko ja Debian Linux-tausta ei nosta verenpainetta.

http://23.fi/kuvat/n900-2.jgp

Ulkoiselta olemukseltaan N900 on aika paksu. Se ei kuitenkaan ole liian paksu mukana kannettavaksi. Valitettavasti kuitenkin näyttö on sen verran pehmeän tuntuinen, ettei sitä sellaisenaan viitsi housujen taskuun tunkea. Vaihtoehdot näytön suojaamiseen ovat näytön suojakalvo tai pussukka. Pussukan kanssa N900 ei sitten enää menekään housujen taskuun ja näytön suojakalvo ei vaikuta muuten vaan hyvältä idealta. Kesällä ja baarissa varmasti harmittaa kantaa tällaista halkoa mukana. Puhelin olisi siis saanut olla vähän ohuempi. Muuten N900 on kyllä jämäkän tuntuinen.

Näyttö on siisti ja kirkas. Resoluution on iso ja esimerkiksi nettisivuja selatessa vähän harmittaa tihrustella tarkkoja sivua. Pienehkö näyttö suhteessa resoluution on juuri siedettävillä rajoilla. Yhtään pienempi näyttö tai isompi resoluutio ei olisi enää toiminut.

Nokian puhelimen mukana toimittamat ohjelmat ovat yllätävän hyviä. Hankin N900:sen lähinnä kannettavaksi Linuxiksi, joten kaikki muu roina on vaan plussaa. Varsinkin Jabber/XMPP -tuki keskustelusovelluksessa yllätti todella mukavasti. N900:lla voi näppäristi viestitellä tai puhua Jabberin Jingle-protokollan mukaisia nettipuheluita. Tukea on myös muille protokollille Jabberin lisäksi. Kaikki on hyvin intergroitu muuhun toiminallisuuteen, joten mitään erillistä pikaviesti-tai nettipuheluohjelmaa ei tarvita. Nettiselainkin on "ihan hyvä" ja varsinkin Adblock Plus -tuki on kiva, sillä flash-tuki selaimessa varmistaa sen, että ilman mainosestoa jokaikinen uutissivusto on ihan tukossa.

Akun kesto on huono. Akku kestää normaalissa käytössä päivän. Karsimalla netin käyttöä saisi akun kuulemma kestämään pidempäänkin, mutta kaipa sitä voisi sitten saman tien käyttää vanhaa taskuun mahtuvaa epä-älypuhelinta. Nettistä luettuna näyttäisi siltä, että akun kesto on yleensäkin kaikkien älypuhelinten ongelma.

Tärkein mukana tulevista ohjelmista on pääteohjelma, jolla pääse helposti käsiksi puhelimessa pyörivään Maemo-Linuxiin. Oletuksena mukana oleva Busybox-asennus tarjoaa peruskomennot ja ash-shellin. Omia ohjelmia on helppo asentaa ja kääntää scratchbox-SDK:lla, jonka voi ladata Maemo.orgista. Maemo on Debian-pohjainen ja käyttää deb-pakettijärjestelmää. Tutut dpkg-ja apt -ohjelmat ovat käytössä. N900:sen levyosiot ovat vähän hassun tuntuiset, sillä juurihakemistossa on vain parisataa megaa tilaa. Tästä syystä ohjelmat tulisi asentaa /opt-hakemistoon (joka on linkki /home/opt-hakemistoon), josta löytyy pari lisägigaa ohjelmille. Uusia Debian paketteja luotaessa kannattaa siis muistaa muuttaa paketit asentumaan /opt-hakemistoon. N900:sessa on myös 27 giganen fat-osio, jonne media, kuten kuvat ja videot tallennetaan. Fat on valittu siksi, että puhelin toimisi suoraan usb-muistina useimmissa käyttöjärjestelmissä.

http://23.fi/kuvat/Screenshot-20091219-133413.png

Erilaisilla nettipalstoilla on ollut aika paljon valitusta N900:sen puhelinominaisuuksista. tai pikemmin niiden puitteista. Itse en tarvitse kovinkaan paljon juuri puhelinominaisuuksia, joten mitään valittamista kyseisistä ominaisuuksista en ole löytänyt.

Lopuksi voi hyvin todeta, että N900 on parin viikon käytön jälkeen tosi kiva. Vaikka laitteessa pari puutetta onkin, niin hyviä ominaisuuksia on rutkasti huonoja enemmän.

Categories: Avoin, Jabber, N900
Date: 2009-12-19 16:38:40

Jabber: Ollako vai eikö olla

Jabber-aktiivi Peter Saint-Andre kävi Floss Weekly podcastin vieraana. Lähetys oli ihan mielenkiintoista kuunneltavaa. Valitettavasti se ei antanut kovinkaan mairittelevaa kuvaa Jabber-projektista. Pikemminkin haastattelun pohjalta sai juuri sen kuvan, mitä olin jo pelännytkin. Jabber sekä XMPP ovat kummatkin vähän väliinputoajan roolissa tällä hetkellä. Lupaukset ovat suuret, mutta tuntuu, ettei vahvuuksia osata käyttää ollenkan hyväksi. Koko ohjelman ajan Saint-Andre välttelee kysymystä siitä, mihin Jabber ja XMPP olisi sopiva. Kaikenlaisia tulevaisuudenkuvia kyllä heitelläään ilmaan, muttei mitään konkreettista uskalleta sanoa. Saint-Andre ei suostu myöntämään, että Jabber olisi pikaviestiprotokolla, pikemminkin hän painottaa kokoajan, että kyseessä on laajennettava XML-yhdyskäytävä. Sinänsä mielipide on ymmärrettävä, muttei se kyllä tee hyvää Jabberille.

Tuntuu, että Jabber ja XMPP kärsii pahoin sekavuudesta ja siitä, ettei se oikein osaa keskittyä mihinkään. Se tekee siis kaikenlaista, tekemättä mitään oikein loppuun asti. Esimerkiksi pikaviestipuoli on hyvin hanskassa, mutta asiakasohjelmien tekijöitä pallotetaan kokoajan uudistuvalla spesifikaatiolistalla. Tästä kertoo jo se, ettei yksikään Jabber-asiakasohjelma toteuta XMPP:n pikaviestimääritelmää kokonaan. Ja tuskin toteuttaa tulevaisuudessakaan, sillä määritelmä vaan kasvaa kiihtyvää vauhtia.

Haastattelun jälkeen saa sellaisen kuvan, että XMPP pitäisi pilkkoa rankalla kädellä selviin osa-alueihin. Pitäisi ainakin olla pikaviestipuoli, läsnäolopuoli ja julkaise-ja-tilaa-puoli. Omille osa-aluille projektijohtajat, ja mielellään joku muu kuin Peter Saint-Andre. Kun katsoo Jabberin ja XMPP historiaa näkyy selvästi, että Peter Saint-Andre voisi pitää ainakin pari välivuotta Jabberista. Tämä varmasti tuulettaisi projektin jo vähän ummehtunutta nykytilaa.

Categories: Jabber, Avoin
Date: 2008-12-11 21:29:55