Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
up() { tr a-z A-Z; } check() { for F in *.[${F:0:1}$(echo ${F:0:1} | \ up)][${F:1:1}$(echo ${F:1:1} | \ up)][${F:2:2}$(echo ${F:2:2} | up)]; do [ ! -z "$F" ] && \ break; done; }a spustím
check oggjenže to vrací pořád nulu ať už tam ogg je, nebo ne. Asi by to šlo jen poladit a nebyl by problém, jenže mi to přijde trošku extrémismus na takovou trivialitu. Samozřejmě mě napadlo třeba
ls *.[oO][gG][gG]
, ale co kdyby jich tam bylo hafo, že jo...
a nieco take ze for i in *; do if [ -n "`echo $i | grep -w -i ".ogg$"`" ]; then pocet=$[ $pocet + 1 ] fi; done; by nefungovalo?
[ivok@zero ~]$ ls *.avi 2>/dev/null >/dev/null [ivok@zero ~]$ echo $? 0 [ivok@zero ~]$ ls *.ogg 2>/dev/null >/dev/null [ivok@zero ~]$ echo $? 1
*.ogg
se expanduje na neprázdný řetězec *.ogg
v případě, že soubory neexistují. Při přiřazení do proměné se nullglob neuplatní takže se to musí prohnat přes echo. No a v neposlední řadě je nocaseglob dost užitečný přepínač a uděláme to v subprocesu, aby jsme si nezměnili aktuální nastavení. Třeba nějak takhle:
check() { local a="$(shopt -s nocaseglob nullglob; echo *".$1")"; test -n "$a"; }
echo $a
tak se provede globbing a tak je při ladění potřeba si to vypsat například pomocí echo "x${a}x"
Zkrátka samé radosti *.[oO][gG][gG]
. Na co je tam asi to shopt -s nocaseglob
? To si to nemlžete zkusit než něco plácnete?
$ check() { test -n "$(shopt -s nocaseglob nullglob; echo*".$1")"; } $ touch a.oGg $ check ogg && echo OK || echo BAD OK $ rm a.oGg $ check ogg && echo OK || echo BAD BAD
find ./ -type f -maxdepth 1 -name "*.[oO][gG][gG]"
find: warning: you have specified the -maxdepth option after a non-option argument -type, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.
Tiskni
Sdílej: