Tee-se-itse: langaton Xbox

Xbox360:n voi kytkeä verkkoon lisävarusteena saatavalla langattomalla verkkoadapterilla. Myös ensimmäisen Xboxin voi liittää langattomasti verkkoon, kunhan jaksaa hieman askarrella ja taitoja pieneen elektroniikan kanssa leikkimiseen löytyy. Et siis tarvitse erillisiä adaptereita Xboxisi taakse, kun asennat Xboxiin sisäisesti esimerkiksi Netgearin langattoman verkkokortin. Tietenkin takuu katoaa samalla, mutta se toki on jo hävinnyt, kun Xbox on tehokäytössä jo aikasempien modausten jäljiltä.

BrutalByte i-Hacked.com:sta purki Netgearin Wi-Fi adapterin, liitti virtajohdot paikalleen, lisäsi hieman liimaa ja askartelua ja Xbox sai liitännän langattomaan verkkoon. Kätevää, eikä projekti kovin vaikealta edes vaikuttanut.

xbox Wi-Fi

HP LinuxForum

Hewlet Packard, eli HP, järjestää jälleen ilmaisen Linux-aiheisen tapahtuman. Tapahtuma pidetään torstaina 4.5.2006 Helsingin Messukeskuksessa ja teemoina ovat Linux ja Total Cost of Ownership (TCO), Linux ja tietoturva sekä Open Source. Ohjelma koostuu esityksistä, paneelikeskusteluista ja esityksiä tukevista ratkaisunäyttelyistä.

Paneelissa keskustelemassa on mm. Novellin toimitusjohtaja Kim Aaltonen, Microsoftin tietoturvajohtaja Kimmo Bergius, F-Securen tutkimusjohtaja Mikko Hyppönen, sekä Market-Vision analyytikko Ilkka Holopainen. Näyttelyssä mukana ovat: F-Secure Oy, Intel, Nordicmind Oy, Novell, Oracle, RedHat, Suomen Linux -käyttäjäyhdistys (FLUG), Suomen Open Source -keskus (COSS) ja Tieturi Oy.

Tapahtuman sivut ja lisätietoa löytyy osoitteesta: http://www.hp.fi/linuxforum/index.html ja ilmoittautuminen pitää suorittaa viimeistään keskiviikkoon 26.4.2006 mennessä.

Tilaisuuden päätteeksi luvataan mukava Linux-yllätys.

Voiko kuseminen olla enää hauskempaa

Nyt voit pelata kustessa. Edistääkseen vessojen hygieniaa on Marcel Neundorfer sijoittanut pisuaariin kosketusherkän näyttöelementin, joka käynnistää kosketuksesta pelin, jota voi pelata. Mukana on myös äänet (lorotuksen lisäksi). Nyt kusijoilla on enemmän mielenkiintoa kusta laariin, eikä pitkin seiniä. Tuollaista kaipaisisi kyllä Suomeenkin, sillä etenkin baarien vessat ovat usein erittäin siivottomassa kunnossa. (via gizmodo.com, On Target [Yanko Design])

pisuaaripeli

Gizmodossa kusipeliä kommenoidaankin osuvasti:

  • I haven’t had this much fun urinating since my loss in the distance peeing championship during 7th grade.
  • But can you play Doom on it?
  • Can’t wait till the linux hack comes out….
  • Another use for my favorite input device!
  • Unless they have the ”splashback” problem solved, I’m going to continue going in the corner.
  • Just a few requests:
    • No 360 spins
    • Let’s keep the side to side action to a minimum
    • No multiplayer mode

Vim ja tekstin automaattinen sisennys

Linuxille on monia hyviä tekstieditoreja komentorivikäyttöön. Toiset pitävät nanosta, toiset emacsista, mutta mielestäni kenties parhain on kuitenkin vim. Tuo ohjelma, jonka ekaa kertaa käynnistäessäsi et tiennyt kuinka siitä pääsee pois. Myöhemmin viisaammat kertoivat ESC-:q -komennon ja kirosit koko ohjelman syvimpään hautaan. Jos ensimmäinen käyttökerta ei pelästyttänyt, kannattaa tutustua vimtutor -ohjelmaan ja oppia käyttämään vim:iä, sillä vim on pieni ja tehokas tekstieditori.

Vim on kehittyvä ohjelma ja uudet versiot tuovat uusia ominaisuuksia, joista kaikki eivät ole aina toivottuja. Jossain vaiheessa huomasin, että liittäessäni tekstiä vimissä auki olevaan tiedostoon, menivät kaikki liitetyn tekstin sisennykset aivan ketuilleen. Onneksi Google kertoi oikean vastauksen ongelmaan löytyvän vim.org -sivustolta. Kysymykseen oli annettu monia eri ratkaisuja, mutta itselle ja omaan tarkoitukseen kelpaava ratkaisu löytyi asettamalla kotihakemistoni .vimrc -tiedostoon rivit:

set nosmartindent
set noautoindent 

Nyt vim ei automaattisesti käytä edellisen rivin sisennystä liitettäessä tekstiä tai sisennä automaattisesti, kun kirjoitetaan koodia. Ei aivan täydellinen ratkaisu, sillä automaattinen sisennys koodatessa on kyllä kätevä.

Ohjeissa ehdotettiin myös lisäämään filetype off .vimrc -tiedostoon tai F11-napin määrittämistä :set paste -komennolle:

" Paste Mode On/Off
map <F11> :call Paste_on_off()
set pastetoggle=<F11>

let paste_mode = 0 " 0 = normal, 1 = paste

func! Paste_on_off()
        if g:paste_mode == 0
                set paste
                let g:paste_mode = 1
        else
                set nopaste
                let g:paste_mode = 0
        endif  
        return
endfunc

Kyseinen funktio mahdollistaa paste-ominaisuuden päälle/pois -kytkemisen ja nyt myös voidaan käyttää autoindent ja smartindent -optioita koodauksen helpottamiseksi.

Lämmintä kahvia USB-kupinlämmittimellä

usb-kupinlämmitin

Kahvi pitää nörttien mielet virkeinä, mutta aina ei kahviakaan ehdi juoda heti. Siksi markkinoilla onkin erilaisia USB-kupinlämmittimiä, jotka pitävät kahvin lämpimänä USB:sta saatavalla virralla.

Tällä kertaa kupin ympärille kiedotaan $15 hintainen lämmitin, jolla mukin ja kahvin pitäisi pysyä lämpiminä. Kuten monissa muissakin USB:stä virtansa ottavissa laitteissa, voidaan olla montaa mieltä, riittääkö USB:n 2.5 Watin (0.5 A, 5V) virta vekottimille.

Luultavasti kahvin jäähtyminen on melkein samaa kietoi sitten kupin ympärille sähköisen kupinlämmittimen tai normaalin neopreenisuojan. (via gizmodo.com)

Tekstin muotoilua OpenOffice.org Writerilla

OS news:ssä on hyvä artikkeli OpenOffice.org Writerin käytöstä otsikolla ”Text Formatting with OpenOffice.org Writer”. Writer on kohtalaisen yksinkertainen käyttää, jos tuntee Microsoft Wordin perustoiminnot ja osaa hieman selailla Writerin valikoita ja sieltä löytyviä eri toimintoa. Itsekin osaan lisätä dokumenttiin automaattisen sisällysluettelon, käyttää tekstin muotoilua ja muokata eri tyylejä ja lisätä sivunumerot. Siis kaiken tarpeellisen normaalin dokumentin, kouluraportin tai seminaarin kirjoittamiseen tarvittavan. Verrattuna Wordiin on Writerissä tietenkin eroja toiminnallisuudeltaan ja en olekaan koskaan oikein ymmärtänyt miten sivunumerot saadaan diplomityöohjeen mukaisesti aseteltua seminaarityöhön, vaikka kyseinen toiminto Wordissa onnistuukin.

Writerin alatunnisteen määrittäminen ja sivuvaihtojen asettaminen löytyvät kyllä valikoista, mutta niiden toiminta ei oikein aukea, jos asiaan ei ole tutustunut. Onneksi on kuitenkin Google ja niinpä nopeasti löytyikin OS newsissä ollut artikkeli tekstin muotoilusta Writerissä.

Lyhyesti sivunumeroinnin asettaminen menee seuraavasti:
’Now, we want a real ”First Page”, and it should later display our documents freshly chosen title and other information. We click ”Page Style” in the Stylist and look what is highlighted: it’s ”Default”. Double-click ”First Page”’

Kansilehden jälkeen on vuorossa sisällysluettelosivu:
’Well, the next thing we definitely want is an index: we click ”Insert” – ”Manual Break” – (chose style: ”Index” and activate ”Change Page number”, starting with ”1”) – ”Ok”.’

Kansilehden ja sisällysluettelosivun jälkeen on vuorossa asiatekstisivut:
’We add another ”Manual Break”, now choosing ”Default”, activating ”Change page number” again. Now we got the basic structure of our document: first page, index and space for our actual text.’

Kohtalaisen yksinkertaista kun tajuaa käyttää Stylistiä (Format -> Styles and Formatting (F11)) ja valita sieltä oikea välilehti, jossa sivutyypit on määritelty. Artikkelissa on myös selitetty lisäksi dokumentin muotoilusta yleisesti Writeria käyttäen ja näppärät kuvat selventävät eri toimintoja. Kannattaa lukea artikkeli, jos Writerin käyttö ei ole tuttua ja haluaa selvitä helpommalla dokumenttien kirjoittamisessa.

Lähiverkot-kurssin koodausprojekti

Eilen oli koulun Lähiverkot -erikoistyökurssin ohjelmointiprojektin demottamistilaisuus, jossa esittelimme toteuttamaamme Texas Hold’em -pokeripeliä. Edellinen viikko menikin projektin viimeistelyssä julkista testaamista ja esittelyä varten, mutta hommat saatiin valmiiksi ajoissa ja pokerikin toimii. Kurssin kahden muun ryhmän toteuttamat Scrabble -tyylinen Circus-peli ja Uno-peli Bruno olivat myös esiteltävinä. Vaikka aina pitää vetää hieman kotiinpäin, oli oman ryhmämme Texas Hold’em -peli tässä vaiheessa viiimeistellyin niin pelin kotisivuineen, grafiikoineen kuin pelattavuudeltaan.

Kurssilla toteutetut pelit ovat julkisessa testauksessa kuukauden ajan, jolloin tietenkin vielä tekemättömät ominaisuudet kuten palvelimen hallittu alasajo toteutetaan ja löydetyt bugit liiskataan. Bruno-ryhmän peli oli kohtalaisen toimiva, mutta Circus-ryhmän toteutus oli hieman buginen eikä pelaamisesta oikein tullut mitään. Oman ryhmäni pokeripelistä korjailtiin vielä muutamat bugit hieman ennen demottamista ja muutamia pieniä bugeja lukuunottamatta on pokeripeli kohtalaisen valmis. Kurssin opintopistemäärään verrattuna on tunteja projektin parissa kulunut kyllä lähes tuplamäärä puhuttamattakaan tuntimääristä, joita palvelinpuolen ja clientpuolen koodaajat ovat projektiin upottaneet.

Texas Hold’em lan-edition pelimme sivut löytyvät osoitteesta http://verteksi.net/holdem/, josta voi ladata PokeriClientin Java Web Startilla ja liittyä pelaamaan pelipalvelimelle. Valitettavasti pelipalvelin näkyy vain LNET ja WLPR.NET verkkoihin. Sivuilla on myös ruudunkaappauksia itse pelistä.

Pelipalvelin on toteutettu C++:lla ja client-ohjelma on koodailtu Javalla. Muista käytetyistä ratkaisuista voi todeta Java Web Startin olevan kyllä kätevä menetelmä tuollaisen kehittyvän peliprojektin jakamiseen, sillä pelin uusin versio tarkastetaan ja ladataan tarvittaessa uudestaan palvelimelta. Vaikka PokeriClient on kooltaan pari megaa, ei se nopeassa lähiverkossa tuota ongelmia.

Kehitysympäristönä sekä Javan että C++:n koodaamiseen käytettiin Eclipseä, joka osoittautui ihan toimivaksi ratkaisuksi. Eclipsen CVS-liittymät ja kaikki kätevät ominaisuudet helpottivat kyllä koodaamista isommassa ryhmässä. Lähinnä itsellä oli ongelmia Eclipsen kaatuilusta 64bittisessä Linuxissa, mutta muilla ryhmän jäsenillä ohjelma toimi ihan hyvin Windowsissa ja Linuxissa. Ehkäpä ongelmana oli taas se perinteinen 64bitin kirous.

Kurssia on jäljellä vielä noin kuukausi, jonka aikana projekti pitäisi viimeistellä valmiiksi dokumentoinniltaan, koodiltaan ja kaikkien projektiin liittyvien asioiden suhteen. Valmiin tuotoksen julkaisemisesta jollain avoimen lähdekoodin lisenssillä ei ole vielä tehty päätöksiä, vaikka siitä ilmeisesti saisikin lisäpisteitä (joka tuntuu hieman asiaan pakottamiselta).