abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:00 | Nová verze

    Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    včera 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 4
    9.1. 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 4
    9.1. 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 0
    9.1. 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 6
    9.1. 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    9.1. 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 12
    8.1. 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    8.1. 14:11 | IT novinky

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 19
    Které desktopové prostředí na Linuxu používáte?
     (6%)
     (5%)
     (0%)
     (9%)
     (20%)
     (4%)
     (5%)
     (3%)
     (10%)
     (51%)
    Celkem 349 hlasů
     Komentářů: 8, poslední včera 23:18
    Rozcestník

    Filtrujme čtivé texty z Projektu Gutenberg 6

    27. 4. 2016 | Karel Kulhavý | Návody | 10350×

    V minulém díle jsem naznačil, že ze strany nesouvisející internacionalizace operačního systému přijde neočekávaný problém. Tuto interakci si předvedeme.

    Internacionalizace umožnila mimo jiné to, že spousta lidí na Zemi si může nechat vypisovat chybové hlášky operačního systému ve svém rodném jazyce:

    $ ( for a in $(locale -a|grep -i utf); do LC_ALL="$a" . owhxeddo; done ) 2>&1 | sort | uniq
    
    bash: owhxeddo: 그런 파일이나 디렉터리가 없습니다
    bash: owhxeddo: そのようなファイルやディレクトリはありません
    bash: owhxeddo: Adresár alebo súbor neexistuje
    bash: owhxeddo: Adresář nebo soubor neexistuje
    bash: owhxeddo: Arquivo ou diretório não encontrado
    bash: owhxeddo: Aucun fichier ou dossier de ce type
    bash: owhxeddo: Bestand of map bestaat niet
    bash: owhxeddo: Böyle bir dosya ya da dizin yok
    bash: owhxeddo: Datei oder Verzeichnis nicht gefunden
    bash: owhxeddo: Datoteka ali imenik s tem imenom ne obstaja
    bash: owhxeddo: El fitxer o directori no existeix
    bash: owhxeddo: Filen eller katalogen finns inte
    bash: owhxeddo: File o directory non esistente
    bash: owhxeddo: Ingen sådan fil eller filkatalog
    bash: owhxeddo: Ingen slik fil eller filkatalog
    bash: owhxeddo: Không có tập tin hoặc thư mục như vậy
    bash: owhxeddo: Necun tal file o directorio
    bash: owhxeddo: Nema takve datoteke ili direktorija
    bash: owhxeddo: Nie ma takiego pliku ani katalogu
    bash: owhxeddo: Nincs ilyen fájl vagy könyvtár
    bash: owhxeddo: No existe el fichero o el directorio
    bash: owhxeddo: Non hai tal ficheiro ou directorio
    bash: owhxeddo: No such file or directory
    bash: owhxeddo: Tidak ada berkas atau direktori seperti itu
    bash: owhxeddo: Tiedostoa tai hakemistoa ei ole
    bash: owhxeddo: Toks failas ar aplankas neegzistuoja
    bash: owhxeddo: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
    bash: owhxeddo: Немає такого файла або каталогу
    bash: owhxeddo: Нет такого файла или каталога
    bash: owhxeddo: Няма такъв файл или директория
    bash: owhxeddo: файл ці тэчка ня йснуе
    bash: owhxeddo: 沒有此一檔案或目錄
    bash: owhxeddo: 没有那个文件或目录
    

    V čem je ale problém? Úmysl byl, aby se dalo měnit nastavení jazyka, to se měnit dá. Jenže kromě zamýšleného efektu nastal i efekt nezamýšlený, anglicky tzv. unintended consequences. Tato wikipedijní stránka mi přijde jako zábavné čtivo sama o sobě.

    Počítač musel totiž začít zpracovávat texty v kódování UTF-8, kde znaky mají třeba 3 bajty délky a ještě hůře, jejich délka je proměnlivá. Kde bylo dříve možné použít velmi rychlé vyhledávací tabulky pro 1 bajt (256 položek), která se vejde i do velmi rychlé L1 cache s náhodným přístupem v řádu jednotek nanosekund, teď by byla třeba příliš rozměrná tabulka pro 4 bajty (4 miliardy položek), která by se často nevešla ani do RAM. Musela by se umístit na pevný disk, kde náhodný přístup trvá řádově milisekundy, je tedy řádově miliónkrát pomalejší! Proto se musí začít používat komplexnější algoritmy, které jsou pomalejší. Zkusíme si tedy, o kolik rychleji to poběží, když před různé příkazy v této pipeline zařadíme LC_ALL=C, které toto komplexní chápání znaků vypíná:

    $ ( time cut -f 7 -d ' ' clean2.txt  |sort -n |uniq -c | sort -nrk1 >/dev/null ) 2>&1 |grep user
    user	0m4.396s
    
    $ ( time LC_ALL=C cut -f 7 -d ' ' clean2.txt  |sort -n |uniq -c | sort -nrk1 >/dev/null ) 2>&1 |grep user
    user	0m4.329s
    
    $ ( time cut -f 7 -d ' ' clean2.txt  |LC_ALL=C sort -n |uniq -c | sort -nrk1 >/dev/null ) 2>&1 |grep user
    user	0m3.832s
    
    $ ( time cut -f 7 -d ' ' clean2.txt  |sort -n |LC_ALL=C uniq -c | sort -nrk1 >/dev/null ) 2>&1 |grep user
    user	0m4.032s
    
    $ ( time cut -f 7 -d ' ' clean2.txt  |sort -n |uniq -c | LC_ALL=C sort -nrk1 >/dev/null ) 2>&1 |grep user
    user	0m1.360s
    
    $ ( time LC_ALL=C cut -f 7 -d ' ' clean2.txt  |LC_ALL=C sort -n |LC_ALL=C uniq -c | LC_ALL=C sort -nrk1 >/dev/null ) 2>&1 |grep user
    user	0m0.575s

    Ano, řekněme to nahlas: zavedení internacionalizace mělo za následek, že si v bashi, Firefoxu atd. chybové hlášky a menu můžeme nastavit česky, a současně před spoustu příkazů v bashových skriptech musíme psát LC_ALL=C, jinak nám poběží výrazně pomaleji.

    V příštím díle využijeme tuto znalost k urychlenému třídění souborů podle délky, výrobě statistiky délek a inspekci, co nejdelší soubory obsahují.

           

    Hodnocení: 45 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Diskuse byla administrátory uzamčena

    27.4.2016 14:23 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    takze dnes nebudeme nic filtrovat? skoda :(
    27.4.2016 14:25 xm | skóre: 36 | blog: Osvobozený blog | Praha
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Tenhle seriál musí být nějaký advanced trolling, jinak to nevidím... nechce se mi věřit, že by člověk který mimo jiné "vynalezl" Ronju, byl až takové pako :-)
    Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
    27.4.2016 16:33 hejkal
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Pouze predstira slabomyslnost, aby mohl ukazat sokujici paralelu mezi narustajici komplexnosti dnesniho sveta a programovanim trivialit v bashi. A to se mu dari, uprimne priznam, ze pred serialem jsem si to vubec neuvedomoval a uz nekdy po patem dilu na mne zaccala padat takova jakoby uzkost...
    30.4.2016 15:17 xxxs | skóre: 25 | blog: vetvicky
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    tiez mi to tak pride.
    27.4.2016 19:27 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Je to taký ROOT komix v bashi, nijak to neprekvapí, ale človek sa na chvíľu ....
    KERNEL ULTRAS video channel >>>
    27.4.2016 19:43 |🇵🇸 | skóre: 94 | blog:
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Poruchu osobnosti mám schizoidní,
    diagnostikovala mně ji psycholožka,
    nejsem schopen styku se ženou.
    🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
    27.4.2016 20:15 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6

    …podiví?

    P.S.: Nechcete, doufám, říct, že nás ještě čekají "remixy"?

    28.4.2016 16:12 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    P.S.: Nechcete, doufám, říct, že nás ještě čekají "remixy"?
    Hele, to je super nápad, začnu nad tím přemýšlet! Chcete seriál „nejhorší věc, co jsem napsal v Bashi“? Nabízím:
    • Driver pro lasercutter
    • Keystream guesser na GSM (byl tak nepoužitelně pomalý, že jsem ho nikdy neviděl fungovat)
    • Detekce blesků
    29.4.2016 10:12 Remix
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    27.4.2016 22:25 Juraj
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    najzabavnejsie k tomuto serialu je sledovanie diskusie :) ...ale vazne - co sa stazujete? stazovat sa na kvalitu serialu, jeho zaujimave rozdelenie na jednotlive kapitoly, alebo cokolvek by mal mat pravo len ten kto bude schopny v komentari napisat bashovy skript, ktory bude funkcne zhodny s finalnou verziou ku ktorej sa autor snazi dopracovat. Podla chlapackych reci ktore tu citam by ste to mali zvaldnut vsetci ... tak sa ukazte :)
    27.4.2016 23:35 kyknos | skóre: 18 | blog: Quid novi? | Ranša Rosa
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Tak stačí se podívat v gitu na ten software, co někteří z nich produkují :D
    So the Nationalists and the Socialists have the same policy on Brexit. They should get together and form a...
    28.4.2016 11:14 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Většina lidí si imho stěžuje na dost absurdní rozkouskování, kde díly mají třeba dva, nebo tři odstavce. Tímhle tempem je reálné, že se někteří konce seriálu ani nedožijí.
    28.4.2016 11:40 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Útěcha je, že s délkou dílu se nelze libovolně přiblížit nule, protože pod jeden znak to prostě nepůjde. Na druhou stranu ale lze prodlužovat intervaly mezi díly, takže ani při pevné celkové délce nemáme horní odhad celkové doby. :-)
    28.4.2016 11:36 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Příklady jednodušších a efektivnějších řešení už tu v komentářích byly. Napsat ekvivalent finální verze půjde jen těžko, když nevíme, co by měla vlastně dělat (a jestli vůbec má jít o jeden skript - spíš ne). Jediné, co je celkem jisté, že určitě ne to, co je napsáno v názvu seriálu…
    28.4.2016 15:18 Anastázina
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    No, stokrát radši si čtu Clocka, než neustálou Kubečkovu mentální masturbaci a honění si ega. Clock už totiž něco skutečně dokázal...
    28.4.2016 15:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    …a přesně to je podstata problému. Kdyby něco takového publikoval v blogu nějaký začátečník, který právě objevil kouzlo unixových textových utilitek a chce se podělit o svou radost, zasloužil by si povzbuzení a ne výsměch. Když to někdo, kdo už by měl mít rozum a zkušenosti, vydává jako sérii článků, je to přinejmenším zarážející.
    28.4.2016 17:48 krocan
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 6
    Asi tak - Clock se nam treba snazi namluvit, ze o existenci locale se dozvedel pred tydnem, coz je zjevny nesmysl. Proste je trochu vystredni a dela si prdel, nakonec proc ne, ale ze to redakce vydava po pulstrankach jako dily serialu, kdyz nektere nepokryji ani jeden cely bash prikaz, to je otazka.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.