Archive for the ‘Tietotekniikka’ Category

Edullinen SMS-varoitusjärjestelmä

Maanantai, Marraskuu 3rd, 2008

Jokelan jälkeen meilläkin oli koululla pommiuhkaus, jonka johdosta koko koulu tyhjennettiin. Tiedotus hoidettiin keskusradion ja rehtorin välityksellä. Illalla rehtori tiedotti tilanteen etenemisestä puhelimeen tekstiviestein. Tästä sain ajatuksen, että kytken gsm-puhelimen www-palvelimeen ja teen puhelimeen www-liittymän. Kytkentää olin jo kokeillut aikoja sitten, mutta www-liittymän tekeminen oli uutta.

Kuluja projektista koitui seuraavasti

  • atk-tukihenkilön käytöstä poistettu vanha 3310 (ilmaiseksi)
  • datakaapeli ko. puhelimeen (maksoi 1e pari vuotta sitten)
  • palvelin (olemassa oleva palvelin)
  • testiviestit (omalta sim-kortilta)
  • palvelin (koulun olemassa oleva palvelin)
  • palvelimen ohjelmisto (kaikki olivat gpl-ohjelmia, eli ilmaisia)

Eli muutaman euron satsauksella sain aikaan seuraavaa:

Ajatuksena on siis siirtää opettajien, opiskelijoiden, huoltajien ja muiden sidosryhmien (siivoojat, laitoshuoltajat…) puhelinnumerot tietokantaan ja laittaa viesti heille. Saman viestin saa laitettua sekä SMS-viestinä, että sähköpostina.

Yhden viestin toimittamiseen menee noin 5 sekuntia, joten viestin toimittamiseen 200 käyttäjälle menee 1000 sekuntia = 17 minuuttia. Jos nopeutta tahtoo lisätä, niin puhelimia voi kytkeä useampia.

Kunhan saan ohjelman kutakuinkin kauniiksi, niin voin laittaa sen yleiseen jakoon GPL-lisenssillä.

Lisätietoja käytetyistä ohjelmista/ohjeista:

Google Chrome Linuxissa

Maanantai, Marraskuu 3rd, 2008

Tulipas törmättyä tällaiseenkin… Googlen Chrome-selain toimii Linuxissa Winen avulla. Asennus on helppoa, mutta toki, fonttien renderöinti näyttää kamalalta. Mutta käy hyvin sivujen testaamiseen.

Pikainen analyysi sähköisen äänestyksen käyttöliittymästä

Torstai, Lokakuu 30th, 2008

Kun sähköisessä äänestyksessä “katoaa” yli 200 ääntä (lähde) ja meille on opetettu, että “Ongelmat EIVÄT ole käyttäjän syytä” (Kari Kuutti, lähde), niin missä sitten on vika?

Oikeusministeri Tuija Brax väittää, että vika on ihmisissä (lähde). Käyttöliittymää ei ole kuitenkaan edes testattu ulkopuolisilla käyttäjillä (lähde)!

Näillä lakeuksilla noita koneita ei onneksi näkynyt, mutta oikeusministeriön sivuilta löytyy esittelyvideo laitteesta (lähde). Äänestyksen viimeisessä vaiheessa tulee ruutuun valikko:

Mikä ihmeen OK?

Mikä ihmeen OK?

Tässä vaiheessa äänestysnumero on annettu ja painettu yhden kerran OK. Mitä OK-painikkeella kuitataan? Ruudussa ei ole mitään, joka vaatisi painamaan OK-painiketta!

Parempi teksti painikkeeseen voisi olla vaikkapa “Äänestän häntä” ja “Muutan henkilöä”.

Ubuntu EEE rocks!

Sunnuntai, Lokakuu 12th, 2008

Torstaina asensin tähän koneeseen Ubuntu eee:n ja nyt sain jopa WLANin toimimaan. Toki en ole sitä koko aikaa torstaista lähtien edes yrittänyt saada toimimaan, oli matkoilla pari päivää…

Ohje löytyy wikistä osoitteesta http://www.ubuntu-eee.com/wiki/index.php5?title=EeePC_901#Wireless

Käyttöjärjestelmän vaihto edessä

Keskiviikko, Lokakuu 8th, 2008

Tuli nettiä stumblatessa vastaan Ubuntun eee-versio.

Näyttäisi siltä, että nyt on edessä käyttöjärjestelmäversion vaihto Xandros linuxista Ubuntuun.


Käyttökokemuksia Asus EEE 901:stä

Torstai, Lokakuu 2nd, 2008

Sain käyttööni noin vuoden pyyntöjen jälkeen käyttööni Asuksen EEE PC:n, laitteen, joka kerää vieläkin ihastuneita huudahduksia: ihana! onpa se pieni! Tuollaisen minäkin haluaisin!

Nille, jotka eivät konetta tunne, niin kyseessä on pieni kannettava miniläppäri. Asus alkoi tehdä tällaisia koneita noin vuosi sitten alkaen mallilla 701, joka oli suuri menestys.

Tämä 901 eroaa vanhasta siten, että tässä on isompi 9″ näyttö, prosessori on tehokkaampi, kovalevyä ja keskkusmuistia on huomattavasti enemmän. Lisäksi tässä on Bluetooth. Akkukesto on periaatteessa mahtavat 6 tuntia! Painoa koneessa on vain noin 1 kilo.

Käyttöjärjestelmäksi valitsin Linuxin, koska mielestäni se toimii hitaissa laitteissa Windowsia paremmin. Lisäksi Windowsin kanssa olisi pitänyt käyttää virustorjuntaa ja muita ohjelmia taustalla, joka olisi johtanut pienempään akkukestoon.

Pari huonoa puolta tässä tietenkin on. Näppäimistö on aika pieni, varsinkin ä ja ö ovat vaikeita kirjoittaa, varsinkin kun olen käyttänyt 20v kymmensormijärjestelmää. Lisäksi jostain omituisesta syystä lepotila tyhjentää akun ajan mittaan, eli kun jätät koneen läppä auki, niin löydät koneen akku tyhjänä kuuden tunnin päästä, ei kiva.

Joskus kaipaisin mahdollisuutta yhdistää koneeseen Nokian puhelimeni ja käyttää sen kautta GPRS-yhteyttä, mutta Linuxin puolella se ei ole mahdollista. Toki tähän voisi hankkia mokkulan, mutta koska työpaikalla ja kotona on WLAN, niin mokkulan hankinta ei mielestäni kannata.

Muuten tämä on oiva peli, huomattavasti parempi ja mukavampi kuin pari vuotta sitten käytössäni ollut HTc:n 3600. Toki HTc oli pienempi ja siinä oli 3G (jota ei täällä silloin ollut), mutta näppäimistön puute rampautti sitä pahasti.

Ihmiset ovat asentaneet Xandros-linuxin tilalle Ubuntua ja muitakin linux-versioitta, mutta koska mielestäni tämä versio tekee sen minkä haluankin (surffaa netissä, näyttää videot, käsittelee tekstin), niin en viitsi käyttöjärjestelmää vaihtaa, ainakaan vielä. Jos tätä konetta tulisi käytettyä muuhun, esim. kuvankäsittelyyn (johon tämä on varmaankin liian hidas), niin käyttöjärjestelmän vaihto voisi olla edessä. Toki yksi peruste vaihdolle olisi se, ettei tämä tue usb-levyasemani XFS-tietostojärjestelmää, kuten ei pöytäkoneeni windowskaan…

Lisää tuntemuksia koneesta, kunhan se tulee tutummaksi.

Piin laskeminen Monte Carlo-menetelmällä

Torstai, Huhtikuu 17th, 2008

Tähän lienee jossain myös javalla ratkaisu, mutta 9-luokan taulukkolaskentakurssin innoittamana tein ohjelman javalle, joka laskee piin likiarvon Monte Carlo-menetelmällä. Menetelmällä on mielenkiintoista laskea piin likiarvoa myös taulukkolaskentaohjelmallakin (se on siis melko haastavaa...).

JAVA:
  1. import java.io.*;
  2.  
  3. class Monte
  4. {
  5.     public static void main(String args[]) throws IOException
  6.     {
  7.         int sisalla=0, lkm;
  8.         double x, y;
  9.         BufferedReader lukija =  new BufferedReader(new
  10.                InputStreamReader(System.in));
  11.                
  12.         System.out.print("Montako pistettä:");
  13.         lkm = Integer.parseInt(lukija.readLine());
  14.        
  15.         for (int i=0; i <lkm; i++)
  16.         {
  17.             x = Math.random();
  18.             y = Math.random();
  19.            
  20.             if (Math.sqrt(x*x+y*y) <= 1)
  21.             {
  22.                 sisalla++;
  23.             }
  24.         }
  25.        
  26.         System.out.println("Sisällä oli "+sisalla+" pistetta");
  27.        
  28.         System.out.println("Piin likiarvoksi tulee "+sisalla+"/"+lkm+"*4="+((double)sisalla/(double)lkm*4.0));
  29.        
  30.     }
  31. }

