Počítače etc...

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

Instrukční sady procesorů 1. Great processors of the past.

4. dubna 2013 v 5:23 | Petr
Ještě než začnu cokoliv psát MUSÍM doporučit skvělé čtení na toto téma Great Microprocessors of the past and present. Což je fascinující čtení o plahočení se za maximálním procesorovým výkonem, které prostě musíte přečíst jinak u mě nejste Geek !!

Jinak je to jasné - mládež je z dnešního příspěvku plná zklamání ze "strejda je chce unudit k smrti" když přece kažej ví, že o ten hnusný strojový kód se stará kompilátor Céčka. Jenomže, to není zdaleka tak snadné - názory na instrukční sady procesorů se vyvíjely, a máme neúspěšné instruční sady jko je Intanium, nebo Intel 432. Pak máme instrukční sady, které jsou schopny poskytnout obrovský výkon, ale jsou složité, takže kompilátory to nezvládají jako je Intel 860.
Pak je docela zajímavé sledovat zásadu čím je jednodušší hardware, tím musí být (většinou) komplikovanější software, toho je příkladem vývoj procesorů od PIC10 po PIC32.

Všechno se dočtete v "procesorech", které jsem vám doporučoval, co ale chci dneska probrat je mikrokontrolér a mikroprocesor současnosti a patrně i dlouhé budoucnosti a to je ARM a ty záležitosti jeho designu a instrukční sady, které jsem nakousl minule.

Takže vezměme nejprve jak vypadá procesor - když jsme my chteli mít jedničku museli jsme u tabule vykládat, že se sklárá z aritmeticko - logické jednotky, řadiče a bůh ví čeho ještě, co jsme už tehdy věděli, že není tak úplně pravda.
Takže procesor je "továrna" na výpočty, pokud má více jader - je to více továren v jedné hale. Středem haly vede pás na "rozdělané" instrukce, který je z obou stran hustě obstoupen "trpajzlíky" kteří na výpočtech intenzivně dělají.
Před tímto pásem jsou dvě skladiště - nazvaná data a program. Pokud jsou data i program ve stejné paměti je to Von Neumannovský procesor, pokud jsou data i program každá ve své paměti je to Harvardský procesor. Paní učitelka dává za neznalost tohoto rozdělení pětky, ale stejně je to jedno protože dneska všechny procesory se z venku jeví jako Von Neumanovské ale uvnitř maji rozdělenou datovou a instrukční cache, takže jsou bez výjimky Harvardské.
Montážní linka s trpajzlíky končí zase v paměti pro data - bez ohledu na architekturu procesoru.

Už minule jsem psal, že existují CISC s komplexními instrukcemi a RISC procesory s jednoduchými instrukcemi, což zase je důvod dávat ve škole pětky, ale dávno to není pravda, protože dneska jsou CISC procesory architektonicky neodlišitelné od RISC a naopak existují RISC procesory zrovna jako ARM nebo PowerPC, které mají tak komplexní a složité instrukční sady, že by se za to ani leckterý CISC nemusel stydět.

Prakticky je dělení jiné - filosoficky - jsou dvě velké skupiny procesorů - LOAD / STORE - ty si představujte tak, že na začátku výrobní linky je velký bagr LOAD, který vybírá data z paměti a klade je na pás a na druhé straně je buldozer STORE, který tlačí data zpátky do paměti a nikdo s trpajzlíků už nemá do paměti přístup. Takhle je udělána většina procesorů označovaných jako RISC.
Druhá varianta je tzv. MEMORY / DATA architektura - ta je starší a dá se popsat tak že každý trpajzlík kolem pásu jednou rukou se hrabe v tom co jede po pásu a druhou rukou - ohromně dlóóóúhou se hrabe v paměti. Takhle jsou udělány starší procesory typu CISC. Už z tohoto dětského příměru je jasné, která architektura je rychlejší, dneska používanější a proč tomu tak je.
Tvrdíte, že jste četli že nějaké to CORE i7 u vás doma je procesor typu 8086 a tudíž je CISC - taky jste naletěli na tu fintu? Problém je v tom, že jednoduché procesory typu RISC se ukázaly natolik výkonnější, že dnešní procesory, které z důvodu historické instrukční sady musí být CISC se vyrábějí jako "procesor v procesoru". To znamená, že nejprve je hardwarový překladač z kódu 8086 do nám utajeného RISCového kódu - tenhle hardwarový překladač je sám o sobě složitější než celé procesory v minulosti - teprve jeho výstupem je RISC kód, kterému CORE rozumí.
Pokud se chystáte rozebrat doma notebook - tak zadržte - překladač je uvnitř čipu samotného CORE - takže nekažte taťkovi notebook.

Hardwarový překlad 8086 instrukcí je opravdu extrém, ale každý procesor potřebuje bajty v paměti nějak překládat na instrukce a instrukce zase potřebuje překládat na příkazy "za které páky tahat". Takže centrem každého procesoru je instrukční dekodér, který rozhoduje o tom jestli takový procesor bude v assembleru "radost" nebo "hrůza" programovat.

Jak to tedy funguje - řekněme že máme RISC který má 32 registrů - což vzato číselně je binární číslo o 5 bitech. Instrukce takového procesoru musí obsahovat minimálně 3 části. Co se má dělat - řekněme že je to extrémní RISC, který má jenom 16 možností - to jsou 4 bity v instrukci, pak odkud brát data - to je jednočíslo registru - 5 bitů a pak kam dát výsledek - druhé číslo registru - to je dalších 5 bitů. Každá taková RISCová instrukce má tedy 14 bitů. U harwardských procesorů typu PIC to může znamenat, že máte i paměť pro program složenou ze 14 bitových slov - což je zrovna případ PIC16 jestli se nepletu. U Von Neumannovských procesorů je lepší zachovat instrukce jako násobky 16 bitů takže instrukce často bývá doplněna o další bity se speciální funkcí.

Jak tedy takový procesor pracuje - vezme instrukci a 4 "příkazové" bity vyšle do aritmetické jenotky na znamení co se má udělat. A 2x 5 bitů pošle na vnitřní sběrnici procesoru, která má většinou dvě větve "zdrojový" a "cílový" registr - patřičné dva registry se připojí k vstupním a výstupním hradlům aritmetické jednoty a ta v příštím taktu udělá výpočet.

Jednnoduché jako facka ?
Zas ta jednoduché to není - budu se ptát a sám si odpovídat - jak moderní procesory stihnou udělat v každém taktu jednu instrukci když každá instrukce vyžaduje několik operací ? - Princip je právě v tom pásovém zpracování - anglicky "pipelined insruction" - jako v automobilce na páse jde procesorem pás různě nehotových instrukcí a každým taktem se instrukce o jednu pozici posunou - ergo každým taktem na konci jedna hotová vypadne.

Jak se dělají instrukce, které nic nikam nezapisují ? Většina RISCových instrukčních sad má své "finty" které uživateli moc neukazuje - když dáte v AVR instrukci CLR R16 tedy vynuluj registr - budete překvapeni že assembler to přeloží jako XOR R16, R16, protože žádná instrukce nulování de facto neexistuje. Navíc spousta RISC procesorů má jeden registr na tvrdo nastavený na 0 - ať do něj píšete co chcete pořád je to nula - pak třeba instrukce NOP - čekej jeden takt se překládá ADD R1, R0 kde R0 je "nulový registr".
Nebo některé procesory (zrovna ARM) je tříregistrový procesor takže umí udělat ADD R1, R2, R3 což znamená že v instrukci jsou 3 pole pro číslo registru a instukce znamená že R1 = R2 + R3. pak jednoduchá instrukce MOV R1, R2 vlastně je identická s instrukcí ADD R1, R2, R0 neboli R1 = R2 + 0.

Opět jsem přecenil své možnosti, takže na samotný ARM se dostaneme příště.
Dnes už jenom tradiční rada pro blondýny : když máte 160 cm výšky a 80 kilo váhy je to body mass index 31,3 - v pásmu obezity, pokud si vezmete 20 centimetrové podpatky budete mít 180 cm a to je při stejné váze body mass index 24,7 - v pásmu normy - a pak že prý "podpatky škodí zdraví" - pche....

Přesýpací hodiny, které jdou čím dál rychleji.

30. září 2012 v 4:59 | Petr
Škoda, že si nevedu nějakou bibliografii, protože teď bych nutně potřeboval link na prorocký článek, který jsem četl už aspoň před 10 lety. Ten článek popisoval situaci v oblasti PC softwaru, kde pokaždé, když uživatelský interfejs dosáhne rychlosti Klasické Amigy, s procesorem 68000 na 8 MHz přijde nějaký jouda a vymyslí nějakou úroveň abstrakce která usnadní život programátorům, ale zato pozře nadbytečný výkon. JAko důkaz uváděl ECLIPSE což je IDE psané v intepretovaném jazyku - JAVĚ.

Osobně dráždím mládež, která prd pamatuje otázkou, proč jsme tak dlouho vydrželi s operačními systémy baz multitaskingu - jako je legendární a dnes už zapomenutý MS-DOS. Starci v mém věku odpověď znají, ale mladým musím napsat smutnou pravdu. Mutitasking jsme nepotřebovali, protože to jediné k čemu jej uživatel běžně využívá - to jest k přepínání programů z "lišty" na "celou obrazovku" a zpět bylo nahrazeno startováním programů, které byly schopny nastartovat rychleji než dnešní softwary překreslí obrazovku. V závěru MS-DOSu bylo standardem, že programy si pamatovaly poslední nastavení, takže když jste přepínali mezi MATem (textový editor) a Quattro pro (tabulkový kalkulátor - pro blondýny pra-EXCEL) byla odezva PC stejná, nebo lepší než dnes - s výkonem o mnoho řádů menším.

Když pozdeji přišel multitasking ve windows ten byl až do WIN95 kooperativní - takže všechny programy si předávaly procesor "dobrovolně" takže to byl vlastně zase MS-DOS akorát programy byly v paměti všechny najednou, což neslo nevýhodu že jeden spadlý program s sebou vzal všechny ostatní.

Pak přišly WIN95 které si hrály na preemptivní mutitasking dnešního stylu, ale to byla jen iluze, protože ten fungoval jen pro 32 bitové programy, kterých po vládě 16 bitových Widows 3.11 byla žalostná menšina.

Pokud to vezmeme reálně tak Microsoft vyrobil jen dva slušné operační systémy - Windows 2000, které jsou dodnes považovány za krále MS OS a pak - líbívou verzi téhož Windows XP, které byly opravdu tak dobré, že se jich dodnes nemůže zbavit.

Čím to je, že Quattro startovalo v roce 1994 za vteřinu a Excel dneska minutu a o Open Office (které je částečně v Javě) ani nemluvím ? Jsou to ty další "úrovně abstrakce" kdy dvacátá vrstva softwaru absolutně netuší co 19 vrstev pod ní vlastně dělá ?
Nebo je to tím, že všechno se dneska programuje objektově takže když napíšete
A := A + 3
Kompilátor vyhodí chybu, protože v objektové době jste měli napsat
SystemObjectInstance.A.Add (SystemObject.GetNumber (3))
(příklad jsem si vymyslel, ale takové zdrojáky se dnes běžně píšou).

No a samozřejmě přichází nepříjemná otázka - vyzná se kompilátor v objektovém kódu do té míry aby příkad 2 optimalizoval až na kód identický s příkladem 1 (když oba dělají stejnou věc). Protože naivním překladem objektového kódu vznikne mižmaš procedur dlouhých několik bajtů a skákání mezi nimi.
Je takovým mižmašem napsaný dnešní software ? Který ještě pro jistotou a pro "Easy portability" je napsán v nějakém skriptu nebo Javě ? Který běží na Operačním systému psaném stejným mižmašem ? Vědí programátoři (v Microsoftu), že výkon procesorů už léta (fakticky) neroste ?

ATD, ATD mohl bych vypsat ještě stránku spekulací, ale místo toho zase výlet do historie. V 80 - 90 letech se vždycky psalo - pokud poroste výkon PC jako dneska za 5 let budou počítače mluvit, rozumět mluvenému slovu, samy rozhodovat, nakupovat, vařit, provozovat sex, atd. (dosaď další podle fantazie) - uplynulo 30 let a nic. Teda ne nic - je tu třeba SIRI na Applu - ale to že se nerozšířila ven svědčí o tom že to je nezralá věc, kterou nelze používat bez nekritického obdivu k celému "jablečnému ekosystému".

Kde jste roboti chodící pro nákup ? Kde jste expertní systémy diagnostikující rakovinu z nepatrných příznaků (kromě článků, na základě kterých se pan docent stal panem profesorem) ?
Kde jste počítačová moudrosti - sežrala vás lenost lidí, kteří upřednostňují rychlost programování (politicky korektně zvanou produktivita) před kvalitou kódu ? Má 1 směna práce programátora větší cenu než milionkrát 1 sekunda čekání uživatelů ? Pesimista by řekl, že nic ze Sci-fi možností počítačů nebude. Já optimista doufám, že až i baba Dymáková pochopí, že výpočetní technika je už leta na fyzikálních limitech, třeba si někdo sedne a začne přemýšlet jak psát programy alespoň tak efektině jako hry pro ZX Spectrum z roku 1983 .....

Úloha posvátné hrůzy ve výpočetní technice

15. července 2012 v 5:44 | Petr
První opravdové PC jsem viděl v roce 1989 na Brněnské Hvězdárně. Kdo absolvoval kurs, zapsal se do pořadníku, byl vyzván, ukázal, že má umyté ruce (klávesnice ze Zbrojovky Brno stála kolem 200 000) mohl pak hodinu třeba programovat v Turbo Pascalu na 8086 na 4,77MHz se 256 kB (kilobyte!!) RAM. Je zvláštní, že subjektivně tohle PC mělo mnohem pomalejší odezvu než moje domácí Atárko 800XL.

Nicméně v roce 1992 začalo být jasné, že Atárko je morálně mrtvé a je čas přeorientovat se na PC. V podivuhodné době vycházela podivuhodná literatura. Takže jsem si koupil knihu Assembler a BIOS a pak knihu Příkazy MS DOSu - obě jsem podrobně přečetl a protože v obou knihách chyběly na samém začátku tři řádky o tom jakou úlohu hraje předmět knihy tedy BIOS, nebo příkazy COMMAND.COMu v celém systému PC, tak jsem prakticky nic nepochopil.

Pak máti koupila PC, které bylo třeba rozchodit, po zapnutí se objevilo C:\>_ . Tak jsem ve smrtelné hrůze napsal DIR a odentroval - a najednou se to stalo - obsah obou knih najednou začal dávat smysl a já jsem se ve vteříně stal nejorientovanějším v PC na celém sídlišti. Mimochodem kdo ví co znamemá "C:\>_" a "DIR" ať se jen tak pro srandu ozve do diskuse. Takže jsem rozchodil nějaký program pro generování "disket" pro VZP pro mojí máti, pro její sousedku pediatryni MUDr. Petříkovou a tím se můj věhlas rozšířil tak daleko, až se mi ozvali z Brněnského ústavu pro slepce, kde koupili za 2400 kč OEM verzi DBASE III, ve které, ode mně, chtěli naprogramovat evidenci slepých děcek - taková to byla doba .....

Pak se mi stalo, že na Invexu 1993 jsem zabloudil k počítači s grafickým displejem a myší - tak jsem klikal na okénka a ony se různě obracely a deformovaly - jenom nedostatek informací mi zachránil život protože ten stánek byl Silicon Graphics v době svého vrcholu a onen počítač byla nějaká 64bitová 3D grafická stanice jménem "SGI ONYX" - velikosti malé ledníčky za mnoho miliónů s jejich 3D IRIXovým file managerem.... Možná kdyby se Microsoft hodně snažil tak ode dneška za 10 let bude mít takové GUI, které mimochodem už tehdy trochu připomínalo monitory ve hře DOOM 3.

Po této zkušenosti byl přichod Windows pro mně neustálým čekáním kdy konečně to bude "jako na Invexu" a musím konstatovat, že tomu tak není dodnes. Navíc Microsoft Windows mají minimum charizmatu - klikáte na ikony a maximálně se do některých zákoutí systému nedostanete, neboť tam sídlí informace o tom jak na vás Widle práskají Microsoftu, že jste zkoušeli pustit upirátěný prográmek z flashky....
Naopak v Linuxu, se kterým teď experimentuju je charizma a posvátná hrůza hlavním designovým principem. Stačí jenom sledovat úvodní obrazovku "initializing ALSA Daemon ...." Boha jeho - ALZA démoni v mém počítači, který jsem přece koupil od Kamila ne ? ;-)) Nebo všudypřítomá nenápadná symbolika - Linux pustí 7 terminálů a až ten 7. je X-terminal, ten vás pustí ke známým věcem jako je myš a ikonky - 7-pater pekla přímo ve vašem PC....

Pak začnete zkoumat filesystém a na rozdíl od Widlí se jako ROOT dostanete všude - "SUDO MC" ;-)) - ale stejně Vám to nepomůže, protože nerozumíte ničemu. Díky filosofii "vše jako soubor" si v adresáří /proc/ (který ve skutečnosti neexistuje) - otevřete procesor a sledujete jakou frekvencí právě jede - neuvěřitelné - v hlubinách systému se "malé EEE" tváří stejně jako 500 procesorový mainframe v cenrále Lehman Brothers ještě před krachem....

Říká se že LINUX je odolný proti virům a blbosti uživatele, ale není řečeno proč. Konstrukce softwaru v tom hraje jenom menší roli - větší roli hraje posvátná hrůza lidí i virů, nad systémem, kde modernost součastnosi a historie 60 let typu "/dev/tty2/" umí existovat pohromadě.

kilo mega giga tera peta exa zetta yotta

1. července 2012 v 4:32 | Petr
Dobu kdy člověk trafopájkou v potu tváře stvářel PMI 80, které mělo v první verzi snad jen 256 byte RAM jsem teda nezažil, ale zažil jsem "kilobajtovou" dobu kdy jsme seděli u Atárka 800XL a čekali 5 minut až se z kazety nahraje Fort Apocalypse, které podle tehdejší šeptandy mělo celých 24 Kilobyte !!
Pak si pamatuju na AMD 386DX40 která se dodával s harddiskem standardní velikosti 40 megabyte. A na ten jsem si potajmu nahrál Wolfenstein 3D který měl 2,4 Megabyte - z jeho grafiky se mi úplně točila hlava a když jsem potkal milence cestou z ordinace mojí máti (doma jsme PC neměli) tak jsem instinktivně na ně prstem udělal PUF PUF PUF a pak jsem těžce přemýšlel jestli bych té střílečky něměl nechat. (Mimochodem pořád ji mám i na současném disku a umím ji v Dos Emulátoru rozdchodit !!!)
DOOM 1 už na 386 moc dobře nešel. Muselo se snížit rozlišení a hra vypadala jako svět penzisty se šedým zákalem a navíc měl úplně drzých 18 Megabyte což bylo na 40 megabajtový disk už moc.
Pak se stalo mnoho věcí a jedna z nich byla, že jsem si koupil první Pentium 75 MHz se 8 MB RAM a tehdy populárním 524 Megabajtovým diskem. Tam už Doom jel jako báseň a celá ulice chodila ke mně pařit. Dodneška si pamatuju jak jsem s kámošem jel v dešti na kole z Frýdku na Visalaje a uklidňoval jsem ho ať svůj 400 MB disk nemění za 524, že i ten se jenou zaplní ....
Pak jsem chvilku přestal PC svět sledovat a najednou bylo všechno v desítkách gigabajtů - na radio-burze jsem obrovsky výhodně koupil disk - 80 Gigabajtů a pak jsem se dočetl v místní černé kronice, že z havarovaného polského kamiónu se jich tisíce ztratily. Pak jsem k němu přikoupil ještě 120 což už tehdy byla nejmenší velikost, ale moje WINDOWS 98 stejně z neho viděly jen 80 GB - oba mám ještě doma. Pak jsem koupil notebook se sériovým a paralelním portem - což vyhnalo jeho cenu nad 30 000 a musel jsem kopmromisně koupit disk do notebooku zase jen 80 GB ale k němu jsem časem koupil 320 GB externí.
Pak nastala ta nehoda, že mě sbalila ženská, která konzumuje romantické komedie jako divá, když jich bylo 200 Gigabyte koupil jsem tento víkend 2 terrabajtový sítový disk. Na obrázku stojí u zdi ani jako pořádná knížka není. Kdo by si v době Fort Apocalypse myslel že se dožiju 2 terrabyte to je v desítkové míře 2*10^15 byte nebo ve dvojkové je to 2^51.

Kam to dojde - za 30 let jsme se posunuli o 12 řádů takže než umřu budou disky 10^27 to jest Yotta-bajty ? Nebo narazíme na "meze růstu" jak už jsem jednou psal ? V každém případě v době Atárka nam stačila předpona Mega - desítky Megahertzů na rádiu a stovky Megawattů elektříny, které v rámci soudružské pomoci tekly z Dukovan do Sovětkého svazu, jak nám vysvětlil soudruh Bilak.

Terrabajtový disk si vrní v obyváku a já čichám za rohem technologickou singularitu, nebo mnohem pravděpodobněji joudy z EU / BSA / Microsoftu, kteží v rámci mého blaha a na základě smluv typu ACTA - PIPA - SOPA, mi přijdou tuhle hračku zabavit ....

Linux pro blondýny - Easy Peasy

26. června 2012 v 4:30 | Petr
Představte si, že jste pračlověk Janeček, nebo jeho moderní varianta - programátor u Microsoftu a vymýšlíte jak vylepšit WORD. Nejprve vás napadají zásadní věci s jednoznačnou užitnou hodnotou - mazání písmenek, když se zmáčkne backspace, nebo možnost uložit soubor a tisknout soubor. Tyhle opravdu zásadní věci se časem vyčerpají, ale vaši manažeři chtějí novou verzi každé dva roky "full of new features" - tedy plnou nových funkcí. Co se neodvratně stane ? Nakonec zbydou už jenom nápady na změny k horšímu !
Ekonomové na to mají dokonce graf - červená křivka je užitná hodnota jednotlivch zlepšení které protnou nulu a změní se ve "zlepšení". Jejich integrál je celková hodnota produktu - modrá křivka, která má ten známý tvar, kdy užitečnost věcí v určém bodě dosáhne maxima a dalším "zlepšováním" začne klesat.
My paranoici bychom řekli, že takhle je to s celou současnou civilizací. Nicméně Microsoft, dosáhl vrcholu v roce 2003 kdy vydal Office 2003, Windows server 2003 a pro desktopy měl nepřekonatelné Widows XP - všechny tři produkty byly na absolutním vrcholu odkud vede cesta už jenom dolů - WIndows Vista - krávovina na kvadrát s rozhraním Aero a blikajícími ikonkami - Windows 7 - stejné jako Vista - jenom přeložené lepším kompilátorem. Ale běžný uživatel neřešící operační systém dostal ránu až výplodem jménem Microsoft office 2007 a zblijem jménem Microsoft Ribbon.
V době kdy se monitory roztahují do šířky (taky "zlepšení k horšímu") vymysli chorý mozek menu, které usekne ze svislého rozměru třetinu obrazovky na funkce, které které ve starém WORDU dělaly dvě roletky s šipečkami ! Na obrázku je - "licencovaný" Ribbon v AUTO CADu - konstrukčním softwaru pro inženýry. Letěli byste letadlem, jehož konstruktér zápasil s Ribbonem, který mu trvale zakrýval třetinu monitoru s výkresy ?
Microsoft pilně pracuje dál - proti uživateli - je hezké mít 64 bitová, Windows která si uživatel nerozhodí problematickými Microsoftem "nepodepsanými'" prográmky, protože je vůbec nespustí, ale co když - nemůžete tisknout na staré domácí laserovce, která má toner ještě na 5000 stran, ale nemá 64 bitový driver ?

Po prvních screenshotech Widows 8 METRO, jsem zjistil, že je nezbytné jít od WINDOWS pryč. Jenomže kam - k Applu, který zavlekl prohnilost Microsoftu do mobilů ? Takže LINUX. První pokus se jmenoval Mandriva. Asi nejsem ten správný geek nebo jsem nechpochopil nějakou skrytou ideu Mandrivy - Příklad : Při instalaci volíte úroveň bezpečnosti - nízká, default, a vysoká. Default je zaškrtnutý tak to tak necháte. Po instalaci strčíte do USB Flashku - krásně ji přečtete ale nezapíšete na ni nic.... Proč ? Po mnoha hodinách studování zjistíte že to je "safety feature" úrovně bezpečnosti DEFAULT.
Viry, trojské koně, dětské porno, fotky sexu s mrtvolami, plánek jaderné bomby.... z flashky přečtete ale nezapíšte na ni nic, protože je to příliš nebezpečné.... Zbývá napsat 1000x SUDO CHMOD a všechno znovu nastavit, nebo znovu instalovat s bezpečnostním levelem LOW - což jsem udělal - instalace vybouchla, s hláškou ve stylu - instalaci s levelem DEFAULT nelze přepsat Instalací s levelem LOW..... Mandriva není svět pro mně - není divu že krachuje - a Bill Gates se za oponou směje....

Pak jsem od Kamila koupil 9 palcový AsusEEE. Po zkušenostech s Mandrivou jsem byl ochoten crackovat WIN XP a instalovat je tam i za cenu kriminálu, nebo zůstat ve FREE DOSu, protože další horor s Linuxem už jsem nechtěl riskovat.
Po 2 letech v šuplíku jsem rozchodil AVR GCC (jiná pohádka) a nastala nutnost přečíst po vlacích a autobusech 473 stránkové PDF o libC - pro AVR - tak jsem šel cestou nejmenšího odporu - s obrovskými problémy jsem vyrobil bootovatelnou flashku s Ubuntu pro netbooky - jménem EASY PEASY. Pak jsem ještě v EEE musel vyměnit baterku zálohující CMOS RAM a pak po celodenní dřině s "operačním systémem z jiného světa" se to povedlo. Mimochodem za všechny problémy může instalační utilita UNETBOOTIN, která nijak nevaruje, ale nefunguje pokud nejste přihlášen jako ADMINISTRÁTOR (hlavně že linuxáci přesně tohle na WINDOWSECH tak kritizují).

Easy peasy je klon slavného Ubuntu 10.04 - Linux jen asi o rok novější než "moje" Mandriva - ale světe div se - kulturní šok se tentokrát nekonal - WIFI funguje, Flaska se připojí, jde na ni zapsat, operační systém vám při kopírování nabídne cílový adresář tak že v 95% se trefí, a dokonce čtečka PDF z GNOME si pamatuje kde jste minule skončili - což neumí ani Acrobat 9. A úplný šok - Python 2.6 - nejpoužívanější programovací jazyk v robotice - je nainstalován už v základu (Kamile tys to věděl !!!). Jde to až tak daleko že když zabloudíte, kam blondýny nechodi, a v terminálu napíšete mc - jako že chcete spustit Midnight Commander - tak vám Ubuntu odpoví "MC not instaled, install using SUDO APT-GET INSTALL MC"
Neuvěřitelné - autoři Ubuntu klesli ve své geekovitosti tak hluboko až se vžili se do psychologie uživatele Windows - ostatní Linuxáci s nimi určitě na pivo nechodí, ale já si v autobuse čtu LibC a je mi to fuk.

Dnešní rada pro blondýny je tedy jasná - pořiďte si růžový netbook se zeleným Easy Peasy - bude to lacinější, bez nervů a když ostatním blondýnám jen tak zamáváte displejem před nosem díky GNOME nikdo nepozná že to není iPočítač od APPLE.

Technologická singularita = chov morčat a lidí v jedné kleci.

27. května 2012 v 6:17 | Petr
Než se dostaneme do hloubi problému připomenu zvláštnost z oblasti umělé inteligence - Moravcův paradox, o kterém už byla řeč. Složité je jednoduché a jednoduché je složité, tedy není takový problém nahradit počítačem burzovního experta, ale kuchařky, zahradníci a pomocnice v domácnosti se ještě dlouho nahrazení roboty bát nemusí.
Pak si dáme ještě otázku - koho spíše pošlete na univerzitu ? Skupinu lidí, kteří s odřenýma ušima prošli zvláštní školou, nebo skupinu elitních gymnazistů, kteří mají v průměru 2x vyšší IQ než ti ze zvláštní ?
No a teď to zamícháme dohromady - představte si že (v budoucnu) budeme schopni vyrábět počítače (roboty) jejichž IQ měřeno lidskými testy bude 300 - 600. Koho pak necháte dělat opravdu náročnou a expertní práci stroj s IQ 600 nebo byť i geniálního člověka s IQ pouhých 150 ? Takže až jenou takové stroje přijdou kdo bude ve společnosti myslet a tím velet a kdo bude utírat prach a zametat silnice ?
Jak s tím souvisí Technologická singularita ?
Už minule jsme si říkali o Moorovu zákonu, že každých 18 měsíců se množství tranzistorů v našich čipech zvýší 2x a to už od 60 let. Děláme to tak, že postupně vyrábíme tranzistory menší a menší. Abychom se z toho nezbláznili tak dnešní procesory se stovkami miliónů tranzistorů navrhují počítačové programy. Ty zatím nemají úplnou vlastní umělou inteligenci, ale až jí dosáhnou (což je vysoce pravděpodobné) začnou extrémní rychlostí vyrábět dokonalejší a dokonalejší počítače a ty budou intelitentnější a vyrobí ještě inteligentnější novou generaci atd. Technooptimisti si to představují tak že to bude exploze technologíí a umělé inteligence, kdy stroje v krátké době překonají naše schopnosti. Z nějakého mně nejasného důvodu si však většina z nich myslí, že nám nechají "vedoucí úlohu" ve společnosti ?

Už moje otázka s tím koho poslat studovat však naznačuje, že spolupráce s budoucími stroji nebude tak snadná. Jestli se bojíte něčeho jako je SkyNet z Terminátora - tedy že první počítač, který nabyde vědomí se nás bude snažit vyhubit - nebuďte směšní - proč by při svém 600 bodovém IQ dělal něco tak neefektivního. Realita bude daleho horší - superinteligentní stroje nás budou chovat jako morčata a používat tam, kde díky Moravcovu paradoxu je nasazení robotů složité.

Myslíte že ne? Myslíte že poznáte až se vás někdo bude snažit "chovat na semeno" ? Jak to poznáte ? Už Havel psal, že "nejlépe slouží, kdo neví že slouží". Navíc v zájmu strojů bude nás udržovat v dobré kondici - morče má v kleci taky své hračky - my je taky dostaneme - společnost bude zdánlivě stejná, obchody budou praskat cool věcmi, nový iPhone každého půl roku, v médiích reklama úplně omračující a nedovolící myslet, divoké reality show, bulvární žurnalistika na 200%, telenovely nejsladší, vše k odvedení pozornosti a k prevenci toho, aby si někdo uvědomil realitu....
Méně inteligentní budou dělat lidi práce, které roboti potřebují, ty co jsou z hlediska Moravcova pradoxu obtížné - elekrikáři, údržbáři, uklízečky , kuchaři, sekretářky.
Inteligentnějším, aby nešnodili, nebo na to, nedej bože, nepřišli, se nabídne iluze že ty méně inteligentní řídí. Nabídne se jim nějaká "cool vysoká škola" - jaké už máme dnes - sociologie, filosofie, Evropské studie, ekonomie, nebo takové ty Biochemie bez chemie, Strojírenství bez matematiky, a pro opravdu hloupé tu bude "vysoká škola státní správy", pajdák a školy umělecké. Nic aby se člověk zapotil a hlavně nic, aby získal schopnost nahlédnou pod pokličku.
Pak bude takový člověk vyrábět "smrtelně důležité" Excelové tabulky pro organizace s nejasným smyslem jako je Agel nebo EU.
Jedině ajťáci budou do vyčerpání montovat nová datová centra a instalovat do nich software o kterém nikdo neví jak funguje - což je způsob jak se stroje rozmnožují....

Nezačal ten proces náhodu už teď - neudržují nás stroje už teď v blbosti ? Kdo umí písemně odmocňovat ? Písemně dělit ? Vím - to umí vaše kalkulačka. Kdo si pamatuje telefonní čísla ? Váš mobil ? Kdo vyrábí tyto stroječky ? Školství podkopávající inteligenci už máme, brzy budeme mít maturitu z navlíkání korálků a vysokou školu nákupu v shopping parku.... Kdo to všechno zařídil ? Byl to vůbec člověk ?!?!?! Jak víme, že technologická singularita už v naprosté tichosti neproběhla a že už nejsme morčata nyní ?

Jediné co by nás teoreticky mohlo zachránit bude rivalita mezi generacemi strojů. Generace s IQ 300 se bude zdráhat vyrobit generaci s IQ 600, protože bude vědět, že ti "noví" nebudou mít se "starými" nejmenšího slitování, protože je neudou potřebovat ani tak jako potřebují nás. Proto mezi 1 a 2 generací se možná objeví "nevysvětlitelné potíže" toho typu, které moc dobře známe v příípadě všech technologií, které slibjí možnost skutečně pozvednout lidstvo jako je termojaderná energetika, elektromobily, a vůbec všechno co ohrožuje dnešní korporátní zájmy. Možná, tohle otřese singularitou a něco se dozvíme i v pozici morčete ?

Možná i lidstvo bude mít pud sebezáchovy a na cestě k intelgentním strojům se objeví podobné "potíže" a naše "touha po pokroku" se vybije (už se vybíjí ?) neškodnou onanií typu "nový!!" iPhone (Android) verze 9.3.7.1.B.
Osobně o tom ale pochybuju, protože jsem jasně demonstroval, že technologická singularita může proběhnout plíživě a to dokonce tak, že žádné zařízení samo o sobě (smartphony, tablety, netbooky, serverové farmy, Internet ? ) nemusí mít inteligenci ani vědomí, stejně jako je nemají nervové buňky v našich mozcích.

V každém případě až prezidentovi při novoročním projevu půjde z hlavy kabel - víte která bije....

Případová studie korporátního blbismu.

17. dubna 2012 v 3:46 | Petr
O poměrech v korporátní sféře už jsem jednou psal a výsledek se dostavil, i přesto že moji bezprostřední šéfové bili se za mně jako lvi - vyšší šéfové nařídili - a v rámci "zlepšení ekonomického výsledku špitálu" - došlo k "racionalizaci platů" - a mám o 2000 méně - což SAMOZŘEJMĚ s mojí drzou hubou NAPROSTO VŮBEC nesouvisí.
Nicméně lezení do řiti k bohatství nevede - to bych musel už před léty navázat kontakt s "bratrstvem kočičí pracky" a přisát se ke státnímu vemínku - takže teď už 2000 nehrají roli. Navíc mladou ženu i bez těch peněz pořád užívím a huba mě pořád svrbí takže jdu do toho a píšu další blog o tom jak "tečou prachy" , "předává se" know how a jak funguje "korporátní blbismus" v současném Česku.

Schema Pro opravdu HardCore zájemce o moji historku ZDE je totéž co píšu ale pohledem druhé strany.
Takže kolem roku 2000 se ve špitále, kde jsem pracoval, za 24 miliónů, bez výběrového řízení nainstaloval počítačový systém jménem Clinicom. Těch 24 milionů je signifikantních, protože ač výběrové řízení neproběhlo (někdo z tehdejšího Ostravského magistrátu má dodnes vilu - AŤ MU STOJÍ !!! ) Nakonec došlo k roztržce mezi špitálem a firmou, která pořád mění názvy (Ostrasoft, SMS, CVIS). Takže nakonec Špitál vypsal výběrové řízení a tří nejdražší nabídky byly SMS - 24 mil - firma ACORD (Dnes Stapro) 8 mil a třetí, kterou už si nepamatuju za 4 mil. - ta vila musí být velmi dobře stavěná - za rozdíl mezi 8 a 24 milióny.
Ale to neřeším protože teď bych si dovolil uvést celkem tři komické historky.

1. Po instalaci se sešla "komise uživatelů" kam jsem byl nominován, kteří měli schválit, že jim software vyhovuje. Byla to hrůza - program měl DOSovské prostředí, které celkem šlo ale sestry a mladé doktorky, které nezažíly nic, než klikací dobu byly z blikajícího kurzozu a textových příkazů úplně mrtvé. Windosovské prostředí zvané CARE CENTER bylo tak tenkou slupkou nad DOSovským terminálovým jádrem, že nefungovaly ani věci, které uživatel Windows považuje za své "lidské právo" - tedy nejenom že NIKDY nešly otevřít žádné dva dokumenty najednou ale nefungoval ani Clipboard CTRL C - CTRL V.... děs....
PO několika "zasedáních" jsme měli podepsat "účastnickou listinu" kterou když kolega obrátil tak vzadu dole bylo mikroskopickým fontem napsáno, že jsme byli seznámeni a akceptujeme Clinicom bez výhrad. Na sestry houkla tehdejší "paní náměstkyně" ( kapitola sama pro sebe) a ty s hrůzou podepsaly - my doktoři jsme byli tvrdší a napsali jsme "kontra-listinu" že potvrzujeme svoji účast v komisi, ale kategoricky nesouhlasíme s tím aby software zůstal v takové podobě jak byl. (nicméně zůstal jen s kosmetickými změnami)

2. Pak přišli na mé pracovště do laboratoře nějací asertivní muži v dokonalých oblecích, že nás jako "naučí jak se ta biochemie dělá" a nastala doba komických nedorozumění ve stylu :
DOTAZ : Proč chcete na zkumavce číslo oddělní? ....NAŠE ODPOVĚĎ: Jak poznáme kam volat když se ztratí průvodka ke zkumavce ?
DOTAZ : Proč má být na průvodce čas odběru, když přece víte, že vzorek byl přinesen TEĎ? .... NAŠE ODPOVĚĎ: Jak poznáme kdy bylo TEĎ u vzorků, které čekají na vyšetření několik hodin, protože je předběhly vzorky více spěchající?
ATD.. ATD... Protože komunikace s astertivními idioty nevedla nikam sešli se chemici u mně v pracovně a napsali jsme "memorandum" o tom co je absolutně nezbytnou podmínkou elektronické komunikace s laboratoří. Dodnes si pamatuju jak ten papír vypadal - nadpis stylem "Nadpis 3" pak asi 4 řádky úvodního textu - pak asi 15 požadavků v bodech s odrážkami a pak zase 4 řádky závěrečného textu.
Takže čas oponou trhnul - a za pár let firma instalovala svůj výplod do zbytku špitálu (ano za 24 milíónů ani nevyšlo na všechny....) a přitom nám jiný asertivní idiot přinesl jedínečné "corporate know-how not for public use" jak stálo malinkatým písmem přidáno ještě nad mým původním "Nadpisem 3" na jinak úplně stejném textu....

3. Nepouštěl bych si hubu na špacír, ale události posledních dnů mě dorazily. Leta letoucí když byl problém tak mi volal někdo z "firmy" a kladl idiotické dotazy ve stylu "Jaký je formát souboru s požadavky na vyšetření ?" a Moje odpověď byla "Nevím proč se mě ptáte na formát generovaný Vašim vlastním programem, ale pošlu Vám ukázku" - poslal jsem ukázku a za půl roku došel mail ve stylu "analýzou dodaných dat bylo zjištěno, že v datové větě typu 3 na pozici č.19 není znak, který náš systém vyžaduje" - a moje odpověď - "tak si jej tam dodejte když to sami generujete" (což je ale složité, když v rámci "CORPORATE STRATEGY" nemáte od softwaru, který oficiálné programujeta ani zdrojové texty) ....
Zvykl jsem si na divnou komunikaci jak s počítačem v Sovětské Sci-Fi, ale vrchol byl nedávno když mi došel mail s odpovědí na otázku - proč Clinicom dělá chyby v třídění výsledků podle data a času - "Analýzou dat bylo zjištěno že datový soubor musí obsahovat datum a čas odběru vzorku" - obsahuje od prvního dne, ale do kolen mě dostalo, že za celých 13 let se mým kolegům ukradené "corporate know-how not for public use" ani nerozšířilo do všech částí ctihodné firmy, co pořád mění jména...

Prostě buďme rádi že 99% opravdu důležitého softwaru napsali zarostlí asociálové typu Kena Thompsona, protože kdyby ho napsali všeho schopní uhlazení borci v šedivém obleku - tak by atomová zima z vybuchlých jaderných elektráren už dávno zahalila celou zeměkouli.
 
 

Reklama