VoikkoSpellService tuo Suomen kielen oikoluvun OS X:lle

Oikoluku on kiva asia ja vielä kivempaa on, jos se olisi aina saatavilla ja kaikissa ohjelmissa, joissa tekstin kanssa joudutaan työskentelemään. Englannin ja useiden muiden ulkomaisten kielien osalta asia näin usein onkin, mutta Suomen kielen oikoluvun kanssa on usein hieman hankalampaa. Onneksi meillä kuitenkin on Voikko, joka tarjoaa sitä hyödyntävien mozvoikko, ooovoikko ja osxspell-palikoiden avulla oikolukua myös suomelle.

OS X:lle Suomen kielisen oikoluvun saattaminen useisiin ohjelmiin on teoriassa yksinkertaista osxpell-projektin tarjoaman VoikkoSpellService-järjestelmäkomponentin kautta, mutta käytännössä asia on hieman monimutkainen. Virallisin versio komponentista on Lauri Nurmen OS X 10.4:lle paketoima PPC-alustalle käännettyjä kirjastoja käyttävä versio, joka saamieni tietojen mukaan toimii OS X 10.6:ssa hieman heikosti Rosettan kautta. Joitain epävirallisia versiotakin olen nähnyt, mutta en niihin linkkiä enää löytänyt. Suoraan sanottua VoikkoSpellServicellä ei ole tukea OS X 10.6 Snow Leopardissa.

Oli siis aika tehdä tuolle asialle jotain, joten pienen tutkailun, Nurmen pätsien lisäämisen, Applen ohjeiden seuraamisen, Soikko-palikan määritteiden vilkuilun ja kiroilun jälkeen, sain VoikkoSpellServicen toimimaan OS X 10.6 Snow Leopardilla. Muutoksina koodin osalta korjasin pari varoitusta antavaa kohtaa ja puuttuvan parametrin. Käänsin komponentin käyttäen 32-bittisiä Voikon ja Suomi-malagan -kirjastoja, joten sen pitäisi toimia myös 10.5 Leopardilla. Erona mozvoikon libvoikon kääntöön, täytyi libvoikolle antaa käännösvaiheessa ”-Wl,-install_name,@executable_path/libvoikko.1.dylib” LDFLAGS-määritteet, jotta dynaaminen kirjasto löydetään.

VoikkoSpellService-komponentti DMG-pakettiin kiedottuna (VoikkoSpellService_2010-07.dmg) ja lisätietoa löytyy Voikolle tekemältäni sivulta omana kohtanaan.

Palikka on kokeellinen versio ja kokeilu omalla vastuulla, kuten aina. Näytti toimivan ainakin Snow Leopardilla, kunhan OS X:n järjestelmänoikolukuun sai lisättyä vaihtoehdoksi suomen. Kyseisen vaihtoehdon saamisessa oli hieman ongelmia, sillä välillä kieli löytyi ja välillä ei. Consolekaan ei tuohon auttanut, mutta kun kielivaihtoehto löytyi, eli VoikkoSpellService oli rekisteröity palveluksi, pystyi Consolesta toteamaan muun muassa palikan kaatumisen.

VoikkoSpellServicen avulla Voikon tarjoama oikoluku toimii ainakin TextEditissä, Safarissa, TextWranglerissa ja TexShopissa. Tosin näköjään osa ohjelmista, kuten TextWrangler, eivät osaa ehdottaa korjausta, mutta muuten kyllä käskettäessä oikolukevat. Chromella näytti olevan jotain hieman isompia ongelmia oikoluvun kanssa OS X:llä. Kieliopintarkistus ei toimi, sillä sen mahdollistavan metodin kanssa käännettynä ja Check grammar -vaihtoehto ruksitettuna Console täyttyy ”[NSCFString rangeValue]: unrecognized selector sent to instance 0x1404e0” ja ”[NSKeyedArchiver dealloc]: warning: NSKeyedArchiver deallocated without having had -finishEncoding called on it.” -virheistä, jolloin ei oikolukukaan toimi.

Olisi pitänyt selkeästi perehtyä osxspelliin jo aikaisemmin, sillä oikoluku TexShopissa (vaikka käytinkin Texmakeria) olisi ollut kyllä helpottava lisä lopputyötä tehdessä. No, kävi se oikolukeminen manuaalisestikin ja copy-pasten avulla kierrättäen OO.orgin kautta.

Lisäys:
VoikkoSpellServicen näkymiseen oikoluvun vaihtoehdoissa sen jälkeen, ku se on sieltä hävinnyt, auttaa Library/Cache -hakemistossa olevan ”com.apple.nsservicescache.plist” -tiedoston poistaminen. Muita kikkoja on käyttää ohjelmallisesti NSUpdateDynamicServices() -metodia, käynnistää Applen pasteboard server uudestaan (/System/Library/CoreServices/pbs) ja uudestaanrekisteröidä servicet komennolla

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system, user

.

N95 ja Share Online -linkin poistaminen

Nokian puhelimet eivät juuri intohimoja herätä, jonka osoituksena tämä kirjoitus on vain vajaat pari vuotta myöhässä. Enemmänkin muistiinpano itselle, jos vajaat kolme vuotta vanhaa luuria pitää vielä joskus uudestaan asennella.

Leikin viime viikolla ajankuluksi Nokian Ovi Suiten kanssa ja huomasin, että N95:lle oli aikoja sitten (joulukuussa 2008) julkaistu ohjelmistopäivitys. Nokian Laiteohjelmiston päivityksen tietojen mukaan N95:lle oli saatavilla ohjelmistojulkaisu 35.0.002, joka toisi muun muassa parannetut soittimen soittolistat, parannetun Nokia Musiikkikauppa ‑sovelluksen, upotetut N-Gage-pelit, päivitetyn Kartat 2.0 ‑sovelluksen ja tuen Flash Lite ‑versiolle 3.0. Eli eipä juurikaan mitään tarpeellista, mutta voisihan sen asentaa.

Todellisuudessa ohjelmistopäivityksen versio oli 31.0.017 ja asentui nätisti 21.0.016 ohjelmistoversion päälle. Tätä ennen olin tosin taistellut tovin Ovi Suiten ja USB-kaapelin kanssa, joka talttui Ovi Suiten uudelleenasennuksen ja muutaman koneen uudelleenkäynnistyksen jälkeen.

Suurimpana ”uudistuksena” ohjelmistopäivityksen jälkeen näkyi aktiivisessa valmiustilassa ”Share Online”-linkki, jonka takaa löytyi Flickr, Ovi ja Vox -palvelut. Eikä tietenkään mahdollisuutta poistaa tuota linkkiä valmiustilasta (kuten ei muitakaan valmiustilan linkkejä). Kuulemma Share Online 4.3 -versiossa se olisi mahdollista, mutta sitäpä ei ollutkaan saatavilla vanhemmille S60 3rd Edition, Feature Pack 1 -laitteille kuten juuri oma N95:n. Kiva kiva.

Onneksi tässäkin asiassa ratkaisu löytyy Internetistä ja lukemalla hieman foorumeita sain selville, että kyseisen linkin poistoon on muutamia vaihtoehtoja: luurin häksäys, Share Onlinen (SO) beta-version asennus ja poisto. Häksäämällä onnistuisi ilmeisesti myös muiden linkkien eli haun, kalenterin ja WLAN-haun poistaminen, mutta jos nyt edes tuon SO:n saisi pois kalenterilta tilaa viemästä.

Tuumasta toimeen ja Helioportin Nokia Users -foorumilla kirjoittamia ohjeita seuraamaan:

  1. Lataa SO_3.0_N95_Upgrade.SIS-tiedosto Nokian Beta Labsista. (Helioportin ohjeissa toimimaton linkki RapidShareen)
  2. Sulje Aktiivinen valmiustila: Työkalut > Asetukset > Yleiset > Muokkaus > Valmiustila > Akt. valm.tila
  3. Asenna SO_3.0_N95_Upgrade.SIS
  4. Sulje ja käynnistä puhelin uudestaan uusia asetuksia varten
  5. Mene Työkalut > Sovell. hall. ja poista Share Online
  6. Laita aktiivinen valmiustila takaisin päälle ja nauti

Yllä kuvattu prosessi tuntui toimivan ja Share Online -linkki katosi aktiivisesti valmiustilasta. Tuli kyllä ihan Apple-käyttäjämäinen fiilis, kun laite- ja sovellustoimittaja kuvittelee tietävänsä paremmin, miten käyttäjät haluavat laitteitaan käyttää. Ainiin, Apple-käyttäjä olenkin.

Eclipse 3.6 Helioksen myötä kehitysympäristö on taas parempi

Eclipsestä julkaistiin jokin aika sitten 3.6-versio eli tällä kertaa tuttavallisemmin Helios, joka jälleen tekee kehitysympäristöstä asteen paremman. Suuria muutoksia ei hyväksi havaittuun kaavaan ole tehty, vaan uudistuksina löytyy pieniä, mutta hyödyllisiä lisäominaisuuksia. Tarkemman listauksen uusista ominaisuuksista löytää Helioksen About-sivulta What’s New -osiosta (ja netistä: JDT ja platform), mutta tässä muutamia poimintoja.

  • Lisäosien asennus Eclipse Marketplacesta: Tarvittavien lisäosien asennus on nyt helpompaa Eclipsen sisältä löytyvän Marketplacen kautta. Hakusana ja pari kliksautusta, entisen update siten syöttelyn asemasta. Harmillisesti kaikki laajennukset eivät uutta tapaa vielä tue.
  • Web Tools Project sai tuen Java EE 6 -teknologioille kuten Servlet 3.0, JSF 2.0, JPA 2.0 ja EJB 3.1. (Jos niitä vielä pystyisi oikeasti toteutuksessä käyttämäänkin)
  • Formatoinnin kontrollointi: Window > Preferences > Java > Code Style > Formatter > On/Off Tags -kohdasta voi nyt kytkeä päälle annotaation, jolla voi disabloida koodin formatoinnin haluamalleen koodiblokille
  • ”rawtypes” -merkki @SuppressWarnings annotaatiolle: Kääntäjä tekee eron ilmoitettujen varoitusten osalta raw typen käytön ja geneeristen unchecked -operaatioiden osalta.
  • Export All: Formatterin asetuksista voi nyt viedä kaikki käyttäjän määrittelemä asetukset, ja ne voidaan tuoda kerralla. Kätevää, kun Eclipse tulee muutamia kertoja vuodessa asennettua uudestaan.
  • Pakettien nimien lyhenteet: Java-näkymissä voi lyhentää kustomoitavilla säännöillä pakettien nimet. esim. org.eclipse.ui={UI}, org.eclipse.ui.texteditor={T} ja org.eclipse.ui.internal.texteditor=[iT]. (Preferences > Java > Appearance > Abbreviate package names)
  • Lokaalin historian tyhjennyksen voi disabloida: Lokaalin historian kokoa siivotaan aina Eclipsen sammutuksen yhteydessä, mutta sen voi nyt disabloida. Tällöin historian koko kasvaa rajattomasti. (Preferences > General > Workspace > Local History)

Uusi Eclipse on nyt ollut muutaman viikon käytössä ja ihan toimivalta se edelleen vaikuttaa. Kenties hieman myös nopeampi kuin edellinen, ta sitten vain uusi asennus luo hyvää mielikuvaa. Asennuksessa tosin taas meni aikaa säätäessä kaikki kuten aikaisemmin ja Marketplace auttoi hieman lisäosien suhteen, mutta turhan vähän. Samalla vaihdoin Subclipsen käyttöön, joten Maven2-projekien tuonti versionhallinnasta oli kätevämpää. Laitoinpa samalla myös Atlassian Connectorit, jotka vaikuttavat ihan käteviltä. JBossin työkaluista piti tosin asentaa Nightly Build -versiot.

Firefox 4 Beta 1 esittelee tulevaa edistystä

Firefox 4:sta on julkaistu ensimmäinen Beta-versio, joka esittelee kaivattuja uudistuksia luotettavaan selaimeen. Selaimen 4-sarja tuo uudistuksia sekä käyttöliittymään että taustalle ja näkyvimpänä uudistuksena on välilehtien siirtyminen osoitepalkin yläpuolelle, johon liittyen esitettiin jokin aika sitten myös hyvä perustelu.

Heti ensimmäisenä Firefox 4 Beta 1:sta käytettäessä huomaa uuden version vikkelyyden, jonka jälkeen 3-sarja tuntuu kuin ajaisi traktorin perässä moottoritiellä. Muita selkeästi näkyviä uudistuksia on muun muassa Windows 7:ssa parantunut kuvakkeen ja välilehtien toiminta, muuttunut lisäosien ja laajennusten hallinta, OS X:llä tuki Core Animaatiolle, natiivituki WebM-videoformaatille ja parantunut CSS3 ja HTML5 tuki. Lisäksi tulevia ominaisuuksia oli vielä työn alla. Julkaisutiedoista voi lukea, että tunnettuja ongelmia on vielä muutamia, kuten Windowsissa on ongelmia näytönohjainten kanssa ja Mac OS X:ssä välilehdet eivät näytä kivoilta yläpuolella.

Jos Beta versioiden mahdollista epävakautta ei lasketa mukaan, joka itselle ilmeni sinisenä ruutuna, on Beta- ja muiden epävirallisten versioiden puutteena laajennusten toimivuus, joihin joutuu vähintäänkin käyttämään Add-on Compatibility Reporter -lisäosaa, jonka avulla ne saa aktivoitua ja testattua. Ainakin mozvoikko eli suomen kielinen oikolukusanasto -lisäosa näytti toimivan kuten aikaisemminkin Mac OS X:ssä ja Windowsissa, mutta jostain syystä Firefoxin 4b1 -lähdekoodeja vasten käännettynä ks. lisäosa ei toiminut.

Usein aikaisemman version lisäosat toimivat myös uusimmissa versioissa, mutta Firefox 4:n osalta ainakin kätevä käyttäjien skriptien ajamiseen käytettävä Greasemonkey-lisäosa ei toimi enää laajennusten hallinnan muutosten takia. Ilmeisesti sen voi ”korvata” Jetpackilla, joka mahdollistaa lisäosien toteuttamisen käyttäen HTML:ää, CSS:ää ja JavaScriptiä kuten Chromen ja Safarin kanssa. Nopeasti testasinkin Jetpack SDK:ta lisäosien toteuttamiseen, mutta eipä Helvetireader-skriptin korvaaminen oikein onnistunut kelvollisesti.

Mozillan on tarkoitus tuoda uusia Beta-versioita muutaman viikon välein, aikaisemman kuukausien asemasta, joten selaimen kehitystä kohti valmista voi seurata vaiheittain. Web-kehittäjille 4-sarja tarjoaa paljon uudistuksia, mutta totuushan on, että sovelluskehitys kulkee pitkään vielä vanhan teknologian päällä. HTML5:sta, JSF 2:sta ja muusta kivasta saa vain unelmoida, mutta koska Internet Explorerin ohella Firefox on niitä selaimia, joita asiakkaat ”tukevat”, tulevaisuus näyttää nopeammalta. Firefox 4:n Release Candidate -versiota voi ilmeisesti odotella lokakuussa ja viimeisteltyä versiota marraskuussa.

Harmillisesti Beta-versiota testatessa tuli taas tehtyä perinteiset, sillä nopealla testauksella pääsi jo ”tottumaan” uusiin ominaisuuksiin ja etenkin nopeuteen. Pitää miettiä alkaisiko sitä käyttämään pääselaimena Firefoxin Beta-sarjaa vai Chromea, joka vaikuttaa aika lupaavalta pienen etsikkoajan jälkeen. Voikkoa ei tosin Chromeen taida saada. Tai sitten Safaria, johon ilmeisesti saisi VoikkoSpellServicen kautta, jos sen nyt saisi OS X:llä toimimaan, myös oikoluvun.