Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.
V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.
VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
"cat /etc/passwd | grep ^[^:]*:[^:]*:[^:]*|cut -f 1 -d ":""je nesmysl, to se expanduje na ten řetězec v uvozovkách, měls asi na mysli $(...) nebo `...`, i tak by to moc nefungovalo. No nic, nejlepší co jsem vymyslel je
if cut -d: -f1 | grep -F -x -q "$1"; then echo "OK" else echo "neexistuje" finajdi si v man grep co ty optiony znamenají (btw asi nebudou přenositelné) Aby to bylo skutečně korektní, tak by to chtělo C prográmek, co zavolá
getpwnam(argv[1]).
#!/usr/bin/env python
import pwd
user = 'all'
if (cmp(user,'all')):
try:
print pwd.getpwnam(user)
except KeyError:
print "Tento uzivatel neexistuje"
else:
print "Tohle se tyka vsech uzivatelu"
Odteďka chci mít všude login "all"
if egrep -q "^${1}:" /etc/passwd || [ "x$1" = xall ]; then
echo OK
else
echo chyba
fi
).
x=`echo "$1" | LC_CTYPE=C tr -cd '[a-zA-Z0-9_]'`
if [ "x$1" != "x$x" ];
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" # :-)
exit 1
fi
Na druhou stranu, kdyby si s tím člověk trochu pohrál, mohl by v tom být i určitý záměr: mohl by se zadávat regulární výraz a hledaly by se procesy kteréhokoli uživatele, který mu vyhovuje (nebo co to měl ten skript dělat)… :-)
BTW, nevíte kde má původ ten zápis
test "x$param" = "xvalue"
^ ^
? Používá to i Autoconf, takže asi existoval systém, kde nefungoval test s prázdným parametrem, ale netuším jaký (PDP-11 ve škole nemáme
).
test. Nějak se mi ale nedaří vyrobit nějaký dostatečně úderný příklad ('test -e = -f' i 'test -e = -e' mi kupodivu fungují správně s interním i externím testem).
$ uname -srv IRIX64 6.5 04091957 $ /usr/bin/test -n = blabla; echo $? 0Takže smysl to asi má pořád.
x=`echo "$1" | LC_CTYPE=C tr -cd '[a-zA-Z0-9_]'`
if [ "x$1" != "x$x" ];
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" # :-)
exit 1
fi
To se nám to krásně zjednodušilo. Až na ten fork, fork, exec a přitom je to úplně zbytečné.
case "$1" in
*[^a-zA-Z0-9_]*)
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" #
exit 1;;
esac To je ekvivalent uvedeného, ale víc jak 20x rychlejší. Nechce hledat přesné omezení na username abych to napsal přesněji.
[[ "$1" == *[^a-zA-Z0-9_]* ]] && {
echo "Nech toho, darebáku, sic ti hnáty zpřerážím!" #
exit 1
}
if ! id "$1" >&/dev/null && [ "x$1" != xall ]
then
echo "Zadali jste uzivatele, ktery neexistuje, tudiz nespustil zadne procesy"
exit 1
fi
P.S.: Ano, opravdu tam má být && a ne || protože chyba nastane, když uživatel není a zároveň není zadáno all.
já věděl, že něco takového musí existovat, ale odradil mě finger
$ finger chroustal; echo $? finger: chroustal: no such user. 0
~$1, ale když jsem zjistil, že pořadí expanzí je opačné, než bych potřeboval, opustil jsem tuto cestu a vrhnul se na parsování /etc/passwd. Na druhou stranu, v praxi bych to asi stejně radši napsal v céčku…
Tiskni
Sdílej: