Polar Clock -näytönsäästäjä: hieman erilainen kello

Pixel Breakerin Polar Clock -näytönsäästäjä on idealtaan ovela: ajan eteneminen on esitetty väriävaihtavilla, ympyrää kiertävillä palkeilla. Pixel Breakerin sivuilla voi testata flashilla toteutettua kelloa ja ladata näytönsäästäjän Mac OS X:lle.

Polar Clock v2 -näytönsäästäjä on saatavilla Mac OS X:n lisäksi myös Windowsille ja on hieman erilainen kuin alkuperäinen idea.

Näytönsäästäjänä Polar Clock on hieman turhan staattinen verrattuna perinteisiin ympäri ruutua vaeltaviin näytönsäästäjiin, mutta ideana toimiva.

Windows, Samba-jaot ja kakutettu palvelinteksti

Olisi pitänyt heti arvata, että vika on Windowsissa, kun mietin miksi Windowsissa Linuxin Samba-jaossa näkyy eri palvelinteksti, kuin mitä palvelimen ”Server string” -muuttujassa. Siellähän se teksti oli Windowsin rekisteriin kakutettuna. Tämä tieto ja ratkaisu ongelmaan, eli kyseisen avaimen poistaminen, selvisi googlettamalla Samban postituslistalta keskustelu samasta aiheesta.

On myös kätevää lisätä Samba-palvelimen IP-osoite Windowsin hosts -tiedostoon (C:\WINDOWS\system32\drivers\etc\hosts). Hosts -tiedosto on normaali tekstitiedosto ja toimii kuten vastaava hosts-tiedosto Linuxissakin. Näin verkkolevyt voi yhdistää helposti palvelimen lyhennetyllä nimellä, eikä naputtelemalla numeroita tai pitkää osoitetta. Myös Samba-jaon nimi näyttää kivemmalta.

Käyttömukavuus on joskus pienistä asioista kiinni.

SnoopStick valvoo mitä koneellasi tehdään

SnoopStick on normaalin USB-muistitikun näköinen palikka, joka tietokoneeseen liitettynä ja piilossa olevan ohjelman avulla valvoo, mitä tietokoneellasi on tehty, kun olet ollut poissa. Valvontaa voi myös tietenkin soveltaa lasten ja työntekijöiden tietokoneisiin. Ei sinällään mitenkään erikoinen vekotin verrattuna normaaleihin vakoiluohjelmiin, mutta toteutukseltaan yksinkertainen ratkaisu USB-tikkuun sovellettuna.

SnoopStick -ohjelmisto tallettaa kaiken mitä valvottavalla koneella tehdään ja tapahtumia voi tarkastella jälkeenpäin. Kytkemällä palikan mihin tahansa Internet-yhteydellä varustettuun tietokoneeseen, voi valvottavan koneen tapahtumia seurata ja ohjelmia hallita reaaliajassa. SnoopStick -palikoissa on uniikki tunniste, jolla tunnistetaan valvottavat koneet ja yhdistetään ne palikkaan, jolta ohjelma asennettiin. Valvovan ohjelmiston voi poistaa ajamalla asennusohjelman samalta palikalta, jolta se asennettiin. Yhdellä 60 dollarin hintaisella SnoopStickillä pystyy valvomaan kolmea konetta ja lisäkoneet maksavat 25 dollaria kappale.

Aikamoinen valvontatyökalu, joka ei periaatteessa eroa mitenkään perinteisistä haittaohjelmista. SnoopStickin asentama valvontaohjelma ei näy käyttäjälle ja käyttäjä on tietämätön valvonnasta. Palikan sivuilla ei kerrottu näkyykö ohjelma Explorerin prosessi-listassa vai toimiiko ohjelma rootkit -tyylisesti piilottamalla toimintansa kokonaan, joskin normaaleille käyttäjille jo ohjelman piilottaminen tehtäväpalkista on riittävä piilotuskeino.

Tietoturvallisesta näkökulmasta mieleen tulee tilanne, jos ja kun SnoopStick tunnisteet murretaan ja valvottavat koneet ovat avoimesti auki Internetiin. Eettisestä näkökulmasta katsoen palikan käyttäminen käyttäjän tietämättä on vähintäänkin kyseenalaista. Toisaalta, monessakohan julkisessa tietokoneessa, esimerkiksi kirjastoissa, on asennettuna jonkinlainen haittaohjelma, joka valvoo käyttäjän tekemisiä ja muun muassa salasanoja.

(via Gizmodo)

Eroon Windows Updaten muistutus-ruudusta

Sain viimeinkin vajaat kaksi kuukautta takuussa olleet muistini takaisin ja Windows -koneen kasattua taas toimivaksi. Windowskin muisti usealla päivityksellä ja alati esiin hyppivällä Windows Updaten ”Do you want to restart your computer now?” -ruudulla. On kyllä ollut taas Microsoftilla hupaisia ohjelmoijia, kun ”Restart Later” tarkoittaa 10 minuuttia, jonka jälkeen samaa asiaa kysytään uudelleen ja uudelleen. Ärsyttävää.

Onneksi Windows Updaten muistutus-ruudun voi säätää hieman vähemmän ärsyttäväksi. Ominaisuutta ei saa pois päältä, vaikka asetuksissa ”disabled” -vaihtoehto onkin, vaan muistutuksen aikaa voi säätää maksimissaan 1440 minuuttiin.

Muistutukseen liittyvä asetus löytyy seuraavasti:

Start -> Run -> gpedit.msc

Local Computer Policy
  Computer Configuration
    Administrative Templates
      Windows Components
        Windows Update
          Re-prompt for restart with scheduled installations

Asiasta löytyy kirjoitus myös Microsoftin tukitietokannasta. Otin toimenpiteestä muutaman ruudunkaappauksenkin, vaikkakin kuvia löytyy Googlettamalla termillä ”Windows Update nag screen”.

Windows Group Policy Windows Group Policy

LTY:n .NET Sovelluskehitys -intensiivi, päivät 3, 4 ja 5

Päivät venyivät pitkiksi, kun tietotekniikan opiskelijat pääsivät Visual Studioon sisään ja koodia tulevaa sovellusta varten alkoi syntymään. Useat ryhmät olivat ideoinnin vähyyden ja tiukan aikataulun takia päätyneet kehittämään jonkinlaista kurssin harjoitustyönpalautus -web-sovellusta. Muita ideointeja oli muistiinpano -webtyökalu, opiskelumateriaalin tarjoaminen webin avulla, prosessorin muistioperaatio -simulaattori, kielenopiskelu -sovellus ja tietojen hakeminen web-sivulta.

Kurssin puolesta keskiviikkona ja torstaina oli muutamia demoja Visual Studion käytöstä ja valmiista komponenteista. Muutamat elementit sivulle ja käyttäjän autentikointi oli valmis. Osaltaan kätevää, mutta toisaalta valmiit elementit ja kehitysympäristö pakottivat tiettyyn toteutustyyliin. Ainakin Web-sovelluksen ja osittain tietokantojen näkökulmasta valmiit elementit tuottivat päänvaivaa. En ollut Googlen mukaan ainut, joka kirosi Sitemapin muotoilua. Valmiit elementit kuitenkin mahdollistivat nopean kehittämisen ja valmista jälkeä syntyi. Aikaa olisi vain voinut olla enemmän käytettävissä, vaikka päivät venyivätkin seuraavan päivän puolelle.

Perjantain palautustilaisuudessa valmiusasteet vaihtelivat, mutta aika hyvin oli valmista saatu tehtyä. Ulkoasun ja käytettävyyden viimeistely uupui lähes jokaisessa työssä, joka tosin oli oletettavaakin muutaman päivän projektia ajatellen. Oman ryhmäni Courserator -projekti liittyi harjoitustöiden palautukseen ja teknisesti kaikki ominaisuudet saatiin toteutettua. Myös ulkoasuun sijoitettiin hieman muita ryhmiä enemmän työaikaa, sillä viimeistelty työ luo hyvän mielen, eikä sen toteuttamiseen juuri aikaa mene. Projektista myöhemmin muutamia kuvia, kunhan pääsen takaisin kotiin.

Kurssin viimeisenä päivänä projektien esitystilaisuuden jälkeen myös palkittiin parhaana ideana ”Muistiinpanotyökalu”, teknisestä toteutuksesta ”Adaptive English learning application” ja ”Kurssien sivuilta tapahtumien parsettaminen omalle sivulle” ja ryhmien lisäksi palkittiin muutama osallistuja Code Camp -hengestä ja sisukkuudesta. Muista erottuvalla idealla pääsi pitkälle, vaikka toteutukseltaan moni ”harjoitustyön palautustyökalu” oli teknisesti toimivampi. Kielenopiskeluun liittyvä toteutus oli kyllä myös ideansa lisäksi teknisesti hyvä.

Kokonaisuudessaan .NET Sovelluskehitys -intesiivi oli hyvä kurssi, joskin Code Camp -henkisesti alkuviikon alustukset ja muutamat demot olisivat voineet keskittyä enemmän ratkaisuihin kuin arkkitehtuuriin ja sen yksityiskohtiin. Kehittäessä sovellusta tuli tutustuttua Visual Studioon, sen toiminnallisuuteen ja komponentteihin, mutta kehitysympäristön hallitsemiseksi hyvin, tarvittaisiin hieman lisää koodaamista.

Intensiivikurssista on vielä edessä viiden sivun raportin kirjoittaminen, joka on ”Imagine Cup” -kilpailua varten tähdätty, tarkoituksena kuvata idea ”Technology & Education” -aihepiirin projektista. Raporttia ei ole pakko lähettää kilpailuun ja luultavasti emme sitä sinne lähetä.

Päivitys 15.3.2007:
.Net Sovelluskehitys -intensiivikurssi sai myös huomiota paikalliselta medialta, kun Etelä-Saimaan toimittaja kävi paikalla kuvaajan kanssa. Tapahtumasta tehty juttu löytyy Etelä-Saimaan verkkosivuilta.

Microsoftin puolelta järjestävänä tahona mukana ollut Aali Alikoski kirjoittaa tapahtumasta blogissaan, josta löytyy myös muutamia kuvia.

LTY:n .NET Sovelluskehitys -intensiivi, päivä 2

.NET Sovelluskehitys -intensiivin toinen päivä alkoi mikroluokassa ohjelmointiympäristöön tutustumisella. Luokkaan oli asennettu valmiiksi Visual Studio 2005, mutta kaveri oli tietenkin onnistunut valitsemaan juuri yhden niistä neljästä koneesta, joissa Visual Studion asennus ei kunnolla toiminut. Onneksi ohjelmointiympäristön debug-ominaisuuskin saatiin kuntoon ylläpidon suoritettua noin pari tuntia yhteensä kestäneen korjaus- ja service pack -asennuksen.

Sillä välin kun muut leikkivät Visual Studiolla, ehdin todeta Monodevelop -ohjelman asentamisen OS X:lle mahdottomaksi. Fink ei löytänyt peileiltä haluttuja paketteja Gnome-työpöytäympäristön asentamiseksi. Kai ohjelman voisi asentaa käsinkin, mutta sivuilla olevat ohjeet ja lista useista paketeista, joita pitäisi kääntää tietyillä optioilla, ei oikein herätä innostusta. Lisäksi sivuilla mainittu MacUX -projekti Monodevelop -asennuspaketin kasaamiseksi OS X:lle, on kirjoitusten mukaan jäämässä kesken. Pitää vielä yrittää Finkin kautta asennusta, asentamalla ensin Gnomen eri lähteistä (stable) ja tämän jälkeen Monodevelopin (unstable).

OS X:lle tarjolla olevien .NET-järjestelmän -kehitystyökalujen suhteen on harmillista, että Monodevelopin asentaminen OS X:lle on turhan hankalaa ja muiden ohjelmien tuki ohjelmoijalle on olematonta. Vaikka XCode:lla voi ohjelmoida C#:ia, on sen käyttäminen aloittelijan lähtökohdista kohtalaisen hankalaa ilman minkäänlaisia ohjelmointiapuja. Yhtä hyvin voisi ohjelmoida vimillä. Leikin kuitenkin XCoden lisäksi hieman Interface Builder -ohjelmalla ja helpostihan Cocoa# -käyttöliittymä rakentui.

Päivä sisälsi myös katsauksen .NET-järjestelmän tarkempiin ominaisuuksiin ja toiminnallisuuteen ja näimme muutamia demoja. Ei mitään sinällään erikoista. Mainostaakseen Imagine Cupia Microsoft tarjosi jokaiselle kilpailusivustolle rekisteröityneelle yhden vapaavalintaisen kirjan ja pelin. Valitsin vaihtoehdoista ”ASP.NET 2.0 Applications: Advanced Topics” -kirjan ja ”Gears Of War” -pelin Xbox 360:lle, vaikka en kyseistä konsolia omistakaan. Pitänee kai harkita ostamista :)

Päivän lopuksi käsiteltiin kurssin arvosteluperusteita ja aihepiiriä, johon liittyen pitäisi perjantaihin mennessä koodata jonkinlainen Windows- tai Web-pohjainen sovellus. ”Technology & Education” -teema on sinällään läheinen, mutta järkevän sovelluksen kehittäminen lyhyessä ajassa tuo omat haasteensa. Aivan yksin ei sovellusta tarvi kehittää, vaan päivän aikana muodostettiin 3-4 hengen ryhmiä. Varsinaisen ohjelman jälkeen ryhmät jäivät ideoimaan voittajasovellustaan tähtäimessään perjantain koodijulkistus ja palkinnot. Voi olla hankalaa kehittää toimivaa ideaa näin lyhyessä ajassa, joka jaksaisi kantaa myös mainostettuun Imagine Cupiin. Eihän sitä tosin koskaan tiedä.

