Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.
Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.
Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.
Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.
modul = dict()
modul["prvni"] = dict()
modul["prvni"]["soubory"] = dict()
modul["prvni"]["metody"] = dict()
modul["prvni"]["testy"] = dict()
modul["prvni"]["cmd"] = dict()
...
modul["prvni"]["cmd"]["filter"] = dict()
modul["prvni"]["cmd"]["filter"]["cesta"] = ['/aaa/bbb','/ccc/ddd']
modul["prvni"]["cmd"]["filter"]["typ"] = "sh"
modul["prvni"]["cmd"]["filter"]["bin"] = "/abc/text_filter"
Ve funkci či objektu si pak jednoduše zístám potřebné informace viz:
text_procesor = modul["prvni"]["cmd"]["filter"]["bin"]
Napadá vás jak lépe konfig zapsat?
Vím ,že položeb a zanoření slovníků bude dramaticky přibývat...
Dík
Pokud "aktualizovatelna data" znamena ze si jako slusne vychovany unixovy program umi reloadnout konfigurak kdyz dostane HUP tak na to ma python uzasny vynalez k thread-safe zamene nahrazeni jednoho objektu jinym za behu. Obvykle se mu rika rovnitko :-P
modul = {
'prvni' : {
'soubory' : {},
'metody' : {},
'testy' : {},
'cmd' : {
'filter' : {
'cesta' : [ '/aaa/bbb', '/ccc/ddd', ],
'typ' : 'sh',
'bin' : '/abc/text_filter',
},
},
},
}
collections.defaultdict
[modul_prvni] cmd_filter_cesta = /aaa/bbb,/ccc/ddd cmd_filter_typ = sh cmd_filter_bin = /abc/text_filterK volbám a jejich hodnotám z konfigurace se pak přistupuje takto.
config = configparser.RawConfigParser()
config.read('config')
print(config.get('modul_prvni', 'cmd_filter_cesta').split(','))
Pro získání cest jako objektu pole.
....
modul = {}
modul[("prvni","cmd","filter","bin")] = "/abc/text_filter"
....
jojo, furt se mám co učit..
Dik
modul = {
"prvni": {
"soubory": {…},
"metody": {…},
"testy": {…},
"cmd": {
"filter" = {
"cesta": ['/aaa/bbb','/ccc/ddd'],
"typ": "sh",
"bin": "/abc/text_filter"
}
}
}
}
Kdyby to byl jinej jazyk tak by se dal uvazovat json nebo nedejboze xml, ale zrovna u pythonu si tim moc nepomuzes. Druha vec je jestli je nutny tak hluboke strukturovani. Neni problem napsat pajtni kod tak aby co nejvic hodnot bylo defaultnich.
Tiskni
Sdílej: