Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.
Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.
Představen byl Raspberry Pi Touch Display 2 s uhlopříčkou 10 palců a rozlišením 1200 × 1920 pixelů. Cena je 80 dolarů.
RPCS3 (Wikipedie), tj. open source emulátor Sony PlayStation 3, snížil minimální požadavky. Nově jsou podporovány starší grafické karty ATI Radeon řady HD 2000, 3000 a 4000 z let 2007 až 2009. Na PC běží už 75 % všech her pro PlayStation 3. V budoucnu bude RPCS3 fungovat bez firmwaru z PS3. V RPCS3 byl implementován systémový modul cellSysmodule (𝕏).
Vyšel open-source nástroj winetop (MIT) — nativní CLI/TUI pro sledování a ukončování Wine, Proton, Lutris, Heroic a Bottles sezení. Seskupuje procesy podle WINEPREFIX / Steam AppId, umí bezpečně zabít jen hru (včetně Steam reaperu) a nabízí i skriptovatelné příkazy (list, kill, orphans, …). Balíčky jsou mimo jiné na crates.io, Copru (dnf copr enable kovariadam/winetop), PPA ppa:kovariadam/winetop a AUR (winetop-bin).
Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.
Byl vydán Mozilla Firefox 153.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 153 bude brzy k dispozici také na Flathubu a Snapcraftu.
V linux-cve-announce bylo oznámeno 433 zranitelností za jediný den (19. července).
Byla vydána nová verze 5.44 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 71 vývojářů. Změněno bylo přibližně 270 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.
Na 23. září 2026 je do bratislavské Nové Cvernovky naplánovaná jednodenní konference #nobullshit.camp pro tech leadery, DevOps a platform inženýry. Mají tu zaznít upřímné příběhy z praxe o tom, co v produkčních systémech reálně fungovalo, co se pokazilo a co si z toho lidé odnesli. Témata pokrývají tři oblasti – DevOps a platformy (Kubernetes, cloud, provoz systémů), firemní kulturu a leadership. Program běží ve dvou formátech: hlavní
… více »$ ls 111111.a 222222.b 333333.ba skript:
dir=*.c
if [[ -z $dir ]]; then
echo "c neexistuje"
fi
No, lenze do premennej dir sa skutocne ulozi retazec "*.c" a vnutri [[ ]] sa uz pathname expanzia nerobi. Test na neprazdnost tejto premennej vzdy zlyha, takze takto napisany skript si nevsimne neexistenciu c-cka. Nepomaha ani zapnute shopt -s nullglob
Jedine riesenie co som nasiel je expadndovat cez eval:
dir="`eval echo *.c`"lenze spustenie niekolko desiatoktisic procesov zozerie hrozneho casu a tomu by som sa chcel vyhnut. Riesenie by si malo poradit aj s tym, ze nazov adresara moze obsahovat medzeru, prip. ze adresarov *.c moze byt viac ako jeden. (Napadlo ma spustit forcyklus (kde bash expanduje nazvy suborov) typu
'for i in *.c; do', vo vnutri si nastavit flag, ze cyklus aspon raz prebehol=adrear c existuje, a skoncit natvrdo cyklus. Ale radsej by som nejake elegantnejsie riesenie.)
dir=*.c mi funguje, pokud takový soubor existuje. Nevím k čemu pak -z, existenci lze ověřovat s -e.
dir=*.c funguje, ale iba stylom, ze ak dam echo $dir, tak to vypise expandovane subory. Lenze pomocou echo "$dir" sa da overit, ze ta expanzia nastala az pri volani toho echo a nie v momente priradovania. A kedze v [[ ]] sa pathname expanzia nerobi, tak tam to zlyha.
No, ale vymyslel som dve riesenia.
1.) set -- *.c dir="$1" [[ -z "$dir" ]] && ...2.)
dir=( *.c )
[[ -z "${dir[1]}" ]] &&
...
Obe riesenia funguju aj pre viac suborov, aj ak obsahuju medzery. Je ale divne, ze pri priradovani premennych sa pathname exp. nerobi, ale pri priradovani poli uz hej.
...
[[ -z "${dir[0]}" ]] &&
...
shopt -s nullglob
$ time for ((i=0; i<10000; i++)); do a="`eval echo *.c`"; done; echo "$a"
real 0m7.878s
user 0m2.253s
sys 0m5.160s
222.c
$ time for ((i=0; i<10000; i++)); do a=( *.c ); done; echo "${a[0]}"
real 0m0.495s
user 0m0.350s
sys 0m0.103s
222.c
16x rychlejsie. Podla sys zlozky v 1. pripade vidno, ze vacsinu stravil v rezime jadra, co v tomto priklade moze byt iba vytvaranie a rusenie procesov.
Tiskni
Sdílej: