Author: Jani

  • [Ratkaisu] Virheellinen merkistökoodaus DVD-levyllä olevien tiedostojen nimissä

    Lähtökohta
    Minulla on DVD-levy, jolle on poltettu tiedostoja Windowsissa. Tiedostojen joukossa on sellaisia, joiden nimissä on skandinaavisia kirjaimia.
    Lataan levyn tietokoneen DVD-asemaan, jolloin se liitetään tiedostojärjestelmään. Avaan levyn sisällön selailtavakseni Nautilus-tiedostoselaimella.
    Ongelma
    Skandinaavisia kirjaimia sisältävissä tiedostonimissä ne ovat korvautuneet kysymysmerkeillä, ja tiedostonimen perässä lukee (virheellinen merkistökoodaus). Tiedostonimen kopiointi avaamaani Pääte-ikkunaan ei toimi, jos poimin tiedoston Nautiluksen ikkunasta ja vedän ja pudotan sen Pääte-ikkunaan.
    Ongelman syy
    Levyä ei ole liitetty UTF-8 -merkistökoodausta käyttäen.
    Ratkaisu
    Muutan /etc/fstab -tiedostossa olevaa CD/DVD -asemani määrittelevää riviä. Ennen muutoksia rivi näyttää seuraavanlaiselta:

    /dev/scd0  /media/cdrom0  udf,iso9660  user,noauto,exec  0 0

    Lisään liittämisparametreihin merkistökoodauksen, jonka jälkeen rivi näyttää seuraavanlaiselta:

    /dev/scd0  /media/cdrom0  udf,iso9660  user,noauto,exec,utf8  0 0

    Otan levyn ulos DVD-asemasta, ja lataan sen sitten uudestaan sisään. Kun tämän jälkeen selaan levyn sisältöä Nautiluksella, tiedostonimissä olevat skandinaaviset kirjaimet näytetään kuten pitää, ja sellaisia sisältävien tiedostonimien kopionti Pääte-ikkunaan vetämällä ja pudottamalla toimii.

    Huomautus
    Tietokoneessa, johon olen asentanut Hardy Heronin siihen päivittämisen sijasta, utf8 -parametri oli fstab-tiedoston DVD-asemamäärittelyssä valmiina.
  • [Ratkaisu] Salaamattomien yhteyksien huomioväritys Firefoxin osoitepalkille

    Ongelma
    Haluan, että Firefox-selain näyttää selkeästi tulevatko siihen lataamani web-sivut salatun vai avoimen yhteyden kautta.
    Ratkaisu
    Avaan Firefox-selaimeen liittyvän käyttäjäprofiilihakemistoni sisällä olevassa chrome-alihakemistossa olevan userChrome.css -tiedoston muokattavaksi Tekstieditorissa. Lisään tiedostoon seuraavanlaiset rivit:

    #urlbar .autocomplete-textbox-container > * {
    background-color: #ff3333 !important;
    }
    #urlbar[level] .autocomplete-textbox-container > * {
    background-color: inherit !important;
    }

    Tallennan muutokset tiedostoon, jonka jälkeen käynnistän Firefoxin uudestaan. Tämän jälkeen tieto ladatun sivun salauksesta on värikoodattu osoitepalkkiin: salaamattomilla sivuilla osoitepalkin taustaväri on huomiotaherättävän punainen.

    Huomautuksia
    • Kolmossarjaa vanhemmat Firefoxin versiot korostivat salatut yhteydet kellertävätaustaisella osoitepalkilla.
    • Firefox osaa tietysti myös näyttää varoitusviestin esimerkiksi salatuilta sivuilta salaamattomille siirryttäessä, mutta viesti tulee pois kuitattavassa erillisessä ikkunassa, mikä on pitemmän päälle häiritsevä keskeytys selaamiselle.
  • Replacing Google with Scroogle using Firefox and Greasemonkey

    First, grab this userscript to use GET over SSL when Scroogling. I can’t claim to fully understand what it does but it sure does sound secure. (Isn’t that comforting? Hey, at least I’m not giving you a false sense of security by claiming to know better than I really do.)

    Next, pick up Scroogle With, an extension I hacked to replace Google with Scroogle when using the context menu’s Search With option. I don’t know if installing Scroogle as Firefox’s search engine would do the same, but my extension has the added feature of working with text boxes. I don’t use the built-in search box that Firefox has. If you do, you might want to install Scroogle there too.

    Finally, install this userscript to skip between languages in Scroogle results pages. This isn’t really necessary, it’s just a convenience for us who’d like Google results in languages other than English from time to time.

    So you see, the path to security here is through installing a bunch of software from unknown sources! (Just kidding of course. Since the code is out in the open, you’re free to audit it personally any time you like.)

  • WordPress-blogi ja HTTPS

    Periaatteessa WordPressin hallinnan voi sujauttaa SSL:n alle suhteellisen yksinkertaisesti. Ongelmalliseksi se muodostuu siinä tapauksessa, että maailmalle näkyvään osoitteeseen ei liity varmennetta. Esimerkiksi mummila.netillä ei ole omaa varmennetta, koska sellaisen hankkiminen on melko kallista.

    Www-hotellina käyttämäni Kapsin palvelimella on varmenne, ja niinpä https-yhteydet mummila.kapsi.fi-osoitteeseen (jonka http-sisältöä mummila.net tosiasiassa vain heijastelee) ovat mahdollisia. Valitettavasti WordPressin hallinta ei kuitenkaan taivu kovin sujuvasti SSL:n alle siten, että blogi näkyisi ulkomaailmalle yhden palvelimen (omassa tapauksessani mummila.net) alla, ja hallintayhteyksiin taas käytettäisiin toista palvelinta (mummila.kapsi.fi).

    Kaikkein ongelmallisin kohta on kommentointi. Tuollainen kaksisuuntainen viritelmäkin olisi vielä kohtalaisen helppo toteuttaa, jos kommentointia ei olisi: kaiken hallintoliikenteen voi .htaccessin ja WordPressin URL-asetuksen avulla pakottaa https:n alle, ja kaikki muu näkyy maailmalle edelleen oman domainin eli blogin URL:n alla tavallisessa http-yhteydessä. Mutta jos tuon WordPressin URL:n asettaa osoittamaan https-yhteyden sallivalle palvelimelle, joka on eri kuin millä blogin sisältö näytetään, kommenttien yhteydessä käytetyt evästeet eivät tietenkään toimi, koska niitä ei pysty asettamaan palvelinten kesken ristiin.

    Kun evästeiden asettaminen ei toimi, kommentoijalle normaalisti näkyviä ilmoituksia kommentin päätymisestä moderointiin ei näytetä. Niinpä kommentoijasta vaikuttaa siltä kuin onnistuneesti jätetyt kommentit katoaisivat mustaan aukkoon, vaikka tosiasiassa ne ovatkin vain moderoinnissa. Lisäksi sisäänkirjautuneena oleminen ei näy kommenttilomakkeessa, vaan se kysyy myös ylläpitäjältä osoitetietoja. Jälkimmäisen ongelman takia minun täytyy pitää turvatonkin kirjautumismahdollisuus käytössä, koska muutoin en pystyisi kommentoimaan omaa blogiani virallisella blogi-isännän identiteetilläni.

    Käytännössä siis salattua yhteyttä voi sujuvasti käyttää vain täällä blogin konehuoneen puolella touhutessaan, esimerkiksi uusien merkintöjen luomisessa ja julkaisussa. Onhan sekin nyt tietysti tyhjää parempi, koska julkaiseminen on se kaikkein useimmin sisäänkirjautuneena harrastettu toiminta. Eivätkä ruotsalaiset tietenkään salasanojani saa, kun Kapsin palvelimet ovat kotimaassa. Kotimaisia nuuskijoita tällä lähinnä torjutaan.

  • [Ratkaisu] Firefox ei palauta istuntoja istunnonpalautuksen yhteydessä

    Lähtökohta
    Olen asettanut Firefox-selaimen asetuksissa käynnistyksen yhteydessä palautettavaksi edellisen istunnon ikkunat ja välilehdet. Olen asentanut Firefoxiin Torbutton-laajennuksen.
    Olen käynnistänyt Firefox-selaimen, kirjautunut sisään Gmail-tililleni ja avannut Postilaatikko-näkymän. Suljen Firefox-selaimen, ja käynnistän sen heti sen jälkeen uudestaan.
    Ongelma
    Välilehti, jolle edellisessä istunnossa olin avannut Gmail-tilini Postilaatikon, näyttää nyt Gmailin sisäänkirjautumissivun. Haluan, että istunnon palautus palauttaa myös Gmail-välilehden suoraan siihen näkymään, jossa se oli sulkiessani selaimen ilman uutta sisäänkirjautumista.
    Ongelman syy
    Firefox 3:n kanssa käytettäessä Torbutton estää todennettujen istuntojen palauttamisen.
    Ratkaisu
    Valitsen Firefoxin Työkalut-valikosta Lisäosat-kohdan, ja avatuvasta Lisäosat-ikkunasta Laajennukset-välilehden. Valitsen listalta Torbuttonin, ja painan sen ohessa olevaa Poista käytöstä -nappia. Vaihtoehtoisesti voin poistaa Torbuttonin kokonaan Poista-nappia painamalla.
    Tämän jälkeen kirjaudun ulos Gmail-tililtäni, mikäli olen sisäänkirjautuneena. Sen jälkeen kirjaudun sinne uudestaan ja varmistan sen yhteydessä, että Muista kirjautumiseni tässä tietokoneessa -kohta on käyttöön valittuna.
    Lopuksi valitsen Lisäosat-ikkunan yläosaan Torbuttonin poiskytkennän yhteydessä ilmestyneen Käynnistä Firefox uudelleen -napin.
    Nyt istunnon palautuksen yhteydessä myös todennettu Gmail-istunto palautetaan haluamallani tavalla.
    Huomautuksia
  • [Ratkaisu] Tekstintunnistuksella tuotetun tekstitystiedoston virheiden korjaaminen

    Lähtökohta
    Kotihakemistossani on bin-alihakemisto ja se on määritelty komentojenhakupolkujen (PATH-muuttuja) joukkoon komentoriviprofiilissani.

    Olen muuntanut kuvamuotoisen tekstityksen tekstimuotoiseksi Avidemuxilla. SRT-muotoinen tekstitystiedosto on tallennettu kotihakemistooni tiedostonimellä tekstitys.srt. Tekstitys sisältää muunnoksen jäljiltä joitain toistuvia virheitä: rivien alussa on välilyöntejä, pikku-l ja iso I-kirjain ovat paikoin sekoittuneet, joidenkin numeroiden välissä on välilyöntejä vaikka numerot ovat osa samaa lukua, ja lainausmerkin (“) tilalla on kaksi heittopilkkua (‘ ‘).

    Ongelma
    Virheitä on niin paljon, että niiden korjaaminen käsityönä Tekstieditorissa olisi liian työlästä. Haluan korjata virheet tarkoitukseen soveltuvilla komentojonoilla.
    Ratkaisu
    Luon seuraavassa listatut komentojonotiedostot, ja tallennan ne kotihakemistossani olevaan bin-alihakemistoon.

    #!/bin/sed -f
    s/^\ *//

    Lataa leading_blank.sed (24 tavun komentojonotiedosto)

    #!/usr/bin/gawk -f
    
    BEGIN { FS = "" }
    {
      previous = ""
      for (i = 1; i <= NF; i = i + 1) {
        if ($i ~ /I/) {
          if (previous ~ /[[:lower:]]/) {
            printf("l")
            previous = "l"
          } else if (i == 1) {
            printf("%s",$i)
            previous = $i
          } else if ((previous ~ /-/) && (i == 2)) {
            printf("%s",$i)
            previous = $i
          } else if (i < NF) {
            for (j = 1; i + j < NF; j = j + 1) {
              if ($(i+j) ~ /[[ \n]]/) {
                j = NF
                break
              } else if ($(i+j) ~ /[[:lower:]]/) {
                break
              }
            }
            if (i + j < NF) {
              printf("l")
              previous = "l"
            } else {
              printf("%s",$i)
              previous = $i
            }
          } else {
            printf("%s",$i)
            previous = $i
          }
        } else {
          printf("%s",$i)
          previous = $i
        }
      }
      printf("\n")
    }

    Lataa mixed_verticals.gawk (756 tavun komentojonotiedosto)

    #!/bin/sed -f
    s/\([[:digit:]]\) \([[:digit:]]\)/\1\2/g

    Lataa blank_between_numbers.sed (56 tavun komentojonotiedosto)

    #!/bin/sed -f
    s/''/"/g

    Lataa double_single_quotes.sed (24 tavun komentojonotiedosto)

    Tämän jälkeen teen komentojonotiedostoista suoritettavia seuraavalla komennolla:

    cd ~/bin && chmod +x blank_between_numbers.sed leading_blank.sed \
    mixed_verticals.gawk double_single_quotes.sed

    Lopuksi käytän kaikkia komentojonoja tekstitystiedostoon sen korjaamiseksi, seuraavasti:

    cat ~/tekstitys.srt \
    | leading_blank.sed | mixed_verticals.gawk \
    | blank_between_numbers.sed | double_single_quotes.sed \
    > ~/korjattu-tekstitys.txt

    Tämän jälkeen kotihakemistossani oleva korjattu-tekstitys.txt -niminen tiedosto sisältää tekstityksen, jossa alkuperäisessä olleet virheet on korjattu.

  • Googlen favicon

    Juuri kun aloin tottua Googlen uuteen ikoniin, törmäsin Greasemonkey-skriptiin, joka palauttaa sen vanhan faviconin. Vielä viikko sitten olisin ollut innoissani ja ottanut tuon heti käyttöön, mutta nyt hämääntyisin siitä vanhasta luultavasti vain uudestaan samalla lailla kuin tuosta uudesta sen ilmestyttyä.

  • [Ratkaisu] Ala etsiä tekstistä heti kirjoitettaessa ja Edellinen- ja Seuraava-napit

    Lähtökohta
    Olen valinnut Firefox-selaimen asetuksissa Ala etsiä tekstistä heti kirjoitettaessa -toiminnon käyttöönotetuksi. Firefoxin kolmosversiossa tämän pikahakutoiminnon avaama työkalupalkki on typistetty pelkästään hakusanakentäksi. Koska haluan, että pikahakutoiminnon työkalupalkki sisältää samat valitsimet kuin normaali hakutoiminto (jonka voi avata esimerkiksi Control + F -pikanäppäimellä), olen lisännyt selaimen profiilihakemistossani olevaan userChrome.css -tiedostoon seuraavanlaisen rivin:

    #FindToolbar > * {display: -moz-box; }

    Tämän jälkeen heti kirjoitettaessa avautuvan hakutoiminnon työkalupalkki sisältää normaalin hakutyökalupalkin tavoin muun muassa valitsimet Edellinen, Seuraava ja Huomioi kirjainkoko.
    Olen päivittänyt Firefox-selaimen versiosta 3 Beta 5 versioon 3 RC 1.

    Ongelma
    Päivityksen jälkeen heti kirjoitettaessa avautuvan hakutoiminnon työkalupalkki on jälleen typistynyt pelkäksi hakusanakentäksi.
    Ongelman syy
    Pikahakutyökalupalkin valitsin on vaihtunut päivityksen myötä. Uusi valitsin on .findbar-container.
    Ratkaisu
    Korvaan userChrome.css -tiedostossa olevan, yllä mainitun rivin seuraavanlaisella rivillä:

    .findbar-container > * { display: -moz-box; }

    Kun tämän jälkeen suljen Firefox-selaimen, ja sen jälkeen käynnistän sen uudestaan, heti kirjoitettaessa avautuva etsintätyökalupalkki sisältää samat valitsimet kuin normaali hakutoimintokin.

  • Pledge to get Firefox 3 during Download Day

    I pledge to get Firefox 3 during Download Day to set the Guinness World Record for Most Software Downloaded in 24 Hours.

    Download Day

  • Komentohistoriatilastomeemi

    Via Miia.

    jani@shuttle-xpc:~$ history|awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
    72 sudo
    58 ls
    39 man
    34 less
    29 xrandr
    26 cd
    22 ifconfig
    20 dmesg
    19 cp
    16 grep