Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
Další možnost prevence je před zpracováním dat vytvořit vědeckou hypotézu o nich (žádný řádek nezačíná mezerou), a tu se pak pomocí experimentu snažit potvrdit nebo vyvrátit. Poslední dvě uvedené metody jsou ale komplexní a komplexitu práce s IT ještě zvyšují.
Tento modelový incident je dle mého názoru pěknou ukázkou jevu, jak komplexní řešení (IT) problému (tužka a papír jsou příliš pomalé, neohrabané při posílání na dálku atd.) zanáší náš život komplexitou. Americký vědec, antropolog Dr. Joseph Tainter, profesor na Department of Environment and Society na Utah State University (vystudoval University of California Berkeley, známou např. OS BSD) tento jev zkoumá. Ve svých videopřednáškách (mirror) na YouTube vysvětluje, jak tato akumulace komplexity nakonec běžně způsobuje pády civilizací, které původně z této komplexity, sloužící k řešení problémů, profitovaly. A že z tohoto hlediska je naše civilizace v úplně typické fázi před kolapsem.
Po odbočce k civilizačnímu nadhledu tento problém vyřešíme přídavným příkazem sed
, který mezery na začátku řádku odfiltruje. Stříška značí začátek řádky. Při práci se sed
, grep
, awk
apod. je třeba dávat pozor, že u každého příkazu je jinak, před které tyhle speciální znaky se dávají obrácená lomítka a před které ne, a také že shell ta obrácená lomítka někdy sní a někdy ne. Pokud je sní, musí se dát dvojitě. V našem případě jsme obrácená lomítka naštěstí nepotřebovali vůbec.
sed -e 's/^ //g' clean.txt > clean2.txt
A teď už může přijít zlatý hřeb: jak bývá dle mé zkušenosti typické pro Unix a Linux, s vynaložením neúměrného množství úsilí se nám konečně podařilo udělat jednoduchou věc, na kterou specificky existuje příkaz – odfiltrovat sedmý sloupec ze souboru:
cut -f 7 -d ' ' clean2.txt 4608764 4315118 597079 274 220594 512351 629627 346597 183018 80 328835 60059 427785 871780 3916362 [...]
Na zlatý hřeb už jen pověsíme pár dalších příkazů a objeví se nám statistika. -n
říká, že čísla se mají řadit číselně a ne abecedně, 10 je tedy po 2 a ne před ní. uniq
je z anglického unique, tedy „jedinečný“ – bere seřazený vstup, kde opakující se vstupy jsou v kuse za sebou, a z těch pustí vždy jen jeden. Přepínač -c
ale způsobí, že se k tomu ještě navíc spočítá, kolik jich bylo. Dalšímu sortu řekneme, aby obrátil pořadí pomocí -r
. Přepínač -k1
znamená klíč v prvním sloupci, tedy řadíme podle počtu opakování. A head -n 20
je tu proto, aby se nám hezky useklo jen prvních 20 řádek článku.
$ cut -f 7 -d ' ' clean2.txt |sort -n |uniq -c | sort -nrk1 | head -n 20 23 11009 15 12911 13 21607 12 12888 12 12867 9 1405 9 12927 9 12900 9 12897 9 12887 8 21586 8 12891 8 12858 7 12912 7 12879 7 12864 6 59 6 12906 6 12905 6 12890
Teď by se mohlo zdát, že příkaz konečně proběhl, jak jsme chtěli, a nežádané komplexity IT jsme byli ušetřeni. Ale kde! Zdání klame! I zde si vychutnáme další neočekávaný úder z hlubin Tainterovy studijní oblasti. Ale jak budeme vůbec vědět odkud, když vše funguje, jak má? Úder přichází ze strany internacionalizace. Před určitým počtem let byl sen, že počítače budou moci mluvit světovými jazyky, a tak si dnes můžete nastavit, že vám bash bude psát chybové hlášky třeba vietnamsky nebo čínsky:
( for a in $(locale -a|grep -i utf); do LC_ALL="$a" . owhxeddo; done ) 2>&1 | sort | uniq
Pilní čtenáři si mohou příkaz spustit za domácí úkol, ti ostatní se dozví, jak vypadají chybové hlášky ve všemožných jazycích, v příštím díle.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
awk '{ print $7}' ./inputifile.txt | sort -nr | uniq -c
Bojím se, o čem budou další díly, když triviálnímu triviálnímu součtu nad jedním sloupcem spolklo tolik řádek "úvah".
Kéž by… To úsilí bylo věnováno tomu, aby autor tím krkolomným postupem dosáhl toho, co by měl zadarmo, kdyby tři díly zpátky místo "-ls
" napsal "-printf '%s\n'
".
Na druhou stranu, jak s oblibou říká moje tchýně, vychovávat je nejlépe osobním příkladem a nelze-li jinak, pak alespoň odstrašujícím. Takže, děti, tady názorně vidíte, jak to dopadá, když se místo použití vhodných nástrojů budete snažit parsovat výstup určený pro lidského čtenáře. :-)
A teď už může přijít zlatý hřeb: jak bývá dle mé zkušenosti typické pro Unix a Linux, s vynaložením neúměrného množství úsilí se nám konečně podařilo udělat jednoduchou věc, na kterou specificky existuje příkaz – odfiltrovat sedmý sloupec ze souboru