Huomenna ja torstaina aamupäivät on varattu luennoille ja iltapäivällä jatketaan koodausta. Aikaa ei juuri tuhlattavaksi ole.

LTY:n .NET Sovelluskehitys -intensiivi, päivä 1

Tänään alkoi Lappeenrannan teknillisen yliopiston järjestämä .NET Sovelluskehityskurssi, joka toteutetaan intensiivinä 5.3 – 9.3.2007 Code Camp -periaatteella. Ensimmäisen päivän ohjelmana oli Microsoftin sovelluskehityskiertue, joka käsitti katsauksen .NET kehitysympäristöön, ominaisuuksiin ja mahdollisuuksiin. Kurssi toimii myös lähtölaukauksena Imagine Cup:iin.

Microsoftin sovelluskehityskiertue oli jotakuinkin samanlainen kuin vuosi sitten, kun sellaisessa kävin. Alkuun yleisesti aiheesta, Imagine Cup:n mainostusta, jonka jälkeen käsiteltiin .NET-järjestelmää kohtalaisen yleisellä tasolla ja luotiin katsaus mitä .NET 3.0 tuo tullessaan. Lisäksi yhteistyökumppani kertoi työelämän tarpeista ja haasteista sovelluskehityksen parissa työskenneltäessä. Aiheiden välissä pidettiin sopivasti kahvitaukoja, jotka Microsoft ystävällisesti tarjosi ja jonka laskuun myös lounas meni. Tietenkin Microsoftin Visual Studio -kehitystyökalua ja kumppanuusohjelmia mainostettiin riittävästi. Kyllähän se Visual Studio ihan kivalta ja toimivalta näytti. Esitysten jälkeen ilta jatkui LTY:n rantasaunalla illanvieton ja vapaamuotoisen keskustelun merkeissä ja tarjolla oli syötävää, juotavaa ja sauna.

Tapahtuma oli ihan mukava ja esityksiäkin jaksoi kuunnella, vaikkakin aiheita käsiteltiin hieman liian yksinkertaisesti. .NET-ympäristöstä sai jonkinlaisen kuvan, mutta joitakin aiheita olisi voinut käsitellä hieman syvemmin ja jättää toisia aiheita, kuten C# esimerkkien rakentamista, hieman vähemmälle. Arkkitehtuuri ja mahdollisuudet käsiteltiin aika pintapuolisesti ja kokonaiskuva jäi aika hajanaiseksi; paljon kivoja ominaisuuksia, hienoja käyttöliittymiä, helppoa koodigeneroimista, erilaisia rajapintoja ja hyvät kehitystyökalut. Myös Vistan karkkimainen käyttöliittymä ja toiminta tulivat tutuiksi.

Huomenna intensiivikurssi jatkuu luennoilla, demoluennoilla, aiheen valinnalla ja koodaamisella. Asensinkin jo Mac OS X:lle Mono -ympäristön, XCode:en C# -pluginin. ASP.NET -sovelluksia voi ajaa Mono:n mukana tulleen XSP -palvelimen avulla. Kaikki tarvittava löytyi Mono -projektin sivuilta, mutta ympäristön voi asentaa myös Darwin Portsin kautta. Peruskoodit kuten C# HelloWorld.cs, Cocoa# -HelloWorld.app ja ASP.NET HelloWorld.aspx toimivat, joten asennus onnistui. Monon, C# -ympäristön ja XCoden käytöstä lisää myöhemmin.

Kurssilla koodausympäristönä toimii Visual Studio 2005, mutta oma Mono -ympäristö Mac OS X:ssä helpottaa ominaisuuksien testaamista ja samalla voi vertailla koodin toimivuutta .NET ja Mono -ympäristöissä. Nopeasti testattuna XCoden C# -pluginin tuki ohjelmoijalle oli olematonta, joten ohjelmointiympäristöjen vertailu ei ole mielekästä. Jos omistaisin Macbookin voisin ajaa Windowsia ja Visual Studiota Parallelin kautta ja silti nauttia OS X:n mukavuuksista.

Saa nähdä kuinka ahdasta huomenna mikroluokkaan ja koneiden äärelle tulee, sillä luokka on kohtalaisen pieni ja innokkaita koodaajia ensimmäisen päivän perusteella runsaasti.