neděle 3. března 2013

Jorge L. Borges: Dva králové a dvě bludiště

Důvěryhodní lidé vyprávějí (Alláh však ví víc), že na počátku dní žil král Babylonských ostrovů, který shromáždil své stavitele a mágy a poručil jim vystavět tak složité a důvtipné bludiště, že ani nejmoudřejší mužové se neodvážili do něho vstoupit, a pokud do něho vstoupili, nadobro zabloudili. Stavba budila pohoršení, neboť vyvolávat zmatek i úžas přísluší Bohu, nikoli lidem. Jednou přišel k tomu královskému dvoru král Arabů. Babylonský král (aby se mohl vysmát prostoduchosti svého hosta) ho nechal vejít do bludiště, kde pak potupený a zmatený král bloudil až do soumraku. Tu prosil Boha o pomoc a nalezl dveře. Jeho ústa si ani v nejmenším nepostěžovala. Babylonskému králi však řekl, že v Arábii má lepší bludiště, a dá-li Bůh, jednoho dne mu je ukáže. Potom se vrátil do Arábie, svolal hejtmany i purkrabí a s velkým válečným štěstím zpustošil království babylonské. Pobořil hrady, pobil lidi a krále zajal. Připoutal ho na rychlého velblouda a odvezl do pouště. Jeli tři dny a potom mu řekl: "Ó vladaři času, jenž jsi podstatou a znamením doby! V Babylónii jsi mě chtěl nechat zahynout v bronzovém bludišti s mnohými schodišti, dveřmi a zdmi. Nyní se Všemohoucímu zlíbilo, abych ti ukázal své bludiště, v kterém není třeba stoupat po schodech, ani násilím otvírat dveře, ani procházet únavnými chodbami, ani chodit podél zdí, jež ti zastoupily cestu."
 Potom rozvázal králi pouta a zanechal ho uprostřed pouště, kde zemřel hladem a žízní. Věčná sláva Tomu, jenž neumírá.

středa 27. února 2013

Citát z Borgese

Neexistuje intelektuální čin, který by se nakonec nestal zbytečným. Filozofické učení působí zpočátku jako pravděpodobný popis světa. Léta plynou a z učení se stane pouhá kapitola, ne-li jen odstavec nebo jméno, v dějinách filozofie. V literatuře je tato pomíjivost ještě zřejmější. Don Quijote - řekl mi Menard - byl především příjemnou knihou. Teď je příležitostí k vlasteneckým přípitkům, ke gramatické nadutosti a k oplzlým luxusním vydáním. Sláva je možná nejhorší druh nepochopení. 
Jorge L. Borges - autor Quijota Pierre Menard

sobota 23. února 2013

Jazyk, děti a jejich rodiče

Nikdy jsem doposud nepochyboval o tom, že hlavní roli v učení se jazyku u dětí hrají neustálé opravy a napomenutí, kterými rodiče špatně mluvící děti štědře zahrnují. Pinkerovi se však podařilo sémě pochybnosti ve mě zasadit.

Psycholožka Karin Stromswoldová předkládá zvlášť dramatický důkaz toho, že reakce rodičů nehrají rozhodující roli. Zabývala se chlapcem, který z neznámých neurologických důvodů nemohl mluvit, ale s velkým zájmem naslouchal souvětím a rozuměl jim. Když mu byly čtyři roky, Stromswoldobá si ověřovala jeho znalosti tvoření minulého času tak, že ho žádala, aby učil mluvit psí loutku. Měl dát pejskovi kost, bude-li mluvit správně, a kámen, splete-li se. Chlapec dával kosti za tvary heated, baked, showed a sewed a kameny za eated, taked a knowed. Spletl se pouze jednou, když dal pejskovi kost za goed; dopustil se podobné chyby jako normální děti. Chlapec a zřejmě i jiné děti přijdou na to, že hypergeneralizované tvary jsou nesprávné aniž by si všímali reakcí rodičů na své chyby.
Steven Pinker – Slova a pravidla

Zajímavé a docela důležité, i když jak říká jeden bonmot: jenom šarlatán dělá obecné pravidlo z jednoho příkladu. Poctivý vědec potřebuje pro tvorbu obecného pravidla příklady dva.

středa 20. února 2013

Kde sehnat hodně textu I.

Snad nejjednodušší způsob jak se dostat k textovému korpusu alespoň trochu uspokojivé velikost je stáhnout si anglickou Wikipedii. To je možné legálně a naráz na stránce http://dumps.wikimedia.org/enwiki/latest/. Ten pravý soubor je soubor enwiki-latest-pages-articles.xml.bz2. Po rozbalení obdržíme asi 42 GB velkou XML databázi. Dobrá rada: Odolejte pokušení soubor otevřít v prohlížeči XML souborů nebo v internetovém brouzdači. Pracuji na malém skriptu, který z XML udělá čistý text. To se trochu opozdí, ale nezapomenu na to.

úterý 12. února 2013

Frege o hranici logiky a psychologie

Biologové běžně říkají, že nějací tvorové mají společný gen. Snad si ani neuvědomují, jak metafyzicky se vyjadřují. Gen nemají společný tak jako já mám společné schodiště se svými sousedy. Gen si nepůjčují jako Gorgony v jenom dřevním filmu společné oko. Každý má svou vlastní hmotu a gen tedy není nějaká molekula, ale molekula je jenom nosič genu. Zdá se mi, že tenhle háček zabraňuje tomu, aby evoluční teorie byla zcela převoditelná na chemii či fyziku. S myšlenkou, číslem a psychologií je to ještě složitější.

Uchopení (...) je přece také duševní pochod! Ano! Ale pochod, který leží na samé hranici duševního, a proto nemůže být z čistě psychologického hlediska nikdy dokonale pochopen, protože při tom do věci vstupuje něco, co již v vlastním smyslu není duševní: myšlenka; a snad je tento pochod tím nejtajemnějším ze všech. Ale právě proto, že je povahy duševní, nemusíme se o něj v logice starat. Stačí nám, že můžeme uchopit myšlenku a poznat ji jako pravdivou; jak se to odehrává je otázka sama pro sebe.
Gottlob Frege – Nachlass

pondělí 28. ledna 2013

Reálnost matematického poznání u Locka

17. století bylo úžasné, protože v něm bylo snadné psát takové věci a snadno takovým věcem věřit. Ale to už je dávno.

Nepochybuji o tom, že lze snadno potvrdit, že poznání, které máme o matematických pravdách, je nejen jistým, ale i reálným poznáním; a že to není pouhá prázdná vidina nic neříkajících bezvýznamných přízraků mozku; a přesto, chceme-li o něm uvažovat, přijdeme na to, že se týká pouze našich vlastních idejí. Matematik uvažuje o pravdě a vlastnostech příslušejících pravoúhelníku nebo kruhu pouze z toho hlediska, jak jsou ideje v jeho vlastní mysli. Vždyť je možné, že nikdy ani jedno ani druhé nenašel jako existující matematicky, tj. jako naprosto přesné, ve svém životě. Nicméně poznání, které má o libovolných pravdách nebo vlastnostech týkajících se kruhu nebo libovolného jiného matematického obrazce, je přesto pravdivé a nepochybné, i když budeme mít na mysli reálné existující věci; a to proto, že reálné věci nejsou brány v úvahu víc a významově nejsou zahrnovány žádnými takovými výroky jinak, než jak se věci shodují s oněmi předlohami v jeho mysli.
John Locke – Esej o lidském chápání

pondělí 7. ledna 2013

Cenzurováno

Za války byla kvalita zboží mizerná. K výrazným výjimkám patřil černý inkoust pro cenzory. Podařilo se mi rozluštit jen sousloví "demoktatická ústava" a pak pár izolovaných slov. Za protektorátu nebyla slova o spartském protektorátu uznána za neškodná. No, alespoň jedna moje kniha je na změny politické situace připravena.

úterý 18. prosince 2012

Jazyk a stroj 1

Chci vytvořit nějakou jednoduchou matematickou strukturu, která bude obsahovat nějakou užitečnou informaci o přirozeném jazyce. Tuto strukturu chci získat automaticky pokud možno bez toho, abych stroji příliš napovídal jak má struktura vypadat. První pokus jsem udělal takto: Vzal jsem několik gigabytů textu a našel jsem dvojce slov, které mají alespoň padesát stejných kontextů. Kontext je slovo nalevo a slovo napravo. Tak se najdou slova, která mají něco společného. Z těchto dvojic jsem dále vyškrtal ty dvojice, které obsahují slovo, které je ve více jak deseti dvojicích. Tak se odstraní slova, které se všude jen motají a nic užitečného neříkají. Výsledek jsem dal do grafu. Texty byly z internetu. Do češtiny se připletlo dost anglických textů, ale anglická slova si povídají jen sami mezi sebou a mezi česká slova se nepletou. Překvapilo mě, že i takhle jednoduchý algoritmus na takhle "nečistých" datech může udělat docela plantou práci. Je však potřeba vytvořit něco úctyhodnějšího, a proto bude mít tento příspěvek pokračování. Cizím nápadům a připomínkám je nebráním, takže přemýšlejte, co by se dalo udělat.

pondělí 10. prosince 2012

Miroslav Petříček uvažuje o matematice (a jednom matematikovi)

Líbí se mi, když někdo dovede říci něco nápaditějšího než "matematika je pro život užitečná, protože učí logickému myšlení". A ještě víc se mi líbí, když to někdo napíše do kulturní revue. Celé je to tady, takže jsem vybral jen pár slov.

Jednoduchá otázka dokáže rozbít pečlivě vybudovanou logickou stavbu, protože ta dosud jen předstírala, že stojí na solidních pilířích. Ale ty tam nejsou, nikdy nebyly a ani být nemohly. Matematika ukazuje problémy na rubu jistot. V rukou vystudovaného matematika, který pochopil, proč byla vynalezena, přesně ukazuje, co je na jistotách nepřesného. (...) hloupost se rodí z všeobecné shody, která si libuje v nepřesnostech. Zdánlivě naivní tázání tuto hloupost demaskuje a brání jejímu bujení.
Miroslav Petříček - O matematice

pátek 16. listopadu 2012

Poe a Turek

V roce 1838 napsal Poe úvahu o tom, proč je známý automat hrající šachy podvod, tj. není to automat, ale skříň ukrývající člověka.

The Automaton does not invariably win the game. Were the machine a pure machine this would not be the case – it would always win.
Edgar Allan Poe - Maelzel's Chess-Player

Celé je to tady. Poe sice nebyl technik, ale jistě ani úplný prosťáček. Co se muselo stát s obecnou představou stroje, aby každý nahlédl nesmyslnost takovéhoto argumentu?

pondělí 8. října 2012

Keltský soumrak

Naštěstí není problém sehnat tuto bibli keltofilů v originále a legálně zadarmo zde. Sehnat si český překlad i za peníze už snadné a možná ani možné není. Snad jen v knihovnách, ale tuhle útlou knížku musí člověk prostě mít. Naštěstí se tato více než sto let stará angličtina čte docela dobře. Posuďte sami:

I will not of a certainty believe that there is nothing in the sunset, where our forefathers imagined the dead following their shepherd the sun, or nothing but some vague presence as little moving as nothing. If beauty is not a gateway out of the net we were taken in at our birth, it will not long be beauty, and we will find it better to sit at home by the fire and fatten a lazy body or to run hither and thither in some foolish sport than to look at the finest show that light and shadow ever made among green leaves.
William Butler Yeats - The Celtic Twilight

pátek 28. září 2012

iPod Scrobbling – DIY

Pokud vlastníte naprosto nescrobblovatelný iPod a nechcete ho „opravit“ tím, že smažete celou knihovnu i se všemi statistikami přehrávání jak bývá často doporučováno, pak zbývá ještě zkusit ho scrobblovat vlastním skriptem. Zbytek příspěvku je tedy jen pro ty, co vědí co je iPod, scrobbling a jazyk python.

Získání statistik z iPodu

iPod má všechny statistiky v iTunesDB. Zkoušel jsem pro to hledat funkční parser, ale nenašel jsem. Nechce se mi ho programovat, stejně Apple každou chvíli změní formát. Vytáhl jsem tedy statistiky jinak. První krok je editace obsahu iPodu v iTunes. Důležité je vybrat jen sloupce Název, Interpret, Album, Přehrání, Datum přehrání a Čas. Stačí teď jen vybrat položky s nejméně jedním přehráním. (Jde to, pokud si je podle počtu přehrání seřadíte.) Obrázek přikládám. Pak je nutné zvolit „menu/úpravy/kopírovat“ a v nějakém editoru výsledek vložit do textového souboru. Netřeba snad zdůrazňovat, že je nutné dát si pozor na kódování češtiny. Výsledek by měl být v cp1250. Notepad nemá žádný problém.


Scrobbling

Knihovnu pro scobblování v pythonu napsal uživatel andy.theyers a je celá v souboru audioscrobbler.py. Můžete si napřed vyzkoušet, jak funguje: 

# -*- coding: cp1250 -*- 

from audioscrobbler import AudioScrobblerPost

track = {
  "artist_name": "Karel Kryl",
  "song_title": "Bratříčku zavírej vrátka",
  "length": 291,
  "date_played": "2012-09-27 16:20:00", 
  "album": "Bratříčku zavírej vrátka",
  "mbid": "",
}

post = AudioScrobblerPost(username = "username", password = "password")
post(**track)

Statistiky z iPodu jsou nyní uloženy. Problém je se nahrávkami, které mají víc jak jedno přehrání. U těchto nahrávek předpokládám jedno přehrání za týden. To je sice hrubá aproximace, ale nic lepšího nevymyslím. Důležité upozornění: předpokládám český formát dat, tj. den.měsíc.rok. Pozor: na správné scrobblování máte jen jeden pokus. Skript je proto nutné nejdříve řádně odladit. Příkaz na skrobblování je pro jistotu zakomentován.

# -*- coding: cp1250 -*- 

import re
from audioscrobbler import AudioScrobblerPost

def aWeekAgo(y, m, d):
  ms = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
  if (y - (2012 - 40)) % 4 == 0:
    ms[2] = 29 
  d = d - 7
  if d < 1:
    m = m - 1
    if m < 1:
      m = 12
      y = y - 1
    d = ms[m] + d
  return (y, m, d)

fname = "forScrobbling"
f = open(fname)
post = AudioScrobblerPost(username = "username", password = "password")
for line in f:
  [title, interpret, album, N, datetime, time] = line.strip().split('\t')
  [d, m, y, h, min] = re.split(r"[ :\.]", datetime)
  [tmin, tsec] = time.split(":")
  N = int(N)
  d = int(d)
  m = int(m)
  y = int(y)
  h = int(h)
  min = int(min)
  length = 60 * int(tmin) + int(tsec)
  for i in range(N):
    date_played = "%d-%02d-%02d %d:%02d:%02d" % (y, m, d, h, min, 0)
    print
    print "       title =", title
    print "   interpret =", interpret
    print "       album =", album
    print " date_played =", date_played
    print "      length =", length
    #post(artist_name = interpret, song_title = title, length = length, date_played = date_played, album = album, mbid = "")
    (y, m, d) = aWeekAgo(y, m, d)
f.close()

Pokud skript proběhne v pořádku a jste s tím, co píše do konzole spokojeni, můžete odkomentovat řádku, na které se provádí scrobbling. Nakonec nesmíte zapomenout v iTunes vynulovat statistiky přehrání a raději smažte scrobblované statistiky. Celé je to, přiznávám, drbání se levou rukou za pravým uchem, ale až bude zase nějaký volný čas, zapracuji na nějakém systémovějším řešení.

čtvrtek 20. září 2012

Roger Miller: King of the Road – Bass Tab

Kdo jako já neumí na baskytaru a může zkusit jen ty nejjednodušší věci, tady najde inspiraci. (Pochopitelně vím, že v originále se to hraje na kontrabas.) Tabulaturu jsem psal přímo z nahrávky, takže pozor na chyby. Délky jsem se neobtěžoval zapisovat. Je to jenom úvod, protože při zpěvu a hře ostatních nástrojů basu moc neslyším, ale docela se to tam opakuje s výjimkou refrénu, který je harmonicky trochu jinde.

G------------------------0-3-0---------------------------------
D--3-5-3-0-------0---0-1-------1-2-3-2-3-2-3-3-1-1-------------
A----------1-0-1---1-------------------------------3-3-----0-1-
E------------------------------------------------------1-3-----