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í
×

včera 20:11 | Zajímavý software

Alexandre Julliard oznámil jménem vývojového týmu Wine vydání první verze 1.0 knihovny vkd3d určené pro překlad volání Direct3D 12 na Vulkan. Zdrojové kódy vkd3d jsou k dispozici pod licencí LGPLv2.1+.

Ladislav Hagara | Komentářů: 1
včera 19:33 | Komunita

Dnešním dnem lze účet Firefoxu chránit dvoufázovým ověřováním (2FA). Implementován byl standard TOTP (Time-based One-Time Password).

Ladislav Hagara | Komentářů: 0
včera 15:17 | Pozvánky

Od pátku 25. 5. proběhne na Fakultě informačních technologií ČVUT v Praze openSUSE Conference. Můžete se těšit na spoustu zajímavých přednášek, workshopů a také na Release Party nového openSUSE Leap 15.0. Na stejném místě proběhne v sobotu 26. 5. i seminář o bezpečnosti CryptoFest.

Jendа | Komentářů: 0
včera 13:33 | Zajímavý software

Drawpile je svobodný multiplatformní program pro kreslení podporující společné kreslení několika uživatelů. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3+. Drawpile i Drawpile Server jsou ke stažení také ve formátu AppImage. Stačí tedy nastavit právo na spouštění a spustit.

Ladislav Hagara | Komentářů: 0
včera 09:44 | Zajímavý software

Kalifornskému Muzeu počítačové historie (Computer History Museum) se po pěti letech vyjednávání se společností Qualcomm podařilo získat veškerá práva na poštovního klienta Eudora (Wikipedie), tj. kromě zdrojových kódů muzeum získalo také ochranní známku Eudora nebo domény eudora.com a eudora.org. Po pročištění byly zdrojové kódy Eudory uvolněny pod licencí BSD.

Ladislav Hagara | Komentářů: 4
22.5. 15:00 | Nová verze

Byla vydána nová stabilní verze 5.11 toolkitu Qt. Přehled novinek v příspěvku na blogu a na wiki stránce. Další dnešní příspěvek na blogu Qt je věnován Qt pro WebAssembly umožňujícímu běh Qt aplikací ve webovém prohlížeči. K vyzkoušení jsou příklady.

Ladislav Hagara | Komentářů: 0
22.5. 12:22 | Nová verze

Po 7 měsících vývoje od verze 0.12.0 byla vydána verze 0.13.0 hardwarově nenáročného desktopového prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklého sloučením projektů Razor-qt a LXDE. Přehled novinek v oznámení o vydání a v příspěvku ve fóru.

Ladislav Hagara | Komentářů: 17
22.5. 12:11 | Pozvánky

V úterý 29. května v 18:00 se v Brně koná pátý přednáškový večer o webovém vývoji. Čeká vás povídání o frameworku v Elixiru, vydávání nové kryptoměny přes ICO, component trees v Reactu. Na místě bude lehké občerstvení; vstup zdarma pro registrované. Více informací na Facebooku nebo se rovnou registrujte na Meetup.

dejvik | Komentářů: 0
22.5. 12:00 | Pozvánky

V pátek 25. května 2018 v Praze proběhne společné setkání komunity kolem Drupalu a překladatelů softwaru – tématem bude právě lokalizace svobodného softwaru (nejen Drupalu). Program začíná v 9.30 v budově Českého rozhlasu (Vinohradská 12), ale můžete přijít i později během dne.

Fluttershy, yay! | Komentářů: 0
22.5. 06:55 | Zajímavý software

Operační systém 9front, zřejmě nejaktivněji vyvíjený neoficiální fork systému Plan 9 (více informací), se dočkal nové verze nazvané „Ghost in the Minesweeper Shell“. K novým vydáním obvykle dochází každé jeden až tři měsíce.

Fluttershy, yay! | Komentářů: 0
Používáte pro některé služby inetd?
 (34%)
 (23%)
 (43%)
Celkem 149 hlasů
 Komentářů: 5, poslední 22.5. 16:46
    Rozcestník

    Filtrujme čtivé texty z Projektu Gutenberg 4

    13. 4. 2016 | Karel Kulhavý | Návody | 1940×

    V minulém díle jsem jako ukázkový problém při použití jednoduchého unixového příkazu na vystřižení sedmého sloupce uvedl, že nebude fungovat správně. Budeme analyzovat, jak takový problém při použití vzniká.

    Mezery i tabulátory se zobrazují na obrazovce stejně, ale pro příkaz cut mají odlišný význam. Tato nehomogenita se dá ale snadno homogenizovat příkazem, který jednotlivé i opakující se mezery, tabulátory či jejich kombinace převálcuje na jednu mezeru. Přepínač -s říká, aby se komprimovaly opakující se sekvence znaků, očividně to funguje i na směsi znaků z první množiny, a současně s přepínačem -s lze použít funkci překladu na znak jiný. Obrácené lomítko a písmeno t znamená tabulátor. U příkazu tr a dalších příkazů to funguje, u jiných příkazů to ale fungovat zase nemusí.

    tr -s '\t ' ' ' < filelist.txt > clean.txt

    Vzniklý soubor clean.txt pak vypadá takto:

    9574820 4504 -rw-rw-r-- 1 clock clock 4608764 Mar 15 2015 pg/etext96/pgwfh04.txt
    9574857 4216 -rw-rw-r-- 1 clock clock 4315118 Mar 15 2015 pg/etext96/plivs10.txt
    9574841 584 -rw-rw-r-- 1 clock clock 597079 Mar 17 2015 pg/etext96/bti1210.txt
    9574842 4 -rw-rw-r-- 1 clock clock 274 Mar 17 2015 pg/etext96/sgcwp22.txt
    9574873 216 -rw-rw-r-- 1 clock clock 220594 Mar 17 2015 pg/etext96/nvoyg10.txt
    9574834 504 -rw-rw-r-- 1 clock clock 512351 Mar 17 2015 pg/etext96/psrev10.txt
    9574821 616 -rw-rw-r-- 1 clock clock 629627 Mar 17 2015 pg/etext96/rlsl210.txt
    9574878 340 -rw-rw-r-- 1 clock clock 346597 Mar 17 2015 pg/etext96/slanr10.txt
    9574827 180 -rw-rw-r-- 1 clock clock 183018 Mar 17 2015 pg/etext96/batlf10.txt
    9574853 4 -rw-rw-r-- 1 clock clock 80 Mar 17 2015 pg/etext96/notun3-readme.txt
    9574874 324 -rw-rw-r-- 1 clock clock 328835 Mar 17 2015 pg/etext96/britm10a.txt
    9574846 60 -rw-rw-r-- 1 clock clock 60059 Mar 17 2015 pg/etext96/thoml10.txt
    9574844 420 -rw-rw-r-- 1 clock clock 427785 Mar 17 2015 pg/etext96/shabr10.txt
    […]

    Ale ani to nám nepomůže. Co je tedy mysteriózní faktor způsobující selhání příkazu cut? Protože už vím, co hledat, odhalím problém následujícím příkazem grep:

    grep -C 5 "^ " clean.txt|less | head -n 10
    
    30286664 28 -rw-rw-r-- 1 clock clock 27498 Mar 17 2015 pg/4/8/2/1/48215/48215-0.txt
    30286668 64 -rw-rw-r-- 1 clock clock 63695 Mar 17 2015 pg/4/8/2/1/48210/48210-0.txt
    30286658 208 -rw-rw-r-- 1 clock clock 210832 Mar 17 2015 pg/4/8/2/1/48217/48217-0.txt
    30286656 708 -rw-rw-r-- 1 clock clock 722131 Mar 17 2015 pg/4/8/2/1/48212/48212-0.txt
    30286645 448 -rw-rw-r-- 1 clock clock 456771 Mar 17 2015 pg/4/8/2/1/48219/48219-0.txt
     224 1172 -rw-rw-r-- 1 clock clock 1197270 Mar 15 2015 pg/4/8/4/2/48426/48426-0.txt
     218 92 -rw-rw-r-- 1 clock clock 91485 Mar 17 2015 pg/4/8/4/2/48420/48420.txt
     213 584 -rw-rw-r-- 1 clock clock 596145 Mar 17 2015 pg/4/8/4/2/48429/48429.txt
     209 52 -rw-rw-r-- 1 clock clock 51657 Mar 17 2015 pg/4/8/4/2/48427/48427.txt
     203 256 -rw-rw-r-- 1 clock clock 261631 Mar 17 2015 pg/4/8/4/2/48425/48425-0.txt

    Některé řádky totiž začínají mezerami! Kdybyste tohle ukázali sekretářce a zeptali se jí, co je v prvním sloupci, jsem přesvědčen že by řekla že 224, ale příkaz cut bude trvat na tom, že první sloupec je u takových řádků prázdný! Takže se sloupce rozsynchronizují a do výstupu půjdou u některých řádků data ze špatného sloupce – textový řetězec clock. Ten text se objevil, a to je důvod, proč se na chybu přišlo. Pokud by ale sousedící sloupec byl číselný, na chybu se vůbec přijít nemuselo a mohla zcela tiše vzniknout špatná data o rozložení velikostí souborů.

    Čím je problém způsoben a jak mu předejít? Tím, že bylo nahlédnuto na malý vzorek dat a z toho učiněn závěr o formátu celého souboru, což je takzvané logické non sequitur. Logicky korektní řešení by bylo přečíst si všech 55 tisíc řádků a z toho teprv vyvodit závěr. Co je ale logicky korektní nemusí být praktické z hlediska spotřebovaného pracovního času potřebného na osobní prohlédnutí 55 tisíc řádků. Další možnost by bylo jakési formální odvození na základě speficikací chování příkazů z manuálových stránek, které jsou ovšem často nejednoznačné a možná i někdy špatně, k odvození, že příkaz někdy generuje mezery na začátku řádku by bylo možná třeba hloubková analýza ve větším počtu úrovní odkazů, a je stále riziko logické chyby při uvažování. Další možnosti řešení tohoto chybného uvažování, žádnou z nich ale elegantní, si uvedeme v dalším díle seriálu.

           

    Hodnocení: 33 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    13.4.2016 11:01 koroptev
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    Tohle je metatrolling vlastni meducinou jakej ty zaprdli ideologove a nactilety hurafreetardpicusci jeste nezazili. Bojim se, ze je to na ne prilis sofistikovane az artove pojeti, ze message nedorazi. Tleskam ale uprimne.
    Marián Kyral avatar 13.4.2016 19:58 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    Náhodou to je docela napínavá detektivka :-D
    14.4.2016 11:02 B
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    Tohle je spíš melodrama typu Dallas, Esmeralda a podobně. V podstatě jde o hovno, hlavní je, že se z toho udělají stovky dílů. Posledně to byla o autech a sporácích, dneska je to o sekretářce. Kdyby nám soudruzi nezakázali hazard, tak se můžeme sázet co bude příště.
    14.4.2016 11:05 B
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    Posledně to bylo ...
    13.4.2016 14:08 Roman
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    WTF? :-)
    Petr Tomášek avatar 13.4.2016 20:19 Petr Tomášek | skóre: 37 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    Hele, Clocku, nechceš se raději podívat na ten blog o Optaru místo psaní takovýchto trivialit? Zdá se, že by se detekce chyb v Optaru měla vylepšit....
    13.4.2016 20:23 Vlado
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    Tato seria clankov sa dokulha k veci az niekedy v 1235-om pokracovani. Nema zmysel ju sledovat.
    Saljack avatar 14.4.2016 15:53 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: Filtrujme čtivé texty z Projektu Gutenberg 4
    Kde jsou ty doby co tu byl clanek kazdy den. Tohle neni snad ani na zpravicku.
    Sex, Drugs & Rock´n Roll.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.