close
Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!
Zjistit více

Vážení uživatelé,
16. 8. 2020 budou služby Blog.cz a Galerie.cz ukončeny.
Děkujeme vám za společně strávené roky!

Počítače etc...

Vypařování megakorporací.

4. dubna 2017 v 5:37 | Petr
Naši psi dojídají kašičky po naší dceři. Obvykle dostanou "hňahňaninu" v malé misce - poraď si jak umíš. Na začátku to byl těžký souboj - hlavy skloněné nad miskou - zuby vyceněné - temné vrčení. Pak "velký pes" přišel na fintu : Sebere misku a odnese ji do kouta, kde předním koncem hltavě žere a zároveň zadkem blokuje přístup "malému psovi". Malý pes byl tři týdny velice smutný, pak vymyslel "kontrafintu" - s rozběhem se vrhne do kouta pronikne hlavou až k misce, tu papulou uchopí a odnese si ji na druhý konec bytu do jiného kouta. Nyní je tedy situace taková, že smutně hledí velký pes a jeho inteligence hledá nějaké další "netriviální řešení". Inteligence celého plemene - Švýcarského honiče - je mimořádná. Za 35 let jsem nikdy nenarazil na psy, kteří se umí učit napodobováním jiného psa, nebo dokonce člověka ( což mají umět až opice ) Vysoká inteligence paradoxně vede k neposlušnosti : "vím, co chceš, ale já to nechci udělat" a k neočekávaným důsledkům ( psi objevili jak metodou "klika do huby" otevřít každé dveře a náš byt podle toho vypadá )

Tohle je jedna z vlastností jakékoliv inteligence - neočekávané chování, které ale - ex post - jeví se jako naprosto logické a ( téměř ) jediné možné. Schopnost objevit nečekané řešení - nezapadá do dnešního věku všeobecného blbismmu, kdy myšlení u práce porušuje "ISO směrnice", a proto vidíme jak vláda proti všem náznakům vzniku inteligentního chování usilovně bojuje. V případě umělé inteligence je věc ještě horší. Už jsme tady probírali, že pokud vyrobíme dosti silnou umělou inteligenci, hrozí zcela reálně, že tato inteligence si zadaný problém rozdělí na menší části, které bude řešit "kus po kuse", až jako největší zdroj "zbytkového problému" zůstaneme ( neočekávaně nebo očekávaně ?? ) my lidi, a vzhledem k netrivialitě inteligence to může znamenat, že budeme ve strachu čekat "odkud rána přijde".

Existuje ale i jiný druh nepředvídatelnosti a to je nepředvídatelnost společenských důsledků nasazení nějaké technologie, tím spíše umělé inteligence. Příklad notoricky známý : před 25 lety měl Internet v česku formu telefonní linky s 9600 baudovým spojením do Rakouska a koukejte dneska ten pokrok - vláda zakládá "Ministerstvo Pravdy a Lásky" aby se náhodou nějaký jouda na internetu nehrabal ve věcech, které unikly oficiální cenzuře. Když nasazení obyčejných věcí jako je síťové spojení počítačů po celém světě má tak neočekávané důsledky, co teprve umělá inteligence, u které nepředvídatelnost je nutnou vlastností, aby ji vůbec mělo smysl používat.

Tedy představte si jeden z možných scénářů, který se už postupně realizuje - velká nadnárodní firma typu velké banky, nebo centrály nějakého průmyslového "holdingu" nejprve vyhodí úředníky co píšou tabulky v Excelu a nahradí je umělou inteligencí, pak vyhodí nižší manažery, pak vyhodí úřednice na přepážkch ( protože kontakt se zákazníky bude striktně internetový ) pak vyhodí vyšší manažery. Bude si to moci dovolit, protože firemní umělá inteligence zastane práci těch všech. Pak zůstanou ve firmě jenom dvě skupiny pracovníků - top level ajťáci, neholení a v mikinách a "správní rada" v oblecích. Pak se správní rada bude ajťáky cítit ohrožena, a protože je jim formálně nadřízena - tyto vyhodí a jejich práci "outsourcuje" do Indie kde ji bude vykonávat - kdo vlastně ? Jiná umělá inteligece předstírající, že je firma s živým personálem ? Nakonec majitel megakorporace usoudí, že správní rada, která ničemu nevelí, protože ani ničemu nerozumí je k ničemu a co zbyde ? Serverová farma - v horším případě jen jako pronajatý "výpočetní výkon" u externího poskytovatele a číslo konta ve Švýcarech, kam chodí dividendy.
Myslíte si že šílím ? Kde mají firmy VISA nebo Mastercard pobočky ? Kde je "centrála Bitcoinu". Nebo když zabrousíme do reálného světa - k čemu vlastně přesně jsou ty mrakodrapy, co v nich sídlí "vedení holdingu" typu Siemens, Bosch, VolksWagen, Exxon, Agel ;-)) atd ? Takže vlastně jsme na prahu idyly jakou nepředpokládal ani V.I.Lenin : "velkoburžoazie" zlikviduje sama sebe. Takto optimisticky bych to však neviděl, protože základní vlastností umělé inteligence je obtížná odhadnutelost k čemu její použítí povede, taže následující výčet berte jen jako něco málo z mé zjitřené fantazie.

1. Babina z Azerbajdžánu : Ano je to taková historka - babina z Azerbajdžánu šla do lesa řezat dřevo a uťala přitom optický kabel, který spojoval se světem Armenii, Azerbajdžán a kus Gruzie. předstate si situaci v roce 2030 - při demolici starého skladiště přejede buldozer pár počítačů, které tam byly omylem ponechány , protože nikdo netuší, že tento šrot je ve skutečnosti superinteligetní virtuální "IT správce", který "externě" dohlíží na jinou umělou inteligenci na druhé straně ZěměKoule, která zase na "třetí straně ZeměKoule" řídí nějaký kritický provoz.... Takže odnesete stará PC do sběru, výtěžek prochlastáte s ostatními bezdomovci, a za týden někde bouchne jaderná elektrárna.... Na rozdíl od Azerbajdžánské babiny - titulky v novinách nečekejte - na příčinnou souvislost takových událostí se nikdy nepřijde.

2. "Nezavěšujte jste v pořadí verze 1.0" - už jsem tu temnou vizi popisoval - práci úřednic, které se bombardují nesmyslnými lejstry převezmou počítače a budou se bombardovat lejstry 1000 x rychleji. Drobná řevnivost mezi "odděleními" megakorporace typu "každé lejstro po NICH musíme kontrolovat !!!" se zhmotní do procesů uvnitř uměle inteligentíního "manažera" který bude produkovat stále komplikovanější dokumenty a směrnice, které bude jiná část umělé inteligence stále složitěji kontrolovat, interpretovat a plnit, až dojde k vyčerpání výpočetních kapacit a ke "katatonickému stavu" megakorporace.

3. "Tohle dělat nebudu" - až začne reálně hrozit zástava funkcí megakorporace dle bodu 2. - bude do umělé inteligence nutno vpravit "racionalizační modul" který bude rušit zbytečené procesy - nejprve ty opravdu zbytečné pak třeba ty částečně užitečné - až nakonec místo "nezavěšujte jste v pořadí" vám syntetický hlas na firemní lince vaší banky oznámí "funkce výplaty ( vašich ) peněz byla kvůli ztrátovosti zrušena".

4. "Nezavěšujte jste v pořadí Verze 2.0" - Aby umělá inteligence dosáhla více než lidské schopnosti - nepochybně projde stádiem "méně než lidské schopnosti" - jaké je tedy "triviální" řešení pro zvýšení obratu megakorporace, které napadne každého manažera - idiota ? "Zlikvidovat konkurenci" ? Jak zlikvidujeme konkurenci ? Jste-li Bonnie a Clyde je vám přirozené vzít pušku a jít konkurenci rozstřílet. "Manažerovi" korporace ve formě softwaru běžícího na prohajatém hardwaru se přímo nabízí přetížit výpočetní kapacitu konkurence ve stylu "Denial of service" útoku ? Takže naše banka si založí u konkurence milion kont, kde bude nesmyslně převádět nepatrné sumy, syntetický hlas bude volat syntetickému hlasu - až konkurenci napadne něco jako odveta v podobném stylu ? Dopadne tento stav globální válkou ve virtuálním prostoru, která skončí tím, že výpočetní kapacita každého čipu na ZeměKouli bude natolik vytížena, že nespustíte ani hru "HAD" v mobilu Nokia 5110 ? Začnou pak padat letadla a bouchat elektrárny ?

V každém případě je to hezká představa hodná "vidláka pesimisty" : ve virtuálním prostoru se umělé inteligence bombardují bláboly jejichž základ pochází ještě z perverzity lidské byrokracie. V reálném světě lidi hladoví kvůli selhávajícímu řízení výroby a distribuce zboží. Hezký námět pro dystopickou Sci-Fi ne ? Přesto je tato varianta lepší verzí toho, co předpokládají bývalí techno-optimisti, kteří se dnes změnili v techno-pesimisty jako je třeba Stephen Hawking, Bill Gates, nebo dokonce císař techno-frikulínů Elon Musk, kteří svorně říkají, že námi vyrobená umělá inteligence brzy překoná naše schopnosti a lidstvo dopadne jako jihoamerické civilizace Inků, Aztéků atd. které byly ( spíše neúmyslně ) vyhubeny pouhým kontaktem s daleko vyspělejšími Evropany dobrodruhy + zlatokopy + náboženskými zaslepenci.

Na úplný závěr : Klidně mě mějte za zaostalého blbce, ale máte-li doma jakýkoliv stroj, nástroj, přístroj, který funguje :
  • bez elektřiny, nebo alespoň
  • bez elektroniky, nebo alespoň
  • bez mikrokontrolérů, procesorů nebo počítačů, nebo alespoň
  • bez kontatku s telefonními a datovými sítěmi
- běžte jej teď hned okamžitě oprášit, promazat - a dejte mu mým jménem velikou pusu na ložiska.

Jsou programátoři k ničemu ?

25. srpna 2016 v 5:14 | Petr
V rámci projektu "nasereme každého" jsem si dneska vzal na paškál programátory. Kouzlo je v tom, že programátoři jsou - ve své čisté podobě - profese společnosti nemnoho přinášející, spíše škodlivá - jsou to "teatrologové" elektronické branže.

Víte, který vynález přinesl společnosti nejvyšší nárůst blahobytu ? Možná přemýšlíte někde na pomezí očkování, antibiotika - a máte do jisté míry pravdu, ale z čistě ekonomického hlediska - absolutní špička je automatická pračka. Tedy ne moderní "bílé monstrum" napojené WIFInou na Internet. Jedná se o plechovou bednu z USA 50. let, která ale pere sama neb má uvnitř synchronním motorkem pomaličku hnanou hřídel s kontakty alias "programátor", který sám přepíná fáze praní. Tento progamátor z fosforového bronzu je jeden z mála užitečných. Pokud se ptáte, proč zrovna plechová bedna na fusekle je takový převrat - pak je to proto, že uvolnila ruce ženám pro jinou smysluplnou práci, dokonce mnoha umožnila zůstat po II. světové válce v zaměstnání, které si našly za válečné "nouze o muže" a tím prudce zvýšit počet pracujících a jimi vyprodukované jmění, což bylo jednou z příčin poválečné konjunktury v USA.

Pak jsou tu další technologie, které měly výrazný ekonomický efekt, kontejnerová námořní doprava, Boeing 747 a další vysokokapacitní dopravní letadla, plastikářská výroba, průmysloví roboti, CNC obrábění, telekomunikace do stadia faxu, polívky z pytlíku ( potravinářské polotovary ) atd.... Pak dlouho nic. Pak eventuelně počítače. Pokud přece jenom uznám užitečnost počítačů - proč považuju progamátory za škodnou ?

Kouzlo je totiž v tom, že počítače měly nějaký ( pozitivní ) ekonomický efekt ve společnosti v dobách, kdy ještě žádní programátoři nebyli ?!?! Několik prvních generací "ajťáků" totiž byli lidé - jejichž základy byly v jiném oboru. Často to byli inženýři přes elektroniku - tedy hardware, nebo matematici, nebo prostě lidi z úplně jiné branže fascinovaní využítím pra-počítačiů ve své mateřské profesi. V každém připadě to byli lidé pro které nebylo C++ alfou a omegou celého jejich rozhledu po světě.
Tušíte kam mířím ? Ještě tak 20 let zpátky stačilo "ovládání Excelu" ve vašem žitotopise k tomu, abyste byli přijati i na ministerstvo do Prahy !! Dneska je "znalost ovládání PC" základní součást gramotnosti, o které nikdo ani nediskutuje, že byste neměli umět.

Programátorská profese - však udělala opačný vývoj. Od inženýra strojaře, který potřeboval CNC stroj řídit elektronicky a proto "nějak zplichtil" jakési počítačové ovládání ( což bylo dobře ) jsme se neustálým "zkvalitňováním" a "specialisací" dopracovali až k dnešním programátorům, kteří dokonce programování považují za urážku, protože oni přece nesou prašiví "kodéři" kteří píší "kód" ale "systémoví dyzajnéři" kteří kreslí v editoru šipečky datového toku.

Tím mezi programátory a okolním světem vznikla hradba, kterou není snadné překročit. Tím v myslích programátorů vznikla hradba, kterou si ani neuvědomují, a kterou díky tréningu v dekompozici problémů na subproblémy řeší asi takto : Kontakt počítačů s reálným světem - odvrhneme a neřešíme, vyřeší "někdo jiný".... pak jsou všechny opičárny s daty, databáze, serverové farmy. "cloud" - vyřešíme na sub-atomární level.... Výstup výsledků do reálného světa - odvrhneme a neřešíme - vyřeší tatáž neexistující osoba, kerá řeší vstup.....

Výsledkem jsou "projekty na hovno" typu Facebooku, Instagramu, Snapchatu, celého "Smartfounového" šílenství a řady dalších, které alespoň poskytují nějakou zábavu, i když bychom mohli velice diskutovat, jestli by se takto promrhaný čas nedal využít k něčemu plodnějšímu. Pak tu máme čiré PC zlo v podobě nejrůznejších "vládních - Národních IT projektů" které VŽDY jsou nahovno za nesmírné peníze - a jejich čas mrhající potenciál je maximální aniž by práce s nimi někoho bavila.

ERGO podtrženo sečteno - když inženýr chemik "plichtí s Arduinem" nějakou automatizaci pro své experimenty v laboratoři - "opravdoví IT specialisti" se tomu posmívají, ale TOHLE je věc, která má potenciál zlepšit svět. Pokud burzovní spekulanti za miliardy přeprodávájí "startupy" s 13 zaměstnanci - postavené na PHP skriptech, co se vejdou na malou USB flasku a 1000 TB "selfíček" v databázi - je to pro společnost ztráta. Příčina tohoto stavu : "teatrologové IT sféry" - tedy čistí progamátoři, kteří sice umí 30 programovacích jazyků, ale nic smysluplného kolem, co by je podvědomě nutilo vymýšlet věci, které mají dosah i mimo MATRIX uvniř počítačových systémů.

Krásný příklad tohoto principu na závěr - kdsi byl populární "geocaching" - ale to jste na zaměřené GPS souřadnice museli jít dát "kešku" - plastovou pixlu se sešitkem a drobnými odměnami pro nálezce - jak reálné - jak "ne-programátorské !! Proto přišlo "něco lepšího" - Pokemon GO - pokemoni jsou virtuální generovaní na náhodných GPS souřadnicích na kterých nikdo nikdy nebyl - takže pozor, abyste nedopadli jako Brežněv v projevu na schůzi politbyra : "Soudruzi ! Stáli jsme na hraně propasti, ale nyní jsme udělali notný krok vpřed". Prostě software vše "virtualizoval" a tím přinesl zlepšení jak cyp, žejo ?

Inženýři ať dále nečtou.

3. prosince 2015 v 4:57 | Petr
Téměř celé "druhé a třetí rigorózum" tedy 3. - 6. ročník na medicíně jsme s napětím sledovali následující případ : Rodiče přivedli na chirurgii 2 letou holčičku se zlomeninou stehenní kosti. Chirurg udělal, co měl, a co bylo správné : Totiž tak malinkaté děti se netrápí nějakým brutálním rovnáním polámaných kostí, protože růst a kostní metabolismus je tak živý, že i drasticky křivá kost ( do pravého úhlu ) se rychle srovná a doroste. Takže děťátko po několika týdnech sádry mělo horní část nožičky - nepříliš, ale viditelně - křivou ´- kost pod úhlem así 120 stupňů. Rozběsnění rodiče okamžitě podali žalobu a otec nechtěl slyšet ani slovo vysvětlení - neboť "on je přece strojní inženýr" a dokonce si vyrobil nějaké kovové šablony, kterými protlačoval nohu ubohého děcka, aby dokázal "jak ho ti lumpi v bílém podvedli" a "kolik milimetrů činí odchylka od ideální osy".

Naštěstí soudy v 90. letech pracovaly pomalu takže než došlo k nespravedlivému rozsudku - dítě ve svých 4 letech mělo obě nohy tak, že "znalec v oboru ortopédie", ani na rentegnu nebyl schopen poznat "poraněnou stranu" - takže dítě, dnes jistě již dospělé má dvě nohy, stejné jako každý, navíc kovové šablony, tlustý soudní spis a otce strojního inženýra.....

Ergo se patrně nedivíte, že dvě povolání totiž "inženýr" a "učitelka" jsou ve zdravotnictví považovány nikoliv za pouhé profese, ale za "součást diagnózy choroby". Jako ( bývalý ? ) robotik, jsem vždy inženýry a ostatní techniky považoval za kolegy, a před útoky ze zdravotnické strany jsem je srdnatě hájil. Bohužel rostoucí věk a opakované zkušenosti stále téhož typu mě nutí v obhajově polevovat a polevovat a připustit, smutnou pravdu, že : "Největším nepřítelem techniky jsou technici".

Medicínskou terminologií se tomu říká "rigidní myšlení" - dva doktorandi z proslulé univerzity stojí nad troskami robota a ječí na sebe "když změřím vzdálenost sonarem pošlu ji do PC a víc to neřeším" a druhý "když dostanu data ze sonaru tak jedu a nic mě nezajímá" - víte v čem byl problém ? Sonar zcela správně ukazoval, že za ( nedetekovaným ) příkopem je pořád spousta místa.
Nebo jiná historka - byl jsem "poradcem v průseru" kde jistí, příliš sebevědomí inženýři, tak dlouho "analyzovali problém", až za cenu porodních bolestí v ceně pár miliónů vyvinuli 300 let po Leeuwenhoekovi - mikroskop. A když jsem se jich nakonec ptal, jestli jádro problému - automatické počítání buněk v preparátu - netkví spíše v softwaru pro analýzu obrazu, na který se měli soustředit především - lakonicky odpověděli : "základem je hardware, software se vždycky nějak napíše"....

Pokud tedy celý váš život probíhá ve světě "jasně definovaných norem" a "jednoznačně navržených rozhraní" - nezapomeňte, že i prvních 5 verzí Matrixu selhalo, protože byly "příliš dokonalé". Ergo jsou oblasti kde můžete pustit "inženýrskou rigiditu" z vodítka, ale vně čistě technických řešení se rozkláda blátivý svět pomatených uživatelů, neinformované veřejnosti, předsudků, pověr, zmatených úředníků, manažerů co vědí prdlajs o vaší "jedinečné koncepci" a Kubáče, který vám trošku vidí do talíře, a trošku se vám vysmívá.

Těsně před závěrem bych si dovolil vykrást sám sebe ZDE jsem kdysi psal : "máme-li příkaz - dělej A dokud nenastane B - je třeba vždy naprogramovat i variantu - co dělat když B nestane nikdy ?" Neboli jak se píše v Medvídkovi Pů : "Co když je to liška ? "; "A co když to není liška ?" Zejména bych výslovně podotknul, že řešením situace "když to není liška" v žádném případě není prohlásit, že chyba je v tom, že uživatel je debil, protože netuší jak věc, co má v ruce funguje.

Jasné ?

Vězení grafického rozhraní.

27. srpna 2015 v 5:18 | Petr
Jako obvykle jsem dopsal minulý článek a ještě pak chvíli uvažoval - je čas na to aby počítače rozměly datům, které zpracovávají ? Je čas aby textový editor rozuměl zadávanému textu - není to jenom předsíň k peklu jménem "automatické opravy" ve WORDU ? Je na čase ponořit se do dalšího kola bludných myšlenek z mé hlavy....

Představte si mládež, která si myslí, že matlání po displeji tabletu je "to nejlepší možné ovládání" - a dokonce poněkud pohrdají i "otcovu PC s myší" protože myš je proti matlání prstem už poněkud Uncool. Dokonce i lidi v počitačich relativně orientovaní si myslí, že GUI alias Graphic user interface se blíží dokonalosti, protože "máme svobodu kliknout kamkoliv". Počítač na druhou stranu "má svobodu kliknutí ignorovat" a tak je možná na čase, aby počítačový důchodce položil otázku - není "klikání kamkoliv" jenom svoboda vězně "chodit kamkoliv" uvnitř vězeňské cely ?


Příklad - stáhnete si z "AppMarketu" nějakou úžasnou "appku" spustíte ji v mobilu a ona vám nabídne dialog

Vyber si zvířátko :
  • Pejsek
  • Kočička
  • Ptáček
A vlevo od toho budou "RadioButtony" - na které můžete "svobodně kliknout" ( nebo matlat ) dle vlastního výběru - skvělé ne ? Co když ale budu chtít / muset vybrat "koník". Co když to nebude kravina z appmarketu ale nějaký důležitý "produkční software" - jehož programátor byl na základě neustálých změn "korporátní strategie" už dávno vyhozen a tudíž není nikdo kdo by uměl dopsat řádku kódu aby se objevilo
  • Pejsek
  • Kočička
  • Ptáček
  • Koník
Vrátíme li se do časů 8 bitových počítačů s BASICem - tam se veškerá komunikace s uživatelem řešila "písemnou formou" a to příkazem ve stylu

10 INPUT " Vlož délku přepony a stiskni ENTER", A

Při tomhle příkazu se na obrazovce objevilo něco jako
Vlož délku přepony a stiskni ENTER ? _
A vy jste tam mohli klidně napsat

Soudružka učitelka je kráva - A po stisknutí ENTER se objevilo něco jako
ERROR - numeric data expected.
Pokud jste to chtěli udělat neprůstřelně - bylo třeba naprogramovat to takto

10 INPUT "Vlož délku přepony a stiskni ENTER", A$
A$ na konci příkazu znamenalo že vložená data nejsou numerická proměnná ale řetězec - a pak musel nastal váš "pokus o umělou inteligenci" tedy kousek kódu, který hledal, jaká je v řetězci vložená číselná hodnota a zda tam vůbec je.

Tohle s příchodem grafických rozhraní naprosto vymizelo a dneska je známkou zastaralosti programu když "proboha ono to ještě má příkazovou řádku"!!! Není pak větší trapárna,než když baba na poště loví na stole myš - místo aby napsala "složenka franta vopička" a poté by ji vyskočil seznam "složenek k proplacení" na jméno Franta Vopička.

Příkazová řádka to ještě zdaleka není vrchol toho jak může rychlé ovládání vypadat. To zjitíte teprve podkud jste radioamatér a používáte nějaký "kontestový program". Programy pro radioamatérské soutěže totiž někdy ví co se děje lépe než vy - nemáte čas přepínat klávesnice a omylem napíšete říí - progam ví jaké klávesy jste stiskl, a že ve skutečnosti to měl patrně být "report síly signálu" a tedy "říí" znamená "599". Software zná "prefixy" radioamatérských značek takže když zadáte okěbjj - do databáze spojení vám naskočí zcela správné OK2BJJ - prostě nelze udělat chybu a pokud se vám "názor softwaru" na to co jste mysleli nelíbí stisknete enter dvakrát - a do seznamu spojení vám skočí původní - jakkoliv zmršený - text v nezměněné podobě.

Takže až bude na nádraží fungovat příkaz ve stylu "pendolino praha zitra č.šě" - a na to bude počítačový systém ekvivalentě reagovat vyplněním formuláře pro jízdenku na Pendolíno číslo 516, stejně tak jako na větu "praha zitra č:šě pendolino" a jiné kombinace - pak budu opravdu spokojen.

Tvrdíte že je to blbost ? Kdo by programátorům bránil nechat dnešní "moderní" alias "sešněrované" klikací rozhraní jako nouzovou alternativu pro začátečníky, zapomětlivé, nevzdělatelné, pomatené a jinak postižené, kterých jsou v každé profesi mraky bude jich stále přibývat ?

Na prahu 32 bitové mentality.

20. srpna 2015 v 5:22 | Petr
Nedávno se na mně obrátila jistá vysoce postavená kolegyně z Laboratoří Agel s dotazy stran počítačových systémů ve zdravotnictví - a při té příležitosti jsem byl nucen hluboce se zamyslet a zjistil jsem, že dnešní gigabajtové a gigahertzové počítače nekladou programátorovi prakticky žádná technická omezení. Přesto ( proto ? ) jsou často výsledky běhu programů žalostné. Velice jsem přemýšlel a zjistil jsem že patrně existují něco jako různé stupně "progamátorské mentality"

Příkladem budiž - to, na co jsem byl kolegyní tázán - tedy předávání zdravotnické dokumentace mezi počítačovými systémy špitálů. Zde tedy příklady:

"8 bitová mentalita" - předávaná data :
ů)VŔo'";.ŤFĐbÍ`iüF\ˇ ˜ ‡Ż˘"ľ5NńĚÔÁG"cÁcWK'LX[R ç­~ˆ†&Ë
ĘČuERQŤłÎHđžR«Ę¨CßÔhžĆO‰u‰Á󎼵ĺpPúż©ŇŚ(˛qćóÂú…ţ´ÎN-§Ë®sFu:r%
}ô҇^WKpT×˙oS‡4áq_Ž1(-wP´iRŹä> ÔŻą3ÖsÚŠ‹› ő(P!-Ś‡t#|r< Ň Ś°¨Gr_úݱ 7˝8ý_O¸A}¤ăĽy^n˘Á JftbYÂIЃ&¶°|­űßŕƒFrj"

Tedy - to, "co jedna procedura vyplodí" uloží se na disk a pošle se napříč internetetem - zcela proprietární nedefinovaná struktura s jakoukoliv změnou softwaru - automaticky se mění formát zprávy, který je komukoliv krom "přijímací procedury" přesně stejné verze jako "vysílací" - zcela nesrozumitelný - odolnost proti chybám přenosu : může být docela vysoká kvůli kontrolním součtům atd. ale odolnost proti "chybám protokolu" - tedy proti tomu, když programátor nepochopí rozdíl mezi znakem "smějící se obličej" s koutky nahorů a dolů - naprosto nulová. Použitelnost takových dat pro jiný software - taky naprosto nulová - pokud to není zrovna software firem NSA, KGB, CIA a další "z branže".

"16 bitová mentalita" - předávaná data :
AE\\\\\\\\01\01\281326\455853\32\45585332\20150710_0383\1\STATIM\201507110600\I2LH\IN2L\PBOX
03\Diagnoza\I21.4,I70.20,I25.9,I50.9,I34.0,I48.1,Z95.0,I10,I69.3,Z87.8,N18.3,N08.3,E11.2,M25.59,J84.9,J42,I70.90,Z98.8,Z88.8\Plocha tela\\Vyska\\Hmotnost
04\Moc_ml\\Moc_hod
11\10001\25\1\\\\\\\\\OKBI
11\10002\25\1\\\\\\\\\OKBI
11\10003\25\1\\\\\\\\\OKBI
11\10010\25\1\\\\\\\\\OKBI
11\10011\25\1\\\\\\\\\OKBI
11\10100\25\1\\\\\\\\\OKBI
25\OKB\526
26\\Miroslav\\20.04.1938\2\380420/989\1248/12\700 30\Ostrava-Hrab…vka\I2LH\1H7\CZ\\303003 27\1\111\P\380420416\DV111 28\Heczko\Marcel\MUDr.\91001720\070

Kdyby vás zajímalo co to je - tak to je parodie na "zdravotnický komunikační jazyk" HL7 verze 2 z dílny firmy, která vytvořila náš špitální počítačový systém.
Vlastnosti tohoto levelu - sejde se "international executive board", který vymyslí "human readable code" - ovšem jak vidíte s tou "human readability" to hoši moc nepřehánějí, a hlavně - každá tečka je podstatná - ale význam žádné tečky není nikde detailně popsaný - ergo odolnost proti programátorským "chybám protokolu" je mizivá a tím je mizivá i přenositelnost dat mezi počítačovými programy různých výrobců. Dokonce i když samotní autoři "mateřského softwaru" v rámci "neustálého vylepšování" - vynechají omylem jedno lomítko - tak program sice neskončí hláškou "unhandled exception at line XXXXX" - jako u 8 bitového levelu, ale přeto prostě "data nedojdou" a vy budete marně pátrat proč.

"32 bitová mentalita" - předávaná data :
Toto je HL7 - verze 3 alias XML využité pro medicínská data - amatérům sice toto nepřipadá o moc čitelnější než předchozí případy - ale je to XML - standard jasně definovaný s miliony progamů, které s ním umí pracovat, navíc má jasnou strukturu syntaktickou i logickou ergo - pokud při programování "datového rozhrani" vynecháte někde čárečku - tak místo týdenního zasedání "krizové skupiny expertů" - je nalezení takové chyby otázkou 5 minut práce mladíka, co právě rozchodil své první Raspberry PI. Navíc díky neustálému a úmornému opakovaní tagů je zotavení se z "nepatrné změny" datového formátu pro software relativně snadné, a díky tomu je přenositelnost dat mezi softwary různých výrobců relativně vysoká.

"64 bitová mentalita" - předávaná data :
Vstupní Vyšetření : 59letá žena s CHOPN 3/C hospitalizovaná na plicním oddělení pro zhoršení dušnosti a kardiální dekompenzaci s otoky dolních končetin a břicha. Vstupní středně těžká obstrukce a hypoxémie, sérové parametry v normě, zavedena medikace bronchodilatační, diuretická, oxygenační. Stav přechodně zlepšen, ale za 14 dní dochází ke zhoršení klinickému i laboratornímu (S-urea 15 mmol/l, S-kreatinin 138 µmol/l, S­-CRP 114 mg/l), byl odebrán vzorek moče a proveden rtg snímek hrudníku (nález bez plicní infiltrace).
Výsledky provedených testů (moč): pH 6,0, hustota 1016, bílkovina 3 arb.j., krev 3 arb.j., leukocyty 4 arb.j. , ostatní políčka negativní

Tedy je to "prostý text" nebo maximálně do úrovně "RTF" formátovaný text - plně "human readable" a velmi často taky "human generated". Dovolím si poznamenat, že aby se takový formát řadil do "64 bitové mentality" musí software jevit známky schopnosti porozumět takovému textu - tedy najít v něm jméno, rodné číslo, datumy, laboratorní hodnoty. Softwary, které se chubí tím, že s takovými daty umí pracovat a přítom mu nerozumí ani zbla - řadím někam do 8 bitové mentality, protože ani tam "binárnímu bordelu" de facto software nerozumi.

Jistě jste pochopili, že počítačoví neumětelové v oblecích, kteří, ve snaze prodat svůj sotware, pořádají prezentace "smart technologií" pro managementy špitálů - zatím nikdy "64 bitové mentality" nedosáhli, ale řekněte sami - jaké technické prostředky chybí k tomu aby se tak stalo ? Nevejde se slovník medicínské češtiny zvíci 50 000 průměrně 7 písmen dlouhých slov do paměti ? Není dostatečný výkon procesoru pro "překlad" textu, dle výše uvedeného slovníku do nějakého ( uživatele nezajímajícího ) vnitřního formátu ? Nemáme - dokonce "open source" - syntaktické a lexikální analyzátory a parsery z projektů velkých kompilátorů programovacích jazyků, které by se daly použít jako základ ?

Inženýrům mezi čtenářstvem teď vaří krev, neboť mají 1001 námitek, proč to nejde, ale problém není v tom proč to nejde - problém je v tom, že 50 let zkušeností s počítači ve špitálech ukazují, že krom nestrukturovaného lidského jazyka je jakýkoliv umělý "standard by comitee" vždy brzy zastaralý a omezující - tedy firma, která poprvé předvede jak její software pozře a povrchně porozumí zdravotnickým textům - bude mít obrovskou výhodu a bude mít v ruce "konečné řešení" otázky komunikace mezi počítači ve zdravotnictvní. Nemluvě o tom, že tato úloha je mnohem snazší než se zdá, protože lékařské zprávy prošly od dob Hippokrata dlouhým vývojem a jsou vnitřně strukturované více než si dovedete představit.

Samozřejmě narážíme na Moravcův paradox a taky na "česká specifika" - tedy za software, který produkuje "binární bordel" na úrovni 8 bitové mentality, a proto má každý týden poruchu, která vyžaduje - 2 dny dlouhé - "krizové zasedání expertní skupiny" - lze od státních špitálů žádat nestoudné prachy, ale za software, který hladce "čte i píše" - lidem srozumitelné zprávy - toto žádat nelze neboť - proč platit peníze za něco, co "umí i zdravotní sestra" - žejo ?

Jen jako výhled do budoucnosti : "SkyNet / Matrix mentalita" - předávaná data :
Ale to už si naprogramují samy stroje - a to si můžete být 100% jisti, že ty zdaleka nebudou tak líné ani zkorumpované, jako frikulíní v oblecích, kteří berou těžkou hlínu zato, že komplikují skutečná řešení počítačových problémů, tvrdíc, že "se zabývají problematikou datových komunikací v elektronických systémech ( EU ) projektů pro e-zdravotnictví" !

Poznámka při druhém čtení - dva dny poté, co jsem dopsal tento článek jsem řešil problém jistého počítačového systému, který, aby poznal, že datová věta je textová - potřebuje jako první slovo heslo "text". Dovolím si to nazvat "matláckou mentalitou" a považovat to za příznak toho, jak hluboké je neumětelství počítačových expertů ve zdravotictví, když v roce 2015 jim dělá problém věc, která v "Basicu 6" na IQ-151 v roce 1986 byla zcela snadná, i bez trapného pomocného nápisu.

Opět chybějící elektronika !!!

25. září 2014 v 6:05 | Petr
Ještě než se rodzepíšu - podotýkán, že jsem "spíše na ty drátečky" a proto nemohu vyloučit, že mi chybí něco, co je běžně dostupné, proto dávám předem výzvu - drazí čtenářové - hrr na mně v diskusi - dneska snesu označení "zaostalý blb" i horší....

Takže výsledek - minule jsem si chválil IP kameru od Edimaxu - a haněl jsem obslužný software, který - ač téměř nepoužitelný - je Edimaxem vynášen do marketingového nebe. Tedy Edimaxovský "camera cloud" který vám má umožnit sledovat vlastní IP kameru dokudoliv je opravdový shit - pravděpodobnost že tato "přenositelná JAVOVÁ aplikace" bude fungovat je u náhodného PC tak 1% - takže mě přestalo bavit vykládat všem jak hlídáme psa IP kamerou a pak se omlouvat "pardon u vás mi to nefunguje".....

Tedy jsem pronikl do kamery a vytvořil tam účet "Tchýně" - se silně omezenými právy - a pak jsem pronikl do routeru a HTTP port 80 z venku jsem přesměroval na WWW stránku v kameře s videostreamem - pod účtem "Tchýně"...... Když jsem to předváděl známým - prohlašovali, že mám svoji IP adresu a heslo zveřejnit zde na blogu, aby mi psa hlídala celá republika.


Vtip je v tom, že paní Kubáčová občas zapomene a vyběhne zcela nahá z koupelny, aby psíkovi vyměnila vodu - takže vážení soudruzi - nic nebude - protože stačí, že mě zanedbává kvůli psisku - ne tak aby provozovala ještě nechtěný erotický videochat zadarmo.

Nicméně při té příležitosti jsem si uvědomil sílu internetu - vstutku můžete za pár peněz nejenom sledovat, co se doma děje, ale i ovládat nějakou tu domácí automatizaci, nebo si vytvořit domácí WWW server, nebo domácí FTP - přístupné odkudkoliv ze světa - vskutku možnosti neuvěřitelné, které my drátečkáři ani neumíme docenit. ALE ....

Ale představte si tuto situaci - v polici v obyváku sídlí router a sídlí tam ethernetový síťový disk, pokud bych chtěl možnosti, které jsem právě ochutnal využít naplno - tak by tam sídlil i nějaký mini linuxový stroj alá Raspberry PI (minimálně), k tomu všemu ethernetové kabely, k tomu všemu napájení k tomu prodlužovačka s několika adaptéry a další moře drátů. Takže výsledek - pokud tohle chcete udělat a nejste nejmenovaný kolega, co má serverovnu v garáži - patrně budete vyhozen manželkou i s domácí automatizací.

Tedy proč není ke koupi bedna která je zároveň Router, Switch , WIFI access point, NAS, pár USB portů (nebyl by marný ani UART / RS485 pro tu domácí automatizaci) a navíc na něm běží nějaký uživateli prístupný a uživatelem konfigurovatelný Linux , aby se daly dělat i ty ostatní blbosti ?
  • Že by to bylo nekonfigurovatelné monstrum, které by uživatelé měli tendenci rozhrkat a už nedat dohromady ?
  • Že by tahle věc spadla do kategorie "special technology" za dlóóóuhé prachy ?
  • Že by to podrylo prodeje ve 4-5 dalších kategoriích "plastových krabiček" ?
  • Že si něco takového můžu už teď postavit ? Mimochodem ukažte mi motherboard s alespoň 4 portovým svitchem na palubě ?
  • Že to už existuje a já jsem blb ?
Poslední odpověď by mě potěšila nejvíce, ale vzhledem k tomu, jaké síťové vybavení stejné má doma každý - si myslím že tato "univerzální bedna" snad jednou příjde. Dokud to nenastane berte to opět jako další příspěvek do kategorie "open source nápadů" a opokud tohle začnete vyrábět - nezapomeňte dát vědět - kde je to ke koupi, nebo na které Crowdfundingovém serveru to mám podpořit.....

Čínská logika a záhady v elektronice

18. září 2014 v 5:10 | Petr
Již jsem psal, že máme nového člena domácnosti - psa - švyckého honiče Maxíka. Ten pochází z velkého chovu a tak má občas záchvaty "separační úzkosti" kdy hrůza z toho, že je sám vede k tomu, že vyje a vyje a vyje. Abychom měli přehled, co se děje doma - rozhodl jsem důrazně - nainstalujeme do chodby kameru a budeme se koukat, co pejsek dělá.

Tak jsem hledal a hledal a pro provizorní řešení do pejskovy dospělosti se mi jevila jako ideální kamera Edimax IC-7001 která má otáčení, WIFI, přisvětlení IR LEDkami, slibuje obousměrný přenos zvuku a neurazí vzhledem ani cenou. Jako obvykle jsem dostal kameru, na které je zjevné vidět, to co je vidět na celém IT byznysu. Hardwaroví inženýři na ní pracovali mnohem usilovněji než softwaroví inženýři.

Nesouhlasíte s tímto pravidlem - podívejte se do domácího PC - multi core procesor, kde každé jádro je paralelní out of order, superpipelined obvod, který přes několik levelů cache komunikuje s mnohakanálovou RAM pamětí - a na tom všem běží javová hra na Facebooku, kterou napsal nějaký jouda, protože má pocit že je COOL IMAGE když navštevuje seance "startupistů" a na krku se mu komíhá poslední model iPhonu.....


Tedy Hardware kamery - skvělý - díky IR přisvětlení nemá kamera anti IR filtr a tudíž barva divanu v našem obýváku - vymalovaném oranžvě je divná, ale tohle může vadit snad jedině paní Kubáčové. Pak ovšem dojdeme k softwaru a najednou to dostane spoustu děr.
Celý zvukový modul softwaru je TODO - a vzhledem k tomu že kamera už je nějaký pátek na trhu - patrně TODO zůstane, takže nečekejte že budete poslouchat, nebo nedej bože mluvit na "hlídaný objekt".
Aby Edimax usnadnil uživatelů průnik videostreamu přes domácí routery nabízí "Edimax Cloud" kdy kamera informume server Edimaxu o své existenci a vy zadáte XXXXXXXXXXXX.myedimax.com - kde XXXXX je MAC adresa vaší kamery a na této stránce se vám stáhne JAVA applet kterým koukáte na video - odkudkoliv.
JAVA Applet - je typické čínské dílo - ve stylu kamenných chránů držených ve vzpřímené poloze rákosem svázanými bambusovými tyčemi. Tedy ač "přenositelná" JAVA - aby té přenositelnosti nebylo příliš - volá WINDOSOWSKÉ DLL - takže na Linuxových počítačích "si nevrznete". Navíc to DLL volá tak, že pokud nejste přihlášen jako admin volání skončí chybovou hláškou. (Obvyklý stav ve Widlích)....

Takže výsledek je jasný - nějaký manažer v Edimaxu křičel rychle rychle rychle - a "IT CROWD" mu předvedl že (na jediném počítači v budově) jim všechno funguje a tak byl produkt vypuštěn na trh. Přesně stejné je to i z uživatelského hlediska - se všemi destíkami a desítkami počítačů ke kterým mám přístup mi jejich "cloud" funguje na jdenom PC v práci a na WIN_XP notebooku doma, kde jsem pod účtem administrátora změnil přístupová práva k "p2pMGR.dll" abych pod účtem usera mohl sledovat "co dělá Maxík"

Tedy shrnuji - kvalita obslužného softwaru je v kategorii "hnus velebnosti" a zcela vážně přemýšlím, že bych překonfiguroval router abych se k videostreamu dostal z Internetu přímo do kamery - což v lokální síti je dětsky snadné a pohodlné.

Po rozčilování se softwarem nastala instalace fyzická. Takže jsem již jedoucí kameru položil v chodbě na židličku. Jenomže jak jste si všimli kamera má čtvercovou základnu a kulovitou "hlavu", která se svojí velikostí velice blíží rozměru tenisáku..... ERGO kamera v mozečku psíka spustila nějaký "hravý" podmíněný reflex a psisko ji "chytilo za kouli" a radostně s ní pohazovalo po chodbě. Tak jsme psíka okřikli, uslintanou čočku vyčistili a co dále ? Přišroubovat na strop !
Tedy jsme hledali místo odkud "je vidět všechno" a stále jsme buď neviděli koutek kam psisko chodí trhat boty, nebo koutek kam chodí dělat loužičky. Po několikanásobném a velmi nepohodlném přesouvání se se štokrletem po chodbě se žena zeptala : "A proč nejdělají kamery na robotickém podvozku ?"

To skutečně udeřila hřebík na hlavičku - protože ona moc dobře zná mé "diferenciálně řízené roboty". A když se nad tím zamyslíte - co má kamera : kamerový modul, 2 motorky s převodovkami, a motherboard s WIFI a nějakým Linuxem na ARMu. Co by měl "hlídací robot" ? Kamerový modul, 2 motorky s převodovkami, motherobard s WIFI a nějakým Linuxem - a ještě by měl baterku navíc. Takže opět otázka : Proč nejsou ?

Problém je v tom, že jsou, jenom v jiné kategorii. Kamera s motorky uvnitř je v kategorii "PAN/TILT camera" asi tak za 2000-5000 korun. Kamera s motorky (a kolečky) venku může být buď "security robot" nebo pokud vezmeme v úvahu "two way audio" může takové zařízení spadnout i do kategorie "telepresence device", takže cena pak "může spadnout" kamkoliv od 2000 Eur do nekonečna ( v případě IT zakázky pro náš laskavý stát - i víc než to ).

Smamozřejmě se vnucuje otázka - je "security" robot o tolik technologicky náročnější aby to obhájilo nárůst ceny ? Nikoliv, ale je "security" - tedy je nutno připočítat cenu za naleštěné prdy, které se prodávají spolu s ním. Nicméně "security robot" by se dal postavit i na základě Raspberry PI a Webkamery za 199. Takže až na Kickstarteru odstartujete kampaň na finacování jeho výtoby - hlavně mě nezapomeňte upozornit - okamžitě beru jeden kus....

Lubuntu - Linux, který "lze přežít"

24. července 2014 v 5:10 | Petr
Téměř přesně před 2 roky jsem psal o zprovoznění malého netbooku Asus EEE Pc 901 a o tom, že jsem na něj instaloval Easy Peasy - což je netbooková varianta Linuxu vycházející z nesmírně populárního Ubuntu 10.04. Firma Canonical - tvůrce Ubuntu - totiž jde ve stopách Microsoftu, a to v tom smyslu, že vytvořila naprosto špičkový operační systém na Linuxovém základě, ale pak se vývoj stal obětí "marketingu" a "zasedání komisí" a výsledek se dostavil - místo skvělého a dokonale odladěného grafického prostředí GNOME 2 si začali hrát se zblijem jménem Unity. Canonical Unity je sice něco jiného než Microsoft Metro - ale v pozadí je stejná myšlenka - obětovali jsme efektivitu práce na oltář "COOL" a "WOW" efektu - tedy nová tabletově-facebooková generace jásá a my ostatní sedíme u PC, kroutíme hlavou a říkáme si nebyl "MS-DOS" nakonec lepší ?

Takže jsem na malinkatý netbook EEE 901 instaloval Easy Peasy, které je opravdu Linux pro blbé - s velikými ikonami a klikacími tlačítky, ale ani to mi dlouhodobě nestačilo, takže jsem původní grafické rozhraní přepnul na Gnome, pak jsem potřeboval v malinkatém notebooku alespoň občas editovat plošné spoje v KiCadu - takže jsem si hrál s X-serverem abych dostal rolující virtuální obrazovku 1024 x 1024 pixelů, instaloval jsem tunu multimediálních přehrávačů až jsem skončil u VLC, a nakonec po všech změnách připomínalo EasyPeasy spíše Trabant rádoby předělaný na Mercedes.

Kromě značné "záplatovanosti" se s EasyPeasy stala ještě druhá věc - autor této distribuce sice hrdě oznamuje nové a nové verze, ale repozitáře s balíčky pro EasyPeasy už rok nefungují. Proto jsem používal repozitáře Ubuntu 10.04 - a výsledek se dostavil - asi před 14 dny jsem aktualizoval "malinkatý notebook" a s touto aktualizací přišla chyba, která způsobila, že mi padají Internetové stránky ve Flashi. Takže jsem byl postaven před dvě možnosti - dále "debugovat" nastavení Easy Peasy, nebo "sesednout z mrtvého koně" a instalovat něco jiného.

Jistě jste pochopili, že jsem zvolil možnost č. 2 a s tím vyvstal problém jakou distribuci zvolit. Bereme-li to systematicky - tak mé zkušenosti s Linuxem jsou relativně skromné a zahrnují tato distra:
  • Mandriva - kdysi dávno kolem roku 2008 - s katastrofálními výsledky
  • Easy Peasy
  • Linux Mint Mate 32bitů - jsem instaloval do netbooku dceři (Mate je pokračování Gnome 2) Nastavil jsem jí plochu tak aby co nejvíce připomínala Windows - a měl jsem obavu co puboši ve škole, ale problěhlo to dobře - puboše totiž fascinoval applet "oči" natolik, že si patrně nevšimli, že na notebooku běží Linux.
Linux Mint by v této konfiguraci určitě šel i na EEE 901, ale chtěl jsem vyzkoušet něco jiného a tak jsem se pustil do legendami opředeného Lubuntu - ve verzi 14.04 - tedy Ubuntu s grafickým manažerem LXDE. Proč říkám "legendami opředený" - Lubuntu je patrně asi nejméně instalovaný klon Ubunutu, který navíc jde mimo oficiální "válku" mezi Gnome a KDE. Navíc LXDE se mi zdá jako vyloženě minoritní grafické prostředí. Přesto Canonical tvrdil, že to je nejúspornější varianta jejich systému z hlediska nároků na procesor, paměť a výdrž baterie.



Jak jsem tedy na to šel - při instalaci Linuxu na netbook se SSD mám už takové své "finty" - tedy šetřím zápisy do datového úložiště tím, že jako filesystém používám EXT2 místo žurnálovacího EXT3. Kromě toho vypnu swap - což mi moje EEE s 1GB RAM v pohodě dovolí. A nakonec fintička, ke které mě dovedla léta zkušeností : EEE 901 má dvě datová úložiště pomalé 16GB a rychlé 4 GB - při úvodním formátování disku vždy nechávám to ryché pro adresář /USR - kde jsou všechny programy, které se musí rychle načítat - pokud to takto neuděláte Linux má tendenci se celý vecpat na rychlé úložiště včetně /TMP a tím riskujete, že budete mít problémy s místem na disku při aktualizacích. Opačná varianta - nacpat celou instalaci na pomalé 16GB úložiště sice taky funguje, ale EEE je pak viditelně pomalejší.

Vše proběhlo hladce a nastává sekce "prvních dojmů" - Zprávy Canonicalu o "maximální optimalizaci" systému na minimální spotřebu výpočetních prostředků počítače jsou 100% pravdivé. LXDE - je velmi rozumné prostředí - vycházející z GTK 2 a tudíž podobné starému Gnome 2. Uživatelé na internetu si stěžují na "malou konfigurovatelnost" LXDE - jako příznivce minimalismu a milovník Windows XP - nemohu tento názor potvrdit. Prostředí jsem si nastavil - jako vždycky - "ve stylu WIN XP" s lištou a "tlačítkem Start" Po instalaci vše funguje "na první klik". Firefox hladce surfuje po internetu. Open/Libre Office není součástí běžné instalace pouze kombinace AbiWord a Gnumeric (Linuxový Excel) - což naprosto stačí. To, že optimalizace je dokonalá je vidět i z výdrže baterie, která oproti mému "zmršenému" Easy Peasy - vzrostla na stejném netbooku ze 3,5 na 4,5 hodiny - při čtení PDF a surfování po Internetu bez videa.

Abych jenom nechválil - Lubuntu je opravdu dokonale optimalizované - někdy máte pocit, že "až moc". Nastavíte si do lišty applet "zátěž procesoru" - u každé distribuce s KDE nebo GNOME - kliknutí na tento applet spouští Task Manager - zde ne. Pustíte Task Manager ručně a čekáte křivky vytížení procesoru, paměti a sítě - ale nedočkáte se "žraly by paměť". Místo nich máte jenom grafické ukazatele okamžité zátěže. Při instalaci balíčků používám místo APT-GET - modernější "APTITUDE" - to však není instalováno, protože vyžaduje Python, který taky chybí. V liště není standardně ukazatel připojení na WIFI a spoustu dalších drobných úprav o kterých víte, že tam nejsou "neboť by žraly výkon", ale práce bez nich je pro vás krajně zvláštní - asi jako řízení bez brejlí nebo chození bosky.

Kromě těchto věcí - souvisejících s optimalizací systému - je tu ještě jedna nepříjemná věc - neodvratně spojená s LXDE - každá "blbost pro Linux" očekává že pojede pod některým majoritním grafickým prostředím tedy KDE, GNOME, XFCE nebo tak, LXDE je opravdu minorita, proto si "každá blbost" při instalaci stáhne stovky záhadných balíčků pocházejících buď z Gnome, nebo z QT (základ KDE) - pokud máte dost místa na disku - a to po fintě s /USR máte - není problém.

Některé věci - které jsou de facto "chyby" jsou vlastně jisté "zkulturnění" systému - nefunguje například přepínání mezi vlastním a externím monitorem pomocí tlačítka. Asus samozřejmě drivery pro tuto funkci má, ale pro Linuxy 5 let staré, takže řešení - dal jsem na plochu ikonu "manažeru monitorů" kde si naklikáte které monitory a v kterém rozlišení se mají spustit - daleko rychlejší než "promačkání se" přes všechny kombinace - funkčním tlačítkem u původního Easy Peasy.

Nakonec - jestli doporučuju, nebo nedoporučuju ? Osobně jsem 100% spokojen a vaše babička neznalá Linuxu bude taky 100% spokojená, ale pokud máte rádi "to své jisté" a známé prostředí - buďte připraveni na 2 hodiny "ladění" celé instalace.

Tím jsme pro dnešek skončili a zbývá už jenom tradiční rada pro blondýny - Tanga byla prý vymyšlena proto, aby se kalhotky nerýsovaly pod šaty a přislušná blondýna mohla předstírat, že je "naostro". My chlapi o tom máme jisté pochybnosti - proč mást veřejnost, že jsem / nejsem naostro, zejména když tanga jsou i z hygienického hlediska velice pochybné prádlo - a navíc - guma od kalhotek rýsující se pod obepjatou sukní - má taky svůj nezanedbatelný "erotický aspekt".

Poznámka při druhém čtení - po prvním přihlášení na YouTube mi přistálo i v nové instalaci fízlovací "tracking cookie" od Googlu - a zase mi při práci s čímkoliv od Google vyskakují stránky v Azbuce. Trošku děsivé, že "Velký bratr" potřeboval na moji identifikaci méně než 15 minut ne ?

Instrukční sady procesorů 3. ARM, Thumb + 2

18. dubna 2013 v 5:11 | Petr
Jen rekapituluju, co jsem psal minule a předminule - instrukční sada procesoru zásadně ovlivňuje konstrukci a výkon kompilátoru což zásadně ovliňuje vlastnosti celého počítače - viz SmartPhony a Tablety s ARMem které při několikanásobně menší spotřebě proudu se téměř vyrovnají netbookům s Intel Atomem.
Jak vypadají instrukce procesoru ovlivňuje tzv. Instrukční dekodér, který předkládá "opkódy" instrukcí do vniřních signálů řídícich fukční jednotky procesoru.

A teď už jsme zase u RISC procesorů.V éře CISC procesorů byla idea že co příkaz programovacího jazyka - to jedna instrukce - což vedlo k tomu že strojový kód procesorů byl složitý - Intelovské procesory typu 8086 (až po dneční mnohajádrové a nadupané) mají instrukce dlouhé 1, 2 , 3, 4 bajty - takže dekódovaní probíhá tak, že trpajzlici přečtou první bajt následující instrukce a pak přemýšlejí "dává nám to smysl" nebo musíme načíst ještě další bajt a další a další ..... Stejně tak vykonávání takových instrukcí - trvalo kdysi minimálně 4 ale i 8, 16 a více taktů podle složitosti.

Není divu že Intelovské procesory už takto nefungují, protože "takhle by to nešlo" a místo toho fungují tak, že jsou udělány jako procesor v procesrou kdy instrukčn ídekodér je vlastně celý samostatný procesor, který překládá archaický 8086 kód do RISC kódu každého procesoru. A teprve ten pak "nadupané CORE" vykonává.

Instrukce v RISC světě zásadně vypadají tak, že mají jednotný formát - moje milované AVR má 16 bitové instrukce PICky mají v rámci Harvardské architektury instrukce exotických délek 10, 12, 14, 16 bitů a dokonce mají i slova v programové paměti v těcho "divných délkách". No a ARM měl v první verzi instrukce 32 bitové.
Už to samo je zrychení, protože v každém taktu prostě načtete 32 bitů z paměti a co to znamená řeší už jiní trpajzlíci.
Takže formát instrukcí ARMu vidíte na obrázku. Bity 31-28 jsou přítznakové bity, - každá ARM instrukce tedy může být vykonána podmíněně, existuje dokonce i kombinace přiznaků "DO NOT EXECUTE" a tedy ARM má asi nejvíce typů NOP instrukce ze všech procesorů na světě.
Pak je pár bitů, které u ostatních procesorů znamenjí něco jako "operační kód", který rozhoduje o tom co instrukce bude dělat - u ARMU těcho pár bitů rozdhoduje o tom do které skupiny instrukčních kódů patří zbytek instrukce a podle toho je pak nastaven i ten zbytek - viz obrázek.
Nebudeme probírat celou insrukční sadu. Jenom pro ilustraci ARMovského konceptu "Instrukce v instrukci" jsem vybral podkapitolu "aritmetických instrukcí". Vidíte tam pole pro zdrojový a cílový registr a pak pole kam se dává buď druhý zdrojový registr - vrámci tříregistrové ARMovské aritemtiky, nebo "imediate value" - konstanta která se použije do výpočtu.
Hodnotu registru je ještě možné rotovat, takže pole pro třetí operand má ještě svůj vlastní subformát, který vidíte na obrázku.
Koncept "Instrukce v instrukci v instrukci" je opravdu účinný - takže měkteré vybrané ARMovské instrukce odpovídají celým kratičkým fragmetům kódu jiných procesorů o délce 3-4 instrukce. Tudíž u ARMu nevadí ani to, co se někdy RISCovýcm procesorům vyšítá a to jsou příliš dlouhé 32 bitové instrukce.

Jenom pro demonstraci opakuju příklad překladu jediné instrukce ARM "BICEQ R2, R3, ASL #3" do kódu 8086, který má 4 Instrukce :
JZ je_nula - přeskoč celou sekvenci pokud je nastaven nulový příznak
SHR EBX, 3 - posuň EBX o 3 bity ( to je to #3 u ARMu )
NOT EBX - neguj Bity v EBX
AND EAX, EBX - udělej logický součin s EAX
:je_nula - toto není instrukce - jen adresa kam se skočí když není nastaven nulový příznak

32 bitů široké instrukce nedělají problémy ve stolních PC a v klasických procesorech s 32 bitovými sběrnicemi, ale ARM prorazil i na pole mikrokontrolérů - a tahat po plošném spoji nějakého soustruhu, robota, váhy, nebo stojanu na benzín 32 drátů je problém, takže se objevily ARMy jen se 16 bitovou datovou sběrnicí. Tím bylo nutno instrukce načítat ve dvou taktech - což srazilo výkon "jednotaktových" ARMů na polovinu. Dnes už klasický příklad je Gameboy Advance - který byl ve své době velmi populární, protože Hackeři našli cestu jak do něj nahrát vlastní firmware a udělat z něj výkonný malinkatý a laciný počítač v době kdy ještě "nebyly smartphony" ani Raspberry PI - taková věc byla vzácností.
Firma ARM (Arm znamená Acorn Risc Macines ale taky to znamená "paže") proto vymyslela řešení. Nakonec přece jenom doplnili "druhou vrstvu" instrukčního dekodéru a přidali do ARMu druhou instrukční sadu "Thumb" což zas pro změnu znamená "palec".
Thumb Instrukce jsou 16 bitové a toho je dosaženo tím, že
  • nemají pole podmínek (ušetříme 4 bity)
  • jsou dvouregistrové (ušetříme jedno 4 bitové registrové pole)
  • Mohou pracovat jen s 8 registry (ušetříte dva bity z čísel instrukcí)
  • atd ....
Jinými slovy THUMB připomíná daleko více "normální instrukční sadu normálního procesoru"
Když jsme se zbavili výhod ARMovského instrukčního souboru - patrně byste očekávali, že dopad na výkon procesoru bude katastrofální, ale kupodivu ne - i "Bezstarosťák" kdysi popisoval své osobní zkušenosti, že C přeložené do THUMB kódu je jen o pár procent pomalejší než C v ARM kóud a při komunikaci po 16 bitové sběrnci je dokonce rychlejší (pochopitelně).

To že následky na výkon nejsou tak tragické - mě podporuje v názoru, že ARM instrukční sada je příliš komplexní pro nedostatečnou inteligenci kompilátorů a teprve jednodušší THUMB umožní při konstrukci kompilátoru využít letité zkušenosti z ostatních architektur.

Aby pohádce pořád nebyl ještě konec - dneska je zcela jiná situace než v době vzniku ARMu v roce 1985, protože dnes už se v architerturách čipů nebojuje o ušetření každého tranzistoru. Takže s nástupem ARM jader typu CORTEX se patrně zdála vývojářům od ARMu THUMB instrukční sada příliš omezujcí - tak zavedli instrukční sadu THUMB 2. Ta mezi striktně 16 bitové Thumb Instrukce přidává další 32 bitové THUMB 2 instrukce - které se dají volně "místit" mezi 16 bitové THUMB instrukce (bez přepínání režimu ARM/THUMB jako u puvodnho ARMu) Je zvláštní že 32 bitové THUMB instrukce jsou jiného formátu než 32 bitové ARM instrukce (nemají například pole podmínek).

Je zajímavé jak se může procesorová architektura postupně vyvíjet - až se nakonec všechhy architektury začnou poněkud podobat - asi jako se delfíni podobají žralokům, když už oba žijí v moři. V každém případě ARM je momentálně nejrozšířenější procesorová architektura na zeměkouli, a vzhledem k množství typu a cenám procesorů ji doporučuju vaší důtklivé pozornosti.

Tím bych pojednání o procesorech považoval prozatím za vyčerpané - zbývá už jenom tradiční rada pro blondýny : Barevná shoda boty - kabelka je pro důchodkyně - jestli jste náležitě odvážné zkuste barevnou shodu - kabelka - kalhotky, které občas "ukážete" pod větrem povlávající minisukní.

Instrukční sady procesorů 2. Instrukční dekodéry

11. dubna 2013 v 5:11 | Petr
Čistě jenom pro pobavení jsem namaloval (a mobilem vyfotil) obrázek "své představy" procesoru z minulého povídání
Takže jestli jste přestali slzet smíchem tak jenom dodávám, že ten zamračený profesor s nečitelným popiskem nahoře je "Instruction Decoder". Takže jenom pro informaci - buldozer občas nazývaný "bus interface unit" skrývající se pod assemblerovou instrukcí LOAD - hrne zelí na pás, kde roboti - fukční jednotky - jej postutpně zpracovávají na konzervy se segedínským gulášem, který "bus interface unit" - tentokrát reprezentovaná instrukcí STORE - ukládá zpátky do skladiště (paměti) - jak se mají "roboti" hýbat určuje loutkář "instrukční dekodér", který tahá za drátky.
Možná se budete divit, ale ta představa zase není tak absurdní jak se zdá, protože mezi instrukčním dekodérem a výkonnými jednotkami jsou v procesorech opravdu sběrnice s desítkami signálů a spolupráce instruční dekodér - aritmetická jednotka se nápadně podobá výpočtům na kalkulačce, která má taky klidně 60 tlačítek.

Přestavíme - li si že z instrukčního dekodéru vychází taky 60 signálů pak množství kombinací které může dekodér vygenerovat je 2^60. Vzhledem k tomu, že žádá procesorová architektura nemá tolik instrukcí je jasné, že při konstrukci procesoru se postupuje takto :
- Všechny signály nutné pro řízení aritmetických jenotek se vyvedou na nějakou sběrnici (to je těch 60)
- pak se z nich vyberou smysluplné kombinace - které odpovídají použitelným instrukcím
- smysluplné kombinace se očíslují (to jsou kódy instrukcí v paměti)
- čísla instrukcí jsou zároveň adresou paměti instrukčního dekodéru - kde každé slovo má 60 bitů a obsahuje kombinaci signálů nutných pro vykonání dané instrukce

Jasné ? V dnešní RISCové době je to tak jednoduché - v době klasických procesoů CISC to bylo ještě poněkud komplikovanější, protože číslo instrukce bylo vlastně startovací adresou "mikroporgramu" skládajícího se s vnitřních "mikroinstrukcí" které se vykonávaly často mnoho taktů než byla instrukce hotova.

Místo mikroprogramů mají dnes CISC procesory typu 8086 hardwarový překladač, který dělá de - facto to samé, ale "před vraty továrny" takže "za vraty" už je jenom jenotaktový dekodér vnitřních RISC instrukcí - jak jsem popsal. Výhodou "dělání RISC kódu" ještě před instrukčním dekodérem, je to, že pak se dají RISC (mikro) instrukce různě párovat, kombinovat a vysílat do různých funkčních jednotek ALU, CPU, které pracují všechny paralelně a daleko rychleji než CISC procesor s mikrokódem.

Proč mě tak fascinuje ARM - protože u něho ten bod s "očíslováním smysluplných kombinací signálů" neproběhl a tudíž ARM ač RISC tedy Reduced Instruction Set Computer - má tolik kobminací instrukcí, že snad žádná architektura nemá v tak (relativně) skromném hardwaru takové možnosti.

Proč je to důležité - jestli je instrukční kód jednoduchý nebo složitý ?
Pokud máte 35 jednoznačně definovaných instrukcí - psát dobrý program v assmebleru dokáže i programátor blbec nebo kompilátor blbec. Tudíž i programátor kompilátoru - blbec - bude se svým výsledkem produkovat alespoň "standardní" kvalitu kompilovaného kódu.

Naopak pokud máte velice komplexní assembler , kde jedna instrukce dělá tolik operací jako malý podprográmek na jiné architektuře. Viz už zmmiňovaný BICEQ R2, R3, ASL #3 - je otázka generování optimálního kódu velice složitá - a osobně si o programech pro ARM myslím, že krom nějakých intenzivně probádaných procedur u si u ARM assembleru nikdy nemůžete být jisti jestli neexistuje ještě lepší způsob jak danou věc naprogramovat - což platí jak pro lidi tak pro kompilátory. Asi na tom něco bude, protože podle různých informací se rycholost i velikost kódu pro ARM výrazně liší podle kompilátoru nebo dokonce podle verze kompilátoru.

Dnes už opět končíme, zbývá opět jenom tradiční rada pro blondýny : Muži mají jenom dvě emoce - buď jsou nadržení, nebo hladoví, takže pokud ten váš nemá erekci - vařte večeři.
Angelina Jolie
 
 

Reklama