Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.
Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
NODES=$(awk '/mycloud/ { print $1 }' /etc/hosts) CTID=$(for NODE_IP in ${NODES}; do ssh root@${NODE_IP} 'vzlist -a' | awk '/[:alnum:]/ { print $1 }' done | sort -g | tail -1) echo ${CTID}Tento vystup mi vrati 126
SEQ=$(seq 101 129)
Potom stačí porovnat rozdíly.
diff <(echo "$CTID") <(echo "$SEQ") | grep \> | head -n1 | sed 's/> //'
Jen si nejsem jistý, jestli to tak bude opravdu efektivnější, než tu sekvenci prostě projít cyklem a kontrolovat, jestli je prvek aspoň o dva větší než předchozí (a vypsat poslední plus jedna, když se tam takový nenajde).
Trochu mi to připomíná fóra PHP skriptařů, kde je snaha vyřešit všechno výhradně skládáním hotových funkcí, přestože je výsledek nezřídka zoufale neefektivní a daleko krkolomnější než přímočaré řešení pomocí základních prvků jazyka.
Z hlavy a bez kontroly by to mohlo vypadat nějak takhle:
function hole () { local prev curr for curr in "$@"; do if [ -z "$prev" ]; then prev="$curr" continue fi if [ $[curr - prev] -gt 1 ]; then echo $[prev + 1] return fi prev="$curr" done echo $[curr + 1] }
Velmi snadno si s tím poradí awk
. Příklad:
echo 101 102 103 107 108 111 112 121 122 123 124 125 126 |\ awk '{ last = $1; for (i = 2; i <= NF; ++i) { if ($i - last > 1) break; last = $i } print last + 1 }'
Dokonce to zpracuje i víc takových řádků po sobě, když na to přijde.
Tiskni
Sdílej: