Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
# delete remote files (if enabled)
if [ "x$delete_remote" = "x1" ]; then
while read line; do
file="$(echo $line | awk -F';' '{ print $2 }')"
if [ ! -f "$file" ]; then
azcopy remove "$url/$file?$sas" >/dev/null <=== toto ukonci cyklus pri prvej zhode
echo "azcopy remove \"$url/$file?$sas\" >/dev/null" <=== ak to nahradim tymto, tak je to ok
test $? -ne 0 && error=1
fi
done < $remote_files_list
fi
Obsah/format suboru $remote_files_list (prve je nazov, druhe je velkost):
;aaa/a1;0; ;aaa/a2;0; ;aaa/a3;0; ;bbb/b1;0; ;bbb/b2;0; ;bbb/b3;0;Lokalne subory:
aaa/a1 aaa/a2 aaa/a3takze by v azure malo postupne po jednotlivych suboroch vymazat cely adresar bbb. Ked spustim shell v debug mode:
+ [ x1 = x1 ]
+ read line
+ echo ;aaa/a1;0;
+ awk -F; { print $2 }
+ file=aaa/a1
+ [ ! -f aaa/a1 ]
+ read line
+ echo ;aaa/a2;0;
+ awk -F; { print $2 }
+ file=aaa/a2
+ [ ! -f aaa/a2 ]
+ read line
+ echo ;aaa/a3;0;
+ awk -F; { print $2 }
+ file=aaa/a3
+ [ ! -f aaa/a3 ]
+ read line
+ echo ;bbb/b1;0;
+ awk -F; { print $2 }
+ file=bbb/b1
+ [ ! -f bbb/b1 ]
+ azcopy remove https://azure.storage.url/path/to/bbb/b1
+ test 0 -ne 0
+ read line
A cyklus sa ukonci (skript potom pokracuje dalej).
Netusite, cim by to mohlo byt?
Vdaka.
Řešení dotazu:
$(azcopy remove "$url/$file?$sas" >/dev/null) test $? -ne 0 && error=1Tipuju ze to zhavaruje a vezme sebou celou smycku.
exec azcopy remove ..., /bin/sh -c "/usr/bin/azcopy remove ...", eval $(echo "azcopy remove ..."), nic, stale sa cyklus ukonci po prvom odstraneni suboru, a azcopy skonci bez chyby (je to vidno aj v tom debugu).
Co ma napada je, ze azcopy nejakym sposobom "vymaze" data predane while cyklu. Je to mozne?
Skusim este stace.
azcopy ... < /dev/null
(azcopy remove "$url/$file?$sas" >/dev/null)
for miesto while a uz to funguje.
while read line; do ... done < $remote_files_listsom pouzil
for line in $(cat $remote_files_list); do ... donea toto funguje.
cat /proc/cpuinfo | while read l; do echo $l; cat - > /dev/null; doneTohle je obecně věc co nevím jak by se v Bashi měla řešit -- for cyklus nejde dělat když má člověk v těch věcech mezery (a současně chce původní IFS), u while je příjemné, že čte po řádcích. Ale zase to má tenhle problém.
Tohle je obecně věc co nevím jak by se v Bashi měla řešit
A o minutu později jsi sám řešení navrhl. :-)
Mimochodem, konstrukce
cmd | while read v; do ... ; done
má ještě jeden háček: while cyklus se při ní provádí v subshellu, takže proměnné nastavené v těle cyklu se nedostanou "ven" (nelze takto předávat hodnoty zbytku skriptu). Naštěstí to bash umožňuje obejít pomocí
while read v; do ... ; done < <( cmd )
Tiskni
Sdílej: