Registry mají dvě poměrně zásadní nevýhody: je velmi obtížné je nějak jednoduše verzovat včetně možnosti mergování změn a nelze je editovat bez speciální aplikace; na textové konfiguráky stačí libovolný editor včetně Poznámek z Windows Mobile.
Co je pro uživatele Linux novinkou je fakt, že k optimalizaci není třeba rekompilace aplikace
To není novinka. LLVM tohle dělá dokonce ještě lépe, bez větvení aplikace; jednoduše při startu upraví kód aplikace, aby používala tu možnost, kterou je nejlepší použít. Ale proč to řešit při běhu nebo startu aplikace, když to lze vyřešit už při nasazení?
http://www.root.cz/zpravicky/podil-windows-klesl-pod-90/240979/
V tom příspěvku jste tvrdil: Uvedomte si ze unixovy konfigurak je porad obycejny textovy soubor (everything is file) a podle toho s nim muzete manipulovat, optimalizovat ho (jsou velmi ucinne metody optimalizace vykonu), menit a zalohovat.
No a mě by zajímalo, jak optimalizujete konfiguráky tak, aby se z nich rychleji četlo, či se do nich rychleji zapisovalo. Předpokládal jsem, že alespoň víte, co jste psal.
Deamon není file, zvuková karta není file, okno není file
Technika everything is file neříká nic o oknech, démonech ani zvukových kartách, ale o jejich komunikaci mezi sebou a se systémem. Vůbec ji nezajímá, kdo si povídá a s kým (samozřejmě pokud má příslušná oprávnění). Zrovna u té zkukové karty je zvukový výstup většinou datový proud, tedy soubor.
Například pokud máte větší cache, můžete prodloužit velikost jednotlivého zpracovávaného bloku dat, což za vás LLVM, .NET ani Java neudělají.
LLVM zvládne i to. Resp. kde by to zvládl kompilátor při překladu zdrojáku, tam to zvládne i LLVM (třeba přes nějakou konstantu načtenou z runtime). Na druhou stranu větvení kódu tohle nezvládne, přinejmenším ne dynamicky.
Dalším hřebíčkem do rakve je fakt, že optimalizace je třeba primárně u malých částí kódu, které se ale často optimalizují v ASM (například explicitní použití MMX/SSE/SSE2 instrukcí).
Tak se vyrobí tři větve optimalizované v assembleru (to LLVM taky umí) a před spuštěním se napevno vezme ta, která je podporovaná. Vůbec nevidím, kde má větvení kódu navrch.
Aha, LLVM zvládne prodloužit velikost jednotlivého zpracovávaného bloku dat, když si to tak napíšete. Naproti tomu bez LLVM si to tak musíte napsat. Kde je tedy ta výhoda LLVM?
Ta hlavní výhoda je, že se to optimalizuje až na cílovém stroji tamnímu hardwaru na míru, ne při překladu u vydavatele na pár základních konfigurací.
Opět pokud už máte tři optimalizované větve v ASM, tak není třeba LLVM. Samozřejmě to, že se vybere jedna z nich již při inicializaci aplikace, je běžné, a nepřináší to overhead.
To sice ano, ale přináší to overhead při vývoji, protože musíte to samé napsat třikrát v assembleru, v LLVM to stačí napsat jednou a v C nebo C++ (což samozřejmě snižuje cenu za vývoj a zvyšuje spravovatelnost kódu a taky zjednodušuje portování) a LLVM to optimalizuje automaticky podle aktuální konfigurace stroje (stejně jako by to udělal kompilátor), na kterém se to spustí. Navíc LLVM umí provést ten překlad jen při prvním spuštění, pak už je aplikace rovnou spouštěna optimalizovaná.
Merge změn dvojklikem na .reg soubor je obtížný?
To není merge, ale přepis. Vůbec to neřeší konflikty ani to neumí spojovat více možných větví vývoje konfigurace.
. Je to rychlejší vyhledání hodnoty (binární strom vs slow seek konfiguráku)
Většinou není. Naprostá většina aplikací ten konfigurák projde při spuštění nebo změně, jinak jej drží zpracovaný v paměti. A to je mnohem rychlejší, než se neustále dotazovat do nějakého binárního stromu na disku.
o hodně rychlejší zápis (konfigurák je nutné kompletně přepsat)
Zapisuje se typicky při změně nastavení aplikace a při jejím ukončení a to se tak často neděje, takže tohle není problém.
Je pravděpodobné, že jeden systém bude vždy dominantní, takže Windows mohou ustoupit.
Žádný problém, jak jsem říkal, spokojím se i s tím, kdy si Windows a GNU/Linux podíly prohodí.
Navíc zrovna GNU/Linux a *BSD by byly velkým krokem zpátky z hlediska technického, ale hlavně uživatelského.
Váš názor respektuji, avšak nesdílím. Dokonce si myslím, že největším krokem zpátky, a to pro celé IT odvětví (a všechna odvětví na IT vázaná), je dominance MS, jejíž následky brání vytvoření zdravého konkurenčního prostředí. V tom mi situace s dominancí MS připomíná rakovinu, tedy nekontrolovatelné, zhoubné bujení, které ohrožuje celý organismus.
To už je pravděpodobnější, že se prosadí MacOS, nebo něco nového.
Já si vystačím s GNU/Linuxem, děkuji. Ale ani GNU/HURD by nebyl špatný.
Administraci nicméně dělají zásadně z command line
Je to rychlejší, než jezdit myší a klikat. Dělal bych to i ve Windows, kdyby to šlo.
Zkuste si někdy nainstalovat z GUI třeba driver WiFi karty ve Windows, a poté zkuste totéž na Linuxu
Hezký příklad. Když už je to potřeba (což na rozdíl od Windows většinou není), tak: K / Systém / Ovladače hardwaru / heslo uživatele / příslušné zařízení / Aktivovat.
Ony se dají Windows ovládat i z klávesnice, a často je to nejrychlejší.
Pořád je to pomalejší než příkazová řádka. Což mimochodem PowerShell (nebo jak to nakonec pojmenovali) jen dokazuje.
Takhle vy instalujete driver k WiFi kartě? Já musel stáhnout Madwifi, a kompilovat ho. K nVidia kartě jsem musel naposledy driver stáhnout jako balíček, nainstalovat ho, tuším zavolat ten nVidia instalátor, a nakonec nechat ovladač použít v SaX2. Asi máte nějaký jiný Linux, než měl já.
Mám Kubuntu, ovladače k ATI i nVidii jsem aktivoval takhle a MadWifi fungovalo out-of-box.
Systém, který uživatele vyplivne na příkazové řádce, se slovy "a teď tahej z paměti příkazy, protože já ti na výběr nedám", a prý přátelský.
No jistě, v případě, že nenaběhne grafické prostředí, tak je BSOD daleko přátelštější. A hlavně se ten systém potom lépe opravuje, že?
Aplikaci s tak příšerným interfacem, který porušuje snad všechna pravidla tvorby UI, se opravdu učit nechci.
vi je pro lidi, kteří se to chtějí naučit, protože ví, že když se to naučí, tak je to daleko jednodušší (a rychlejší) na používání, než běžné editory jako Poznámkový blok nebo nano. Ale to člověk, který je zvyklý, že se dá všechno vyklikat a na čase mu nezáleží, nepochopí.
Ve windows grafické prostředí funguje stejně samozřejmě, jako na unixech sériový terminál. Když GUI nenaběhne, máte možnost růzaných recovery option (last known good configuration, safe mode, console, repair).
V Linuxu funguje grafické prostředí stejně samozřejmě jako ve Windows, pouze když nenaběhne, tak to ohlásí jinak. Metody opravy jsou (alespoň v Ubuntu) dost podobné - použít starší jádro, konzole (plnohodnotná, ne jen pár příkazů jako u Windows, a navíc fungující i bez instalačního CD) a oprava z LiveCD. Nejnovější Ubuntu umí i safe mode.
Běžné editory se dají bez problému ovládat z klávesnice. Rozdíl je v tom, že mají použitelný interface
a všechno v nich trvá nejméně dvakrát tak dlouho, pokud je vůbec možné v nich něco takového udělat.
Dominance Microsoftu VYŠLA ze zdravého konkurenčního prostředí.
To je sice hezké pane kolego, ale to na současné situaci (a jejích následcích) vůbec nic nemění. Stejně tak diskuse o tom, jestli to byl skutečně úspěch tvrdé práce MS, nebo jen značná dávka štěstí a nekalých obchodních praktik, jestli to byl úspěch MS nebo spíše IBM, která MS na vrchol vytlačila. To vše je v tomto směru bezpředmětné.
Lidi si svobodně na trhu vybrali a z toho je třeba vycházet.
Vycházet z toho můžete, ale to nám problém nevyřeší.
Odsuzování ať už zákazníků(, že si koupili co chtěli) nebo samotné společnosti(asi za to že si vůbec dovoluje něco nabízet) je v některých kruzích sice oblíbené, ale zcela mimo mísu.
A to mi říkáte proč? Já jsem nic takového nedělal.
Na co jsem původně reagoval, bylo tvrzení, že by se měla asi nějakým zásahem shůry zrušit dominance MS a nastolit "zdravé konkurenční prostředí".
Nyní mi opět do úst vkládáte něco, co jsem neřekl. Můj původní příspěvek pouze popisoval můj pohled na situaci, neprezentoval žádný návrh řešení.
A právě na základě historické paralely a vlastnostem trhu je zřejmé, že nic takového nelze. Ať se stane cokoliv, stále bude někdo mít výraznější podíl, který se nebude někomu líbit.
Kdyby měl MS jenom _výraznější podíl_, neměl bych problém. On má však podíl dominantní, tedy tak vysoký, že vzniklá situace na tomto trhu efektivně brání konkurenci, aby měla reálnou šanci se prosadit. Pokud by měl MS dejme tomu 60% podíl a Linux 30%, problém, který jsem popisoval, by neexistoval. Tržní ekonomika se prostě dostává do úzkého vždy, když někdo získá dostatečně velkou moc na to, aby bránil vzniku/rozšíření konkurence. Zkrátka a dobře, trh je efektivní pouze v situaci, kdy na něm existuje zdravá konkurence. Bez ní se trh dostává do úzkých, a až na "otesánka" všichni tratí.
"efektivně brání konkurenci"? to zní jako by dělal aktivně a tak to přeci není.
Tak to zní možná pro ty, co se neobtěžují ani přečíst tu větu celou. Napsal jsem, že "vzniklá situace na tomto trhu efektivně brání konkurenci". Z této věty tedy skutečně nevyplývá, že by to byl MS, který "aktivně brání konkurenci". I když i to je do jisté míry pravdou. To ovšem až takový problém není (o to se snaží každá schopnější firma). Podstatou našeho problému je ovšem samotná situace na tomto trhu. Podobný problém bude i na řadě dalších trhů, kde má jedna firma monopol či dominantní podstavení.
Konkurence tu je, jen nedokáže svou nabídkou dostatečně zaujmout.
Konkurence tu je, ale nedostane se přes bariéru, kterou tvoří dominantní postavení MS. Uvědomte si, že MS k udržení jeho postavení pomáhá celá řada faktorů, které jsou přímým důsledkem jeho dominantního postavení. Vězměte třeba už samotný fakt, že průměrný uživatel IT/ICT o existenci nějakého Linuxu vůbec netuší. Pokud se o existenci Linuxu dozví, bude to ve chvíli, kdy (a) už má v počítači Windows a (b) kdy už s Windows umí pracovat. U běžných uživatelů navíc velmi dobře funguje strach z neznámého.
Pak si vezměte školství, aneb továrnu na uživatele MS, nebo výrobce HW a SW, kteří jdou na ruku výrobci dominantního OS, ale na konkurenci většinou kašlou. Nebudu se tu o tom příliš rozepisovat, nicméně věřím, že to málo, co jsem napsal, vám pomohlo ilustrovat to, že postavení Linuxu není rovnocenné, že Linux je vlivem dominantního postavení MS silně znevýhodněn, stejně jako jakýkoliv jiný OS. Čili, na tomto trhu existují vlivem dominantního postavení MS citelné bariéry vstupu pro konkurenci, které brání tomu, aby se tu konkurence mohla prosadit. To je to, o čem celou dobu hovořím a v čem vidím problém.
Nebo chcete říci, že když firma A produkuje SW, a dělá mu dobrou reklamu, a firma B reklamu odflákne či nedělá, tak by firma B měla dostat od někoho nějaký boost (nejlépe od státu z mých daní, že), aby byla stejně úspěšná? :)
Linux není firma. Nebo je snad stejně špatné, že dostávají státní peníze různá občanská sdružení, která svými aktivitami dost často i konkurují různám firmám?
Naopak bych řekl, že kdyby na VŠ technických směrů neučili vi a stovky command line utilit, už by obě věci dávno zavál prach.
No jistě, proto Microsoft nevyvinul PowerShell, protože používání příkazové řádky je přežitek. Ono je to přesně naopak, shell se udržel díky svým schopnostem, v něm můžu snadno a rychle napsat to, na co bych si musel stahovat (nebo koupit) Visual Studio .NET a psát to tam nejméně pětkrát déle, případně hledat na internetu nejrůznější doplňky. Třeba různě filtrované statistiky o systému, automatickou konfiguraci PPP over Bluetooth nebo sledování určitých jevů. Včetně možnosti zobrazovat výsledky a ptát se na hesla v GUI.
Používání příkazové řádky jako primárního interface je jednoznačně přežitek
Totéž si myslím o používání grafického prostředí Windows, když existuje Aqua, Compiz nebo KWin4, stejně jako o nutnosti použít několik různých aplikací pro práci přes různé protokoly (třeba FTP klient + editor), když existuje KIO, nebo o nutnosti zadávat aktivační kódy.
Image, sysprep, Windows doména, hotovo.
To by mě zajímalo, kolik Windows adminů by vědělo u více než dvou uvedených slov, co to je.
Opravdu se na to potřebuje IT pracovník učit ovládat vi, memorovat syntaxi stovek příkazů, znát umístění a obsah hromady konfiguráků, umět kompilovat aplikace, skriptovat v bashi, a nejlépe programovat v C, C++, Perlu, Pythonu, Tcl a Javě?
Nepotřebuje ani jedno. Příkazů mu stačí cca deset, přičemž většina se volá podobně (useradd, groupadd ap.), anebo si může nainstalovat nějakou GUI klikačku jako webmin.
neříkejte, že vás nepřekvapuje, s jak málo znalostmi někteří Windows admini úspěšně provozují své systémy
Jo, občas mě překvapuje, že jsou i "admini" (samozřejmě windowsí), kteří neví, co je firewall a IP adresa, že software se neodinstalovává přesunutím do koše a že Obnovení systému není zálohovací software. Pak to ale s viry a spamem vypadá tak, jak to vypadá.
Unixový admin je pokaždé někdo jiný. Jednou musí umět vi, skriptovat, a běžně verzuje konfiguraci aplikací, jindy mu stačí 10 příkazů
Nikdy jsem nepsal, že to musí umět, jen si tím hodně usnadní život. Stejně jako když se windowsí administrátor naučí skriptovat v cmd.exe nebo PowerShellu a koupí a nastaví nějaký zálohovací software.
HTML interface pro administraci? Uff :/
Co je na tom špatného? Je to přeci taky grafické klikátko, ne?
Já ještě nepotkal Windows admina, který by nevěděl, že Obnovení systému není zálohovací software, co je firewall a IP adresa apod. Možná si platete power usery s adminy.
Možná, ale oni si říkali administrátoři a byli na tak pojmenované pozici zaměstnáni.