úterý 28. února 2012

Univerzální korekční předzesilovač

Po čase zase jedna drobná recenze. Snad někomu pomůže. Zkusil jsem knihu NF zesilovače 1. – Předzesilovaže, jejímž autorem je Zdeněk Kotisa, a jal jsem se stavět „Univerzální korekční předzesilovač“ pro elektrickou kytaru. Nejdřív bylo potřeba udělat zdroj. V rozpisu byly keramické kondenzátory 100 mikrofaradů, což je vyložená chyba a přijdete na to hned (má tam být nano). To, že stabilizátor 7915 je omylem nakreslen obráceně mi už dalo trochu zabrat. V samotném korekčním zesilovači v návrhu tištěných spojů je další chyba. Záporný pól a zem jsou přímo spojeny do zkratu. Naštěstí patnácti volty nic nezapálíte a vrtačkou se dá tištěný spoj opravit (přerušte spoj pod druhým švábem). Nakonec to sice hraje, ale tři fatální chyby na jeden návod je trochu moc. Možná, že doporučovaná zapojení jsou dobrá, ale rozhodně nejsou vyzkoušená.

pondělí 20. února 2012

Jung o intelektu a duchovnosti

Zabývat se věcmi o jakých psal Jung znamená rozčílit přinejmenším jedno občanské sdružení s pravopisnou chybou v adrese svého webu. To však není jediný důvod, proč stojí za to to udělat.

Náš intelekt podal nesmírné výkony, zatímco náš duchovní dům se rozpadl. Jsme hluboce přesvědčeni, že ani s nejnovějším a největším zrcadlovým dalekohledem, který se staví v Americe, neobjevíme za nejvzdálenější hvězdnou mlhovinou empyreum, ono ohnivé nebe, sídlo bohů a světového pohybu, a víme, že náš pohled bude zoufale bloudit mrtvým prázdnem nezměrných dálek. A nezlepší se to, ani když nám matematická fyzika odhalí svět nekonečně malého. Nakonec vyhrabeme moudrost všech dob a národů a zjistíme, že vše, co je nejdražší a nejcennější, je již dávno řečeno nejkrásnějším jazykem. Natahujeme po tom ruce jako lačné děti a domníváme se, že když to uchopíme, pak to také máme. Avšak to, co člověk má, již neplatí, a ruce se natahováním unaví, jelikož bohatství leží všude, kam až zrak dohlédne. Z veškerého toho vlastnictví se stává voda a nejeden čarodějův učeň se v těchto vodách, které sám přivolal, nakonec utopí, pokud předtím nepropadl spasitelskému bludu, že tato moudrost je dobrá a tamta špatná. Z těchto adeptů pocházejí oni úzkost budící nemocní, jež věří, že mají prorocké poslání. Neboť umělým oddělením pravé a falešné moudrosti vzniká takové napětí duše a z něj taková osamělost a náruživost jako u morfinisty, který stále doufá, že nalezne společníky ve své neřesti.
 C. G. Jung - O archetypech kolektivního nevědomí

úterý 14. února 2012

O slepotě vůči černým labutím

Taleb chce ve své knize ukázat, že vinou svých vědátorských teorií slepneme před nepravděpodobnými událostmi, které ovšem nadmíru pravděpodobně přijdou, a že praktičtí lidé se zdravým rozumem jsou tudíž mnohem hodnotnější než školometi. Ale říká to dosti divně.

NNT (that is, me): Assume that a coin is fair, i.e., has an equal probability of coming up heads or tails when flipped. I flip it nineny-nine times and get heads each time. What are the odds of my getting tails on my next throw?
Dr. John: Trivial question. One half, of course, since you are assuming 50 percent odds for each and independence between draws.
NNT:  What do you say Fat Tony?
Fat Tony:  I'd say no more than one percent, of course.
NNT: Why so?  I gave you the initial assumption of a fair coin, meaning that it was 50 percent either way.
Fat Tony:  You are either full of crap or a pure sucker to buy that "50 pehcent" business. The coin gotta be loaded. It can't be a fair game. (Translation: It is far more likely that your assumptions about the fairness are wrong than the coin delivering ninety-nine heads in ninety-nine throws.)
NNT: But Dr. John said 50 percent.
Fat Tony (whispering in my ear):  I know these guys with the nerd examples from my bank days. They think way too slow. And they are too commoditized. You can take them for a ride.
Nassim Nicholas Taleb - The Black Swan: The Impact of the Highly Improbable

Kdo zde neuznává, že nepravděpodobná událost může nastat, a kdo to připouští? Ale třeba Tomáš Sedláček označuje Černou labuť za pronikavou a hlubokou knihu. Jen nevím proč. Neumím říct, jestli Sedláčkova kniha Ekonomie dobra a zla by šla sama o sobě označit za pronikavou a hlubokou. Ve srovnání s Talebem však rozhodně ano. Mimochodem, něco podobného jako citovaná ukázka můžeme najít i u Pratchetta. Je dokonce možné, že je to i relevantnější:

"Well," said Ponder, gratified at the attention, "it appears that there was this man, right, who had to choose between going through two doors, apparently, and the guard on one door always told the truth and the guard on the other door always told a lie, and the thing was, behind one door was certain death, and behind the other door was freedom, and he didn't know which guard was which, and he could only ask them one question and so: what did he ask?"
The coach bounced over a pothole. The Librarian turned over in his sleep.
"Sounds like Psychotic Lord Hargon of Quirm to me," said Ridcully, after a while.
"That's right," said Casanunda. "He was a devil for jokes like that. How many students can you get in an Iron Maiden, that kind of thing."
"So this was at his place, then, was it?" said Ridcully.
"What? I don't know," said Ponder.
"Why not? You seem to know all about it."
"I don't think it was anywhere. It's a puzzle."
"Hang on," said Casanunda, "I think I've worked it out. One question, right?"
"Yes," said Ponder, relieved.
"And he can ask either guard?"
"Yes."
"Oh, right. Well, in that case he goes up to the smallest guard and says, Tell me which is the door to freedom if you don't want to see the colour of your kidneys and incidentally I'm walking through it behind you, so if you're trying for the Mr. Clever Award just remember who's going through it first.'"
"No, no, no!"
"Sounds logical to me," said Ridcully "Very good thinking."
Terry Pratchett - Lords and Ladies

pondělí 6. února 2012

Černé Indie

Líbila se mi rozhlasová hra Přízrak Dochartovy šachty a jal jsem se číst původní knihu Černé Indie. Zaujalo mě mj., s jakou perspektivou končilo 19. století.

Vzhledem ke stoupající spotřebě kamenného uhlí bude podle nejnovějších výpočtů nerostné palivo vyčerpáno ve Francii za 1140 let, v Anglii za 800 let, v Belgii za 750 let a v Německu za 300 let. Americká uhelná ložiska by při roční těžbě 500 milionů tun mohla vystačit na 6000 let.
Jules Verne - Černé Indie

pátek 3. února 2012

Další spouštěč úloh

Tentokrát paralelně. Úkolem je pustit graf úloh, kde jednotlivé větve mají běžet paralelně. Používám zde jen python s balíčkem multiprocessing, což má svůj důvod. Multiprocessing funguje na jedničku (bez hvězdičky), ale procesu nedovoluje paralelně pouštět další procesy. Pokusíte-li se o to přesto, odmění Vás python tímto hlášením ve stylu fantasy románů: "daemonic processes are not allowed to have children". To ale nevadí, protože každý orientovaný graf bez cyklů lze dekomponovat na jednotlivé větve. A přesně to dělám v přiloženém skriptu. Skript pouští tento graf úloh:



Procedura job(x) trvá x sekund. Celý graf úloh by měl trvat 12 sekund, a také trvá. Ale nejsem spokojen s cyklem, který procesy pouští, protože neumím čekat na první konec nějakého procesu jinak než pomocí timoutu. Předpokládám, že jednotlivé úlohy trvají alespoň minuty, ale spíš hodiny, takže to tolik nevadí, ale není to čisté řešení a nelíbí se mi. 

 # -*- coding: cp1250 -*-  
 import sys  
 import copy  
 from multiprocessing import Process, Pool, Lock, Manager, Queue  
 def decompose(bash, reservedIDs = [0], parentsConditions = [0]):  
  processes = []  
  process = None  
  conditions = copy.copy(parentsConditions)  
  for i in range(len(bash)):  
   command = bash[i][0]  
   if command == "branch":  
    conditions2 = copy.copy(conditions)  
    for j in range(len(bash[i][1])):  
     for subprocess in decompose(bash[i][1][j], reservedIDs, conditions2):  
      processes.append(subprocess)  
      conditions.append(subprocess["ID"])  
    process = None  
   else:  
    if process == None:  
     processID = max(reservedIDs) + 1  
     reservedIDs.append(processID)  
     process = {  
      "ID": processID,  
      "bash": [],  
      "conditions": copy.copy(list(set(conditions)))  
     }  
     processes.append(process)  
     conditions.append(processID)  
    process["bash"].append(bash[i])     
  return processes  
 def doDecomposedBash(bash, jobs):  
  for [command, argument] in bash:  
   jobs[command](*argument)  
 def job(t):  
  print "Doing some staff ..."  
  import time  
  time.sleep(t)  
  print "... done (%f sec)." % t  
 if __name__ == "__main__":  
  manager = Manager()  
  jobs = {  
   "job": job,  
  }  
  enviroment = manager.dict()  
  bash = [  
   ["branch",  
    [  
     [  
      ["job", [1.0]],  
      ["branch",  
       [  
        [  
         ["job", [2.0]],  
        ],  
        [  
         ["job", [3.0]],  
        ],  
       ],  
      ],  
      ["job", [4.0]],  
     ],  
     [  
      ["job", [5.0]],  
      ["branch",  
       [  
        [  
         ["job", [6.0]],  
        ],  
        [  
         ["job", [7.0]],  
        ],  
       ],  
      ],  
     ],  
    ],  
   ],  
  ]  
  processes = decompose(bash)  
  for process in processes:  
   process["process"] = Process(target = doDecomposedBash, args = (process["bash"], jobs))  
   process["state"] = "waiting"  
  closedProcesses = {0: 1}   
  # starting processes  
  while True:  
   theEnd = True  
   for process in processes:  
    if process["state"] == "running" and not process["process"].is_alive():  
     process["state"] = "closed"  
    if process["state"] == "closed":  
     closedProcesses[process["ID"]] = 1  
    else:  
     theEnd = False  
   if theEnd:  
    break  
   for process in processes:  
    if process["state"] == "waiting":  
     run = True  
     for condition in process["conditions"]:  
      if not condition in closedProcesses:  
       run = False  
     if run:  
      process["state"] = "running"  
      process["process"].start()  
   for process in processes:  
    if process["state"] == "running":  
     process["process"].join(0.01)  
     break       
   # All processes are done now.  

čtvrtek 2. února 2012

Jung o neplodnosti theosofie (a také materialismu)

Existuje však ještě jiná forma negativního myšlení, kterou bychom asi sotva na první pohled jako takovou rozeznali, a to je teosofické myšlení, které se dnes rapidně šíří ve všech světadílech patrně jako projev reakce na materialismus právě minulé epochy. Teosofické myšlení není zdánlivě nijak reduktivní, nýbrž vše povyšuje na transcendentní ideje objímající celý svět. Například sen už není skromným snem, nýbrž zážitkem na „jiné rovině“. Zatím ještě nevysvětlitelný fakt telepatie se vysvětluje velmi jednoduše „vibracemi“, které se šíří od jednoho člověka k druhému. Běžná neurotická porucha je vysvětlena velmi jednoduše tím, že se něco přihodilo „astrálnímu tělu“. Určité antropologické zvláštnosti obyvatel pobřeží Atlantiku se snadno vysvětlí zánikem Atlantidy atd. Stačí jen otevřít nějakou teosofickou knihu, abychom byli přemoženi a zdrceni poznáním, že vše je už vysvětleno a že tato „duchovní věda“ nezůstavila už vlastně vůbec žádnou záhadu. Tento druh myšlení je v podstatě právě tak negativní jako materialistické myšlení. Chápe-li materialistické myšlení psychologii jako chemické změny gangliových buněk nebo jako natahování a smršťování buněčných výběžků či jako vnitřní sekreci, je to právě tak pověrčivé jako teosofie. Jediný rozdíl spočívá v tom, že materialismus redukuje na nám běžnou fyziologii, zatímco teosofie vše převádí na pojmy indické metafyziky. Zredukujeme-li sen na přeplněný žaludek, není tím sen přesto vysvětlen, a vysvětlujeme-li telepatii jako „vibraci“, je tím řečeno právě tak málo. Neboť co je „vibrace“? Oba způsoby vysvětlování jsou nejen impotentní, ale jsou rovněž destruktivní, poněvadž brání opravdovému zkoumání problému tím, že zdánlivým vysvětlením odvádějí zájem od věci a věnují ho v prvním případě žaludku a v druhém případě imaginárním vibracím. Oba způsoby myšlení jsou sterilní a sterilizující. Negativní kvalita pochází z toho, že toto myšlení je tak nepopsatelně pohodlné a levné, tj. chudé na plodivou a tvůrčí energii. Je to myšlení ve vleku jiných funkcí.
C. G. Jung - Obecný popis typů