Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »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.
Na webu IBM developerWorks vyšel článek o únicích paměti při práci s POSIXovými vlákny. Dozvíte se jak úniky vznikají, jak je detekovat a jak zabránit jejich vzniku.
Tiskni
Sdílej:
Jinými slovy, je prostě dobré vědět o pthread_cleanup_push a pthread_cleanup_pop.
tyhle funkce neznalPozor, s tímhle jsem měl problémy, někde to tu asi bude zahrabaný v dotazech - můžou to být makra a v GCC na linuxu@x86-64 to opravdu makra jsou.
No jasně, že jsou to makra. Právě proto, aby někdo nedělal takové prasečinky jako podmíněné pthread_cleanup_{push,pop} a hlavně aby to nezapomněl spárovat. Vždy se dá programovat tak, aby ta dvě volání byla spárovaná.
Vlastně to nejsou funkce, ale (konkrétně na Linuxu) makra. To první končí { a to druhé začíná }. Aby to člověk nezapomněl spárovat.
Při použití podmínkových proměnných ve spojení s thread cancellation je tohle naprostá nezbytnost, protože zrušení vlákna při čekání na podmínkovou proměnnou vždy nakonec nechá mutex zamčený. A někdo ho musí odemknout. (V man pthread_cond_wait je o tom celý odstavec.)
Možná to není zajímavé, ale jsou případy, kdy je to nezbytné. Típnout vlákno (pthread_cancel()), které čeká na podmínkové proměnné, prostě nelze nijak jinak než za asistence pthread_cleanup_*(). Jinak ten příslušný mutex už zůstane zamčený a není žádný korektní způsob, jak ho znova odemknout.
Longem prostě vyjadřuji, že mám něco dlouhého a jsem na to hrdý. 