Mapnik (Wikipedie), tj. open source toolkit pro vykreslování map a vývoj mapových aplikací, byl vydán ve verzi 4.0.0. Přehled změn na GitHubu.
Mozilla koupila firmu Anonym, tj. průkopníka v "digitální reklamě chránící soukromí".
Knihovna htmx (Wikipedie, GitHub), tj. knihovna rozšiřující HTML o nové atributy a umožňující vývoj dynamických webových aplikací, byla vydána ve verzi 2.0 (𝕏).
Společnosti DeepComputing a Framework Computer společně představily RISC-V základní desku pro modulární Framework Laptop 13.
Byla vydána nová verze 6.4 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.16.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.1 (Mastodon, 𝕏). Přehled novinek i s videi a se snímky obrazovky v oficiálním oznámení. Podrobný přehled v seznamu změn.
Qsynth dospěl do verze 1.0.0. Jedná se o Qt GUI nad softwarovým syntezátorem FluidSynth (Wikipedie).
V bezdrátových routerech od společnosti routerech D-Link, v řadách EAGLE PRO AI a AQUILA PRO AI, je zabudovaný backdoor. Jedná se o zranitelnosti CVE-2024-6044 a CVE-2024-6045. Kdokoli z lokální sítě může přístupem na konkrétní URL spustit službu Telnet a přihlásit se pomocí přihlašovacích údajů správce získaných analýzou firmwaru.
Organizace IuRe (Iuridicum Remedium) varuje před návrhem, který představilo belgické předsednictví Rady EU. Populární služby jako Messenger, WhatsApp nebo Signal by dle něj bylo možné plně používat až po odsouhlasení kontroly komunikace. Ta by měla zamezit šíření dětské pornografie. Podle IuRe by však taková kontrola přinesla hlavně závažný dopad na soukromí uživatelů.
NumPy (Wikipedie), tj. knihovna pro Python pro vědecké výpočty, byla po 18 letech vydána v nové major verzi 2.0.0. Přehled novinek v poznámkách k vydání. Důležité informace v průvodci migrací.
Občas není od věci vyslovit něco, za co se upaluje nebo ukamenovává. Nic není totiž tak jednoduché, aby byla pravda vždy jediná a na první pohled zřejmá.
incron
má ovládání velice podobné cronu
, což je sice výhoda, ale někomu se může silně zajídat. I mně se to zajídá, některé věci si raději naklikám. Proto jsem k incronu vytvořil i jednoduchý grafický front-end, který je již pár dní k dispozici pod GPL. Ale pozor - odpůrci Javy mají smůlu.
Kdo četl mé dřívější zápisy (třeba tento, tento a tento), bude už incron znát. Ve stručnosti je to systém podobný cronu, který prostřednictvím technologie inotify
umožňuje čekat na události v souborovém systému a spouštět podle nich různé programy.
incron jsem navrhl tak, aby se jeho vlastnosti hodně blížily cronu, a aby tedy bylo podobné i ovládání. Pravidla jsou uložena v tabulkách pro jednotlivé uživatele (včetně "systémový účtů", tedy uživatelů bez normálního domovského adresáře - např. postfix
nebo apache
). S tabulkami se manipuluje pomocí konzolové utility incrontab, která umožňuje mj. vypsat tabulku, editovat ji ve vim
u nebo jiném editoru, nebo ji načíst ze souboru. V každém případě se jedná o ruční práci, vyžadující vypisování všeho potřebného a v neposlední řadě také znalost přesných názvů jednotlivých symbolů.
incrontab funguje tak, že tabulku poskytnutou uživatelem parsuje, a co se mu nelíbí (např. špatný formát pravidla), zahodí. Do systému se tedy uloží již čistá, bezchybná tabulka. To ale samozřejmě může být frustrující, protože při takové chybě uživatel o pravidlo přijde. Právě toto a také obecná lenost editovat tabulky mě vedla k tomu, abych si to nějak zjednodušil.
Vznikl tedy program jIncron
. Je to velice primitivní grafický front-end, napsaný, jak již název napovídá, v Javě. Využívá GUI Swing a pro svoji funkci potřebuje Javu verze alespoň 5.0 (JDK 1.5.0). Javu jsem zvolil proto, že to bylo z mého pohledu nejrychlejší, a to i přes ryze ruční tvobu GUI (žádný grafický návrhář).
Program po spuštění načte (pomocí utility incrontab
) tabulku aktuálního uživatele (lze ji též naimportovat ze souboru), umožňuje ji snadno upravovat, pak uložit zpět nebo vyexportovat do souboru. Hlavní okno zobrazuje tabulku zhruba v podobě, v jaké je vidět v editoru.
Hlavní síla spočívá v dialogu vlastností pravidla. Tam si lze naklikat cestu k souboru (přes souborový dialog), jednotlivé sledované události (v checkboxech) a příkaz ke spuštění (jsou tu tlačítka pro speciální symboly). Celé by to mělo být relativně blbuvzdorné. Konfigurace programu (v tuto chvíli jen pozice a velikost hlavního okna) se ukládá do XML souboru v domovském adresáři.
Program zatím trpí několika vadami. Největší je ta, že nerozlišuje, které události systém podporuje. Tváří se tedy, že podporuje všechny, což je pravda třeba na FC 6, ale na starších distribucích nastane problém (vyústící ve změnu některých pravidel). Další vadou je, že je to všechno šité pořádně horkou jehlou a leccos je implementováno těžkopádně. A konečně třetí chyba, kód není vůbec okomentovaný a k programu neexistuje ani sebemenší dokumentace.
Proto tedy, kdo chce, ať používá, kdo nechce, nemusí. A kdo by si chtěl napsat GUI třeba v GTK+ nebo Qt, má aspoň inspiraci.
Aktuální verze je 0.3.4, postavená na inotify-cxx
0.6.2. Předchozí verze 0.3.3 měla opravit bezpečnostní chybu ohledně práv skupiny - při tom ovšem došlo k tomu, že incrond přestal úplně fungovat. Kdo má tuto verzi, nechť si stáhne tu nejnovější. Totéž ať učiní i ten, kdo si nejnovější verzi stáhl již včera - do balíků se zatoulal soubor, který byl určen k testování a měl vypnutou démonizaci incrond. Za chybu se omlouvám.
Součástí dokumentace incronu jsou už nějakou dobu také man
stránky, zatím pouze v angličtině. Všechny projekty související s inotify dostanou (snad brzy) nový web, kde budou též informace o samotné technologii inotify. Pro blízkou budoucnost je hlavní prioritou zavedení rekurzivního monitoringu (sledování celých podstromů), které není na úrovni inotify podporováno.
inotify-cxx
od verze 0.6.0 obsahuje statické metody pro zjišťování a nastavování parametrů inotify v jádře. Není tedy nutno je zjišťovat/nastavovat krkolomně přes procfs, stačí volat tyto metody.
Tiskni
Sdílej:
/proc
(např. meminfo, devices...) se chovají tak, jak mají, pro adresáře procesů to neplatí. Takže vytvoření/zrušení procesu se tak sledovat nedá.
Je jen otázka, jestli je to chyba nebo vlastnost. Ale tak jako tak to nejspíš ohlásím.