Projekt GNU dnes slaví 40. výročí. Přesně před čtyřiceti lety, 27. září 1983, Richard Stallman oznámil, že se chystá napsat s Unixem kompatibilní operační systém GNU (Gnu's Not Unix). Hlavní oslava a setkání hackerů probíhá ve Švýcarsku ve městě Biel/Bienne. Na programu je také přednáška Richarda Stallmana.
Byl vydán Mozilla Firefox 118.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout je nutno automatický lokální strojový překlad webových stránek. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 118 je již k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová major verze 15.0.0 softwaru OCRmyPDF pro přidávání textové vrstvy k naskenovaným PDF dokumentům (PDF/A). Přehled novinek v poznámkách k vydání. OCRmyPDF využívá pro optické rozpoznávání znaků (OCR) engine Tesseract.
Karel Matějka zveřejnil druhé demo své chystané hry Bzzzt. Kromě verze pro Windows a macOS je dostupná i verze pro Linux. Plná verze hry má vyjít zanedlouho.
Noví Bulánci byli oficiálně vydáni. V roce 2021 bylo na Startovači na podporu vývoje této hry vybráno 7,3 miliónů Kč. Hra je zatím určena jenom pro Windows, díky Protonu ale běží také na Linuxu.
ChatGPT může vidět, slyšet a mluvit.
Upscaler je open source nástroj pro zvýšení rozlišení a vylepšení obrázků pomocí AI. Vývoj probíhá na GitLabu. Instalovat lze také z Flathubu. Stejně jako Upscayl je Upscaler postaven nad Real-ESRGAN.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.20.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
V Dublinu o víkendu proběhla dvanáctá iterace multimediální konference Video Dev Days, kterou pravidelně pořádá nezisková organizace VideoLAN. Záznamy přednášek z prvního a druhého dne jsou dostupné na YouTube.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), dospěl po pěti letech vývoje do verze 1.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.
Už několikrát jsem narazil na problém, jak jednoduše notifikovat aplikaci, že se v kernelu něco událo - stačí jednosměrně poslat jeden bajt. Bohužel stále jsem nenašel vhodné a dostatečně jednoduché řešení. Jakoby to nikdo nepotřeboval.
Prozatím to řeším přes poll (s POLLPRI flagem) a ioctl, který ze zásobníku vytáhne nejstarší událost, protože read/write používám pro jiný typ dat. Kvůli budoucím plánům na projektu ale musím mimo jiné nahradit všechny ioctl něčím jiným...
Četl jsem o asynchronních signálech (SIGIO), ale podle všeho nejde přímo posílat vlastní signály bez zásahu do kódu jádra.
Zatím jediné řešení vidím v použití netlinku, ale práce s ním mi nepřijde moc snadná (čti na pár řádků), má šílenou režii (128 bajtů header abych poslal jednobajtový event) a navíc, pokud se nepletu, jako u běžného síťového provozu není zaručeno doručení všech paketů, takže by se mi mohla komunikace lehce rozhodit, zvlášť při vyšší četnosti událostí (potřebuji v řádu tisíců za vteřinu).
Víte někdo o něčem jiném použitelném?
To zní slibně, zjevně si musím přečíst víc...
Jak jsou na tom signály s rychostí v porovnání s poll/read na dalším file descriptoru (kterému bych se rád vyhnul)?
Tiskni
Sdílej: