19.4.2016

Nostalgiatrippi 90-luvun alkuun

Jatketaan edelleen musiikkiteemalla kun vauhtiin on päästy. Triton in Void -projektin toisena biisinä miksailin slowarin, jonka sanoitus pyytää muistamaan menneen. Tähän Remember Yesterday -biisiin liittyy hyvässä muistissa olevia muistoja ja vaiheita, aivan kuin hyvään nostalgiatrippiin pitääkin. Tein biisin alunperin vuonna 1990 pianoa teinin raivolla takoen - niin kovasti kuulemma, että koko naapurusto kuuli milloin meillä musisoitiin. Muistan elävästi ahaa-elämyksen, joka syntyi kun ensimmäisen kerran huomasin G# vähennetty -soinnun sopivan mainiosti A-mollista menevään kappaleeseen. Vaikka kaikki muut osiot syntyivät sen jälkeen helposti, oli sopivan alkuteeman tekeminen työn ja tuskan takana. Biisiä on aloitettu vuosien saatossa jos jonkinlaisten viritysten pohjalta, mutta vasta viime vuonna onnistuin soittamaan, puolittain vahingossa, itseäni miellyttävän alkuteeman. Se ei loppujen lopuksi vaatinutkaan kuin pientä muuntelua A-osan teemaan ja neljännesvuosisadan aikaa.

Sanoitusta on väännetty milloin yöllä ruutupaperille tuhrustaen, milloin lukion ensimmäisillä englannin tunneilla opettajalta piilotellen. Kyseisellä opettajalla oli tapana kopioituttaa englannin sanontoja tai rakenteita taululta tuntivihkoon ja juuri sinä päivänä hän esitteli muodon "just about to" joka pääsi välittömästi sanoitukseen. Tietojenkäsittelyn opintojani aloitellessani muutamia vuosia myöhemmin pitkänlinjan englannin opiskelijakämppikseni korjasi sanoituksen virheitä, mutta luultavasti sain lisättyä siihen uusia virheitä myöhemmin. Yksittäisen lauseen muutin vielä juna-asemalla laulunauhoituksiin lähtiessäni, noin 25 vuotta alkuperäistä sanoitusta myöhemmin. Mutta olkoot sanat nyt tuossa - ainakin niin kauan kun tulee pakottava tarve niitä taas muuttaa :)

Rememberin tempo on aina ollut keskustelun ja väittelyn aihe. Kun biisi nauhoitettiin joskus 90-luvun loppuvuosina bändin soittamana 8-raitatekniikalla, niin tempo oli huomattavasti tätä versiota nopeampi. En itse päässyt pohjien nauhoitukseen paikalle, ja kun kuulin pohjat ensimmäisen kerran niin kommentti oli luultavasti "ei [sensuroitu] tämä näin nopea voi olla". Pojat olivat sovittaneet pohjan toimivaksi ja jykeväksi, mutta omaan näkemykseeni verraten liian nopeaksi. Tempoa taidettiin itse asiassa analogitekniikalla vähän hidastaakin, mutta paljoa siihen ei tuolloin voinut vaikuttaa. Itse aloitin biisin myöhemmin keikoilla huomattavasti hitaammin ja sain puolestani muilta palautetta, että "ei se [sensuroitu] voi noin hidas olla". Eräs bändin ulkopuolinen kaveri onkin nimetty viralliseksi Rememberin tempomestariksi: hänellä on suurin päätösvalta siihen mikä on biisin oikea tempo. Nyt kun itse nauhoitin biisiä uusiksi, päätin noudattaa biisintekijän omaa visiota ja soitin homman sisään hitaalla temmolla. Sain tempomestarilta lähes synninpäästön, sillä hän totesi temmon olevan melkein - mutta ei kuitenkaan täysin - oikein. Hitaampi tempo toki aiheutti myös sen, että nopeammalle temmolle kirjoitettu kitarasoolo ei kuulostanut yhtä irtonaiselta ja eläväiseltä joten sitä pitikin tässä versiossa ryydittää hieman pianolla.

Paljon muistoja olisi kerrottavana, mutta lienee parasta että päätän tarinan tähän ja tarjoan sinulle äänimatkan 90-luvun alun varkautelaiseen hardrockiin, tosin uudelleen sovitettuna ja nykyaikaisilla vempeleillä kotikonstein nauhoitettuna. Muistathan sinäkin eilisen?


13.4.2016

Triton in Void -projektin ensimmäinen pulla uunista

Musiikki on mielenkiintoista. Se vie mukanaan ja huomaamatta kuluu tunti jos toinenkin kuunnellessa, soittaessa, nauhoittaessa tai vaikkapa miksatessa. Kirjoitin aiemmin, että innostuin viime vuonna pitkästä aikaa nauhoitushommista ja nyt aikaa onkin palanut ehkä vähän liiankin kanssa kyseiseen aktiviteettiin. Onneksi perhe ymmärtää, iso kiitos siitä heille. On se kuitenkin melko palkitsevaa, kun saa vuosikausia takaraivossa muhineen, ja muutaman kerran välillä jo unohdetun, melodiapätkän ikuistettua.

Perustimme kavereiden kanssa 1989 nuorina teinipoikina Triton-nimeä kantaneen hard rock -bändin. Bändi keikkaili jonkin verran ja vuosien saatossa nauhoitetiin muutama demokin ja yksi vinyylisingle. Homma lopahti - tai oikeastaan hyytyi - porukan muuttaessa eri puolille Suomea joskus 90-luvun alkupuolella. Tai onhan Triton edelleen hengissä, mutta hyvin kevyellä toiminnalla. Ei siinä ehdi hirveästi kiertueväsymystä tulla kun viimeinen keikka oli vuonna 2014 ja sitä edellinen vuonna 2006. Nyt tosin jotain erikoista on ilmassa kun keskusteluissa on ollut heittoja keikasta tulevalle kesälle, siis alle kaksi vuotta edellisestä. Ja ehkä pitäisi yhdet treenitkin vääntää sitä ennen. Huh, meinaakohan stressiä pukata. Nauhoittamattomia biisejä Tritonilla on jonkin verran varastossa, osa täysin valmiina, osa hieman puolitekoisena. Vielä kun joku muistaisi, että miten ne menevät.

Iltojen ja öiden hämärässä aloin työstämään joitain näistä vanhoista biisistä: syntyi uudet versiot Wings of Sadnessista ja Remember Yesterdaysta. Ensimmäinen on vuodelta 1989 ja jälkimmäinen vuodelta 1990. Muokkasin myös melko kovalla kädellä 90-luvun lopulta olevaa The Dawn -biisiä, jota ei luultavasti ehditty koskaan oikeasti soittaakaan Tritonin kanssa. Kaiken kokeilun lomassa syntyi myös yksi kokonaan uusi, jyrämäinen kappale nimeltä Darkest hours. Kun Tritonin laulaja Jarkko Kolehmainen innostui laulamaan nämä teokset ja kitaristi Jarno Hämäläinen otti vierailullaan kitaran käteen ja soitti muutamia puuttuvia osia ja/tai sooloja noihin biiseihin, saivat ne lopullisen, uusitun muotonsa. Ajattelin julkaista nämä biisit Creative Commons -lisenssillä netissä ja nimesin projektin nimellä "Triton in Void". Viitatkoon se bändin tyhjäkäyntiin ja vaikkapa siihen että nykyisin musiikin tekemiseen ei tarvita kalliita studioita ja laitteistoja, riittää kun on pari soitinta ja tietokone.

Ensimmäinen julkaistu biisi on perinteinen ja suoraviivainen hard rock -kappale nimeltä Wings of Sadness. Sovitus on melko erilainen kuin 80-luvun lopulla, mutta toisaalta aika samantapainen kuin se oli viimeksi soitettuna joskus 90-luvun lopulla. Tämä on samalla ensimmäinen miksaukseni, johon käytin hieman energiaa ja aikaa. Onhan tulos soundien osalta parempi kuin aiemmassa Elvin elämää -biisissä, mutta eihän se edelläänkään mitään pro-tasoa lähelläkään ole. Eikä tarvitsekaan olla, pääasia on että biisi on ikuistettu kirjoihin ja kansiin. Tai siis ykkösiksi ja nolliksi tiedostoon.

Wings of Sadness löytyy MP3-tiedostona osoitteesta https://soundcloud.com/user-819836386/wings-of-sadness. Värkkäsin puoleen tuntiin myös "videon" YouTubeen, joten tässä CC-kuvilla ryyditetty vuoden 2016 versio Wings of Sadnessista.



Nyt miksauksessa on kaunis Remember Yesterday -slowari. Biisi, joka on saanut ravintolaan rokkikonsertin aikana eksyneet vanhuksetkin tanssimaan. Sekin tulossa lähiaikoina jakoon, joten stay tuned jos tämän tyyppinen ainkin 20 vuotta pois muodista ollut musiikki yhtään kolahtaa sinuun.

17.12.2015

Musiikkia omaksi iloksi (ja toisten kauhistukseksi)

Tilasin noin vuosi sitten Thomannilta M-Audion Keystation 61 -midi-keyboardin ja iltapuhteiksi silloin virittelin työpöytäkoneelleni pienimuotoista musiikkisoftien kokoelmaa. Hommassa olikin jonkinlainen savotta - aina realtime kernelin asentamisesta musasoftien konfigurointiin - kun Linux ei tarjonnut asiaan mitään helppoa plug'n'play -meininkiä. Yksittäisiä pimputtelusessioita pidemmälle asia ei silloin kuitenkaan jostain syystä edennyt.

Keväällä työpaikan leasing-kannettava meni vaihtoon ja päätin kaikista antipatioistani huolimatta ottaa oman Vaio Pron kaveriksi Macbook Pron. Aikani mäkkiä pyöriteltyäni (käyttis nyt on mitä on, mutta rauta - etenkin Retina-näyttö - on mainio) tulin lopulta testanneksi Keystationia koneen mukana tulleella ilmaisella GarageBandilla. Se mikä Linuxin musasoftissa on suht' monimutkaista ja työlästä, on GarageBandissa (vähän liiankin) helppoa ja intuitiivista. Kesän kynnyksellä töiden vähentyessä alkoi musiikkia syntymään; ensin pelkästään midi-näppäimistöllä soitettuna Jaakko Tepon savolaista huumorimusiikkia taustanauhaksi Antero Tuovisen kesäkeikalle, mutta melko pian käsiin päätyi paikallisesta musiikkiliikkestä Focusrite Scarlett 2i2 ja biiseihin alkoi sen myötä ilmestyä sekä akustista että sähköistä kitaraa.

Ensimmäinen näistä nauhoituksista oli Elvin elämää, joka on uusintapainos ensimmäisen kerran vuonna 1990 neliraiturille nauhoitetusta hupailupunkista. Nauhoituskaluston tasokin oli biisiin sopivaa "kotipolttoista" maininkiä: kitarana epävireinen noin 20 euron hintainen Chester ja huutomikkinä Playstation 2 -pelikonsolin singstar-mikki. Elviin tuli erään aamukahvin aikana päivitettyä kertosäkeistö ja sanat, mutta biisin ronski ote ja tatsi säilyi mielestäni uusintaversiossakin melko hyvin. Soitannot meni muuten helposti sisälle, mutta toisen säkeistön lopun huutoölinää piti ottaa jokusen kerran uusiksi ennen kuin siihen sai sellaisen "kitarisat-vaihtoon"-möyrinnän.

Elvin jälkeen taltioin muutamia "oikeita ja kunnollisia" teoksia, kuten esimerkiksi J.S.Bachin Invention 13 BWV 784:n mutta toki säväkillä rumpukompeilla ryyditettynä. Lisäksi kesän aikana digitaalisen ikuistuksen sai kolme noin 25-vuotta vanhaa hard rock -biisiä, ja syntyipä vähän kuin vahingossa myös yksi uusi heavybiisi ja yksi iskelmällinen suomipop-teos (josta ei kylläkään vielä tiedä miksi se lopulta muotoutuu). Näihin biiseihin on vielä laulut nauhoittamatta kun niitä ei viitsi pilata omalla, kaikkien nuottien vierestä menevällä raakkumisella. Alustavasti laulujen nauhoitus on sovittu kaverin kanssa ensi vuoden alkupuolelle. Nyt on kalustoonkin on panostettu aavistuksen Elvi-nauhoitusta enemmän, kun GarageBand on korvautunut Logic Pro X:llä (GarageBandin isoveli) ja Chester Epiphonen Les Paul Standardilla. Toki on sanottava, että ei taso pelkällä kaluston päivittämisellä parane, mutta onneksi eräs musiikkituotantoon erikoistunut kollega on luvannut antaa oppitunnin miksauksesta ja masteroinnista, kun tähän asti olen mennyt puhtaalla "ei-mitään-hajua-kokeillaan-tuota-namiskaa" -meiningillä.

Samalla "väännetään-väkisin-ilman-minkäänlaista-osaamista"-asenteella tuli myös pyöräytettyä elämäni ensimmäinen "video". Liekö kyse ollut kuumepotilaan hourailusta vai mistä, mutta kun siitä tuli yhtä huono kuin biisistäkin niin olihan se aivan pakko julkaista, vaikka itse biisiäkään ei ole vielä kunnolla miksattu eikä masteroitu. Joten dear ladys and gentlemans, you have been warned, tällaista on Elvin elämä:


Tulevaisuudessa mahdollisesti jotain vakavampaa ja totisemmin tehtyä. Nyt kaikille oikein mukavaa joulun aikaa ja hyvää tulevaa vuotta!

28.2.2014

Yöllistä nörttipuuhastelua

Blogi ja sen päivittäminen on näköjään ollut unohduksissa pitkään, mutta jospa sitä joskus
muistaessaan muutaman sanan yrittäisi kirjoitella. Ja heti vedetään pari henkäystä taaksepäin: ei kannata odottaa mitään huimaa kerran kuukaudessa -tahtia tulevaisuudessakaan. Tässä artikkelissa ajattelin muutamalla sanalla kuvata muutamia yöpuuhasteluina omaan käyttöön syntyneitä modifikaatioita, joilla ei ole mitään käytännön merkitystä, mutta ehkä mieltä piristävä vaikutus kuitenkin. Mikäli haluat testailla näitä, ole hyvä vain.

Säätila työpöydälle


Vaikka nörtti ei välttämättä osaa katsoa vallitsevaa säätä ikkunasta - puhumattakaan siitä että pistäisi nenän ulos - voi hän olla kiinnostunut säätilasta ja -ennustuksista, muutenkin kuin pelkästään Kerttu Kotakorven ja Mette Mannosen vuoksi. Selaimeen Ilmatieteenlaitoksen tai vastaavien sivuja tulee kuitenkin hyvin harvoin auottua, joten tärkein sääinformaatio suoraan työpöydällä näytettynä on toimiva ratkaisu. Itse olen tiiraillut vuosien aikana sääennusteita Xfcen ja Gnomen plugineista ja sopivasti modifioidusta Dasbaerin Ilmatieteenlaitoksen sivuilta parsimasta Conkysta. Taannoin Arch Linuxin foorumeilla surffailesssani silmiini sattuisatya164:n Yahoon Weather API:a hyödyntävä Conky-skripti, joka vaikutti mainiolta korvaajalta silloin tällöin virheellistä sääinformaatiota Norjan ilmatieteenlaitokselta välittäneelle Xfcen Weather-pluginille.

Halusin kuitenkin sovittaa sääskriptin yhtenäiseksi työpöytäni ja olemassa olevaan Conky- skriptin kanssa (kuva alla) sekä lisätä siihen tietoa esimerkiksi päivänpituudesta, tuntuu kuin -lämpötilasta ja ilmanpaineen vaihtelusta. Lisäksi Yahoon Weather API palauttaa osan tiedoista jenkkiformaatissa (mm. auringon nousu- ja laskuajat sekä tuulen nopeus), joten tiedot oli myös  konvertoitava Suomessa käytettäviin yksiköihin. Koska konvertointi vaati pientä laskentaa, päädyin erilliseen komentotulkkiskriptiin jota kutsutaan Conkysta. Bash ei pysty ilman pieniä kikkailuja käsittelemään liukulukuja ja koska olen itse jokin aika sitten siirtynyt käyttämään komentotulkkina Zsh:ta, oli se luonteva vaihtoehto. Sinällään skriptissä ei ole muuta Zsh-spesifistista kuin laskenta float-luvuilla.

Säätiedot integroituna työpöydän Conkyyn

Lämpöasteita helmikuussa


#!/usr/bin/zsh
# Perustuu satya164:n Conky-Google-Now -määrittelyihin

woeid=12590704 # Jyväskylän woeid
ay=227 # säätietojen sijoittaminen conkyn y-akselille

# hae sääennuste
curl -s "http://weather.yahooapis.com/forecastrss?w=$woeid&u=c" -o ~/.cache/weather.xml

# lue muuttujiin
temperature=`grep "yweather:condition" ~/.cache/weather.xml | grep -o "temp=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
weathertext=`grep "yweather:condition" ~/.cache/weather.xml | grep -o "text=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
speedkmh=`grep "yweather:wind" ~/.cache/weather.xml | grep -o "speed=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
feelslike=`grep "yweather:wind" ~/.cache/weather.xml | grep -o "chill=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
humidity=`grep "yweather:atmosphere" ~/.cache/weather.xml | grep -o "humidity=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
pressure=`grep "yweather:atmosphere" ~/.cache/weather.xml | grep -o "pressure=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
rising=`grep "yweather:atmosphere" ~/.cache/weather.xml | grep -o "rising=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`

# tuulen nopeus m/s
speed=`printf "%.1f" $(($speedkmh * 0.28)) | sed -e "s/,/./g"`


# auringon nousu ja lasku suomalaisessa muodossa
sr=`grep "yweather:astronomy" ~/.cache/weather.xml | grep -o "sunrise=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
sunrise=`date -d "$sr" +%H:%M`
ss=`grep "yweather:astronomy" ~/.cache/weather.xml | grep -o "sunset=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"`
sunset=`date -d "$ss" +%H:%M`

# päivän pituus
srsec=`date -d "$sr" +%s`
sssec=`date -d "$ss" +%s`
diff=$(($sssec-$srsec))
dlen="($(($diff / 3600))h $(($diff % 3600 /60 ))m)"

# ennuste
high1=`grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2'`
low1=`grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2'`
high2=`grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3'`
low2=`grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3'`

# kopio oikeat kuvat
cp -f ~/.config/conky/.conky-google-now/$(grep "yweather:condition" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*").png ~/.cache/weather.png
cp -f ~/.config/conky/.conky-google-now/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2').png ~/.cache/weather-tomorrow.png
cp -f ~/.config/conky/.conky-google-now/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3').png ~/.cache/weather-tomorrow2.png

# conkylle menevä tulos
echo "\${color white}\${font Caviar Dreams:size=18}\${alignr}$temperature°"
echo "\${voffset -26}\${font caviar dreams:size=9}$weathertext"
echo "\${font}\${voffset -20}\${alignr}\${image ~/.cache/weather.png -p 160,$ay -s 40x40}"
echo "\${image ~/.config/conky/.conky-google-now/wind.png -p 0,$ay -s 15x15}\${goto 35}\${voffset 10}$speed m/s ($feelslike°)"
echo "\${image ~/.config/conky/.conky-google-now/humidity.png -p 0,$(($ay+15)) -s 15x15}\${goto 35}\${voffset 2}$humidity%"
echo "\${image ~/.config/conky/.conky-google-now/pressure.png -p 0,$(($ay+29)) -s 15x15}\${goto 35}\${voffset 2}$pressure hPa \${font Arial:size=10}\${if_match $rising == 1} ▲\${else}\${if_match $rising == 2} ▼\${else}\${if_match $rising == 0} ~\${endif}\${endif}\${endif}"
echo "\${font}\${image ~/.config/conky/.conky-google-now/moon.png -p 0,$(($ay+46)) -s 15x15}\${goto 35}\${voffset -2}$sunrise - $sunset $dlen"
echo "\${image ~/.cache/weather-tomorrow.png -p 0,$(($ay+60)) -s 20x20}\${image ~/.cache/weather-tomorrow2.png -p 115,$(($ay+60)) -s 20x20}"
echo "\${voffset -10}\${goto 35}$low1° / $high1°\${alignr}$low2° / $high2°"


Mikäli haluat kokeilla skriptiä, niin lataa satya164:n Conky-Google-Now -paketti ja pura siitä .conky-google-now -kuvahakemisto (muita tiedostoja ei tarvita) hakemiston ~/.config/conky alle. Sijoita sitten yllä oleva conkyweather-skripti joko ~/.config/conky -hakemistoon tai esim. ~/bin -hakemistoon, anna sille suoritusoikeus (chmod +x conkyweather) ja vaihda woeid-muuttujan arvo vastaamaan omaa sijaintiasi (Google auttaa). Skriptin kutsuminen Conkysta on helppoa: oikeaan kohtaan konffitiedostossa sijoitettu ${excepi 1800 conkyweather} päivittää säätiedot Conkyyn puolen tunnin välein (1800 sekuntia on puoli tuntia). Skripti sitoo säätietojen ulkoasun yllä olevan screenshotin mukaiseksi, mutta voit määritellä säätietojen sijainnin pystyakselilla muuttamalla ay-muuttujan arvoa. Suurempien muutosten tekeminen vaatii skriptin loppuosassa (alkaen kommentista "Conkylle menevä tulos") olevien Conky-määrittelyiden muuttamista. Huomaa,että skriptissä käytettäväksi kirjaisimeksi on määritelty Caviar Dreams - mikäli sinulla ei ole kyseistä fonttia tai et pidä siitä, muuta Caviar Dreamsiin viittaavat kohdat haluamaksesi. Loppukommettina todettakoon, että myös Yahoon Weather API näyttää suurimmaksi osaksi lusmuilevan ilmanpaineen ilmoittamisessa.


Pari Arch Linux -teemaa SLiM:iin


SLiM on yksinkertainen ja suht' koruton login manager -ohjelma, jonka tehtävänä on huolehtia käyttäjän sisäänkirjautumiseen liittyvistä toiminnoista. Vaikka SLiM:n ja Systemd:n yhteiselossa on pientä kitkaa, en ole nähnyt suurta tarvetta vaihtaa raskaampiin login managereihin yksityiskäytössä olevissa koneissa. SLiM:n yksinkertaisuuden voi havaita jo tarkastelemalla sen manuaalia, jonka pohjalta konfigurointi on helppoa ja nopeaa.

SLiM:lle löytyy useita erilaisia teemoja (esim. Arch Linuxille on distrospesifistisiä teemoja paketissa archlinux-themes-slim), mutta kun joku yö sattuu olemaan sopivasti ylimääräistä aikaa eikä muuta järkevää tekemistä, niin tokihan sitä tulee parit omat teemat värkättyä ettei vaan tarvitse nukkumaan mennä. Itse graafisesti heikohkona tapauksena otin muutaman mukavan taustakuvan, modifioin niitä hieman Gimpillä (punaiseen Arch Linuxin logo ja vähän efektejä + paneliin musta mutta läpinäkyvä tausta ja siniseen tekstuurin monistamista, värihäivytyksiä yms) ja muokkasin teeman konffitiedostoa. Nopeaa ja vaivatonta. Alla omat värkkäykseni.







Koska nämä ovat omaan käyttöön tarkoitettuja viritelmiä, en ole tehnyt niistä mitään paketteja. Mikäli haluat kokeilla teemoja itse, pistä postia tulemaan niin laitan filet.

13.8.2013

Citrix Receiver Arch Linuxiin

Kesällä ostamani uuden kannettavan myötä jouduin taistelemaan jälleen Citrix Receiverin asennuksen kanssa. Ei se nytkään ihan suorilta lähtenyt tulille, vaikka aika paljon helpommalla selvisin edelliskertaan verrattuna. Arch Linuxin wikistä löytyi hyvät suuntaviivat, joita soveltamalla homma onnistui. Citrix on itselleni tuiki tarpeellinen työpaikan erityissoftiin ja -palveluihin kiinni pääsemiseksi, joten ajattelin nyt kirjata ylös toimenpiteet seuraavaa(?) kertaa varten.

Käytettäessä 64-bittistä Linux-versiota täytyy ennen Citrix Receiverin asennusta tehdä pienoisia valmisteluja. Asenna seuraavat 32-bittiset paketit Archin pakettivarastosta (multilib-repositoryn täytyy olla enabloituna):

nspluginwrapper, lib32-libxmu, lib32-alsa-lib, lib32-gcc-libs, lib32-libxft, lib32-gtk2 ja lib32-libxdamage

Myös ca-certificates -paketti on tarpeellinen, jos se ei ole jo valmiiksi asennettuna. Lisäksi AUR:sta tulee asentaa lib32-alsa-lib, lib32-gtk2, lib32-libvorbis, lib32-libxp, lib32-libxpm ja lib32-openmotif.

Gcc, gcc-libs ja binutils ovat ristiriidassa niiden multilib-vastineiden kanssa, joten joudut poistamaan paketit ennen AUR-pakettien asentamista. Muista asentaa alkuperäiset paketit uudelleen AUR-pakettien asentamisen jälkeen.

Esivalmistelujen jälkeen lataa Citrix Receiver for Linux (x86-versio, tar.gz -paketti) ja
pura se (tar zxvf linuxx86_12.1.0.203066.tar.gz). Siirry uuteen alihakemistoon linuxx86, avaa hinst-skripti tekstieditoriin ja muokkaa (noin rivillä 1233)
rivi echo $Arch|grep "i[0-9]86" >/dev/null muotoon  echo $Arch|grep "86" >/dev/null (kiitos vinkistä), jotta asennus ei kaadu arkkitehtuurin tunnistusongelmaan.

Suorita seuraavaksi softan asentava setupwfc-skripti pääkäyttäjänä. Asennuksen jälkeen selainpluginin pitäisi olla toiminnassa - voit varmistua asiasta katsomalla, että selaimen plugin-listasta (Chromiumissa chrome://plugins) löytyy Citrix Receiver for Linux. Mikäli selain valittaa etäsoftan käynnistyksen yhteydessä puuttuvista sertifikaateista, kopio ca-certificates -paketin asentamat sertifikaatit vielä ICAClientin omaan hakemistoon komenolla

# cp /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts

Tämän jälkeen homman pitäisi olla kunnossa. Mikäli käytät jotain muuta selainta, voit joutua tekemään vielä lisäkikkailuja.

14.3.2013

Game on


Peliala on Tekesin artikkelin mukaan viihdeteollisuuden nopeimmin kasvava osa. Alan hurjaa kasvua selittää etenkin mobiilipelaamisen hurja suosio. Myös Suomen peliala on ollut viime vuosina kovassa nousussa Angry Birdsin ja muiden menestystuotteiden myötä, ja kasvun odotetaan jatkuvan tulevaisuudessakin. Media on rummuttanut kovaan ääneen peliteollisuutta vaivaavaa osaajapulaa.

Suomen koulutuskenttä on hiljalleen heräänyt ja kuunnellut korvat höröllään pelialan toimijoiden toiveita. Nykyisin pelialalle valmistavia opintoja voi suorittaa jossain laajudessa useissa oppilaitoksissa: Kajaanin AMK:n tietojenkäsittelyn koulutusohjelma lienee alan pioneeri Suomessa ja myöhemmin esimerkiksi Karelia ammattikorkeakoulu ja Tampereen AMK ovat seuranneet samaa polkua. Jyväskylässä pelikoulutusta on tarjottu 15 opintopisteen verran JAMK:n ohjelmistotekniikan koulutusohjelmassa. Myös paikallisella yliopistolla on pelikehitykseen liittyvää koulutusta ainakin nuorten peliohjelmointi -kurssin muodossa.

Myös JAMK:n tietojenkäsittelyn koulutusohjelma (Tiko) on päättänyt hypätä mukaan pelilaivaan. Asia on noteerattu ja uutisoitu mediassa monella tavalla (esimerkiksi Tietokone, MB, 3T, Yle ja Tietoviikko). Uutissähkeisiin tarkennuksena voisi mainita, että kyse ei ole uudesta koulutusohjelmasta, vaan siitä että osa opiskelijoista voi suunnata osaamistaan pelikehitykseen ja -liiketoimintaan koulutusohjelman tarjoaman koulutuksen puitteissa. Tikon koulutuksen fokus on WWW-sovelluskehityksessä, ja opiskelijoille tarjottava mahdollisuus tuottaa web- ja mobiilipelejä tukee koulutusohjelman linjaa mukavasti. Pelikehityksestä kiinnostunut opiskelija voi toteuttaa ensimmäisen vuoden perusopintojen harjoitustöinä pieniä pelejä ja osallistua esimerkiksi valinnaiselle HTML5 Game Development -opintojaksolle. Toisen vuoden opinnot ovat 80 prosenttisesti projektiopintoja (ruotsilla, matematiikalla ja markkinoinnilla irrottaudutaan vuoden saatossa mukavasti projektitohinasta), joissa pelikehitykseen suuntautuvat opskelijat keskittyvät kehittämään pelejä myytäväksi valittavia jakelukanavia hyödyntäen. Toisen vuoden projektiopintojen jälkeen pelikehityksestä kiinnostuneet opiskelijat jatkavat pääsääntöisesti yhtenäisenä ryhmänä peli-ideoidensa työstämistä myytäviksi tuotteiksi. Kiinnostaako? Aiheesta voi lukea lisää Tikon blogista.

Pelailua kotioloissa

Peleistä puhuttaessa ei voi ohittaa Steamin ilmestymistä Linuxille. Pingviini-yhteisö kiitti ja kumarsi. Testasin itsekin softaa pikaisesti (löytyy Arch Linuxin virallisesta pakettivarastosta) ja kyllähän se näytti toimivan. Vanhana Football Manager ja Enemy Territory -fanina huomasin kuitenkin varsin pian asentavani into pinkeänä kymmenen vuoden takaista Enemy Territoryä. Edellisestä pelikerrasta oli ehtinyt kulumaan pari vuotta ja muistelen joutuneeni tuolloin taistelemaan äänien kanssa. Olikin iloinen yllätys, kun muutamasta sekalaisesta lähteestä kalastamani vinkin perusteella kirjoitettu skripti toimi ja kaiuttimista jyrähti ET:n tarttuva alkutunnari.

Jos haluat itsekin haistella ja maistella nostalgiaa, niin tallennna oheinen koodipätkä tiedostoon ja anna siihen suoritusoikeudet.

#!/bin/bash
modprobe snd_seq_oss
modprobe snd_mixer_oss
modprobe snd_pcm_oss
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss

Ennen pelisessiota aja tiedosto pääkäyttäjän oikeuksin (su -c "./tiedosto") ja starttaa sen jälkeen ET normaalisti peruskäyttäjän oikeuksilla. Jos yllä oleva ei toimi, kannattaa tsekata et-sld-sound. Äläkä jahtaa sitten E!n0:a!

14.2.2013

Mitä tapahtui eilisille urheilusähkeille?


Seuraan kiinnostavia nettisivustoja lähinnä RSS-syötteiden kautta, koska se on helppoa ja vaivatonta, eivätkä mielenkiintoiset artikkelit pääse karkaamaan silmien ohitse. Koska syötteitä pitää voida lukea usealta koneelta, olen käyttänyt Google Readeria - tosin web-käyttöliittymän sijasta erillisen lukuohjelman kautta. Omaan käyttööni soveltuvan lukuohjelman kanssa onkin ollut pienoista hakemista: vaatimuksena ohjelmalle on siis toimiva Google Reader -synkronointi, sisäinen selain, helppo keino avata artikkelit ulkoiseen selaimeen ja bonuksena mahdollisuus tallentaa artikkelit Diigoon.

Liferea on sopivan simppeli ja kevyt GTK-sovellus, mutta siinä oli aikoinaan jonkinmoista tahmaamista ja Google Readerin synkronointiin liittyviä ongelmia. Vaihdoin näiden ongelmien vuoksi Liferean Java-pohjaiseen (brrr, kylmiä väreitä...) RSSOwliin, joka tarjoaa sujuvan Google Reader -synkroinoinnin ja monipuoliset ominaisuudet. RSSOwl löytyy Arch Linuxin AUR:sta, mutta jokaisen version yhteydessä saa varautua pieneen taisteluun sovelluksen saamiseksi toimintakuntoon. Uusin versio aiheutti itselleni erikoisia kaatumisia, minkä vuoksi päätin tarkistaa Liferean nykyhetken tilanteen.

Asensin Liferean kehitysversion (liferea-git) AUR:sta ja se tuntui toimivan ihan kelvollisesti. Sovellus on portattu GTK3:lle, mikä tarkoittaa esim. Xfce:ssa ja Openboxissa rumaa käyttöliittymää, mikäli käytössä ei ole GTK3-teemaa. Kuten aiemmassa artikkelissa kirjoitin, pidän itse erityisesti Murrine-Gray -GTK2-teemasta eikä sille ole GTK3-vastinetta, joten ratkaisin taannoin ongelman luomalla hakemiston ~/.config/gtk-3.0 ja lisäämällä tiedoston settings.ini seuraavin asetuksin:

[Settings]
gtk-theme-name = Zukitwo
gtk-icon-theme-name = fs-icons-gnome-style
gtk-fallback-icon-theme = gnome
gtk-font-name = Droid Sans 10

Yllä olevissa asetuksissa teemaksi on määritelty siis Zukitwo, jota käytetään GTK3-ohjelmille. Tämä ratkaisu toimii mainiosti Openboxissa, mutta ei Xfce:ssä. Xfce:llä homman saa toimimaan ainakin kopioimalla jostain olemassa olevasta GTK3-teemasta gtk-3.0 -hakemiston Xfce:ssä käytettävän GTK2-teeman alle. Itse kopioin siis /usr/share/themes/Zukitwo -hakemiston alla olevan gtk-3.0 -hakemiston /usr/share/themes/Murrine-Gray -hakemiston alle ja muokkasin settings.ini -tiedoston gtk-color-scheme -kohdassa määritellyt värit vastaamaan Murrine-Gray -teeman värejä. Toimii oikein nätisti. Jos muokattua teemaa haluaa käyttää myös Openboxissa, tarvitsee päivittää vain settings.ini -tiedoston gtk-theme-name -rivi Murrine-Gray:ksi.

Mutta takaisin Lifereaan... Nopean testauksen jälkeen havaitsin, että Liferean Google Reader -synkroinointi ei toimi edelleenkään toivomallani tavalla. Liferea hakee päivitettäessä vain 20 viimeisintä artikkelia eli käytännössä aamulla päivitettäessä esim. edellisen illan urheilusähkeet jäävät usein tulematta ja sehän ei sitten kerta kaikkiaan sovi. En alkanut asiaa sen kummemmin tutkimaan, vaan päätin kokeilla vanhassa bugiraportissa tarjottua korjausta, jossa päivitettävien artikkeleiden määrä kovakoodataan. Patchaus onnistuu AUR:sta käännettäessä lisäämällä PKGBUILD:iin ennen riviä autoreconf -i komento sed -i "s/www.google.com\/reader\/atom\/feed\/%s/www.google.com\/reader\/atom\/feed\/%s\?n=200/g" src/fl_sources/google_source_feed.c.

Näiden toimenpiteiden jälkeen Liferean Google Reader -synkroinointi toimii halutulla tavalla, mutta on tosin todettava, että aika hitaasti se päivittää syötteitä. Tutkaillaan nyt hetken ajan, että jatketaanko tällä vai asennetaanko RSSOwl takaisin. Vai löytyisikö muita parempia vaihtoehtoja? Google Reader -synkroinointia ei löydy läheskään jokaisesta softasta ja uusista yrittäjistä esim. LightRead ei nappaa. Ehdotuksia otetaan mielellään vastaan.