Permutaatiot rekursiivisella funktiolla

Torstai, Huhtikuu 3rd, 2008

Tulipa kokeiltua permutaatioiden tekemistä javalla. Netistä ei löytynyt ihan suoraa ratkaisua Javalle, joten piti itse kehitellä.

JAVA:
  1. class Permutointi
  2. {
  3.     static int metodikutsuja = 0, permutaatioita = 0;
  4.  
  5.     public static void main(String[] args)
  6.     {
  7.         String merkkijono = "abcde";
  8.  
  9.         permutoi(merkkijono, "");
  10.  
  11.         System.out.println("Permutaatioita: " + permutaatioita);
  12.         System.out.println("Metodikutsuja: " + metodikutsuja);
  13.            
  14.     }
  15.    
  16.     static void permutoi(String jono, String alku)
  17.     {
  18.         String uusi_alku="", lyhyempi="";
  19.        
  20.         metodikutsuja++;
  21.        
  22.         if (jono.length() == 0)
  23.         {
  24.         }
  25.         else if (jono.length() == 1)
  26.         {
  27.             System.out.println(alku+""+jono.charAt(0));
  28.             permutaatioita++;
  29.         }
  30.         else if (jono.length() == 2)
  31.         {
  32.             System.out.println(alku+""+jono.charAt(0)+""+jono.charAt(1));
  33.             permutaatioita++;
  34.            
  35.             System.out.println(alku+""+jono.charAt(1)+""+jono.charAt(0));
  36.             permutaatioita++;
  37.         }
  38.         else
  39.         {
  40.             for (int i=0; i<jono.length(); i++)
  41.             {
  42.                 lyhyempi="";
  43.                 for (int j=0; j<jono.length(); j++)
  44.                 {
  45.                     if (j!=i)
  46.                         lyhyempi = lyhyempi + jono.charAt(j);
  47.                 }
  48.                
  49.                 uusi_alku = alku + jono.charAt(i);
  50.                 permutoi(lyhyempi, uusi_alku);
  51.             }
  52.         }
  53.     }
  54. }

abcde, eli 5 merkkiä aiheuttaa 86 metodikutsua ja permutaatioita löytyy (tietenkin) 5!=120 kappaletta.

Sovelma Firefoxiin ruutukaappuksia varten

Perjantai, Maaliskuu 14th, 2008

ruutukaappaus.pngTörmäsin Cookieiden debuggausta hakiessa FireShot lisäosaan Firefoxille. Olen käyttänyt paljon ScreenGrab sovellusta ruutukaappauksiin www-sivuilta, mutta FireShot mahdollistaa kommenttien tekemisen helposti kaapattuihin kuviin.

Katso oheinen kaappaus.

SMS:n lähettämiseen www-sovellus

Keskiviikko, Helmikuu 27th, 2008

Pitäisi tehdä www-sovellus sms-viestien lähettämiseen esimerkiksi tiedottamista varten. Palikat on kasassa ja homman toimivuus on testattu "proof of concept"-tasolla, mutta vielä pitäisi tehdä www-liittymä ja tietokannat vastaanottajista.

Homma on "kallista". Puhelin on atk-tukihenkilöltä vanhaksi jäänyt Nokia 3310 (hintaa on, jos sen kaupasta käy käytettynä ostamassa, noin 20e), joka on koko ajan laturissa kiinni (joten huono akku ei ole mikään haitta). Datakaapelin löytäminen on vaikeinta, mutta sen saa www-kaupasta (esim Halvat hinnat) alle neljän euron. Palvelimeen tarvitaan vain COM-portti (voi puuttua ihan uusimmista palvelimista, mutta vanhoista koneista se löytyy ihan kaikista). Vielä puuttuu kaupungin tarjoama SIM-kortti, mutta testiviestejä raaskii lähettää omallakin liittymällä.

SMS:n lähettäminen on testattu Gnokii-ohjelmalla ja Debianin Linuxilla käyttäen komentoriviä ja www-liittymää, joka oli toteutettu PHP:llä.

Keräilen tänne kokemuksia homman toteuttamisesta.