Category: Miscellaneous

Posted on in Miscellaneous

Jos joku ei ole vielä tutustunut Googlen hakutulosten peukalointiin Kiinassa, kannattaa kokeilla näitä linkkejä: Kiinan näkymä Maailman näkymä

Posted on in Miscellaneous

blogimg/blog_88.jpg

Kuten Digitoday raportoi, tekijänoikeusjärjestöjen Piraattitehtaan arvoitus -propagandasarjakuvasta on julkaistu parodia: Copy Controllin arvoitus. Ihan hauska. Toivottavasti herättää ajatuksia sellaisissa, joissa ajatukset eivät ole vielä heränneet. Kannattaa tsekata myös Digitodayn Tekijänoikeusblogi.

Posted on in Miscellaneous

blogimg/blog_87.jpg

Olen tutustunut viime kuukausina UPnP:n ihmeelliseen maailmaan. Perusajatus on hieno: jokainen kodin laite voi sen avulla löytää toisensa ja ohjata toisiaan, kunhan ne vain kytketään IP-verkkoon (kuten Ethernet tai WLAN). Käytäntö ei ole aivan yhtä kukkainen, sillä harva UPnP-laite tuntuu todellisuudessa toimivan yhteen saati edes löytävänsä toisiaan.


Hauska esimerkki on D-Link DSM-320 MediaLounge, joka on televisioon kytkettävä mediasoitin. Sen pitäisi löytää kodin UPnP-mediapalvelimet ja esittää niiden tarjoilemaa audio-, video- ja stillikuvasisältöä television ruudulla. WLAN-moodissa laite ei toimi ollenkaan, sillä se sekoaa jo ennen mediaserverien löytymistä. Ilmeisesti testaus on jäänyt hieman puolitiehen, sillä WLAN-tuki toimii kuulemma vain D-Linkin oman tukiaseman kanssa.


Ethernetillä DSM-320 löytää useitakin UPnP-palvelimia, mutta esimerkiksi Linuxin GMediaServer saa sen tukehtumaan ja buuttaamaan itsensä jatkuvassa luupissa. Toinen vastaava palvelin, Linux-uShare, toimii joten kuten, mutta jostain syystä musiikin kuuntelu ja videoiden katselu jämähtää aina noin 3 minuutin jälkeen ja DSM-320 palaa alkutilaansa alkaen etsiä mediapalvelinta uudelleen.


Ilmeisesti Windows Media Connect on ainoa DSM-320:n kunnolla tukema UPnP-palvelin, mikä on ironista, sillä WMC:ssä on puolestaan omat ihmeelliset puutteensa. Se ei pysty esimerkiksi jakamaan verkkolevyllä sijaitsevia tiedostoja lainkaan, joten Linuxissa olevat mp3:t jäävät kuuntelematta.


UPnP-sovelluskehitys on oma tieteen lajinsa. Intel on julkaissut osittain avoimen koodin UPnP-kirjaston, jolla voi kehitellä sovelluksia C:llä tai C#:lla .NETissä. Kirjastosta tuntuu kuitenkin puuttuvan kaikenlainen järjellinen dokumentaatio, eikä siihen löydy juuri mitään viittauksia edes Googlella.


Intelin alkuperäistä käsialaa on myös open sourcena julkaistu libupnp eli Linux SDK for UPnP Devices. Sitä en ole vielä ehtinyt kokeilemaan.


UPnP on sinänsä vanha keksintö, ja nämäkin kirjastot ovat pääosin jääneet vuoteen 2003 päivityksissään. Tässä valossa ymmärtää, miksi DLNA:n kaltainen instanssi on haluttu perustaa interoperabilityä parantamaan, sillä UPnP ei nykymuodossaan riitä yhteensopivuuden takaajaksi. Toisaalta Microsoft puskee jo UPnP:n seuraavaa sukupolvea Vistan myötä, joka ilmeisesti tulee perustumaan SOAPiin ja Web Serviceihin. Avainsanoja ovat ainakin PnP-X ja DPWS.

Posted on in Miscellaneous

Mainio sarjis asiaa havainnollistamaan.

Posted on in Miscellaneous

blogimg/blog_85.jpg

Huomasinpa juuri, että MSN Messenger tuhoaa kyselemättä tiedostoja, kun vastaanottaa niitä File Transfer -toiminnon kautta ja yrittää avata suoraan Messengerin sisältä. Tässä tapauksessa kyse oli .m4a-tiedostosta (AAC), mutta sama koskee ilmeisesti myös mp3-tiedostoja.


Muistelen hämärästi kuulleeni tästä aiemminkin, mutta vasta nyt törmäsin ilmiöön itse. Lieneekö taustalla levy-yhtiöiden ja Microsoftin salainen sopimus? Joka tapauksessa todella törkeää ilkivaltaa Microsoftin taholta.

Posted on in Miscellaneous

blogimg/blog_84.jpg

Vahtikoira tarjoaa organisoitua keskustelua kopiosuojausten kiertomenetelmistä. Kaikille lienee jo selvää, että tällainen keskustelu on Lex Karpelan voimaantulon myötä kiellettyä, eli nyt punnitaan sananvapautta ihan tosissaan.


Keskustelusta löytyy esimerkiksi ohjeita shift-näppäimen painamiseksi CD:iden kuuntelemiseksi Windowsissa (ehkäisee muunmuassa pahojen tietoturva-aukkojen syntymistä) sekä tällainen näppärä koodinpätkä DVD:iden katseluun Linuxissa:


#define m(i)(x[i]^s[i+84])<< unsigned

char x[5],y,s[2048]; main(n) {for(read(0,x,5);

read(0,s,n=2048); write(1,s,n))if(s[y=s[13]

%8+20]/16%4==1) {int i=m(1)17^256+m(0)8,k=m

(2)0, j=m(4)17^m(3)9^k *2-k%8^8,a=0,c=26;

for(s[y]-=16;--c;j*=2) a=a*2^i&1,i=i/2^j&1<<24;

for(j=127;++j<n;c=c>y) c+=y=i^i/8^i>>4^i>>12,i=i>

>8^y<<17,a^=a>>14, y=a^a*8^a

<<6,a=a>>8^y<<9,k=s[j],

k="7Wo~'G_\216"[k&7] + 2^"cr3sfw6v;

*k+>/n."[k>>4]*2^k*257/8, s[j]=

k^(k&k*2&34)*6^c+~y;}}


Toivottavasti näistä on apua kyseisten ongelmien ratkaisemisessa.

Posted on in Miscellaneous

blogimg/blog_83.png

Kuka muistaa vielä, kun 90-luvun alkupuolella tapeltiin siitä, käytetäänkö purkeissa IBM-, ISO- vai SF7-skandeja? Sama sota on nyt alkanut uudelleen IRC-kanavilla, kun joukko käyttäjiä on päättänyt siirtyä de-facto-aseman saavuttaneesta ISO-8859-1:stä UTF-8:aan eli siis käytännössä Unicode-merkistöön.


Itse kannatan muutosta. Unicode on nykyään melkeinpä jokaisen sovellusympäristön pohjana (Java, .NET, jne) ja sovellukset ja käyttöjärjestelmät tukevat sitä natiivisti. Varsinkin XML:n myötä UTF-8:sta on muodostunut muutenkin universaali merkistö, joka kattaa koko maailman tarpeet yhtäläisesti niin lännessä kuin idässä.


IRC on tässä mielessä ollut jälkijunassa pitkään, mikä johtuu pääasiassa mIRCin puutteista. Se ei tue kunnolla UTF-8:aa, vaikka onkin natiivi Windows-ohjelma. Suurin ongelma onkin oikeastaan siinä, että mIRC on suljettua koodia, joten kukaan muu ei voi asialle tehdä mitään. Kun tekijää itseään ei kiinnosta tai kyvyt eivät riitä, ollaan jumissa.


Juuri tällaisten tapausten vuoksi itsekin pidän open sourcea niin suuressa arvossa. Toivottavasti mIRC jää hiljalleen niin paljon jälkeen, että menettää markkinaosuutensa jollekin avoimemmalle IRC-clientille tulevaisuudessa.