Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.
Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.
1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.
8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.
Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.
Nevidomý uživatel Linuxu v blogu upozornil na tristní stav přístupnosti na linuxovém desktopu (část první, druhá, závěr), přičemž stížnosti jsou podobné jako v roce 2022. Vyvolal bouřlivou odezvu. Následně např. Georges Stavracas shrnul situaci v GNOME. Debata o jiném aspektu přístupnosti, emulaci vstupu pod Waylandem, také proběhla na Redditu.
DevConf.CZ 2025, tj. open source komunitní konference sponzorovaná společností Red Hat, proběhne od 12. do 14. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Byla vydána nová major verze 28.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2024 (pdf), kde shrnuje své aktivity v loňském roce a přináší i základní popis situace na trhu. Celkový objem přenesených mobilních dat za rok 2024 dosáhl dle odhadu hodnoty přibližně 1,73 tis. PB a jeho meziroční nárůst činí zhruba 30 %. Průměrná měsíční spotřeba dat na datovou SIM kartu odhadem dosáhla 12,5 GB – v předchozím roce šlo o 9,8 GB.
Z novinek představených na Google I/O 2025: Přehledy od AI (AI Overviews) se rozšiřují do dalších zemí. Užitečné, syntetizované přehledy od generativní AI jsou nově k dispozici i českým uživatelům Vyhledávače.
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á.
Jako vedlejší efekt jednoho projektu, na kterém pracuji, vzniká i jednoduché C++ rozhraní k technologii inotify. Pro ty, kdo o inotify ještě neslyšeli: umožňuje sledovat události ve filesystému. Rozhraní pro C++ si nyní můžete stáhnout a použít ho pro své potřeby.
Nejdřív bych chtěl říct pár slov o tom, co vůbec je inotify. Je to technologie (umístěná v jádře), která umožňuje sledovat události, které nastanou v souborovém systému. Lze tak např. zjistit, že nám někdo "pod rukama" změnil soubor, že vytvořil nebo zrušil adresář, odpojil filesystém apod. Funguje tak, že se "pověsí" na inode a sleduje, co se tam děje.
Donedávna se v Linuxu k tomuto účelu používala technologie dnotify. Ta má však různé nepříjemné vlastnosti. Nejhorší z nich je nutnost mít na každý sledovaný adresář samostatný souborový deskriptor. Jednak je počet deskriptorů omezený, a také sledování je trochu problém - buď se musí sledovat každý deskriptor zvlášť (při větším počtu problém), nebo používat epoll()
, poll()
, anebo select()
, základním prostředkem byl však signál SIGIO
. Při větším počtu sledovaných adresářů si tento mechanismus vezme poměrně dost paměti v jádře. Navíc jsou problémy s výměnnými médii atd.
inotify většinu problémů odstraňuje. Souborový deskriptor stačí jeden, přes něj se pak aktivuje libovolný počet (do výše limitu) sledovaných cest (adresářů i souborů), klidně každá s jinou maskou (filtrem). Události se ukládají do fronty (společné pro souborový deskriptor), odkud je lze vybrat voláním read()
. Pro sledování deskriptoru lze použít libovolnou metodu (buď přímo read()
, nebo epoll()
, poll()
, select()
, případně signál).
inotify-cxx je C++ rozhraní, které má za cíl zjednodušit použití inotify v programech psaných v C++. Skládá se ze tří tříd. Základní je Inotify
, která obaluje souborový deskriptor, kromě toho spravuje také sledované cesty (viz dále) a má vlastní frontu událostí. Dále je tam třída InotifyWatch
, představující sledovací "hook". Poslední je pak InotifyEvent
, což je událost přijatá z inotify.
Celé to funguje tak, že si stačí vytvořit instanci (nebo více, podle potřeby) třídy Inotify
. Pak se vytvoří potřebný počet instancí InotifyWatch
a ty se přidají do Inotify
. Pro sledování je zatím k dispozici pouze jediná metoda, a to WaitForEvents()
, která blokuje do okamžiku, než přijdou nějaké události. Mám v plánu přidat tam další mechanismy sledování. Ohlásí-li WaitForEvents()
přijetí událostí, jsou tyto uloženy ve frontě a lze je získávat metodami GetEvent()
. Pro pouhé přečtení události (bez odebrání z fronty) lze použít PeekEvent()
.
V tuto chvíli se jedná o velice časnou verzi rozhraní, kterou budu na základě svých potřeb (a samozřejmě i požadavků jiných uživatelů) dále rozšiřovat a vylepšovat. Nicméně pro odzkoušení to dávám k dispozici již nyní - hlavně proto, že bych chtěl trochu zpopularizovat inotify, což je jedna z moderních věcí, přidaných do jádra teprve nedávno. Račte stahovat.
Rozhraní je k dispozici pod třemi licencemi - GPL, LGPL a X11. Ať si každý zvolí "tu svoji" licenci, pod kterou to bude používat. Ještě upozorním na nutnost mít jednak jádro 2.6.13 a pozdější, a také hlavičkové soubory pro inotify (obsahují rozhraní pro syscall a také definici datové struktury a označení bitů masky událostí).
Tiskni
Sdílej: