Month: March 2008

  • [Ratkaisu] Alihakemistojen sisältämien tiedostojen määrien tulostaminen

    Ongelma
    Haluan listata komentoriviltä nykyisessä hakemistossa olevien alihakemistojen sisältämien tiedostojen määrän kunkin alihakemiston osalta.
    Ratkaisu
    for dir in *; do echo -n "$dir: " && echo $dir/* | wc -w; done
    Huomautus
    Ratkaisussa annettu komento ei erottele nykyisen hakemiston juuressa olevia tiedostoja varsinaisista alihakemistoista, vaan listaa nekin ikään kuin ne olisivat alihakemistoja, jotka sisältävät yhden tiedoston.
  • [Ratkaisu] DVD-levyllä olevan musiikkikappaleen eristäminen ja muuntaminen siirrettävään muotoon

    Lähtökohta
    Minulla on dvd, johon on sen toisena videoraitana tallennettu Godzilla ja Mothra -elokuva. Pakettienhallinnassa acidrip, mplayer, audacity, vorbis-tools ja id3v2 ovat asennettuna.
    Ongelma
    Haluan kuunnella elokuvan lopputekstien aikana soivan musiikkikappaleen ilman, että minun tarvitsee käyttää dvd-levyä tietokoneeni dvd-asemassa.
    Ratkaisu
    Irrotan loppumusiikin erilliseen tiedostoon MPlayeria käyttäen, trimmaan sen Audacityllä ja lopuksi muunnan tiedoston Ogg Vorbis -muotoon ja lisään siihen ID3-avainsanat.

    1. Irrotan loppumusiikin erilliseen tiedostoon MPlayeria käyttäen.
      1. Lataan dvd-levyn dvd-asemaan.
      2. Käynnistän Sovellukset → Ääni & video -valikosta AcidRip DVD Ripper -sovelluksen.
      3. Varmistan, että Video source -palstan Path-kentässä on dvd-asemani laitenimi (tässä tapauksessa /dev/dvd) ja painan Load-nappia.
      4. Valitsen Video source -palstalle ilmestyvältä listalta toisen videoraidan ja panen ylös sen toiseksiviimeisen kappaleen numeron, joka on tässä tapauksessa 20.
      5. Suoritan Päätteessä seuraavan komennon, jonka -chapter -parametrin arvona käytän edellisessä kohdassa ylöspanemaani kappalenumeroa:
        mplayer -vc null -vo null -ao pcm:file=mothra.wav \
        dvd://2 -chapter 20
    2. Trimmaan tiedoston Audacityllä.
      1. Käynnistän Sovellukset → Ääni & video -valikosta Audacity Sound Editor -sovelluksen.
      2. Avaan äsken luodun mothra.wav -nimisen tiedoston Audacityssä sen Tiedosto-valikon Avaa... -kohdan kautta.
      3. Leikkaan tiedoston alusta ja lopusta ylimääräisen datan pois.
      4. Lopuksi tallennan muutokset tiedostoon Tiedosto-valikon Export... -kohdan kautta.
    3. Muunnan tiedoston Ogg Vorbis -muotoon seuraavalla komennolla:
      oggenc -q 6 mothra.wav
    4. Lisään tiedostoon ID3-avainsanat seuraavalla komennolla:
      id3v2 mothra.ogg \
        -a "Akira Ifukube" \
        -t "Godzilla vs. Mothra: Rolling Titles/Ending" \
        -g 24 \
        -y 1992

    Tiedosto mothra.ogg sisältää tämän jälkeen elokuvan loppumusiikin ilman dvd:tä kuunneltavassa, siirrettävässä muodossa.

    Huomautus
    Kun loppumusiikin sijasta on kyse alkumusiikista, MPlayerille annettavan kappaleparametrin arvoon on hyödyllistä lisätä lopetuskappale, jottei tiedostoon tule elokuvan koko ääniraita. Esimerkiksi kahden ensimmäisen kappaleen irrottamiseksi -chapter -parametrin arvoksi annetaan 1-2.
  • Kapsille on hankittu uusia palvelimia kapasiteettia parantamaan. Käyttökatkot eivät ensimmäisen, ensi viikonloppuisen jälkeen ihan vielä ole ajankohtaisia, mutta niitäkin on sitten aikanaan tulossa.

  • A “cd ..” bookmarklet

    ../ is a bookmarklet for travelling up in the directory tree on any site. I had to toss it over to a separate page because WordPress would crap out with the JavaScript inside this post. If you have any comments, drop ’em in the comment box below.

  • [Ratkaisu] Tekstitiedoston merkistökoodauksen muuntaminen ISO-8859-15:stä UTF-8:aan

    Lähtökohta
    Olen avannut Päätteen. Kotihakemistossani on esimerkki.txt -niminen tekstitiedosto. Olen saanut selville, että tiedostossa käytetty merkistökoodaus on ISO-8859-15.
    Ongelma
    Haluan muuntaa tiedoston merkistökoodauksen ISO-8859-15:stä UTF-8:aan.
    Ratkaisu
    Merkistökoodauksen muuntaminen tapahtuu iconv-komennolla seuraavasti:

    iconv -f ISO-8859-15 -t UTF-8 ~/esimerkki.txt -o ~/esimerkki-utf8.txt

    Tämän jälkeen kotihakemistossani on alkuperäisen tiedoston rinnalla uusi tiedosto, esimerkki-utf8.txt, jonka tekstisisältö on sama kuin alkuperäisen tiedoston, mutta merkistökoodauksena on käytetty UTF-8:aa.

  • [Ratkaisu] Tekstitiedoston käyttämän merkistökoodauksen selvittäminen

    Lähtökohta
    Olen avannut Päätteen. Kotihakemistossani on esimerkki.txt -niminen tekstitiedosto.
    Ongelma
    Haluan tunnistaa tekstitiedoa luotaessa käytetyn merkistökoodauksen.
    Ratkaisu
    Merkistökoodauksen saa selville file ~/esimerkki.txt -komennolla.
  • Vein Blosxomia käyttävien linkkiblogieni uudistuksen luonnolliseen huippuunsa: kaikki linkit ovat nyt saman katon alla, ja yksittäiset “blogit” vain yhden ja saman linkkiblogin alakategorioita. Pienen RewriteRule-kikkailun ansiosta muutoksen pitäisi olla täysin läpinäkyvä vanhojen blogien tilaajille, eli vanhat osoitteet ohjataan huomaamatta uusiin vastaaviin.

    Vanhojen blogien ulkoasuja (mustavihreä, mustapunainen jne.) en ainakaan tässä vaiheessa onnistunut (teknisistä syistä) siirtämään uuden blogin vastaaville alakategoriasivuille. Voi olla että tutkin sitä mahdollisuutta uudestaan myöhemmin, mutta toisaalta ajatus useista erilaisista ulkoasuista yhdellä ja samalla blogilla tuntuu ainakin tällä hetkellä turhan hämäävältä teknisen haastavuuden lisäksi.

    Lisäys: Näyttää siltä, että skandinaavisten kirjainmerkkien koodauksessa on vielä jotain ongelmia: vanhojen merkintöjen ääkköset ovat kunnossa, mutta uusien sisältämät murjotaan tuusannuuskaksi jossain vaiheessa. Etsin parhaillaan ratkaisua tähän.

    Lisäys: Nyt merkistönkin pitäisi olla kunnossa. Ongelman aiheutti kaksinkertainen UTF-8-koodaus, joka tehtiin uusille merkinnöille: uudet merkinnät olivat lähtökohtaisesti (jo luotaessa) UTF-8-muotoisia, ja lisäksi olin asentanut Blosxomiin UTF-8:ksi koodaavan lisäosan, joka muunsi vanhat merkinnät ja Blosxomin omat tulosteet UTF-8:ksi.

    Poistin lisäosan ja muunsin kaikki vanhat, skandinaavisia merkkejä sisältäneet merkinnät UTF-8-muotoisiksi (ne olivat vanhastaan ISO-8859-15-muodossa). Lisäksi Blosxomin ja muiden lisäosien sisällä olevat skandinaaviset merkit täytyy nyt ilmaista HTML-entiteetteinä (siten, että esimerkiksi ä on ä ja ö ö). Tämä on kompromissiratkaisu; ideaaliratkaisu olisi muuttaa nyt käytöstä poistamaani lisäosaa niin, että se muuntaisi UTF-8:ksi vain Blosxomin ja lisäosien tulosteet ja jättäisi itse merkinnät koskemattomiksi (koska ne ovat vastedes valmiiksi UTF-8-muotoisia). Siihen minulla ei kuitenkaan tällä hetkellä riitä viitseliäisyyttä eikä luultavasti edes kykyjä.

    Lisäys: Keksin hiukan toisenlaisen, ja itse asiassa jossain määrin edellä mainitsemaani ideaaliratkaisua paremman tavan lähestyä tätä koodausongelmaa: muunsin Blosxomin päätiedoston (index.cgi) UTF-8-merkistöön, joten nyt voin taas käyttää siinä skandeja ihan sellaisinaan. Kokeilin tätä jo aiemminkin, mutta silloin se ei onnistunut, ilmeisesti vain siksi, etten ollut muistanut lisätä UTF-8-muotoiselle tiedostolle suoritusbittiä.

    Olen kustomoinut index.cgi:tä sen verran runsaasti etten todennäköisesti tule korvaamaan sitä alkuperäisellä, ISO-koodatulla versiolla enää missään vaiheessa, joten tämä on sikäli ihan turvallinen ratkaisu, Plugineista en ole yhtä varma, joten toistaiseksi jätin ne ISO-koodatuiksi ja siten niissä täytyy yhä käyttää noita HTML-entiteettejä skandien tilalla.

  • [Ratkaisu] Käytössä olevan komentotulkin tunnistaminen

    Lähtökohta
    Olen avannut Päätteen.
    Ongelma
    Haluan tietää mikä komentotulkki käytössäni on.
    Ratkaisu
    $SHELL-muuttuja sisältää tiedon käytössä olevasta komentotulkista, joten tulostamalla sen sisällön echo $SHELL -komennolla saan selville käytössäni olevan komentotulkin.
  • Vein Blosxomin koodiin parissa sitä käyttävässä blogissa tekemäni muutokset kaikkiin linkkiblogeihini, eli nyt kaikkien RSS-virroista tulevat linkit viittaavat suoraan sinne minne pitääkin.

    Hakkeroimani Blosxomin koodi alkaa olla aika ruman näköistä. Se pitäisi siivota, ja mieleni tekisi hetkittäin jopa yhdistää kaikki linkkiblogit yhden ainoan Blosxom-moottorin alle ja tehdä erottelusta kategorioihin perustuva (jolloin esimerkiksi Ytyset olisi osoitteessa mummila.net/linkit/ytyset, Nuudelit taas osoitteessa mummila.net/linkit/nuudelit jne.) siten, että käyttäjän kannalta blogit vaikuttaisivat kuitenkin edelleen itsenäisiltä (jokaisella olisi oma tyylitiedostonsa jne.).

  • Työpöytäpalkin haku ei löydä tiedostoja joillain hakusanoilla

    Lähtökohta
    Kotihakemistoni alla olevan Työpöytä-alihakemiston sisällä olevassa Musiikki-kansiossa on Nine Inch Nailsin Ghosts-albumi avainsanoilla varustettujen MP3-tiedostojen muodossa. Valitsen työpöydän paneelissa olevan Työpöytäpalkin, jolloin Deskbar Applet -niminen ikkuna, jossa on hakukenttä, avautuu. Haluan etsiä musiikkitiedostoja, jotka sisältävät Nine Inch Nailsin musiikkia, joten kirjoitan hakusanaksi nine.
    Ongelma
    Hakukentän alle avautuvassa listassa ei ole etsimiäni tiedostoja. Jos valitsen listasta kohdan Etsi kohdetta nine tracker-hakutyökalulla, jolloin Tracker-hakutyökalun ikkuna avautuu, ei sielläkään ole yhtään hakutuloksia: hakutuloksille varatulla palstalla lukee Haku ei tuottanut tuloksia.
    Ongelman syy
    Ei vielä tiedossa.
    Ratkaisu
    Ratkaisua ei vielä ole. Ongelman voi kiertää käyttämällä haussa sanaa inch sanan nine sijasta. Silloin hakukentän alle avautuva lista sisältää muiden aiheeseen liittyvien kohteiden ohella Ghosts-albumin kymmenen ensimmäistä kappaletta. Loput kappaleet ovat Tracker-hakutyökalun ikkunassa, jonne pääsee valitsemalla Deskbar Applet -ikkunan hakutuloksien listalta kohteen Etsi kohdetta inch tracker-hakutyökalulla.