Saturday, October 29, 2005

Uusi kamera

Ostin lopulta uuden kameran sen vanhan Canon Poweshot A60:n tilalle, joka koki kesällä ikävänkohtalon.

Kesti melko kauan, ennen kuin lopulta päädyin tähän Canon Powershot A610 malliin.

Canon 610 - 5Mpix

Hankalaksi valinnan teki se, että vaikka periaatteessa tarvetta oli lähinnä vain helppokäyttöiselle peruskameralle ("point-and-shoot"), niin itse kuitenkin tykkään säätää valotusta yms. käsin aika useinkin. Loppusuoralla olivat joko Canon ixus 40 tai ixus 50, sekä mahdollisesti Panasonicin FZ5.

Ixusten hinta on viimeaikoina laskenut aika alas, ixus 40 lähtee noin 260EUR ja 50 myös noin 300EUR. Lisäksi niillä on kohtuullisen hyvä kuvanlaatu ja ne ovat todella pieniä! Huonona puolena taas on se, että juuri mitään ei voi säätää, eli kaikki menee automatiikan mukaan.

FZ5 puolestaan on enemmän "oikea kamera", ja siitä löytyy mukavasti säätövaraakin. Lisänä vaikuttava zoomi ja kuvanvakain. Hinta nousee tosin 500EUR tietämiin, ja käyttöliittymä on näin Canoniin tottuneelle vähän outo. Ilmeisesti ko. kameraa ei oikein enää tuoda maahan, sillä ainakin verkkokaupan tietojen mukaan varasto on tyhjä myös maahantuojalla. Muualla tuosta taas pyydetään melkoisen suolaisia hintoja.

Lopulta päädyin sitten tuohon Canonin A610 malliin, lähinnä siitä syystä, että siinä on tarvittavat manuaalisäädöt, joka nosti sen ixusten ohi. Harkitsin myös A520 mallia, mutta koska eroa malleilla ei ole muuta kuin 5Mpix vs 7Mpix ja hintaa tulisi lisää 70EUR, päätin tyytyä tuohon pienempään. Tällä kuitenkin tullaan kuvaamaan lähinnä skidiä eri tilanteissa, ja siihen oli jo A60:n 2Mpix ihan riittävä.

Lyhyen kokeilun perusteella tämä on ihan ok peli. Hiukan isompi kuin A60, eli ei tosiaan mikään Ixus:n tyylinen ultra kompakti kamera kyseessä. Itseasiassa taitaa olla aika lähellä FZ5:n mittoja. Tuntuma lähes identtinen tuon A60:n kanssa. Taittuva LCD on kiva ominaisuus, varsinkin kun se on suurempi ja kirkkaampi kuin A60:n vastaava. Zoomi on 4x, kun A60:ssä se oli 3x. Pikseleitä yli tuplasti enemmän, ja varsin nopea tuntuu olevan. Huonona puolena sanoisin yllättävän äänekkään zoom moottorin äänen. Videokuvaa tällä kuvaa aika hyvin, paitsi että mikrofoni ottaa todella paljon rahinaa mukaan, ilmeisesti mikrofonin sijoittelu ei ole hirveän onnistunut, ja muovinen kuori aiheuttaa paljon noita sivuääniä. Kokonaisuutena olen ihan tyytyväinen, tosin vielä jäi arveluttamaan, olisiko Ixus sittenkin ollut parempi valinta, se nimittäin olisi todella paljon pienempi ja kuitenkin "oikeaa" kuvaamista varten tarvitsee vielä toisen kameran jossain vaiheessa. No, tuo koko onkin ainoa mikä puhuu Ixusen puolesta. A610 on hyvä kompromissi meikäläisen tarpeisiin, sanoisin. Eikä hirveän kalliskaan.

Tuesday, October 18, 2005

Python, ActiveX (COM) ja iTunes

Tuli ajankohtaiseksi opetella taas uusi ohjelmointikieli, tällä kertaa Python. Mikäs siinä, tutoriaali kouraan ja opettelemaan. Hyviä aiheita opetteluprojektiksi ovat perinteisesti olleet mm. pienen webserverin teko, irc-botti ja muut tavalliset pikkuohjelmat. No, IRC-botti on sinänsä mielenkiintoinen projekti, mutta samalla voisi kokeilla jotain uuttakin...

Applen iTunes on muuten mainio softa, mutta en hirveästi tykkää sen käyttöliittymästä ja jäin kovasti kaipaamaan Winamp:ssa ollutta pluginiä, joka näytti pienessä pop-up ikkunassa vaivihkaa alkavan kappaleen nimen. Valitettavasti vastaavaa ei ole tullut vastaan iTunes:lle (tosin en ole paljon etsinytkään, eiköhän mokomia ole olemassa), joten siitä idea alkaa tekemään Pythonilla plugin iTunesiin jolla voisi ehkä tehdä jotain kivaa.

Ensimmäinen ongelma, miten käytää iTunes:ia ohjelmallisesti? Onneksi Apple on sen verran reilu, että tarjoaa julkiset API:t varsin moneen eri viritykseen omilla developer sivuillaan.

Itseasiassa homma on aika helppoa. Tarvittavien Python extensionien ja iTunes SDK:n lataamisen jälkeen tarvittiin kolme riviä koodia, ja pystyin käynistämään tai pysäyttämään iTunesissa valittuna olevan kappaleen! Ohessa pätkä koodia, jolla saadaan näkyviin tällä hetkellä soiva kappale:

import win32com.client

iTunes = win32com.client.Dispatch("iTunes.Application")
track = iTunes.CurrentTrack
print track.Artist + " - " + track.Album + " - " + track.Name

COM (ActiveX) extension for Python
iTunes COM SDK for Windows
Hacking iTunes on Windows