Python 3.0a1

31. ágúst 2007

Fyrst alfan af Python 3 var að koma út. Vonandi kemst ég í að kompæla hana og prófa um helgina. Það er samt hálfskrítið að vera líka að bíða eftir útgáfu 2.6 líka. Ekki er von á betum fyrr en á næsta ári og fullkláruð útgáfa 3 kemur svo ekki fyrr en eftir ár.

GNU gettext er gamalreynd og ágæt leið til að bjóða upp á þýddar og staðfærðar útgáfur af hugbúnaði. Gettext er hægt að finna fyrir flest forritunarmál (t.d. Perl, Python og PHP). Þar er m.a. að finna skipunina ngettext sem finnur ekki eingöngu þýðingu strengs heldur velur hún einnig á milli textastrengja út frá tölu og er notuð til að velja eintölu eða fleirtölu.

printf (ngettext ("deleted %d file", "deleted %d files", n), n);

Þýðingar fyrir textastrengina er að finna í PO-skrám (sem er svo umbreytt í MO-skrár með msgfmt) og hausi þeirrra skráa er einnig að finna skilgreiningu á því hvernig velja eigi rétta tölumynd (nánar tiltekið skilgreining á fleirtölunni eða fleirtölunum fyrir þau mál sem hafa fleiri en eina fleirtölu). Ég hef hinsvegar rekið mig á það að í öllum íslensku PO-skránum sem ég hef skoðað er fleirtöluskilgreining röng, þ.e. skilgreining f. ensku er látin vera óbreytt í skránni þegar hún er þýdd.

Plural-Forms: nplurals=2; plural=n != 1;

Þetta merkir að tölumyndirnar eru tvær og fleirtalan er allt nema talan 1. En þessi skilgreining dugar ekki fyrir íslensku því við tölum t.d. um að Binni hafi keypt 21 vindil en ekki að *Binni hafi keypt 21 vindla.

Plural-Forms: nplurals=2; plural=n%10 != 1 || n%100 == 11;

Þessi skilgreining er hinsvegar rétt fyrir íslensku (n>=0). Hér fá allar tölur sem ekki enda á einum að undanteknum þeim sem enda á ellefu fleirtölumynd. Hægt er að prófa skilgreininguna með einfaldri Perl-skriftu:

#!/usr/bin/perlforeach my $n ( 0 … 23, 100 … 113) { print $n; if( $n % 10 != 1 || $n % 100 == 11) { print " hestar"; } else { print " hestur"; } print ", " if $n != 113;}

Sem gefur eftirfarandi útkomu eins og við viljum:

0 hestar, 1 hestur, 2 hestar, 3 hestar, 4 hestar, 5 hestar, 6 hestar, 7 hestar, 8 hestar, 9 hestar, 10 hestar, 11 hestar, 12 hestar, 13 hestar, 14 hestar, 15 hestar, 16 hestar, 17 hestar, 18 hestar, 19 hestar, 20 hestar, 21 hestur, 22 hestar, 23 hestar, 100 hestar, 101 hestur, 102 hestar, 103 hestar, 104 hestar, 105 hestar, 106 hestar, 107 hestar, 108 hestar, 109 hestar, 110 hestar, 111 hestar, 112 hestar, 113 hestar

Ath. Þessi færsla er einskonar bót á Vefinn. Ég fann ekki þessar upplýsingar og bæti þeim því við hér.

RewriteEngine

12. apríl 2006

Ég ákvað að tengja undirlénin við bloggin í stað forsíðunnar í dag og skrifaði til þess nokkur mod_rewrite-skilyrði og reglur. Ég hef áður lítið þurft að nota þann módúl og varð því að lesa mér til. Enda illa séð ef maður er að fikta og valda "Internal Server Error"-villum á vef sem er á-línunni. Svo tekur það alltaf smá tíma að komast inn í stöðuvélaþankaganginn þegar maður er að semja reglulegar segðir. Eitt sem er ekki skýrt í leiðbeiningunum er að maður getur ekki endurritað lénsheitið heldur eingöngu beint á lénið (sem er vel skiljanlegt þegar maður hugsar út í það). Þetta gæti orðið ruglingslegt vegna þess að maður kemst upp með að rita lénsheiti í reglunum en svo eru þau bara hunsuð.

Eftir að hafa gert undirlénin virk þá bætti ég líke við mod_rewrite-reglum til að beina gömlu urlunum fyrir þau blogg sem eru virk á nýju undirlénin. En svo kom í ljós að nauðsynlegt var að yfirfara og laga skapalónin því ekki virtast allstaðar hafa verið notaðar réttar breytur og lénið stundum bara skrifað beint (þetta á sérstaklega við elstu skapalónin). Ég er að verða búinn að yfirfara þau skapalón sem eru í notkun.

Eftir flutninginn hefur furðu lítið komið upp á (sjö níu þrettán). Athugasemdir duttu út í smá tíma vegna villu í PHP eftir uppfærslu. Ég tel mig vera búinn að kippa því í liðinn, en ef ekki þá er alltaf hægt að "niðurfæra" aftur. Stærra vandamál var að ég uppgötvaði að læstar síður, færslur og flokkar var allt algerlega læst svo enginn kæmist inn. Ástæðan fyrir því reyndist vera sú að þegar PHP er keyrt sem CGI en ekki Apache-módúll þá hefur það ekki aðgang að innskráningarupplýsingunum. Mér tókst að leysa það með því að veita kerfinu aðgang að þeim upplýsingum (%{HTTP:Authorization}) með mod_rewrite-skipun. Ansi var nú heppilegt að hafa verið búinn að kynna sér það fyrr um daginn. :)

While browsing on the Internet just now I came across a bulletin-board discussion from last December about Google having started to use stemming. I was quite surprised by this since I hadn't seen any evidence of this while googling myself. I also seemed to recall that Google had stated that is it was not using stemming at all.

Lesa restina af færslunni »

14. febrúar 2004

BugzillaÉg tók eftir því að Safari-vafrinn segir ekki réttilega til um á hvaða tungumáli vefsíðurnar ættu að vera sem hann biður um (HTTP-Accept-Language), þ.e. hann sækir þær upplýsingar ekki í uppsetningu stýrikerfisins. Sama á við Mozillu og Firefox fyrir Windows - en það undarlega er að Mozilla fyrir Mac OS X gerir þetta rétt. (Veit ekki með Camino.)

Reyndar getur maður sett inn hvaða mál maður vill í stillingunum í Mozillu (en ekki Firefox) fyrir Windows en þegar sá listi er tómur ætti vafrinn frekar að fara eftir uppsetningu stýrikerfisins í stað þessa að biðja ekki um neitt sérstakt mál.

Íslandssaga og BIT_OR

13. febrúar 2004

Nú fer senn að líða að því að ég klári verkefni sem ég er að vinna fyrir Sagnfræðistofnun: Ritaskráin „Íslandssaga í greinum“. Formleg opnun verður líklega í næstu viku. En fyrst þarf ég að lagfæra nokkur smáatriði og keyra inn yfirfarna útgáfu af gagnasafninu.

Ég „uppgötvaði“ annars eitt nýtt í SQL í dag. Ef maður er með mengisdálk (SET) í töflu og vantar að vita hvaða stök eru sett (sammengið) í hluta af töflunni þá er hægt að nota fyrirspurn samsvarandi þessari:

SELECT BIT_OR( mengisdalkur) FROM tafla WHERE … ;

Þar sem mengisdálkar eru vistaðir sem tala þar sem hver biti stendur fyrir eitt stak mengisins þá er hægt að eða saman öll stök sem koma fyrir í dálkinum í fyrirspurninni.

Ég mun nota þetta til að sleppa flipum fyrir tóma tímabilsflokka í flettinu.

http://hugvis.hi.is/ritaskra/

Ríkisstjórnin samþykkti á fundi sínum í gær að tillögu menntamálaráðherra að beina því til ríkisaðila að hugbúnaður á íslensku hafi ávallt forgang fram yfir annan hugbúnað hafi slíkt ekki veruleg aukin útgjöld í för með sér. [frá Mbl.is]

Ps. Önnur tengd frétt á Mbl.is í dag.

Ég þurfti um daginn að setja saman reglulega segð til að greina rómverskar tölur í íslenskum 16. aldar textum. Hélt ég nú að þetta væru frekar óvenjulegt og fáir hefðu þurft að gera slíka hluti. En í ljós kom að finna mátti ýmsar lausnir með hjálp Google (hér er td. ein ágæt).

Svo virðist algengt að nota rómverskar tölur í sýnidæmum sem útskýra reglulegar segðir. Mark Pilgrim fer ýtarlega út í þetta í Dive Into Python bókinni sinni, Chapter 6 Unit testing (roman.py).

Enn ein veitan: index.cdf

27. október 2003

Ég bætti við enn einu veitusniðinu (feed) í kvöld. Snið kvöldsins er circa 6 ára gamalt (líklegast það elsta sem til er) og heitir Channel Definition Format (CDF). Var einn af nýju fídusunum í fjórðu útgáfu Internet Explorer. Ég á örugglega ennþá einhverstaðar Microsoft System Journal blaðið sem kynnti þetta skráarsnið fyrst. Skoðaði þetta í þaula á sínum tíma en fann engin raunveruleg not fyrir það.

Hins vegar gæti þetta snið hentað ágætlega fyrir bloggyfirlit. Það er fyrir þá sem nota Internet Explorer. Þegar veitan er sótt þá bætir hún sér við favorites gardínuna (og favorites hliðarslánna, Ctrl+I) og þar er hægt að skoða lista yfir nýjustu færslur bloggsins. Hér má sækja veituna mína: /orvar/index.cdf - allir bloggarar á Annál.is og Blogg.is geta einnig bætt index.cdf við sín url.

Lesa restina af færslunni »