Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.
Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.
Firma Anthropic, tvůrce AI modelu Claude, začala v oblasti Sanfranciského zálivu v tichosti provozovat vlastní biotechnologickou laboratoř. Anthropic prý chce pomocí AI urychlit hledání léků na nemoci, jimž farmaceutický průmysl dle názoru firmy věnuje příliš málo pozornosti. Firma tvrdí, že laboratoř se zatím soustředí především na základní biologii, nikoli přímo na vývoj léčiv. Farmaceutický výzkum je pro generálního ředitele Daria Amodeie velice osobní téma, jeho otec zemřel na hepatitidu C několik málo let před objevením účinné léčby.
Vědci z Googlu dokončili mapu všech neuronových spojení v mozku (tzv. konektom) samečka mušky octomilky obecné (drosophila melanogaster), hlavním cílem je komparativní analýza s již zmapovaným mozkem samičky. S tímto veřejně dostupným modelem, čítajícím přibližně 160 000 neuronů, se začali bavit nadšenci. Mozek mouchy pohání experimentálního kryptoburzovního bota Stonkfly, případně si zahrál počítačové hry Beat Saber, Mario64 a samozřejmě DOOM (gameplay videa). Ani mozek samičky nezůstal stranou, vyzkoušel si Minecraft.
Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.
Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).
Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.
Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.
Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento
… více »Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se
… více »Na Linux jsem postupně přešel v letech 2002-2003 a dodnes jej používám jako výhradní operční systém, který se stal nástrojem pro mou obživu i zábavu :-)
Už několikrát se mi stalo, že jsem potřeboval v adresářovém podstromu zrušit diakritiku, popř. nahradit mezery v názvech znakem "_". Nepodařilo se mi najít nějaký program, který je k tomu určený a "ruční" přejmenovávání mě už přestalo bavit. Proto, ač nejsem zkušený programátor v shellu, jsem si zkusil udělat skript, který výše zmíněné zvládne. Nevím, na kolik je moje řešení "čisté", nicméně jsem to zkoušel a k mé radosti skript udělal, co jsem od něj očekával. Proto jsem se rozhodl dát si ho do blogu jako svůj první zápis. :o) Zároveň budu rád, když mě ti zkušenější z vás třeba upozorní na mou chybu nebo možnost lepšího řešení.
Tak tedy: Skript je rozdělen do dvou souborů. První soubor s názvem start obsahuje jen příkaz find, který prohledává aktuální adresář a pro každou položku spouští skript diakritika s parametrem názvu položky:
#!/bin/bash
find ./ -exec ./diakritika {} \;
Skript diakritika vypadá nějak následovně.
#!/bin/bash
if test -w "$1"
then
echo "-----------------------------------------------------------------"
echo "Prejmenovavam soubor $1"
JMENO=`echo $1 | sed 's/ě/e/g' | sed 's/š/s/g' | sed 's/č/c/g'| sed 's/ř/r/g'`
JMENO=`echo $JMENO | sed 's/ž/z/g' | sed 's/ý/y/g' | sed 's/á/a/g' | sed 's/í/i/g'`
JMENO=`echo $JMENO | sed 's/é/e/g' | sed 's/ú/u/g' | sed 's/ů/u/g' | sed 's/ó/o/g'`
JMENO=`echo $JMENO | sed 's/ď/d/g' | sed 's/ť/t/g' | sed 's/ň/n/g'`
JMENO=`echo $JMENO | sed 's/Ě/E/g' | sed 's/Š/S/g' | sed 's/Č/C/g'| sed 's/Ř/R/g'`
JMENO=`echo $JMENO | sed 's/Ž/Z/g' | sed 's/Ý/Y/g' | sed 's/Á/A/g' | sed 's/Í/I/g'`
JMENO=`echo $JMENO | sed 's/É/E/g' | sed 's/Ú/U/g' | sed 's/Ů/U/g' | sed 's/Ó/O/g'`
JMENO=`echo $JMENO | sed 's/Ď/D/g' | sed 's/Ť/T/g' | sed 's/Ň/N/g'`
JMENO=`echo $JMENO | sed 's/ /_/g'`
echo "Na soubor:"
echo $JMENO
if [ "X$JMENO" != "X$1" ]
then
mv -f "$1" "$JMENO"
if test -d "$JMENO"
then
find ./ -exec diakritika {} \;
fi
fi
else
echo "Nemas prava menit soubor/adresář!"
echo "-----------------------------------------------------------------"
fi
Na začátku skript otestuje, zda je povolen soubor/adresář pro zápis. Pokud ano, odstraní háčky a čárky (náhradí se písmenem bez háčku/čárky), mezeru nahradí podtržítkem. Pokud je nový název různý od starého (soubor obsahoval diakritiku) přejmenuje soubor/adresář na nové jméno. Na problém jsem narazil, když měněnou položkou byl adresář. U adresáře, který obsahoval diakritiku, se diakrikika odstranila, ale skript už dál neprocházel jeho podstrom. To vyřešil poslední test -- je-li měněnou položkou adresář, je v podstatě znovu spuštěn start. Řádky začínající echo pouze vypisují, s čím skript pracuje a jejich smazáním by se možná urychlil (nevím, možná ne).
Ještě bych dodal, že skript samozřejmě nenahrazuje veškerou diakritiku, ale jen tu běžně používanou v češtině (snad jsem na něco nezapomněl). Další náhrady by se ale daly dopsat. Skript jsem testoval jen na malém podstromu asi o třech úrovních, takže nevím, jak bude pracovat při složitějších strukturách.
Pro použití skriptu stačí oba soubory nahrát do adresáře, v jehož podstromu chceme odstranit diakritiku a spustit ./start
Budu rád za vaše náměty na lepší řešení. Bude-li někdo skript zkoušet -- doporučuji nejprve na neškodných datech. Jak jsem psal v úvodu, nejsem v žádném případě zkušený programátor v shellu, a proto nevím, zda nemůže mít tento skript "vedlejší účinky"...
Tiskni
Sdílej:
... nicméně pak jsem si vzpomněl, jak jsme to řešili s kámošem, a že asi nejlepší je použít program recode (aneb proč opisovat do tr půlku kódové tabulky, když už to udělal někdo za mě a flexibilněji, mohu překódovat z více různých sad; pravda, trošku kanón na vrabce
)
řešení s findem je imho blbost, stejně jako používat na to dva skripty; máme to vyřešené pomocí rekursivní funkce
bohužel teď nemám po ruce příslušný zdroják, takže jenom nastíním ideu: procházení se děje pomocí for *, testuje se, zda jde o adresář, a pokud ano, tak funkce zavolá sama sebe na ten adresář, potom dojde k přejmenování (tzn. adresář se přejmenuje, až se z něj vyleze ven, nedojde k nekonsistenci)
p.s. a odstraňování diakritiky považuju za pěknou blbost - zrušením všech ne-ASCII (7bit) znaků bych uvedl do absolutního chaosu např. svoje veškeré ruské písničky - pojmenované samozřejmě v azbuce, od čeho máme UTF8
p.p.s. taky vás tak štvou lidi, co v angličtině (i jinde) místo apostrofu píšou čárku nad písmenem, takže místo ASCII se na jejich věc (obvykle právě jméno souboru) použije nejbližší sada, která tento "spacing modifier" obsahuje, a tudíž prudce klesá strojová zpracovatelnost (objevuje se problém s překódováním a především to, že čárka není apostrof - třeba konverze ohraničení apostrofy na korektní uvozovky)?
#!/bin/bash
function strip_diak {
echo "$1" | tr 'ěščřž ..' 'escrz_..'
}
function diak {
new_name="$( strip_diak "$1" )"
mv -f "$1" "$new_name" || return 1
cd "$new_name" || return 1
for fajl in *; do
if [[ -d "$fajl" ]]; then
diak "$fajl"
else
new_name="$( strip_diak "$fajl" )"
if [[ "$new_name" != "$fajl" ]]; then
mv -f "$fajl" "$new_name" || echo "mv error" && return 1
fi
fi
done
return 0
}
diak "${1:-$PWD}" || exit 1
exit 0
echo "$1" | tr 'ěščřž ..' 'escrz_..'zapsat, ze chci prelozit patricne unikodove znaky jako jsou äåöõü atd.
find -print nedokaze korektne vyporadat s whitespaces v nazvech souboru - nebylo by lepsi pouzit find -print0 | xargs --null?
Tak jak tak: diky za prispevek, podle me je cennejsi komplet zdrbnout tvuj kod a vymyslet lepsi, nez mlcet a nechat vsechny, at znovu vynalezaji kolo! B-)
-f je špatné, špatné, špatné ...
... mamííí, ploč ťam má ťeň páň -f míšto -i?